Skip to content

remove skill categories - #9008

Merged
morgmart merged 1 commit into
mainfrom
remove-skill-categories
May 5, 2026
Merged

remove skill categories#9008
morgmart merged 1 commit into
mainfrom
remove-skill-categories

Conversation

@morgmart

@morgmart morgmart commented May 5, 2026

Copy link
Copy Markdown
Collaborator

Category: improvement
User Impact: Skills are no longer grouped or filtered by inferred categories in the desktop skills view.
Problem: Skill categories were based on client-side heuristics that could misclassify skills and implied product semantics that are not part of the skill protocol. That made the skills experience feel more opinionated than the underlying data supports.
Solution: Remove the inferred category layer entirely and keep the skills view focused on search plus source/project filtering. This keeps Goose general-purpose while leaving room to revisit configurable organization later.

File changes

ui/goose2/src/features/skills/lib/skillCategories.ts
Removed the category inference table, keyword matching, and derived skill view type.

ui/goose2/src/features/skills/lib/skillsHelpers.ts
Simplified skill filtering and grouping to operate directly on SkillInfo, with search and source/project filters only.

ui/goose2/src/features/skills/ui/SkillCategoryFilter.tsx
Removed the category dropdown component because category filtering is no longer part of the skills UI.

ui/goose2/src/features/skills/ui/SkillDetailPage.tsx
Removed the category metadata field from the skill detail page.

ui/goose2/src/features/skills/ui/SkillsListSections.tsx
Updated list section props to use SkillInfo directly instead of the deleted derived skill type.

ui/goose2/src/features/skills/ui/SkillsToolbar.tsx
Removed category filter props and rendering from the toolbar.

ui/goose2/src/features/skills/ui/SkillsView.tsx
Removed category state, category derivation, and category filtering while preserving skill loading, search, and project filtering.

ui/goose2/src/features/skills/ui/tests/SkillsView.test.tsx
Removed assertions and coverage for category display/filtering.

ui/goose2/src/shared/i18n/locales/en/skills.json
Removed unused English category translation keys.

ui/goose2/src/shared/i18n/locales/es/skills.json
Removed unused Spanish category translation keys.

ui/goose2/tests/e2e/skills.spec.ts
Removed e2e expectations for category display and category filtering.

Reproduction Steps

  1. Open the Goose2 desktop skills view.
  2. Confirm the toolbar still supports search plus All/Personal/project source filters.
  3. Confirm there is no category filter control in the toolbar.
  4. Open a skill detail page and confirm the source, project, location, and instructions remain, with no category field.
  5. Search for a skill by name, description, or source label and confirm matching still works.

Verification

  • pnpm --dir goose2 exec biome check src/features/skills/lib/skillsHelpers.ts src/features/skills/ui/SkillsView.tsx src/features/skills/ui/SkillsToolbar.tsx src/features/skills/ui/SkillDetailPage.tsx src/features/skills/ui/SkillsListSections.tsx src/features/skills/ui/__tests__/SkillsView.test.tsx src/shared/i18n/locales/en/skills.json src/shared/i18n/locales/es/skills.json tests/e2e/skills.spec.ts
  • pnpm --dir goose2 typecheck
  • pnpm --dir goose2 check:i18n
  • pnpm --dir goose2 test src/features/skills/ui/__tests__/SkillEditor.test.tsx
  • pnpm --dir goose2 test

Note: the pre-push hook initially failed during its concurrent full-suite run on two SkillEditor.test.tsx cases, but that same file and the full pnpm --dir goose2 test command passed when rerun directly.

Signed-off-by: morgmart <98432065+morgmart@users.noreply.github.com>

@baxen baxen left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@morgmart
morgmart added this pull request to the merge queue May 5, 2026
Merged via the queue into main with commit 2a6df2e May 5, 2026
24 checks passed
@morgmart
morgmart deleted the remove-skill-categories branch May 5, 2026 19:02
lifeizhou-ap added a commit that referenced this pull request May 6, 2026
* main:
  feat: move goose2 provider catalog behind ACP layer (#9030)
  fix: use python3 in developer extension instructions for macOS/Linux compatibility (#8784)
  fix(acp): synchronously reap ACP child to avoid SIGCHLD race (#9023)
  fix goose2 small-window chat and settings layouts (#9019)
  docs: improve goose2 AGENTS.md (#9028)
  agents: add CLAUDE.mds to mirror AGENTS.mds (#9029)
  remove skill categories (#9008)
  fix: 8531 - elicitation fixes (#8999)
  feat(chat): group consecutive tool calls into one summarized chain card (#8995)
  fix(ci): mark openai/gpt-5 smoke test as flaky (#9027)
  goose2 distribution bundling (#8911)
  Add "Trimmed trailing whitespace" message to moim whitelist (#8847)
DOsinga pushed a commit that referenced this pull request May 6, 2026
Pulls 40 new commits from main, including:
- #8945 remove artifacts dir handling (lines up with our /artifacts cwd fix)
- #9000 replace raw config and secret methods
- #9008 remove skill categories
- #9019 fix small-window chat & settings layouts
- #9023 ACP child reap fix
- #8911 goose2 distribution bundling
- #8983 SACP session-name notifications
- #8985 use ACP session id in goose2 UI
- #8995 group consecutive tool calls into chain card
- #8996 protocol artifact messages (replace heuristics/regexes)
- #8999 elicitation fixes
- #9000 plus follow-ups for config/secret ACP methods
- many smaller changes across CI workflows, AGENTS docs, deps

Conflicts resolved:
- src-tauri/src/commands/projects.rs: kept our delete (we moved
  projects to ACP); main had unrelated edits.
- src-tauri/src/lib.rs: dropped projects::* command registrations,
  kept main's get_goose_serve_host_info addition.
- check-file-sizes.mjs: accepted main's deletion (#8996 removed it).
- features/projects/api/projects.ts: kept our ACP-based rewrite
  (ProjectInfo without createdAt/updatedAt; uniqueProjectSlug for
  collision avoidance).
- features/projects/lib/chatProjectContext.ts: took main's rename
  resolveProjectArtifactRoots → resolveProjectRoots and dropped
  /artifacts segment append (we already had this fix); dropped
  buildProjectSystemPrompt (backend's load_project_instructions
  handles project system prompt injection now).
- features/projects/lib/sessionCwdSelection.ts: took main's no-project
  fallback ['~'] (matches our /artifacts removal in the project
  branch).
- features/chat/hooks/useChatSessionController.ts: took main's
  3-arg acpPrepareSession (the personaId/projectId we'd been
  passing were never read on that call path; newSession sends them
  via _meta).
- ProjectInfo test fixtures: dropped createdAt/updatedAt across
  CreateProjectDialog.test.tsx and sessionCwdSelection.test.ts.
- chatProjectContext.test.ts: dropped buildProjectSystemPrompt test.
shafqatevo pushed a commit to shafqatevo/goose that referenced this pull request Aug 7, 2026
Signed-off-by: morgmart <98432065+morgmart@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants