Skip to content

feat(skills): skill shadowing for personal overrides#87

Open
dean0x wants to merge 1 commit intomainfrom
feat/skill-shadowing
Open

feat(skills): skill shadowing for personal overrides#87
dean0x wants to merge 1 commit intomainfrom
feat/skill-shadowing

Conversation

@dean0x
Copy link
Owner

@dean0x dean0x commented Mar 6, 2026

Summary

  • Adds devflow skills shadow <name> — saves reference copy to ~/.devflow/skills/, marks skill as user-managed
  • Adds devflow skills unshadow <name> — removes override, next devflow init restores default
  • Adds devflow skills list-shadowed — shows all overridden skills with active/unknown status
  • Installer skips cleanup and copy for shadowed skills during devflow init
  • Uninstall warns about remaining personal overrides

How It Works

  1. devflow skills shadow core-patterns → copies current version to ~/.devflow/skills/core-patterns/ as reference
  2. User edits ~/.claude/skills/core-patterns/SKILL.md freely
  3. devflow init sees shadow → skips overwriting that skill
  4. devflow skills unshadow core-patterns → removes shadow → next init restores default

Test plan

  • npm run build passes
  • npm test — all 185 tests pass (7 new)
  • hasShadow returns false when no shadow exists
  • hasShadow returns true when shadow directory exists
  • listShadowed returns empty array for fresh install
  • listShadowed lists all shadow directories, ignores files

Closes #81
Part of #78

Adds `devflow skills shadow/unshadow/list-shadowed` commands for
personal skill customization. Shadowed skills are preserved across
`devflow init` — the installer skips both cleanup and copy for any
skill that has a shadow in `~/.devflow/skills/`.

Changes:
- src/cli/commands/skills.ts: new command with shadow/unshadow/list
- src/cli/cli.ts: register skillsCommand
- src/cli/utils/installer.ts: skip shadowed skills in cleanup + copy
- src/cli/commands/uninstall.ts: warn about personal overrides
- tests/skills.test.ts: 7 new tests for hasShadow + listShadowed

Closes #81
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.

feat(skills): skill shadowing for personal overrides

1 participant