Skip to content

Conversation

@wkoutre
Copy link
Contributor

@wkoutre wkoutre commented Feb 11, 2026

Summary

Removes the skill symlink workaround from all 29 skills across 8 plugins, now that Claude Code v2.1.29 has fixed anthropics/claude-code#17271 (plugin skills not appearing in slash command autocomplete).

  • Remove all 29 SKILL.md symlinks, rename <skillname>.mdSKILL.md
  • Remove skill entries from commands arrays in all 8 plugin.json files (6 standalone commands preserved)
  • Update documentation to reflect the clean approach (no symlinks, no commands array for skills)
  • Fix stale Glob reference in execute-plan agent that would have broken at runtime
  • Patch bump all 8 plugin versions

Context

The workaround involved renaming SKILL.md to <skillname>.md, creating symlinks, and adding skills to both skills and commands arrays in plugin.json. With the fix, skills just need a SKILL.md file and an entry in the skills array.

Confirmed working by this comment.

Test plan

  • All 29 SKILL.md files are real files (no symlinks)
  • No skill paths remain in any commands arrays
  • 6 standalone commands preserved (4 in dev-pr-workflow, 2 in dev-productivity)
  • All 8 plugins pass validate-plugin.cjs
  • Markdown lint: 0 errors
  • Pre-commit hooks pass (format, lint, typecheck)

✨ Claude-Generated Content

Summary

Removes the skill symlink workaround from all 29 skills across 8 plugins, now that Claude Code v2.1.29 has fixed anthropics/claude-code#17271 (plugin skills not appearing in slash command autocomplete).

Context

The workaround involved renaming SKILL.md to <skillname>.md, creating symlinks back to SKILL.md, and adding skills to both skills and commands arrays in plugin.json. With the upstream fix, skills only need a SKILL.md file and an entry in the skills array.
Confirmed working by this comment.

Changes

Skill file cleanup (29 skills across 8 plugins)

  • Remove all 29 SKILL.md symlinks
  • Rename <skillname>.mdSKILL.md (real files with identical content)

plugin.json updates (8 plugins)

  • Remove skill entries from commands arrays in all 8 plugins
  • 6 standalone commands preserved (4 in development-pr-workflow, 2 in development-productivity)
  • Patch bump all 8 plugin versions (7 plugins: 2.0.0 → 2.0.1, claude-setup: 1.0.3 → 1.0.4)

Bug fix

  • Fix stale Glob reference in execute-plan agent: **/skills/execute-plan/execute-plan.md**/skills/execute-plan/SKILL.md

Documentation updates

  • Root CLAUDE.md: update skill creation instructions (remove symlink/commands workaround), update version table
  • Plugin CLAUDE.md files: update file trees and component tables to reflect clean structure (spec-workflow, uniswap-builder, claude-setup)

Version Bumps

Plugin Old New
claude-setup 1.0.3 1.0.4
development-codebase-tools 2.0.0 2.0.1
development-planning 2.0.0 2.0.1
development-pr-workflow 2.0.0 2.0.1
development-productivity 2.0.0 2.0.1
spec-workflow 2.0.0 2.0.1
uniswap-builder 2.0.0 2.0.1
uniswap-integrations 2.0.0 2.0.1

Test plan

  • All 29 SKILL.md files are real files (no symlinks)
  • No skill paths remain in any commands arrays
  • 6 standalone commands preserved (4 in dev-pr-workflow, 2 in dev-productivity)
  • All 8 plugins pass validate-plugin.cjs
  • Markdown lint: 0 errors
  • Pre-commit hooks pass (format, lint, typecheck)

…s fixed

Claude Code v2.1.29 fixed the bug where plugin skills didn't appear in
slash command autocomplete. This removes the workaround that was needed:

- Remove all 29 SKILL.md symlinks, rename <skillname>.md to SKILL.md
- Remove skill entries from commands arrays in all 8 plugin.json files
  (keep 6 standalone commands in dev-pr-workflow and dev-productivity)
- Update documentation to reflect the clean approach
- Fix stale Glob reference in execute-plan agent
- Patch bump all 8 plugin versions
@wkoutre wkoutre requested a review from a team as a code owner February 11, 2026 20:52
@vercel
Copy link

vercel bot commented Feb 11, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
ai-toolkit-slack-oauth-backend Ready Ready Preview, Comment Feb 11, 2026 8:52pm

Request Review

@github-actions
Copy link
Contributor

github-actions bot commented Feb 11, 2026

🤖 Claude Code Review

⚠️ PR too large for automated review — This pull request contains 9,430 lines of diff, which exceeds the 5,000 line threshold for Claude Code Review.

💡 Consider breaking this PR into smaller, more focused changes for better reviewability.

Claude Code Review has been skipped for this PR because the diff is too large. Large PRs are harder to review thoroughly and increase the risk of bugs slipping through.

