Skip to content
Development
Skill

/diff-profile

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

From plugin
nyann
641 skills41 commands3 hooks
Install
$ npx -y skills add thettwe/nyann --skill diff-profile --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/diff-profile

Context preview

The summary Claude sees to decide when to auto-load this skill.

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

SKILL.md

diff-profile.SKILL.md
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`.
Read more
Ships withnyann

ငြမ်း is Burmese for scaffolding. Nyann is the Claude Code plugin that picks expert git defaults for your stack — branching, working hooks (Husky / pre-commit.com / lefthook), commits, releases, CI, docs — then keeps the repo on those rails through every PR

Get the whole plugin

Other skills on nyann.