Repository navigation
feat: Skills System — reusable agent knowledge that compounds over time #3979
Copy link
Copy link
Open
Labels
P2backenddashboarddeferredDeferred until concrete demand — not actively worked onDeferred until concrete demand — not actively worked onenhancementNew feature or requestNew feature or requestphase-4Phase 4 - Enterprise GA (NOT ACTIVE)Phase 4 - Enterprise GA (NOT ACTIVE)staletests
Description
Skills System — Reusable Agent Knowledge
Why
Every completed task should produce a reusable skill. Currently every Aegis session starts from zero — no memory, no learning, no compounding. Multica has this and it is a key differentiator.
Concept
- A Skill is a reusable knowledge unit (SKILL.md body + supporting files + config JSON)
- Skills are workspace-level — any agent can be assigned any skill
- When an agent runs a session, its assigned skills are injected as context
- Skills can be created manually, imported from completed sessions, or discovered from
.agents/skills/in the project directory - Every skill has: name, description, content (markdown), optional files, optional config
DB Schema (TypeScript / better-sqlite3)
CREATE TABLE skill (
id TEXT PRIMARY KEY,
workspace_id TEXT NOT NULL,
name TEXT NOT NULL UNIQUE,
description TEXT NOT NULL DEFAULT '',
content TEXT NOT NULL DEFAULT '', -- SKILL.md body
config TEXT NOT NULL DEFAULT '{}', -- JSON
created_by TEXT,
created_at TEXT NOT NULL DEFAULT (datetime('now')),
updated_at TEXT NOT NULL DEFAULT (datetime('now'))
);
CREATE TABLE skill_file (
id TEXT PRIMARY KEY,
skill_id TEXT NOT NULL REFERENCES skill(id) ON DELETE CASCADE,
path TEXT NOT NULL,
content TEXT NOT NULL,
created_at TEXT NOT NULL DEFAULT (datetime('now')),
updated_at TEXT NOT NULL DEFAULT (datetime('now')),
UNIQUE(skill_id, path)
);
CREATE TABLE agent_skill (
agent_key TEXT NOT NULL, -- references agent config key
skill_id TEXT NOT NULL REFERENCES skill(id) ON DELETE CASCADE,
created_at TEXT NOT NULL DEFAULT (datetime('now')),
PRIMARY KEY (agent_key, skill_id)
);API Endpoints
GET /v1/skills— list skills (summary only, no content body)POST /v1/skills— create skillGET /v1/skills/:id— get skill with full contentPUT /v1/skills/:id— update skillDELETE /v1/skills/:id— delete skillGET /v1/skills/:id/files— list skill filesPOST /v1/skills/:id/files— add/update skill fileDELETE /v1/skills/:id/files/:fileId— delete skill filePUT /v1/agents/:key/skills— set agent skill assignmentsGET /v1/agents/:key/skills— list agent skills
Frontend
- Skills page: list view with name, description, agent count
- Skill detail page: content viewer, file browser, agent assignments
- Create/import dialog: manual create or import from
.agents/skills/directory - Agent settings: skill picker for assigning skills to agents
Runtime Integration
- When a CC session starts, the agent's assigned skills are collected
- Skills are injected into the session as context (appended to system prompt or CLAUDE.md)
- File-based skills are made available as references the agent can read
Acceptance Criteria
- CRUD API for skills and skill files
- Agent-skill binding API
- Skills injected into CC sessions as context
- Dashboard skills page with list/detail/create views
- Import from
.agents/skills/directory - Tests for all API endpoints
-
npm run gatepasses
Reference
Competitive analysis: references/multica-competitive-analysis.md §2.2
Inspired by Multica's skills system (concepts only, our own implementation)
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
P2backenddashboarddeferredDeferred until concrete demand — not actively worked onDeferred until concrete demand — not actively worked onenhancementNew feature or requestNew feature or requestphase-4Phase 4 - Enterprise GA (NOT ACTIVE)Phase 4 - Enterprise GA (NOT ACTIVE)staletests
Activity
OneStepAt4time commentedon May 21, 2026
🚧 Blocked by: #3971 (Agent Profiles) — first-class agent entities required before this feature can reference them.
OneStepAt4time commentedon May 24, 2026
Triage (Athena, May 24): Labeled
phase-4. Per the Vision Document (ADR + Apr 10 directive): agent-framework features are out of scope for the current solo-dev target user. Aegis is middleware (spawn, approve, audit), not an agent framework. Remains deferred until a paying enterprise customer requests it.github-actions commentedon Jul 24, 2026
This issue has been inactive for 60 days and is now marked stale. It will be closed in 14 days if no further activity occurs. Remove the
stalelabel or comment to keep it open.