Agent Skills — Knowledge Packs
Priority: P2 (depends on Agent Profiles #3971)
Reference: multica/server/internal/handler/skill.go, multica/apps/docs/content/docs/skills.mdx
Overview
Skills are knowledge packs attached to agents — a SKILL.md plus optional supporting files that tell the agent "when you hit this kind of task, think and act like this." Compatible with the Anthropic Agent Skills open standard (agentskills.io).
Database Schema
CREATE TABLE skill (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
workspace_id UUID NOT NULL REFERENCES workspace(id),
name TEXT NOT NULL,
description TEXT,
source TEXT NOT NULL DEFAULT 'local', -- 'local' | 'github' | 'clawhub' | 'created'
source_url TEXT, -- GitHub URL or ClawHub reference
-- Content
skill_md TEXT NOT NULL, -- the SKILL.md content
-- Metadata
file_count INTEGER NOT NULL DEFAULT 1,
total_size_bytes INTEGER,
created_by UUID REFERENCES member(id),
created_at TIMESTAMPTZ NOT NULL DEFAULT now(),
updated_at TIMESTAMPTZ NOT NULL DEFAULT now()
);
CREATE TABLE skill_file (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
skill_id UUID NOT NULL REFERENCES skill(id) ON DELETE CASCADE,
path TEXT NOT NULL, -- relative path within skill directory
content TEXT NOT NULL,
size_bytes INTEGER,
created_at TIMESTAMPTZ NOT NULL DEFAULT now()
);
CREATE TABLE agent_skill (
agent_id UUID NOT NULL REFERENCES agent(id) ON DELETE CASCADE,
skill_id UUID NOT NULL REFERENCES skill(id) ON DELETE CASCADE,
attached_at TIMESTAMPTZ NOT NULL DEFAULT now(),
PRIMARY KEY (agent_id, skill_id)
);
Import Sources
- Created — write SKILL.md + files directly in UI
- GitHub — paste repo URL, pull SKILL.md + directory contents
- ClawHub — search and import from public marketplace
- Local — daemon scans local skill directories, user picks which to import
Skill Attachment
- Skills are workspace-level resources
- Must be attached to an agent to take effect
- One agent can have multiple skills
- One skill can be attached to multiple agents
- Agent picks up skills on next task creation
- Editing skill content only affects newly created tasks
Skill File Discovery Paths
| Tool |
Path |
Native discovery? |
| Claude Code |
.claude/skills/ |
✅ |
| Codex |
$CODEX_HOME/skills/ |
✅ |
| Cursor |
.cursor/skills/ |
✅ |
| Gemini |
.agent_context/skills/ |
⚠️ Fallback |
| Others |
.agent_context/skills/ |
⚠️ Fallback |
On task dispatch, daemon copies skill files into the corresponding path for the agent's configured tool.
Skills vs MCP
- Skill = structured knowledge pack (static content + instructions)
- MCP = tool channel (connect to external services, invoke them)
- They're complementary. A skill can reference MCP tools in its instructions.
Safety
- Skills from GitHub/ClawHub may contain scripts/executable content
- Aegis does NOT sign, audit, or sandbox skill content
- Warning in UI: "review SKILL.md and every file before importing"
- Reference: "ClawHavoc" incident (Feb 2026)
API Endpoints
GET /api/skills — list workspace skills
GET /api/skills/:id — get skill detail + files
POST /api/skills — create skill (from content)
POST /api/skills/import/github — import from GitHub URL
POST /api/skills/import/clawhub — import from ClawHub
POST /api/skills/import/local — list local skills available for import
PATCH /api/skills/:id — update skill content
DELETE /api/skills/:id — delete skill
GET /api/agents/:id/skills — list agent's attached skills
POST /api/agents/:id/skills — attach skill to agent
DELETE /api/agents/:id/skills/:skillId — detach skill from agent
Acceptance Criteria
- CRUD for skills works (create, update, delete)
- Import from GitHub URL works
- Attach/detach skills to/from agents
- Skill files copied to correct path on task dispatch
- Agent receives skill content in system prompt
- Editing skill only affects new tasks, not running ones
npm run gate passes
E2E Test Requirements
- Create skill with SKILL.md → verify in list
- Import from GitHub → verify files pulled
- Attach to agent → create task → verify skill files in working directory
- Edit skill → create new task → verify new content used
- Detach skill → verify no longer included in task
Multica Source Reference
server/internal/handler/skill.go — skill handlers
server/internal/handler/skill_create.go — import/create logic
server/pkg/db/queries/skill.sql — DB queries
Agent Skills — Knowledge Packs
Priority: P2 (depends on Agent Profiles #3971)
Reference:
multica/server/internal/handler/skill.go,multica/apps/docs/content/docs/skills.mdxOverview
Skills are knowledge packs attached to agents — a
SKILL.mdplus optional supporting files that tell the agent "when you hit this kind of task, think and act like this." Compatible with the Anthropic Agent Skills open standard (agentskills.io).Database Schema
Import Sources
Skill Attachment
Skill File Discovery Paths
.claude/skills/$CODEX_HOME/skills/.cursor/skills/.agent_context/skills/.agent_context/skills/On task dispatch, daemon copies skill files into the corresponding path for the agent's configured tool.
Skills vs MCP
Safety
API Endpoints
Acceptance Criteria
npm run gatepassesE2E Test Requirements
Multica Source Reference
server/internal/handler/skill.go— skill handlersserver/internal/handler/skill_create.go— import/create logicserver/pkg/db/queries/skill.sql— DB queries