agentsclimarketplace

Diff profile

Skill thettwe/nyann/skills/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 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.From its SKILL.md

Install
npx -y skills add thettwe/nyann --skill diff-profile

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

2 things to look at

  • 6 stars6 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
  • runs commandsInstructs the agent to run 1 command, including `bin/diff-profile.sh <from> <to>`.

SKILL.md

3.2 KB, 642 tokens by cl100k_base, as published. Nobody here has run it

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.

What ships with it

Read from the repository

Just SKILL.md. No reference files, no scripts.

Keep looking

Skills are one crate of 325,949. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.