Agent skill

writing-skills

Use when creating new skills, editing existing skills, or verifying skills work before deployment - applies TDD to process documentation by testing with subagents before writing, iterating until bulletproof against rationalization

Stars 170
Forks 21

Install this agent skill to your Project

npx add-skill https://github.com/ed3dai/ed3d-plugins/tree/main/plugins/ed3d-extending-claude/skills/writing-skills

SKILL.md

Writing Skills

REQUIRED BACKGROUND: Read ed3d-extending-claude:writing-claude-directives for foundational guidance on token efficiency, discovery optimization, and compliance techniques. This skill focuses on TDD methodology specific to skill creation.

Core Principle

Writing skills IS Test-Driven Development applied to process documentation.

Write test cases (pressure scenarios), watch them fail (baseline behavior), write the skill, watch tests pass, refactor (close loopholes).

Iron Law: No skill without a failing test first. Same as TDD for code.

TDD Mapping

TDD Concept Skill Creation
Test case Pressure scenario with subagent
Production code SKILL.md document
RED Agent violates rule without skill
GREEN Agent complies with skill present
Refactor Close loopholes, re-test

When to Create a Skill

Create when:

  • Technique wasn't intuitively obvious
  • You'd reference this across projects
  • Pattern applies broadly
  • Others would benefit

Don't create for:

  • One-off solutions
  • Standard practices documented elsewhere
  • Project-specific conventions (use CLAUDE.md)

Skill Types

Technique: Concrete method with steps (condition-based-waiting, root-cause-tracing)

Pattern: Mental model for problems (flatten-with-flags, test-invariants)

Reference: API docs, syntax guides, tool documentation

Directory Structure

skills/
  skill-name/
    SKILL.md              # Main reference (required)
    supporting-file.*     # Only if needed

Separate files for: Heavy reference (100+ lines), reusable tools/scripts

Keep inline: Principles, code patterns (<50 lines), everything else

SKILL.md Template

markdown
---
name: Skill-Name-With-Hyphens
description: Use when [triggers/symptoms] - [what it does, third person]
---

# Skill Name

## Overview
Core principle in 1-2 sentences.

## When to Use
Symptoms and use cases. When NOT to use.

## Core Pattern
Before/after comparison or key technique.

## Quick Reference
Table or bullets for scanning.

## Common Mistakes
What goes wrong + fixes.

RED-GREEN-REFACTOR Cycle

RED: Baseline Test

Run pressure scenario WITHOUT skill:

  1. Create combined pressures (time + sunk cost + exhaustion)
  2. Document exact violations and rationalizations verbatim
  3. Identify failure patterns

GREEN: Write Minimal Skill

  1. Address specific baseline failures identified in RED
  2. Run scenarios WITH skill
  3. Verify compliance

REFACTOR: Close Loopholes

  1. Find NEW rationalizations from testing
  2. Add explicit counters
  3. Re-test until bulletproof

REQUIRED: Use ed3d-extending-claude:testing-skills-with-subagents for complete methodology.

Testing by Skill Type

Type Test Approach Success Criteria
Discipline Pressure scenarios, combined stressors Follows rule under maximum pressure
Technique Application scenarios, edge cases Successfully applies to new scenario
Pattern Recognition + counter-examples Knows when/how and when NOT to apply
Reference Retrieval + application tests Finds and correctly uses information

Common Rationalizations to Block

Excuse Reality
"Obviously clear" Clear to you ≠ clear to agents. Test.
"Just a reference" References have gaps. Test retrieval.
"Testing is overkill" Untested skills have issues. Always.
"Too simple" Simple things break. Test anyway.
"No time" Fixing broken skills wastes more time.

All mean: Test before deploying.

Anti-Patterns

  • Narrative example: "In session 2025-10-03, we found..." (too specific, not reusable)
  • Multi-language dilution: example-js.js, example-py.py (mediocre quality, maintenance burden)
  • Code in flowcharts: Can't copy-paste, hard to read
  • Generic labels: helper1, step3 (labels need semantic meaning)

Skill Creation Checklist

IMPORTANT: Use TaskCreate to track each item (or TodoWrite in older Claude Code versions).

RED Phase:

  • Create pressure scenarios (3+ combined pressures for discipline skills)
  • Run WITHOUT skill - document baseline failures verbatim
  • Identify rationalization patterns

GREEN Phase:

  • Name uses letters, numbers, hyphens only
  • Description starts with "Use when...", third person
  • Address specific baseline failures
  • One excellent example (not multi-language)
  • Run WITH skill - verify compliance

REFACTOR Phase:

  • Identify new rationalizations
  • Add explicit counters
  • Re-test until bulletproof

Deployment:

  • Commit and push
  • Consider contributing via PR

Expand your agent's capabilities with these related and highly-rated skills.

ed3dai/ed3d-plugins

doing-a-simple-two-stage-fanout

Use when analyzing a large corpus of text, code, or data that exceeds a single agent's effective context - orchestrates parallel Worker subagents, Critic review subagents, and a final Summarizer subagent with task tracking and failure recovery

170 21
Explore
ed3dai/ed3d-plugins

using-generic-agents

Use to decide what kind of generic agent you should use

170 21
Explore
ed3dai/ed3d-plugins

investigating-a-codebase

Use when planning or designing features and need to understand current codebase state, find existing patterns, or verify assumptions about what exists; when design makes assumptions about file locations, structure, or existing code that need verification - prevents hallucination by grounding plans in reality

170 21
Explore
ed3dai/ed3d-plugins

researching-on-the-internet

Use when planning features and need current API docs, library patterns, or external knowledge; when testing hypotheses about technology choices or claims; when verifying assumptions before design decisions - gathers well-sourced, current information from the internet to inform technical decisions

170 21
Explore
ed3dai/ed3d-plugins

creating-an-agent

Use when creating specialized subagents for Claude Code plugins or the Task tool - covers description writing for auto-delegation, tool selection, prompt structure, and testing agents

170 21
Explore
ed3dai/ed3d-plugins

maintaining-project-context

Use when completing development phases or branches to identify and update CLAUDE.md or AGENTS.md files that may have become stale - analyzes what changed, determines affected contracts and documentation, and coordinates updates

170 21
Explore

Didn't find tool you were looking for?

Be as detailed as possible for better results