Writing Skills
ed3dai/ed3d-plugins
A skill your agent uses when creating new skills, editing existing skills, or verifying skills work before deployment - applies TDD to process documentation by testing with subagents before writing…
Creating, editing, or testing a Reasonix skill?. An agent skill from christopherarter/superpowers-reasonix.
$ npx skills add christopherarter/superpowers-reasonix --skill superpowers-writing-skills -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install christopherarter/superpowers-reasonix superpowers-writing-skills --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/christopherarter/superpowers-reasonix.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/superpowers-writing-skills .claude/skills/superpowers-writing-skills && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "superpowers-writing-skills" agent skill from https://github.com/christopherarter/superpowers-reasonix/tree/main/skills/superpowers-writing-skills into .claude/skills/superpowers-writing-skills/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "superpowers-writing-skills", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/christopherarter/superpowers-reasonix/tree/main/skills/superpowers-writing-skillsType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add christopherarter/superpowers-reasonix --skill superpowers-writing-skills -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install christopherarter/superpowers-reasonix superpowers-writing-skills --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/christopherarter/superpowers-reasonix.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/superpowers-writing-skills .agents/skills/superpowers-writing-skills && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "superpowers-writing-skills" agent skill from https://github.com/christopherarter/superpowers-reasonix/tree/main/skills/superpowers-writing-skills into .agents/skills/superpowers-writing-skills/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "superpowers-writing-skills", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add christopherarter/superpowers-reasonix --skill superpowers-writing-skills -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install christopherarter/superpowers-reasonix superpowers-writing-skills --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/christopherarter/superpowers-reasonix.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/superpowers-writing-skills .cursor/skills/superpowers-writing-skills && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "superpowers-writing-skills" agent skill from https://github.com/christopherarter/superpowers-reasonix/tree/main/skills/superpowers-writing-skills into .cursor/skills/superpowers-writing-skills/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "superpowers-writing-skills", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/christopherarter/superpowers-reasonix.git --path skills/superpowers-writing-skills--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add christopherarter/superpowers-reasonix --skill superpowers-writing-skills -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install christopherarter/superpowers-reasonix superpowers-writing-skills --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/christopherarter/superpowers-reasonix.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/superpowers-writing-skills .gemini/skills/superpowers-writing-skills && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "superpowers-writing-skills" agent skill from https://github.com/christopherarter/superpowers-reasonix/tree/main/skills/superpowers-writing-skills into .gemini/skills/superpowers-writing-skills/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "superpowers-writing-skills", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install christopherarter/superpowers-reasonix superpowers-writing-skillsInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add christopherarter/superpowers-reasonix --skill superpowers-writing-skills -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/christopherarter/superpowers-reasonix.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/superpowers-writing-skills .github/skills/superpowers-writing-skills && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "superpowers-writing-skills" agent skill from https://github.com/christopherarter/superpowers-reasonix/tree/main/skills/superpowers-writing-skills into .github/skills/superpowers-writing-skills/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "superpowers-writing-skills", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add christopherarter/superpowers-reasonix --skill superpowers-writing-skills -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install christopherarter/superpowers-reasonix superpowers-writing-skills --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/christopherarter/superpowers-reasonix.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/superpowers-writing-skills .opencode/skills/superpowers-writing-skills && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "superpowers-writing-skills" agent skill from https://github.com/christopherarter/superpowers-reasonix/tree/main/skills/superpowers-writing-skills into .opencode/skills/superpowers-writing-skills/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "superpowers-writing-skills", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
superpowers-writing-skillsCreating, editing, or testing a Reasonix skill?. An agent skill from christopherarter/superpowers-reasonix.
Superpowers Writing Skills is an agent skill from christopherarter/superpowers-reasonix. Creating, editing, or testing a Reasonix skill? Load first, before you deploy it.
Its SKILL.md is about 2.8k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files, including reference files (for example `references/testing-skills-with-subagents.md`).
It sits in Agent Workflows, covering Skill authoring, Test-driven development and Subagents. The repository describes itself as: Superpowers skill port to Reasonix coding harness. The licence is MIT.
Read from SKILL.md and the folder at commit d202ba4. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md (its code samples are yaml).
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Superpowers Writing Skills loads about 2.8k tokens when it runs, and up to ~3.6k if it reads all its reference files. Until then it costs about 27 tokens; SKILL.md has 1,321 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from christopherarter/superpowers-reasonix at commit d202ba4, republished under its MIT licence (© christopherarter). 1,321 words, ~2,751 tokens.
.claude/skills/superpowers-writing-skills/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.Writing skills IS TDD for process docs. Write test cases (pressure scenarios, subagents). Watch fail (baseline). Write skill. Watch pass (agent complies). Refactor (close loopholes).
Core principle: Didn't watch an agent fail without the skill? Don't know it teaches the right thing.
REQUIRED BACKGROUND: Know superpowers-test-driven-development first — defines RED-GREEN-REFACTOR. This adapts it to docs.
Platform spec: Full Reasonix skill/hook/MCP contract → extending-reasonix. This = authoring discipline; that = exhaustive spec.
Reusable playbook the model invokes via run_skill / read_skill (user: /name). Two kinds:
runAs: subagent) — body = a child's system prompt; runs isolated, returns only its final answer. Use only when work is context-heavy and only the conclusion matters.ARE: reusable techniques, patterns, tools, reference guides. NOT: narratives of solving something once.
{.reasonix,.agents,.agent,.claude}/skills/ → [skills] paths in reasonix.toml → home ~/{.reasonix,...}/skills/ → built-ins.review overrides built-in). Layout: <root>/skills/<name>/SKILL.md; flat <name>.md works too.Regex: ^[a-zA-Z0-9][a-zA-Z0-9._-]{0,63}$ — letters/digits/./_/-, ≤64 chars, alphanumeric start. Frontmatter name: overrides the dir stem.
--- opens, next --- closes. Unclosed fence → WHOLE file is the body (no frontmatter). Always close it.key: value. Keys lowercased (runAs=runas). Values trimmed of one quote layer. Empty value + - item lines = list (comma-joined), so allowed-tools can be a YAML list.>/|), no multi-line values, no nesting. One line per value.Recognized keys:
| Key | Effect |
|---|---|
name | identifier (must pass the regex) |
description | one-liner for the pinned index. Missing = invisible (loads, runs by exact name, but undiscoverable) |
runAs | subagent → isolated child; else inline |
model | subagent only: child model (provider, bare model, or provider/model) |
effort | subagent only: effort hint (high, max) |
allowed-tools | subagent only: comma/list of literal registry tool names; scopes child's tools |
System prompt lists every described skill as - <name> [🧬 subagent] — <description>, clipped to 130 chars incl. name, whole block capped at 4000 chars. So:
description to stay out of the index.Every references/*.md sibling is appended to the body at load time, sorted by filename, each under ## Reference: <name>. Put depth material there — ships inline, no read_file. scripts/, assets/, references/, dot-dirs never scanned as nested skills. Subagent skill: references join the child's prompt — budget accordingly.
Registry names only: read_file, write_file, edit_file, multi_edit, ls, glob, grep, bash, web_fetch, todo_write, run_skill, read_skill, task, explore. No web_search — only web_fetch. TitleCase Read/Edit/Bash don't exist; a typo in allowed-tools is silently dropped (subagent just lacks that tool).
Body = child's system prompt, not a message to the parent. Write it as persona + procedure + output format; state the arguments/task string is its entire context.
arguments string. No history. Tell it exactly what its task input contains.run_skill/task/skill tools stripped. Can't load other skills. Fold needed discipline (e.g. TDD) into the body or a references/ file.NEEDS_CONTEXT), not a question.allowed-tools to minimum. Empty = inherit all parent tools (minus meta-tools).Create when: technique wasn't obvious; you'd reuse it across projects; applies broadly; others benefit.
Don't create for: one-offs; standard documented practices; project conventions (→ AGENTS.md/REASONIX.md); mechanical constraints a hook/lint enforces (automate those — save skills for judgment calls).
Critical: future agents must FIND your skill via the description.
State the triggering condition. Name the single core action if you want — never enumerate the multi-step procedure. Its only job: get the skill discovered and loaded.
Why: spell out steps and the model follows the description, skips the body. "review between tasks" produced ONE review when the skill specified two; trimmed to the trigger, the model read the body and did both.
House style — validated, not dogma: on the floor model (deepseek-flash) a flat "Use when X" discovers less reliably than a forceful imperative naming the situation as a question + the one key move. So every description reads <trigger>? <STOP / Load first>[ — <one core action>]; the benchmark (bench/) proves it fires the right skill (12/12). Match that voice everywhere; no bare "Use when" lines.
# ❌ BAD: enumerates the workflow — the model follows this instead of the body
description: Dispatch a subagent per task, review between tasks, then merge
# ❌ BAD: flat trigger — weaker discovery on the floor model
description: Use when implementing a feature or bugfix
# ✅ GOOD: forceful trigger + the single core action (this repo's voice)
description: Writing or fixing any code? Load first — write the failing test before the code.condition-based-waiting > async-test-helpers; superpowers-writing-plans > plan-authoring.Reference by bare name + explicit marker: **REQUIRED SUB-SKILL:** use the superpowers-test-driven-development skill. Don't read_file another SKILL.md, don't @-link it — use run_skill/read_skill so scope resolution and auto-fold work.
NO SKILL WITHOUT A FAILING TEST FIRSTApplies to NEW skills AND EDITS. Wrote the skill before testing? Delete it. Start over. No exceptions for "simple additions" or "just a docs update."
RED — baseline. Dispatch a subagent (task, explore, or a throwaway subagent skill) with a pressure scenario, without your skill in context. Record verbatim: choices, rationalizations, which pressures triggered violations. Must see it fail first.
GREEN — minimal skill. Write a skill addressing those specific rationalizations. No content for hypothetical cases. Re-run the same scenarios with the skill loaded; agent should now comply.
REFACTOR — close loopholes. New rationalization? Add an explicit counter. Re-test until bulletproof.
See the Testing Skills With Subagents reference (auto-included below) for pressure types and methodology.
Small inline dot flowchart ONLY for non-obvious decision points, loops where you might stop too early, or "A vs B" choices. Never for reference (tables), code (code blocks), or linear steps (numbered lists).
step1, helper2) — labels must carry meaningdescription — #1 discovery bug (single core action fine; the step sequence is not)After writing ANY skill, STOP and finish its test+deploy cycle. Don't batch-create untested skills. Untested skill = untested code.
todo_write each item.
RED: [ ] pressure scenarios (3+ combined for discipline skills) · [ ] run WITHOUT skill, record baseline verbatim · [ ] identify rationalization patterns
GREEN: [ ] valid name (regex) · [ ] fence closed; name + description present · [ ] description trigger-first (single core action OK, never the full workflow), fits ~130-char line · [ ] imperative house voice · [ ] search keywords · [ ] addresses baseline failures · [ ] one excellent example · [ ] correct snake_case tools · [ ] run WITH skill, verify compliance
REFACTOR: [ ] counters for new rationalizations · [ ] rationalization table · [ ] red-flags list · [ ] re-test until bulletproof
Subagent skills: [ ] body = system prompt · [ ] states task is its entire context · [ ] allowed-tools minimal, valid names · [ ] no recursion or mid-run questions
Deploy: [ ] confirm discovery (appears in skill list / index) · [ ] invoke /name or run_skill to confirm it loads · [ ] commit to git
Creating skills IS TDD for process docs. Same Iron Law (no skill without a failing test first), same cycle (RED → GREEN → REFACTOR), same payoff (better quality, bulletproof results).
© christopherarter, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 1 other file (references) in skills/superpowers-writing-skills of christopherarter/superpowers-reasonix.
Open the folder on GitHubat commit d202ba4
Superpowers Writing Skills next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Superpowers Writing Skills this skillchristopherarter/superpowers-reasonix | 102 | — | ~2.8k | Automated safety check: Pass | MIT | |
| Writing Skillsed3dai/ed3d-plugins | 250 | 1 repos | ~1.3k | Automated safety check: Pass | None | |
| Writing Skillssandgardenhq/sgai | 137 | — | ~4.9k | Automated safety check: Pass | Custom licence | |
| Reflect on Session Learningscursor/plugins | 11k | 5 repos | ~1.2k | Automated safety check: Pass | None | |
| Harness Agent Team Designerrevfactory/harness | 9.1k | — | ~4.5k | Automated safety check: Pass | Apache-2.0 | |
| Writing Skillsfarm-fe/farm | 5.6k | 39 repos | ~5.6k | Automated safety check: Pass | MIT |
ed3dai/ed3d-plugins
A skill your agent uses when creating new skills, editing existing skills, or verifying skills work before deployment - applies TDD to process documentation by testing with subagents before writing…
sandgardenhq/sgai
TDD for process documentation - test with subagents before writing, iterate until bulletproof.
cursor/plugins
Starts three parallel reviewer subagents over the current conversation transcript, then turns their findings into concrete edits to existing skills.
revfactory/harness
Designs a project-specific agent harness: defines specialist agents, writes the skills they follow, picks an execution mode and model for each, and keeps the setup maintained.
farm-fe/farm
A skill your agent uses when creating new skills, editing existing skills, or verifying skills work before deployment
metaskills/skill-builder
A skill your agent uses when creating new Claude Code skills from scratch, editing existing skills to improve their descriptions or structure, or converting Claude Code sub-agents to skills.
christopherarter/superpowers-reasonix
Any bug, failing or flaky test, or surprise behavior?. An agent skill from christopherarter/superpowers-reasonix.
christopherarter/superpowers-reasonix
Writing or fixing any code?. An agent skill from christopherarter/superpowers-reasonix.
christopherarter/superpowers-reasonix
Building a feature or starting from an idea?. An agent skill from christopherarter/superpowers-reasonix.
christopherarter/superpowers-reasonix
Branch finished, tests green?. An agent skill from christopherarter/superpowers-reasonix.
christopherarter/superpowers-reasonix
Got review feedback?. An agent skill from christopherarter/superpowers-reasonix.
christopherarter/superpowers-reasonix
Feature work needing an isolated workspace, or executing a plan?
Categories
Creating, editing, or testing a Reasonix skill?. An agent skill from christopherarter/superpowers-reasonix. Superpowers Writing Skills is an agent skill from christopherarter/superpowers-reasonix. Creating, editing, or testing a Reasonix skill?
Superpowers Writing Skills fits situations like: tasks that involve Skill authoring; tasks that involve Test-driven development; tasks that involve Subagents.
Run `npx skills add christopherarter/superpowers-reasonix --skill superpowers-writing-skills -a claude-code`. Or copy the skill folder (skills/superpowers-writing-skills in christopherarter/superpowers-reasonix) into .claude/skills/superpowers-writing-skills in your project. Claude Code loads it when a task matches its description.
Run `npx skills add christopherarter/superpowers-reasonix --skill superpowers-writing-skills -a codex`. Or copy the skill folder (skills/superpowers-writing-skills in christopherarter/superpowers-reasonix) into .agents/skills/superpowers-writing-skills in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add christopherarter/superpowers-reasonix --skill superpowers-writing-skills -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/superpowers-writing-skills, .gemini/skills/superpowers-writing-skills, .github/skills/superpowers-writing-skills and .opencode/skills/superpowers-writing-skills in your project.
SKILL.md names no scripts, command-line tools or credentials: Superpowers Writing Skills is instructions for the agent only.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Superpowers Writing Skills is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.8k tokens (SKILL.md is roughly 11k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 835 tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Superpowers Writing Skills: Writing Skills (ed3dai/ed3d-plugins, 250 stars), Writing Skills (sandgardenhq/sgai, 137 stars), Reflect on Session Learnings (cursor/plugins, 11k stars) and Harness Agent Team Designer (revfactory/harness, 9.1k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
christopherarter (a GitHub user) maintains it in christopherarter/superpowers-reasonix, which has 102 GitHub stars. The repository holds 11 skills in this directory. The repository was last updated on August 20, 2026.
Source: christopherarter/superpowers-reasonix on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.