plugins/oh-my-claude/skills/writing-skills/SKILL.md
Methodology for creating effective skills using TDD principles. Use when creating new skills, editing existing skills, or authoring plugin components. Triggers on: 'create skill', 'write skill', 'new skill', 'skill authoring'.
npx skillsauth add techdufus/oh-my-claude writing-skillsInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
TDD applied to process documentation.
Writing skills IS TDD applied to process documentation. If you can't test it breaks without the skill, the skill isn't needed.
| TDD Concept | Skill Equivalent | |-------------|------------------| | Test case | Pressure scenario (situation where agent fails without skill) | | Production code | SKILL.md content | | Failing test | Agent demonstrably fails the scenario | | Passing test | Agent handles scenario correctly with skill loaded | | Refactor | Trim to minimum effective content |
Identify 3+ pressure scenarios where the agent fails without this skill. Document the failure mode. This is your test suite. If you can't find 3 scenarios, the skill probably isn't needed.
Write SKILL.md that addresses every identified failure. Minimum content to pass -- no extras, no nice-to-haves, no "comprehensive guides." Every section must map to at least one pressure scenario.
Remove anything that doesn't directly address a pressure scenario. Target ~120 lines. If removing a line doesn't weaken any pressure scenario, remove it.
---
name: {short-name}
description: "{Role sentence}. Use when {triggers}. Triggers on: {keywords}."
---
# {Name} Skill
{Tagline}
## When to Apply
## Core Pattern / Framework
## Anti-Rationalization Table (if methodology skill)
## Common Mistakes
## The Bottom Line
The description field determines when Claude loads your skill. Get it wrong and the skill never fires.
Good: "Use when receiving review comments from code-reviewer agent, PR reviews, or external feedback. Triggers on: 'review feedback', 'address review', 'fix review comments'."
Bad: "A comprehensive guide to handling code review feedback through a structured process"
The bad example describes what the skill contains. The good example describes when to load it.
| Type | Purpose | Example | Line Target | |------|---------|---------|-------------| | Technique | How to do X | debugger | ~120 lines | | Pattern | When to use X | receiving-code-review | ~120 lines | | Methodology | Discipline for X | tdd, verification | ~130 lines | | Meta | How to create X | writing-skills | ~140 lines |
| Excuse | Counter | |--------|---------| | "The skill is obviously clear" | If it's obvious, you can write 3 failure scenarios in 2 minutes | | "It's just a reference doc" | Reference docs that don't address failures are shelf-ware | | "Testing documentation is overkill" | Testing docs IS identifying what problems they solve | | "I'll test it in practice" | Without defined scenarios, you won't notice when it fails |
Not everything deserves a skill:
Every line must earn its place:
The test: "If removing this line doesn't weaken any pressure scenario, remove it."
Avoid:
Skills use ONLY name and description in frontmatter:
---
name: my-skill
description: "What it does. Use when X. Triggers on: 'keyword1', 'keyword2'."
---
No model, tools, or permissionMode. These are not agent definitions.
| Mistake | Why It's Wrong | Do This Instead | |---------|---------------|-----------------| | Writing without pressure scenarios | No way to verify the skill works | RED phase first -- always | | Summarizing workflow in description | Claude can't match it to triggers | Use "Use when..." pattern | | Including everything you know | Bloats context, dilutes signal | Only what prevents identified failures | | Skipping refactor phase | Skills grow stale and verbose | Trim after every edit | | Copying another skill's structure | Different types need different shapes | Match structure to skill type |
A skill without tested pressure scenarios is documentation. Documentation without a problem to solve is noise.
tools
Git worktree automation for isolated feature development. Triggers on: '/worktree create', '/worktree list', '/worktree remove'. Creates isolated working directories with automatic setup.
testing
Evidence-based verification methodology before claiming work is complete. Use when about to claim work is done, before committing, before creating PRs, or when verification-reminder hook fires. Triggers on: 'verify', 'verification', 'is it done', 'complete', 'ready to merge'.
development
Systematic TDD methodology for writing tests first. Use when implementing features or fixes with OMC_TDD_MODE enabled, when unsure how to structure tests, or when test-first discipline needs reinforcement. Triggers on: 'tdd', 'test first', 'test driven', 'red green refactor'.
development
How to handle code review feedback with technical rigor. Use when receiving review comments from code-reviewer agent, PR reviews, or external feedback. Triggers on: 'review feedback', 'address review', 'fix review comments', 'code review response'.