Recommendations:

  • Break this PR into smaller, focused changes
  • Each PR should ideally address a single concern or feature
  • Smaller PRs are easier to review, test, and merge safely

Once you've split this into smaller PRs, Claude will be able to provide detailed automated reviews for each one.


💡 Want a fresh review? Add a comment containing @request-claude-review to trigger a new review at any time.

@github-actions
Copy link
Contributor

📚 Documentation Check ✅

Verdict: Passed

All required documentation is present. Plugin versions were properly bumped for all 8 affected plugins, and documentation was updated to reflect the removal of the symlink workaround.


Documentation Review: PR #386

Overview

This PR removes the symlink workaround for user-invocable skills across all plugins, simplifying the plugin architecture. The changes are comprehensive and properly documented.

✅ Version Bumps - All Correct

All 8 plugins that were modified have been properly version-bumped:

Plugin Old Version New Version Change Type
claude-setup 1.0.3 1.0.4 Patch ✅
development-codebase-tools 2.0.0 2.0.1 Patch ✅
development-planning 2.0.0 2.0.1 Patch ✅
development-pr-workflow 2.0.0 2.0.1 Patch ✅
development-productivity 2.0.0 2.0.1 Patch ✅
spec-workflow 2.0.0 2.0.1 Patch ✅
uniswap-builder 2.0.0 2.0.1 Patch ✅
uniswap-integrations 2.0.0 2.0.1 Patch ✅

Rationale: Patch bumps are appropriate because this is an internal structural change (symlinks → direct files) with no user-facing functional changes.

✅ Documentation Updates

Root CLAUDE.md

  • Updated: Plugin version table reflects new versions
  • Updated: Section "A. Adding User-Invocable Skills" now documents the simplified approach (no symlinks, no commands array)
  • Updated: Removed complex workaround instructions and clarified that skills go in skills array only

Plugin-Level CLAUDE.md Files

  • claude-setup/CLAUDE.md: Updated file structure to show SKILL.md directly instead of symlink
  • development-planning/CLAUDE.md: Structure documentation updated appropriately
  • spec-workflow/CLAUDE.md: Structure documentation updated appropriately
  • uniswap-builder/CLAUDE.md: Structure documentation updated appropriately

plugin.json Changes

All plugins correctly:

  • ✅ Removed commands arrays that were pointing to skill files
  • ✅ Kept skills arrays pointing to skill directories
  • ✅ Version bumped appropriately

✅ Structural Changes

For each affected plugin skill:

  1. Deleted: Symlink SKILL.md (e.g., SKILL.md -> analyze-code.md)
  2. Created: Real file SKILL.md with the actual content
  3. Deleted: Original named file (e.g., analyze-code.md)
  4. Result: Clean, straightforward structure with SKILL.md as the source of truth

Example transformation for analyze-code:

Before:
skills/analyze-code/
├── analyze-code.md (actual content)
└── SKILL.md -> analyze-code.md (symlink)

After:
skills/analyze-code/
└── SKILL.md (actual content)

Changes Summary

Affected Skills (20 total)

  1. claude-setup: setup-repository
  2. development-codebase-tools: analyze-code, analyze-tech-debt, diagram-excalidraw, explore-codebase, refactor-code
  3. development-planning: create-pr, execute-plan, generate-commit-message, plan-implementation, plan-swarm, review-plan
  4. development-pr-workflow: resolve-all-prs, resolve-pr-issues, review-code, split-graphite-stack, update-graphite-stack
  5. development-productivity: generate-tests, optimize-prompt, research-topic, update-claude-docs (partial diff shown)
  6. spec-workflow: auto-spec, implement-spec (inferred from plugin.json change)
  7. uniswap-builder: swap-integration, viem-integration (inferred from plugin.json change)
  8. uniswap-integrations: daily-standup, github-setup, orchestrate-deployment, refine-linear-task (inferred from plugin.json change)

Conclusion

This PR properly:

  • ✅ Bumped all affected plugin versions (8/8 plugins)
  • ✅ Updated root-level documentation (CLAUDE.md)
  • ✅ Updated plugin-level documentation where needed
  • ✅ Maintained consistency across all changes
  • ✅ Follows the simplified architecture without workarounds

No additional documentation updates are required.

✨ No Documentation Updates Needed

All documentation appears to be up to date with the code changes.


🤖 Generated by Claude Documentation Validator | Mode: suggest

@github-actions github-actions bot changed the title fix(plugins): remove skill symlink workaround (issue #17271 fixed) fix(plugins): remove skill symlink workaround now that issue #17271 is fixed Feb 11, 2026
@wkoutre wkoutre merged commit dbfe3e0 into next Feb 11, 2026
18 checks passed
@wkoutre wkoutre deleted the fix/remove-skill-symlink-workaround branch February 11, 2026 20:58
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.

[BUG] Project skill display in slash command but plugin skill doesn't

1 participant