feat!: consolidate 9 teaching skills into single plugin-dev skill#224
Closed
kylesnowschwartz wants to merge 39 commits intosjnims:mainfrom
Closed
feat!: consolidate 9 teaching skills into single plugin-dev skill#224kylesnowschwartz wants to merge 39 commits intosjnims:mainfrom
kylesnowschwartz wants to merge 39 commits intosjnims:mainfrom
Conversation
Adds a guide skill that helps users navigate the 9 specialized plugin-dev skills. Routes users to the appropriate skill based on their task. - New skill: plugin-dev-guide with decision tree and workflows - New command: plugin-dev-guide for autocomplete discoverability - Update skill count to 10 in plugin.json and marketplace.json Closes sjnims#184
- Bump plugin version to 0.3.3 in plugin.json and marketplace.json - Update CLAUDE.md version reference and component counts (10 skills, 3 agents, 4 slash commands) - Add command frontmatter (allowed-tools, model) to plugin-dev-guide - Clarify skill count statement in plugin-dev-guide SKILL.md
- Rewrite SKILL.md to cover all 22 hook events organized by category (was 13 events). Remove nonexistent "Setup" event. - Add references/event-schemas.md with complete input/output JSON schemas for every event, including SDK parity notes - Add 8 new patterns (11-18) for StopFailure, TaskCompleted, TeammateIdle, WorktreeCreate/Remove, ConfigChange, Elicitation, PreCompact/PostCompact, and InstructionsLoaded - Add HTTP and Agent hook types (was only prompt and command) - Fix deprecated PreToolUse output fields (permissionDecision replaces decision approve/block) - Update validate-hook-schema.sh: recognize all 22 events, validate all 4 hook types, check event-specific type restrictions
- Add version field to all 9 skill frontmatters - Use YAML block scalars (|) for multi-line agent descriptions to fix YAML parsing errors (matches official repo fix) - Add commands/ deprecation notice to command-development and plugin-structure skills, pointing to skills/<name>/SKILL.md format - Update command-development overview wording for consistency
- stop-failure-alert.sh: StopFailure API error alerting with desktop notifications - validate-task.sh: TaskCompleted test verification gate - teammate-quality-gate.sh: TeammateIdle quality checks - create-worktree.sh: WorktreeCreate custom setup with dependency install (demonstrates stdout-as-return-value pattern) - cleanup-worktree.sh: WorktreeRemove resource cleanup - audit-config-change.sh: ConfigChange security monitoring - handle-elicitation.sh: Elicitation auto-response for MCP servers - log-observability.sh: Unified logging for InstructionsLoaded, PreCompact, PostCompact, and Notification events - Update SKILL.md examples section to list all 11 scripts
- validate-hook-schema.sh: don't reject configs missing matcher for
events that don't support matchers (UserPromptSubmit, Stop,
TeammateIdle, TaskCompleted, WorktreeCreate, WorktreeRemove).
Downgrade from error to warning for other events.
- validate-hook-schema.sh: replace ${hook_type^} bash 4+ syntax with
awk for macOS stock bash compatibility
- create-worktree.sh: sanitize name input to prevent path traversal,
surface git and dependency install errors instead of swallowing them
- teammate-quality-gate.sh: case-insensitive TODO/FIXME matching
- handle-elicitation.sh: only open https:// URLs to prevent
file://, javascript:, or other dangerous schemes from MCP servers
- log-observability.sh: flatten newlines in notification messages
to prevent breaking single-line log format
Adds plugin-dev-guide meta-skill for navigating plugin components, new slash command, version bump to 0.3.3, and updated component counts.
- Point marketplace.json at kylesnowschwartz fork - Merge commands section into skill quick reference table - Remove redundant decision tree and command file - Use explicit Skill tool invocation language throughout
Incorporate upstream documentation audit across all 10 skills. Add 10 new reference files covering agent fields, permission modes, hook input schemas, memory/rules system, headless CI, GitHub Actions, output styles, advanced topics, and frontmatter. Expand existing references for hooks, marketplace, MCP, and plugin structure. Fix critical prompt hook support claim (4 events → 19), add missing SessionEnd "resume" matcher, and update project docs with lint command corrections and component-patterns agent fields. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…0.5.0 Add initialPrompt agent frontmatter, CwdChanged/FileChanged hook events, userConfig plugin manifest field, paths: YAML list for skills, MCP 2KB description cap, and WorktreeCreate HTTP hook support.
No GitHub releases or tags needed. Push to main and users get updates on next plugin refresh.
Add a Haiku-powered triage agent that matches plugin development questions to the right specialized skill. The guide skill becomes a thin dispatch shim, keeping the main context window clean.
…tring and release v0.6.1 The agent-development and skill-development skills documented the skills frontmatter field as a YAML array, but Claude Code parses it as a comma-separated string (same as tools and disallowedTools).
- Replace all sjnims/plugin-dev references with kylesnowschwartz/plugin-dev - Update CODEOWNERS, dependabot assignees/reviewers, maintainer contact - Update Anthropic doc URLs to current code.claude.com and platform.claude.com - Remove scheduled trigger from link checker (keep PR + manual dispatch) - Remove fork guard from stale workflow
Design for a skill + agent pipeline that keeps plugin-dev current with Claude Code upstream changes. Four-stage pipeline with three dedicated verification agents and source triangulation.
- Specify exact CC changelog URL with fetch validation - Use full paths in modified files table - Remove plugin.json registration (auto-discovery handles it) - Add conventional commit format for release commits - Add bootstrap behavior for first run - Clarify Stage 4 retry mechanics - Add SKILL.md frontmatter sketch with trigger phrases - Add agent tool allowlists - Add fallback column to external dependencies - Update CLAUDE.md component count note - Fix plugin-dev-guide routing table (use SKILL.md listing, not agent routing)
Four-stage pipeline for syncing plugin-dev docs with Claude Code upstream releases. Uses source triangulation (CC changelog, system-prompts repo, claude-code-guide agent) and independent verification agents to ensure accuracy without human gates.
The last actual upstream audit was v0.5.0 against CC 2.1.83-84. Versions 0.6.0 and 0.6.1 were internal changes, not upstream syncs.
Agent couldn't write the manifest file because Write wasn't in its tool allowlist and .agent-history/ may not exist yet.
Upstream sync via update-from-upstream pipeline (4-stage verified). Added: - hook-development: conditional `if` field, AskUserQuestion via updatedInput - skill-development: 250-char description cap, alphabetical /skills sorting - plugin-structure: org plugin blocking, Permission denied fix - mcp-integration: CLAUDE_CODE_MCP_SERVER_NAME/URL env vars - agent-development: prompt change, fork naming, Production Reads - marketplace-structure: org plugin blocking Fixed: - event-schemas: event count 22 → 24 - skill-development: noted resolved paths: frontmatter bug Bumps plugin-dev to v0.8.0.
Runs the update-from-upstream skill every 3 days via claude-code-action. Creates a PR for review instead of committing directly to main. Clones Piebald-AI/claude-code-system-prompts for three-source triangulation.
The file is 30k+ tokens. Versions are newest-first, so the first 200 lines cover the most recent ~10 versions. Prevents token limit errors in both changelog-differ and update-manifest-verifier agents.
First production run hit error_max_turns at 51 turns ($5.73). The four-stage pipeline with three subagents needs more headroom.
Updates plugin-dev documentation to reflect Claude Code changes from versions 2.1.87 through 2.1.88. Key changes: - Add PermissionDenied hook event (25th hook event) - Document file_path absolute path behavior for Write/Edit/Read tools - Document hook `if` field fix for compound commands - Document partial compaction capability - Add Config tool reference in agent-development Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
The agent was preemptively skipping the third triangulation source without attempting the dispatch. claude-code-guide is a built-in Claude Code agent type and was registered in the CI session.
…-03-31 docs: sync plugin-dev with Claude Code v2.1.87-v2.1.88
Solo-maintained repo doesn't need greet, stale, semantic-labeler, ci-failure-analysis, claude-pr-review, or markdownlint workflows. Simplify links.yml (drop auto-issue creation), clean up markdownlint references from docs and remaining workflows.
Document new Claude Code features from versions 2.1.89 through 2.1.92: - hook-development: PreToolUse `defer` permission decision for pausing tool execution in headless sessions (CC 2.1.89) - mcp-integration: `_meta["anthropic/maxResultSizeChars"]` annotation for large MCP tool results up to 500K characters (CC 2.1.91) - skill-development/command-development: `disableSkillShellExecution` setting for organizations to disable inline shell execution (CC 2.1.91) - plugin-structure: Plugin `bin/` directory for shipping executables that can be invoked as bare commands (CC 2.1.91) Verified via four-stage update-from-upstream pipeline with independent verification agents. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
…-04-04 docs: sync plugin-dev with Claude Code v2.1.89-v2.1.92
Fix YAML frontmatter parse error in plugin-dev-guide agent by adding missing block scalar indicator on description field.
Sync plugin-dev documentation with upstream Claude Code changes: - agent-development: Document Monitor tool for streaming background events (CC 2.1.98) - agent-development: Document agent absolute file path requirement (CC 2.1.97) - skill-development: Document skill invocation name change (CC 2.1.94) - claude-code-compatibility: Update audit log with CC 2.1.94-2.1.98 changes Version bump: 0.10.1 → 0.10.2 Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
…-04-10 docs: sync plugin-dev with Claude Code v2.1.94-v2.1.98
Clarify that when a skill uses `context: fork` with `agent:`, the agent definition provides the system prompt and the skill body provides the task prompt. Add comparison table for declarative skill+agent vs direct Agent tool calls. Cross-reference between both skill-development and agent-development docs.
BREAKING: Update allowed-tools syntax from colon-separated to space-separated - Update all `Bash(X:*)` patterns to `Bash(X *)` per CC 2.1.108 - Add PreCompact hook blocking capability (exit 2, CC 2.1.105) - Add monitors manifest key documentation (CC 2.1.105) - Version bump: 0.10.2 → 0.10.3 Files updated: - command-development skill and references - plugin-structure references (github-actions, headless-ci-mode, manifest-reference) - hook-development SKILL.md and event-schemas - /create-plugin and /create-marketplace commands - docs (workflow-security.md, CONTRIBUTING.md) Note: CI workflow files excluded (require workflows permission to update) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
…-04-16 docs: sync plugin-dev with Claude Code v2.1.99-v2.1.110
Eval showed consolidated skill triggers 57.9% vs 47.4% (strict superset, zero false positives). 11-way discrimination in skill descriptions was causing ~50% of real activations to require explicit /plugin-dev invocation. The single skill uses a routing index table that points to references/<topic>/overview.md files. Content is identical, just reorganized under one skill with progressive disclosure. Changes: - Migrate 9 topic skills into plugin-dev/references/<topic>/ - Remove plugin-dev-guide agent (replaced by routing index) - Update plugin-validator, agent-creator, skill-reviewer frontmatter - Add eval workspace with trigger-eval methodology and data - Bump to v0.11.0 BREAKING CHANGE: Individual skill names (hook-development, skill-development, etc.) no longer exist. Use plugin-dev instead.
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.
Summary
plugin-devskill with a routing index table/plugin-devinvocationWhat changed
skills/plugin-dev/SKILL.mdwith topic index routing toreferences/<topic>/overview.mdplugin-dev/references/(content identical, just reorganized)plugin-dev-guideagent (replaced by routing index in SKILL.md)plugin-validator,agent-creator,skill-revieweragent frontmatter →skills: plugin-devupdate-from-upstream(workflow skill, not reference)plugin-dev-workspace/with eval methodology, scripts, and dataTest plan
claude --plugin-dir plugins/plugin-dev/plugin-dev:start,/plugin-dev:create-plugin) still workplugin-validator,agent-creator,skill-reviewer) function withskills: plugin-dev