Skip to content

feat: skill registry + Claude Code native discovery#4

Closed
rtack wants to merge 6 commits into
colmarius:mainfrom
rtack:feature/skill-registry
Closed

feat: skill registry + Claude Code native discovery#4
rtack wants to merge 6 commits into
colmarius:mainfrom
rtack:feature/skill-registry

Conversation

@rtack

@rtack rtack commented Feb 6, 2026

Copy link
Copy Markdown

Summary

  • Skill registry (REGISTRY.json): machine-readable index of all skills, auto-generated from SKILL.md frontmatter via generate-registry.sh. Agent-system agnostic — works with Claude Code, ampcode, Cursor, or anything that reads JSON.
  • Claude Code native discovery: install.sh now detects .claude/ directories and creates per-skill symlinks (.claude/skills/adapt/SKILL.md.agents/skills/adapt/SKILL.md) so skills appear in Claude Code's / slash command menu natively.
  • Optional SKILL.md frontmatter fields: triggers, keywords, invocation — used by the registry for programmatic discovery. Backward-compatible: Claude Code ignores unknown fields (verified experimentally).

What changed

Area Files What
Registry REGISTRY.json, generate-registry.sh Machine-readable skill index + generator script
SKILL.md adapt/, ralph/, research/, tmux/ Added optional triggers, keywords, invocation frontmatter
install.sh install.sh setup_claude_code_integration() — creates .claude/skills/ symlinks, cleanup on --uninstall
Tests test/integration/install.bats 10 new tests (39 total, all pass)
Docs docs/skills.md, CHANGELOG.md Registry format docs + Claude Code native discovery section

How Claude Code integration works

  1. install.sh checks if .claude/ directory exists (auto-detect)
  2. If yes, creates per-skill symlinks: .claude/skills/*/SKILL.md../../../.agents/skills/*/SKILL.md
  3. Generates .claude/skills/.gitignore with explicit skill names (user-created skills stay tracked)
  4. Symlinks are recreated on --sync, cleaned up on --uninstall
  5. Falls back to file copy if symlinks aren't supported (Windows)

Verification

Tested in a controlled environment (~/dev/test-skill-verify) across 4 experiments:

Experiment Question Result
exp-2 Is .agents/skills/ natively discovered? No — Claude Code only scans .claude/skills/
exp-3 Do custom frontmatter fields break loading? No — IDE warnings are cosmetic only
exp-2b Do symlinked skills appear in / menu? Yes — all 4 skills discovered, loaded, executed
exp-4 End-to-end local integration? Yes — Claude explored repo, installed, set up symlinks

Test plan

  • bash -n install.sh — syntax check passes
  • 39 bats tests pass (29 existing + 10 new Claude Code integration tests)
  • Symlinks resolve correctly (verified readlink + cat through symlink)
  • --dry-run shows integration plan without creating files
  • --uninstall removes only dot-agents symlinks, preserves user skills
  • Idempotent on re-run (symlinks overwritten via ln -sf)
  • Non-symlink user files in .claude/skills/ are skipped with warning
  • Verify on a fresh project without .claude/ directory (should skip silently)
  • Test on Linux (symlink behavior should be identical)

🤖 Generated with Claude Code

rtack and others added 4 commits February 6, 2026 22:50
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…inks

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@rtack rtack force-pushed the feature/skill-registry branch from b987d3f to d0d8cdb Compare February 6, 2026 21:58
rtack and others added 2 commits February 6, 2026 23:14
Rename post-sync.sh to setup-claude-integration.sh to make its
Claude-specific purpose explicit. De-Claude log messages in the
generic sync scripts, fix check-registry.sh to use trap for safe
REGISTRY.json restoration, and remove duplicate --force flag from
sync-local.sh (--yes is sufficient).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Highlight Amp (original platform) and Claude Code native integration
so users discover agent-specific features without digging into the
skills reference.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@colmarius

Copy link
Copy Markdown
Owner

Thanks Raphael for opening the PR with support for claude code. Will get to review and integrate it sometimes ~mid week.

@colmarius

Copy link
Copy Markdown
Owner

@rtack took longer to get to this PR opened.

I added a minimalistic approach to supporting the .agents/skills into .claude/skills by symlinking them. Done in PR: #5

Also docs updated.

To be honest my workflows have changed, for example not using ralph anymore, and have blend of research/planning skill something I call agent-work.

I will do a revamp of the dot-agents repo with my new workflow sometime in the next few weeks. Publish the latest version of the workflow that works for me on a day-to-day basis working on a larger monorepo codebase.

@colmarius

Copy link
Copy Markdown
Owner

Closing the PR, as addressed in #5

@colmarius colmarius closed this Jun 22, 2026
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