feat: SR-10 remove legacy skills agent-config + GET /agents/skills (#878) #893

Merged
charles merged 2 commits from feat/878-sr10-remove-legacy-skills into main 2026-05-05 23:43:01 +00:00
Collaborator

Implements issue #878 / SR-10.

Server

  • Removed GET /agents/skills (filesystem dump); callers use GET /agents/skills/library.
  • Removed skills from /agent-config/* (list/get/put/delete/fork/revisions and cross-cutting revision filters). Legacy skill table rows remain until SR-11; debug GET /agent-config no longer emits resolved skills.
  • Tests migrated from skill fixtures to plugins where they exercised generic CRUD/revision behaviour; added explicit SR-10 coverage for kind=skills → 400.

Web

  • AgentConfigKind no longer includes skills; SkillsTab uses SkillsTabKind = AgentConfigKind | "skills" for the anchored DB editor only.
  • Agents index: skill template names from fetchSkillLibraryNames()/agents/skills/library.
  • History tab: dropped Skills filter and skill revision restore mapping.
  • Inheritance panel hidden on the Skills tab (DB skills do not use the scope ladder).
  • Settings /settings/agent-config shim: test asserts no DOM shell (SR-10).
  • E2E: stub library endpoint; inheritance toggle navigates with ?tab=plugins.

Note

/settings/agent-config was already a redirect-only route (SU-3); no Skills tab remained there — behaviour covered by tests.

Implements [issue #878](https://forge.jacquin.app/charles/claude-hooks/issues/878) / SR-10. ### Server - Removed `GET /agents/skills` (filesystem dump); callers use `GET /agents/skills/library`. - Removed `skills` from `/agent-config/*` (list/get/put/delete/fork/revisions and cross-cutting revision filters). Legacy `skill` table rows remain until SR-11; debug `GET /agent-config` no longer emits resolved skills. - Tests migrated from skill fixtures to plugins where they exercised generic CRUD/revision behaviour; added explicit SR-10 coverage for `kind=skills` → 400. ### Web - `AgentConfigKind` no longer includes `skills`; `SkillsTab` uses `SkillsTabKind = AgentConfigKind | "skills"` for the anchored DB editor only. - Agents index: skill template names from `fetchSkillLibraryNames()` → `/agents/skills/library`. - History tab: dropped Skills filter and `skill` revision restore mapping. - Inheritance panel hidden on the Skills tab (DB skills do not use the scope ladder). - Settings `/settings/agent-config` shim: test asserts no DOM shell (SR-10). - E2E: stub library endpoint; inheritance toggle navigates with `?tab=plugins`. ### Note `/settings/agent-config` was already a redirect-only route (SU-3); no Skills tab remained there — behaviour covered by tests.
feat: remove legacy skills agent-config and GET /agents/skills (SR-10, #878)
All checks were successful
qa / dockerfile (pull_request) Successful in 7s
qa / sql-layer-check (pull_request) Successful in 7s
qa / db-schema (pull_request) Successful in 27s
qa / qa-1 (pull_request) Successful in 48s
qa / qa (pull_request) Successful in 0s
c87083224b
Drop the filesystem skill dump HTTP route in favour of /agents/skills/library,
remove skills from /agent-config CRUD and debug resolution, and align the web app:
history filters, inheritance panel on non-skills tabs, skill name discovery via
library endpoint, and SkillsTab typing for DB-backed skills only.

Co-authored-by: Cursor <cursoragent@cursor.com>
fix(history-tab): surface clear error for legacy skill revision restore (SR-10)
All checks were successful
qa / dockerfile (pull_request) Successful in 6s
qa / sql-layer-check (pull_request) Successful in 7s
qa / db-schema (pull_request) Successful in 11s
qa / qa-1 (pull_request) Successful in 53s
qa / qa (pull_request) Successful in 0s
026556860b
Split the generic "missing kind or name" guard so operators attempting
to restore a legacy `skill` revision see a meaningful message instead
of the confusing generic one.

Co-authored-by: Cursor <cursoragent@cursor.com>
charles deleted branch feat/878-sr10-remove-legacy-skills 2026-05-05 23:43:01 +00:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
charles/claude-hooks!893
No description provided.