Using skills at Triumph
A “skill” is a small packaged prompt plus optional reference material that teaches Claude how to do one job reliably. Same SKILL.md format, two runtimes: Claude Code and Claude Cowork. Distributed as zip folders.
What it is
Claude Code is the terminal-first Claude — you run claude inside a git repo and it can read/edit files, run shell commands, and call skills. Skills live in the repo itself, so anyone who clones gets the same set. Good fit for engineering workflows: code review, migrations, test writing, refactors, SQL against the warehouse, on-call triage.
Where skills live
Skills are one piece of a broader .claude/ folder you commit to the repo. Everything in here is shared with the team on the next pull. Here's the layout Rock RMS uses — it's a good reference for any Triumph repo:
skills/— on-demand workflows that fire when you ask. This is what the marketplace distributes. Each is a folder with aSKILL.mdplus optional references/scripts.commands/— short named slash commands like/build,/test,/check. One markdown file per command. Simpler than a skill; good for frequent repo actions.rules/— context Claude loads automatically based on file paths.code-conventions.mdanddata-model.mdare always on; path-specific ones (e.g.block-architecture.md) kick in when you're editing files that match.hooks/— safety guards that intercept commands (e.g. blockinggit push --forceto protected branches).settings.json— shared permissions. Pair it withsettings.local.json(gitignored) for personal overrides.
.claude/ folder is public and well-documented — worth reading its README.md before structuring your own repo. Claude Code also reads ~/.claude/skills/ from your home directory for personal skills that apply to every repo; repo skills win on a name clash.Install a skill
On a skill's detail page, hit Download zip and unzip into .claude/skills/<slug>/. Or copy the install command and paste it into the repo:
$ cd your-project $ claude skill install triumph/review-prd ✓ Fetched review-prd from Triumph Skills ✓ Added .claude/skills/review-prd/ ✓ Indexed 1 new skill — ready to use.
Commit the new folder so the skill ships with your repo.
$ git add .claude/skills/review-prd $ git commit -m "Add review-prd skill"
Invoke a skill
Two ways to fire a skill:
- Explicit slash command.
/bugfix Finance/TransactionList.ascx.cs resets on page load— always works, always unambiguous. Use this when you need guaranteed behaviour. - Natural-language match.
fix this bug in TransactionList — the grid filter resets on reload— Claude decides whether to invoke the skill based on what you said and what the skill claims to do. Feels magic when it works, confusing when it doesn't.
You'll see skill: bugfix in the output header when a skill fires.
Without the slash command, Claude picks skills by matching your prompt against each one's description. Name when it should fire and when it shouldn't — vague descriptions fire unpredictably.
Anatomy of a SKILL.md
A skill is a markdown file with a YAML frontmatter block — that's it. Here's a minimal one:
--- name: review-prd version: 1.4.0 description: > Structured review of a product PRD. Flags missing sections, fuzzy success metrics, and undefined dependencies. runtimes: [code, cowork] triggers: - "review this PRD" - "/review-prd" - "check .* for gaps" tags: [product, review] --- # Review PRD You are reviewing a PRD for completeness and clarity. ## Checklist 1. Has a one-line problem statement… 2. Success metrics are quantified… 3. Dependencies are named… ## Output format Return a markdown table with columns: "Section | Status | Gap | Suggested fix"
Everything below the frontmatter is prose that gets prepended to Claude's context when the skill fires. Keep it tight — every token you add here is a token Claude reads on every invocation.
name, version, description, triggers, tags. runtimes defaults to both if omitted. The marketplace validates these on upload and tells you exactly what's missing.Updating & uninstalling
- Update:
claude skill update review-prdpulls the latest version. Skills in your repo pin to a version, so teammates won't get surprise updates. - Uninstall: delete the folder.
rm -rf .claude/skills/review-prd. - Disable temporarily: add the skill id to
.claude/settings.jsonunder"disabled_skills". - Publish a new version: bump
versionin SKILL.md, re-zip, click Publish new version on the detail page. No review queue — your version goes live immediately.
Troubleshooting
- Claude ignores the skill. Run
claude skill listto confirm it's loaded. If not, check SKILL.md has valid YAML frontmatter (closing---). - Wrong skill fires. Triggers can collide. Be explicit with
/skill-idor tighten thetriggersregex. - Skill worked yesterday, broken today. Run
claude skill doctor review-prd— it reports version drift, stale assets, and malformed frontmatter. - Skill has a bug. Use Request modification on the detail page — the author gets a notification. For something unsafe, hit Report.
Get a markdown editor
SKILL.md is a plain markdown file with a YAML frontmatter block. You can write it in TextEdit or nano, but a real markdown editor saves you hours — live preview, frontmatter syntax highlighting, and drag-and-drop links to asset files. Any of these work; pick one and stick with it.
.claude/skills/ like a vault. Live preview, YAML frontmatter highlighting, and backlinks between triggers and examples make it easy to spot overlap before you publish. Vim mode for the diehards.triggers for clarity or suggest examples from the body prose.Cmd-Shift-V) and sub-50ms keystroke latency. Pairs well with Claude Code if you live in the terminal anyway.Post a skill you've used at least twice
That's the bar. The marketplace is built for the small, specific ones — earn enough upvotes and Triumph admins may curate it into the Standard set.