Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Use when writing, completing, improving, or adapting SKILL.md and agents/*.md in a bundle-plugin — integrating external skills, filling scaffolded stubs, or rewriting for better triggering and token efficiency
.claude/skills/odradekai-authoring/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-06 | ✗→✓ | ▲ Improved | 123% | 0% |
| case-01 | ✗→✓ | ▲ Improved | 41% | 0% |
| case-02 | ✗→✓ | ▲ Improved | 173% | 0% |
| case-08 | ✗→✓ | ▲ Improved | 117% | 0% |
| case-10 | ✗→✓ | ▲ Improved | 70% | 0% |
Guide the authoring of effective SKILL.md files, agent definitions (agents/*.md), and supporting resources within a bundle-plugin. Good content is the difference between skills that agents consistently find and follow — and ones that get ignored or misinterpreted.
Core principle: Write for the agent's experience. Every instruction should be discoverable (good description), loadable (right size), and followable (clear, motivated instructions). Skills are the first-class source of truth in a bundle-plugin — docs and README must not contradict skill content (see bundles-forge:auditing — references/source-of-truth-policy.md).
Skill type: Hybrid — follow the execution flow rigidly (Entry Detection → Path steps → Validation), but apply writing guidance flexibly based on context. The process is discipline-enforcing; the content decisions are pattern-based.
Announce at start: "I'm using the authoring skill to help write / complete / improve / adapt] skill / agent] content."
Determine the authoring path from context:
| Context | Path | |---------|------| | skill-inventory from blueprinting, or user requests writing new SKILL.md / agent definition from scratch | Path 1: New Content | | User provides an existing/external skill to add into a project, or asks to adapt a skill to match project conventions | Path 2: Integrate Content | | scaffold-output directories exist but SKILL.md body has < 10 non-empty lines | Path 3: Complete Content | | User provides existing in-project skill-md to improve, or optimization-spec from optimizing with specific changes | Path 4: Improve Content |
When the target is an agent definition (agents/*.md) rather than a skill, follow the same path logic but use the agent authoring conventions from references/agent-authoring-guide.md.
Before writing any content, verify scope and detect the project context:
bundles-forge:blueprinting (triage already done during design)skills/ directory + package.json above the targetproject:skill-name prefix)references/, line counts)references/skill-writing-guide.md directlyWrite skill or agent content from scratch.
skill-inventory and design document context (blueprinting), user description, or conversation context. Identify: skill purpose, triggering scenarios, expected inputs/outputs, relationship to other skills. When a design document is available, leverage its project overview, target users, and use cases to write more targeted descriptions and overviewsreferences/skill-writing-guide.md (frontmatter conventions, description rules, instruction style)name (kebab-case matching directory), description (start with "Use when...", under 250 chars, triggering conditions only)references/skill-writing-guide.md "External Tool References" section for allowed-tools declaration, fallback patterns, and CLI vs MCP guidanceallowed-tools declares external CLI tools (not git, python, node, npm, npx, bash, or paths under bin//scripts/), confirm the body includes a ## Prerequisites section with a Tool/Check/Install table. Read references/skill-writing-guide.md "Prerequisites Writing" for the standard formatreferences/. Front-load critical instructions in the first ~5,000 tokens — after context compaction, only this portion survivesAdapt an existing/external skill to fit a project's conventions and workflow.
references/skill-writing-guide.md (frontmatter conventions, description rules, instruction style)description to match project style (verb form, scoping), ensure name follows project kebab-case conventionFill in scaffolded skill stubs with substantive content.
references/skill-writing-guide.md (frontmatter conventions, description rules, instruction style)description (triggering conditions, "Use when...", under 250 chars). If name is already set, verify it matches directory namereferences/ for heavy content, assets/ for templates. Read references/skill-writing-guide.md "Supporting Resources" section for thresholds. Front-load critical instructions in the first ~5,000 tokens — after context compaction, only this portion survivesEnhance existing in-project content based on user feedback or optimization specs.
optimization-spec, or self-diagnosis:references/, cut redundancy, front-load critical instructions in the first ~5,000 tokensreferences/skill-writing-guide.md (frontmatter conventions, description rules, instruction style)After completing any path, validate the authored content:
bundles-forge audit-skill <skill-directory> on each authored/modified skillreferences/quality-checklist.md manually| Mistake | Fix | |---------|-----| | Description summarizes workflow | Describe triggering conditions only — agents shortcut to description | | Piling on MUST/ALWAYS/NEVER | Explain why the rule exists — understanding beats compliance | | Putting everything in SKILL.md | Extract heavy content (100+ lines) to references/; keep body under 500 lines | | No examples, only abstract rules | Add at least one concrete example per key instruction | | Writing for humans, not agents | Use imperative form, clear structure, explicit output formats | | Description too narrow | Be pushy — list related scenarios, edge cases, alternative phrasings | | Description too broad | Scope to the right context (e.g., "bundle-plugins" not just "any project") | | Skipping project conventions | Always read existing skills first when working in an established project | | Not wiring Integration section | Every skill needs Called by / Calls / Pairs with to connect to the workflow graph | | No defensive instructions for rigid skills | For rigid/hybrid skills, add explicit loophole closers, rationalization tables, and red-flag lists — see Defensive Writing in references/skill-writing-guide.md | | Forgetting validation | Always run bundles-forge audit-skill after authoring — catches issues before they propagate |
skill-inventory (optional) — list of skills and agent definitions to write, from bundles-forge:blueprinting design documentscaffold-output (optional) — scaffolded skill directories needing content (from blueprinting pipeline or standalone scaffolding)skill-md (optional) — existing SKILL.md or agent definition to improve, complete, or adaptoptimization-spec (optional) — specific content changes requested by bundles-forge:optimizing (e.g., rewrite description, reduce tokens, restructure sections)skill-content — completed or improved SKILL.md files following authoring conventions (frontmatter, description, body structure, token efficiency)agent-content (optional) — completed agents/*.md definitions following agent authoring conventionsCalled by:
Pairs with:
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-04 | pass→pass | 5,819 | 16,374 | +181% | 1 | 1 | 0% | 1,087 | 3,988 | +267% | 0 | 0 | — |
case-05 | pass→pass | 10,677 | 9,971 | -7% | 1 | 1 | 0% | 1,968 | 4,425 | +125% | 0 | 0 | — |
case-06 | fail→pass | 10,665 | 7,682 | -28% | 1 | 1 | 0% | 1,758 | 3,923 | +123% | 0 | 0 | — |
case-01 | fail→pass | 17,846 | 14,063 | -21% | 1 | 1 | 0% | 3,620 | 5,101 | +41% | 0 | 0 | — |
case-02 | fail→pass | 11,301 | 18,053 | +60% | 1 | 1 | 0% | 2,209 | 6,024 | +173% | 0 | 0 | — |
case-03 | fail→fail | 20,280 | 2,907 | -86% | 1 | 1 | 0% | 4,076 | 3,080 | -24% | 0 | 0 | — |
case-07 | fail→fail | 10,944 | 21,185 | +94% | 1 | 1 | 0% | 1,975 | 4,166 | +111% | 0 | 0 | — |
case-08 | fail→pass | 9,102 | 3,392 | -63% | 1 | 1 | 0% | 1,533 | 3,333 | +117% | 0 | 0 | — |
case-09 | pass→pass | 10,874 | 8,536 | -22% | 1 | 1 | 0% | 1,972 | 4,266 | +116% | 0 | 0 | — |
case-10 | fail→pass | 13,711 | 7,147 | -48% | 1 | 1 | 0% | 2,305 | 3,914 | +70% | 0 | 0 | — |
case-11 | fail→pass | 4,708 | 1,988 | -58% | 1 | 1 | 0% | 889 | 3,075 | +246% | 0 | 0 | — |
case-12 | fail→fail | 12,594 | 8,111 | -36% | 1 | 1 | 0% | 2,211 | 4,229 | +91% | 0 | 0 | — |
case-13 | fail→pass | 5,028 | 1,796 | -64% | 1 | 1 | 0% | 827 | 3,015 | +265% | 0 | 0 | — |
case-14 | fail→pass | 5,574 | 2,004 | -64% | 1 | 1 | 0% | 969 | 3,053 | +215% | 0 | 0 | — |
case-15 | fail→pass | 6,008 | 3,654 | -39% | 1 | 1 | 0% | 1,062 | 3,400 | +220% | 0 | 0 | — |
case-16 | fail→pass | 10,485 | 3,279 | -69% | 1 | 1 | 0% | 1,764 | 3,295 | +87% | 0 | 0 | — |
case-17 | fail→pass | 9,479 | 3,693 | -61% | 1 | 1 | 0% | 1,515 | 3,369 | +122% | 0 | 0 | — |
case-18 | fail→pass | 10,668 | 7,162 | -33% | 1 | 1 | 0% | 1,740 | 3,808 | +119% | 0 | 0 | — |
case-19 | fail→pass | 18,409 | 9,501 | -48% | 1 | 1 | 0% | 2,694 | 4,102 | +52% | 0 | 0 | — |
case-20 | fail→pass | 15,209 | 3,488 | -77% | 1 | 1 | 0% | 2,372 | 3,194 | +35% | 0 | 0 | — |
case-21 | pass→pass | 7,828 | 2,270 | -71% | 1 | 1 | 0% | 1,202 | 3,071 | +155% | 0 | 0 | — |
case-22 | pass→pass | 8,896 | 2,668 | -70% | 1 | 1 | 0% | 1,381 | 3,059 | +122% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted. The headline lift of +64 percentage points is the difference between those two pass rates over the 22 comparable cases.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.