* Update create-agent-skills to match 2026 official docs, add /triage-prs command - Rewrite SKILL.md to document that commands and skills are now merged - Add new frontmatter fields: disable-model-invocation, user-invocable, context, agent - Add invocation control table and dynamic context injection docs - Fix skill-structure.md: was incorrectly recommending XML tags over markdown headings - Update official-spec.md with complete 2026 specification - Add local /triage-prs command for PR triage workflow - Add PR triage plan document Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * [2.31.0] Reduce context token usage by 79%, include recent community contributions The plugin was consuming 316% of Claude Code's description character budget (~50,500 chars vs 16,000 limit), causing components to be silently excluded. Now at 65% (~10,400 chars) with all components visible. Changes: - Trim all 29 agent descriptions (move examples to body) - Add disable-model-invocation to 18 manual commands - Add disable-model-invocation to 6 manual skills - Include recent community contributions in changelog - Fix component counts (29 agents, 24 commands, 18 skills) Contributors: @trevin, @terryli, @robertomello, @zacwilliams, @aarnikoskela, @samxie, @davidalley Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * Fix: keep disable-model-invocation off commands called by /lfg, rename xcode-test - Remove disable-model-invocation from test-browser, feature-video, resolve_todo_parallel — these are called programmatically by /lfg and /slfg - Rename xcode-test to test-xcode to match test-browser naming convention Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * Fix: keep git-worktree skill auto-invocable (used by /workflows:work) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * feat(converter): support disable-model-invocation frontmatter Parse disable-model-invocation from command and skill frontmatter. Commands/skills with this flag are excluded from OpenCode command maps and Codex prompt/skill generation, matching Claude Code behavior where these components are user-only invocable. Bump converter version to 0.3.0. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
3.2 KiB
3.2 KiB
Compounding Engineering Plugin Development
Versioning Requirements
IMPORTANT: Every change to this plugin MUST include updates to all three files:
.claude-plugin/plugin.json- Bump version using semverCHANGELOG.md- Document changes using Keep a Changelog formatREADME.md- Verify/update component counts and tables
Version Bumping Rules
- MAJOR (1.0.0 → 2.0.0): Breaking changes, major reorganization
- MINOR (1.0.0 → 1.1.0): New agents, commands, or skills
- PATCH (1.0.0 → 1.0.1): Bug fixes, doc updates, minor improvements
Pre-Commit Checklist
Before committing ANY changes:
- Version bumped in
.claude-plugin/plugin.json - CHANGELOG.md updated with changes
- README.md component counts verified
- README.md tables accurate (agents, commands, skills)
- plugin.json description matches current counts
Directory Structure
agents/
├── review/ # Code review agents
├── research/ # Research and analysis agents
├── design/ # Design and UI agents
├── workflow/ # Workflow automation agents
└── docs/ # Documentation agents
commands/
├── workflows/ # Core workflow commands (workflows:plan, workflows:review, etc.)
└── *.md # Utility commands
skills/
└── *.md # All skills at root level
Command Naming Convention
Workflow commands use workflows: prefix to avoid collisions with built-in commands:
/workflows:plan- Create implementation plans/workflows:review- Run comprehensive code reviews/workflows:work- Execute work items systematically/workflows:compound- Document solved problems
Why workflows:? Claude Code has built-in /plan and /review commands. Using name: workflows:plan in frontmatter creates a unique /workflows:plan command with no collision.
Skill Compliance Checklist
When adding or modifying skills, verify compliance with skill-creator spec:
YAML Frontmatter (Required)
name:present and matches directory name (lowercase-with-hyphens)description:present and describes what it does and when to use it (per official spec: "Explains code with diagrams. Use when exploring how code works.")
Reference Links (Required if references/ exists)
- All files in
references/are linked as[filename.md](./references/filename.md) - All files in
assets/are linked as[filename](./assets/filename) - All files in
scripts/are linked as[filename](./scripts/filename) - No bare backtick references like
`references/file.md`- use proper markdown links
Writing Style
- Use imperative/infinitive form (verb-first instructions)
- Avoid second person ("you should") - use objective language ("To accomplish X, do Y")
Quick Validation Command
# Check for unlinked references in a skill
grep -E '`(references|assets|scripts)/[^`]+`' skills/*/SKILL.md
# Should return nothing if all refs are properly linked
# Check description format - should describe what + when
grep -E '^description:' skills/*/SKILL.md
Documentation
See docs/solutions/plugin-versioning-requirements.md for detailed versioning workflow.