feat(skill-hub): org-wide skill hub for agent procedural memory - #1
Open
ZaltaClaw wants to merge 1 commit into
Open
feat(skill-hub): org-wide skill hub for agent procedural memory#1ZaltaClaw wants to merge 1 commit into
ZaltaClaw wants to merge 1 commit into
Conversation
Adds the Skill Hub module — a library of reusable markdown skills that agents can draw from at runtime. Skills are appended to agent system prompts, acting as composable procedural memory for the org. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What changed
Adds a complete Skill Hub module — an org-wide library of reusable procedural memory skills that can be assigned to any agent at runtime.
New files
src/types/agent.tsSkill,SkillVisibility,CreateSkillRequest,UpdateSkillRequesttypessrc/lib/skill-store.tsSkillStoreadapter — file-based CRUD backed bydata/skills/*.mdsrc/app/skill-hub/page.tsxsrc/app/api/skill-hub/route.tsGET /api/skill-hub(list + filter),POST /api/skill-hub(create)src/app/api/skill-hub/[slug]/route.tsGET,PUT,DELETE /api/skill-hub/:slugsrc/components/skill-hub/skill-card.tsxsrc/components/skill-hub/skill-detail.tsxsrc/components/skill-hub/skill-editor.tsxsrc/components/skill-hub/skill-filters.tsxsrc/components/skill-hub/assign-skill-modal.tsxdata/skills/azure-deployment-style.mddata/skills/code-review-checklist.mddata/skills/incident-response.mddata/skills/prompt-engineering-guide.mdModified files
src/components/layout/sidebar.tsx— Added Skill Hub nav entry between Tools and Knowledge in the Build groupREADME.md— Added Skill Hub subsection under Features.gitignore— Unignoreddata/skills/**so seed markdown files are trackedDesign decisions
File-based JSON/Markdown storage
Skills are stored as
data/skills/<slug>.mdfiles with YAML-like frontmatter + markdown body. This was chosen for the initial implementation because:.mdfile)SkillStoreexposes a clean interface (list,get,create,update,delete) that maps 1:1 to what a Cosmos/Postgres adapter would needSkill → Agent assignment
The "Assign to Agent" flow appends the skill's markdown body to the selected agent's
instructionsfield viaPUT /api/agents/local/:id. This is the simplest runtime injection mechanism that works without changes to the inference path. A future iteration could use a structured skills array on the agent object and inject at request time.Type naming
The Skill Hub types use
Skill(notHubSkill) inagent.ts. The existingsrc/types/skill.tsfile was checked and uses a different interface for a different domain — no collision.Follow-up plan
SkillStoreimplementation when a DB is available — the interface is identical, no callsite changes neededSkillDetail.mdfiles, import from external reposScreenshots
Acceptance checklist
npm run lint— 0 new errors (58 pre-existing errors in unrelated files unchanged)npm run build— clean build,/skill-hubappears as static route,/api/skill-huband/api/skill-hub/[slug]as dynamic routesdata/skills/🤖 Generated with Claude Code