Skip to content

Conversation

@rtack
Copy link

@rtack rtack commented Feb 6, 2026

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
Owner

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

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