diff --git a/packages/web/src/components/prompt-skill-autocomplete.test.tsx b/packages/web/src/components/prompt-skill-autocomplete.test.tsx
index 170826ecb9..734ccbf631 100644
--- a/packages/web/src/components/prompt-skill-autocomplete.test.tsx
+++ b/packages/web/src/components/prompt-skill-autocomplete.test.tsx
@@ -64,6 +64,7 @@ describe("PromptSkillTextarea", () => {
expect(screen.getByTestId("prompt-skill-suggestions")).not.toHaveAttribute("role");
expect(input).toHaveAttribute("aria-autocomplete", "list");
expect(input).not.toHaveAttribute("aria-expanded");
+ expect(screen.getByRole("status")).toHaveTextContent("2 managed skill suggestions available.");
await user.keyboard("{ArrowDown}{Enter}");
expect(input).toHaveValue("$release-notes ");
@@ -110,15 +111,18 @@ describe("PromptSkillTextarea", () => {
"true"
);
expect(screen.getByText("Loading managed skills...")).toBeInTheDocument();
+ expect(screen.getByRole("status")).toHaveTextContent("Loading managed skill suggestions.");
rerender();
expect(screen.getByText("No managed skills match this session.")).toBeInTheDocument();
+ expect(screen.getByRole("status")).toHaveTextContent("No managed skill suggestions available.");
expect(screen.getByTestId("prompt-skill-suggestions")).toHaveClass("bottom-full");
rerender();
expect(
screen.getByText("Managed skills could not be loaded. Try again shortly.")
).toBeInTheDocument();
+ expect(screen.getByRole("status")).toHaveTextContent("Managed skill suggestions unavailable.");
});
it("does not insert a completion beyond the prompt limit", async () => {
diff --git a/packages/web/src/components/prompt-skill-autocomplete.tsx b/packages/web/src/components/prompt-skill-autocomplete.tsx
index fea71a1f02..8322b4a616 100644
--- a/packages/web/src/components/prompt-skill-autocomplete.tsx
+++ b/packages/web/src/components/prompt-skill-autocomplete.tsx
@@ -78,6 +78,15 @@ export const PromptSkillTextarea = forwardRef {
@@ -217,6 +226,9 @@ export const PromptSkillTextarea = forwardRef
+
+ {suggestionStatus}
+
{open && completion && (