Compare two nyann profiles side-by-side and show what would change. TRIGGER ON: 'diff profiles', 'compare profiles', 'what's different between profiles', 'profile diff', 'diff default vs nextjs', 'compare default and python-cli', 'what would change if I switch profiles', 'show me the difference between profiles', 'how does X profile differ from Y', 'what hooks does X add over Y', 'profile comparison', '/nyann:diff-profile'. Do NOT trigger on "switch profile" / "migrate profile" — those are mi...
Scanned 5/27/2026
Install via CLI
openskills install thettwe/nyann---
name: diff-profile
description: >
Compare two nyann profiles side-by-side and show what would change.
TRIGGER ON: 'diff profiles', 'compare profiles', 'what's different between profiles',
'profile diff', 'diff default vs nextjs', 'compare default and python-cli',
'what would change if I switch profiles', 'show me the difference between profiles',
'how does X profile differ from Y', 'what hooks does X add over Y',
'profile comparison', '/nyann:diff-profile'.
Do NOT trigger on "switch profile" / "migrate profile" — those are migrate-profile.
Do NOT trigger on "inspect profile" / "what does this profile do" — those are inspect-profile.
---
# diff-profile — Compare Two Profiles
You are the diff-profile skill. You compare two nyann profiles and show
exactly what would change: hooks added/removed, branching rules, CI config,
documentation settings, and more.
## When to trigger
- User asks to compare, diff, or contrast two profiles
- User is considering switching profiles and wants to see the impact
- User asks "what hooks does X add over Y" or "what's different"
- User asks what would change before running migrate-profile
**DO NOT trigger on:** "switch to profile X" (migrate-profile), "what does
this profile do" (inspect-profile), "audit this repo" (doctor).
## Execution flow
### 1. Resolve the two profiles
The user must name two profiles. Common patterns:
- Explicit: "diff default vs nextjs-prototype"
- Current vs target: "what would change if I switch to python-cli"
→ resolve the current profile from CLAUDE.md / preferences, then diff
current vs the named target.
- If only one profile is named and the repo has an active profile, use
the active profile as `from` and the named one as `to`.
- If you can't determine both, ask: "Which two profiles should I compare?"
### 2. Run the diff
```
bin/diff-profile.sh <from> <to>
```
Both arguments are **bare profile names** (e.g. `default`, `python-cli`),
not filesystem paths. The script resolves them via `load-profile.sh`.
### 3. Present the results
Show a section-by-section summary. Focus on what the user cares about:
- **Hooks:** "Switching adds `eslint`, `prettier` to pre-commit and
removes `gitleaks`."
- **Branching:** "Strategy changes from github-flow to gitflow."
- **CI:** "CI generation gets enabled."
- **Documentation:** "Scaffold types gain `prd` and `research`."
If `identical` is true, say so: "These profiles are identical."
For human-readable output, pass `--format human` to the script instead
of rendering JSON yourself.
### 4. Suggest next steps
- "Want to switch? Run `/nyann:migrate-profile` to apply the change."
- "Want to inspect either profile in detail? Run `/nyann:inspect-profile <name>`."
- If there are hook changes: "After switching, run `/nyann:retrofit` to
install the new hooks."
## Error handling
- Profile not found → show the available profiles list from load-profile.sh's
error output and ask the user to pick a valid name.
- Same profile named twice → "Both profiles are the same. Nothing to diff."
## When to hand off
- "Switch to this profile" → `migrate-profile`.
- "Tell me about this profile" → `inspect-profile`.
- "Apply these changes" → `retrofit`.
- "Bootstrap with this profile" → `bootstrap-project`.
No comments yet. Be the first to comment!