write-skill
Skill2 starsChanged 2 months agoMITView on GitHub
Author or update compact agent skills under skills/<name>/SKILL.md. Use when asked to write, add, or change a skill; not to audit a skill library.
25 other projects use a version of this.
Adopted by
Most recently taken up by
- serionist/claude-session-restoretheir own version, first seen Nov 8, 2026
- protokol11/skillstheir own version, first seen Nov 8, 2026
- AlomoesDataScience/claude-skillstheir own version, first seen Nov 8, 2026
- maideps/ai-harness-frameworktheir own version, first seen Nov 8, 2026
- devjiwonchoi/skillstheir own version, first seen Nov 8, 2026
- LindseyB/skillstheir own version, first seen Nov 4, 2026
Used with
Projects with it also use grill, ship and 6 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
renatorozasSkillgrill
Adversarial code review. Don't let me ship until the changes pass your scrutiny.
Also in 5 projects that use this
AWSSkillship
Finalize dev work on an issue branch — update docs, push, and open a PR.
Also in 4 projects that use this
Google CloudSkilltriage
Gather context on a change or bug and plan the implementation.
Also in 4 projects that use this
SentrySkillreview
Fixture review skill.
Also in 5 projects that use this
AWSSkillretro
Conduct a retrospective on a coding session.
Also in 3 projects that use this
Hugging FaceSkillimplement
Make tests pass. Invoke after /write-tests produces failing tests.
Also in 3 projects that use this
Other versions25 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 25
- garrytan/gstack★ 141ksame name
- primer/react★ 3.9ksame name
- iliaal/whetstone★ 36same name
- evist0/okf-matt-skills★ 13same name
- day-ai/gtm-brain★ 9same name
- agentpatterns-ai/skills★ 7same name
- viknesh20-20/claude-code-tool-kit★ 7same name
- hassan-mohiddin/freeflow★ 5same name
- umararshad4/honey-stack★ 5same name
- dzianisv/skills★ 4same name
15 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository27 other files it gives its agents.
- agent-guardrailsSkill
- benchmark-checklistSkill
- blast-radiusSkill
- blog-reviewSkill
- code-reviewSkill
- create-verification-skillSkill
- datavizSkill
- grill-meSkill
- grok-repoSkill
- hammerspoonSkill
- html-lessonSkill
- karpathy-planningSkill
- mechanism-vizSkill
- obsidian-captureSkill
- obsidian-searchSkill
- paper-searchSkill
- readbackSkill
- repo-evalSkill
- route-skillSkill
- sherlockSkill
- show-meSkill
- sketch-conceptSkill
- skill-curatorSkill
- test-writingSkill
- tla-modelSkill
- web-recapSkill
- write-docsSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
18 rules. 0 are common, 12 are distinctive, and 6 are very specific to this project.
0
Common
Most of the 23 edited versions we read keep these.
12
Distinctive
This author's own choices. Worth a look.
6
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 9
Create compact skills under skills/<name>/ that load only the behavior needed at invocation time.
- Very specific: line 14
Read every description in catalog.json.
- Distinctive: line 16
Add helper files only when they remove repeated deterministic work.
- Distinctive: line 47
Use 1-3 sentences, third person, present tense.
- Very specific: line 50
Add Do NOT use ... for broad domains such as review, search, docs, macOS, git, or browser work.
- Distinctive: line 51
Avoid marketing words, time-sensitive claims, and duplicate "this skill should be used when" phrasing.
- Distinctive: line 53
Keep the trigger nouns users actually say (product, tool, action, object).
- Very specific: line 81
Put deterministic work in scripts/ or the existing executable.
- Very specific: line 83
Use Run <tool> --help for all flags.
- Distinctive: line 84
Prefer 30-60 lines. If setup is long, keep the readiness check inline and move walkthroughs one hop away.
- Distinctive: line 88
Keep the lens, decision order, and output contract.
- Distinctive: line 89
Avoid rigid full templates unless structure is the skill's core value.
- Distinctive: line 102
Do not prescribe another harness's tool names, subagent APIs, or compaction mechanism.
- Distinctive: line 104
Keep names/descriptions brief and task-specific.
- Distinctive: line 106
Use detailed sequences where order or safety matters.
- Very specific: line 108
When the user chooses explicit-only activation, use disable-model-invocation: true in frontmatter for Claude/Pi and …
- Distinctive: line 111
Keep automatically useful operational skills discoverable.
- Distinctive: line 125
Update the existing catalog row if the skill's purpose or invocation changes.
“Common” is measured: kept by at least 6 in 10 of the 23 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
write-skill
Create compact skills under skills/<name>/ that load only the behavior needed at invocation time.
Workflow
- Clarify only missing essentials: capability, triggers, non-triggers, tool/script needs, and portability.
- Read every
descriptionincatalog.json. If a skill already owns the capability, extend it instead. Otherwise pick a unique kebab-case name; where another skill's triggers could also fire, addDo NOT use ... (use <other>)to both descriptions. - Draft
SKILL.mdas an operator card: what to run, when to run it, what output means, what traps matter. End each step with a checkable completion criterion. - Add helper files only when they remove repeated deterministic work.
- Compress once; add one README row; do not commit unless asked.
Template
---
name: <kebab-case>
description: <Concrete capability.> Use when <real phrases, file types, tools, or contexts>. Do NOT use <negative triggers if broad>.
---
# <name>
<One-line operational contract.>
## Usage / Commands / Routing
```bash
scripts/tool_or_helper.py <arg>
```
## Notes
- <What output shape means, or how to consume it.>
- <Hard rule, setup failure, safety boundary, or common mistake.>Description
The description is the routing surface; optimize it first.
- Use 1-3 sentences, third person, present tense.
- Sentence 1 names the concrete capability.
- Sentence 2 starts with
Use when ...and lists actual trigger phrases, file types, tools, or contexts. - Add
Do NOT use ...for broad domains such as review, search, docs, macOS, git, or browser work. - Avoid marketing words, time-sensitive claims, and duplicate "this skill should be used when" phrasing.
- State triggers, never a workflow summary: agents follow a summarized flow in the description and skip the body.
- Keep the trigger nouns users actually say (product, tool, action, object); cut the rest. Codex gives the whole skill list 2% of the context window and truncates every description equally when it overflows.
Body
Keep:
- runnable commands or exact workflow steps;
- setup checks that commonly block first use;
- compact output contracts;
- routing boundaries and safety pitfalls;
- one strong example per command or concept (several invite pattern-matching instead of understanding).
Match the form to the failure the skill fixes:
| Observed failure | Write |
| Output has the wrong shape | A positive recipe or template; prohibitions backfire here |
| One element gets omitted | A structural slot marked REQUIRED |
| Behavior should depend on context | A predicate-keyed branch, not "usually X, except when Y" (agents treat the exemption as always true) |
Delete:
- overview prose that restates the description;
- installation/contributing/privacy/troubleshooting sections unless they change agent behavior;
- copied CLI help, schemas, flag catalogs, or generated docs;
- repeated prompt examples and canned analyses;
- detail already present in README, references, or helper scripts.
Tool Skills
- Put deterministic work in
scripts/or the existing executable. - Make
SKILL.mda menu of invocations plus output shape and gotchas. - Use
Run <tool> --help for all flags; keep only non-obvious flags. - Prefer 30-60 lines. If setup is long, keep the readiness check inline and move walkthroughs one hop away.
Workflow Skills
- Keep the lens, decision order, and output contract.
- Avoid rigid full templates unless structure is the skill's core value.
- Findings should lead for review skills; summaries and praise are optional.
- Split philosophy, examples, and source notes into
references/REFERENCE.md. Keep examples inline when the example is the instruction, as in an output-shape skill. - For a skill that orchestrates subagents, claims coverage, or emits a report artifact, read references/heavyweight-workflow-patterns.md for mode gating, verdict tiers, coverage ledgers, and fail-loud terminal states. Not needed otherwise.
Targeting
Shared skills target Codex, Claude Code, and Pi. Keep task knowledge, acceptance criteria, and executable helpers shared. Prefer existing CLIs for repeatable operations. Isolate harness-specific behavior only where required, and declare its dependency explicitly. Do not prescribe another harness's tool names, subagent APIs, or compaction mechanism.
Keep names/descriptions brief and task-specific. Model-specific corrections belong in local settings or a relevant reference, supported by an observed failure rather than a universal rule. Use detailed sequences where order or safety matters; otherwise describe the outcome and boundaries.
When the user chooses explicit-only activation, use disable-model-invocation: true in frontmatter
for Claude/Pi and policy.allow_implicit_invocation: false in agents/openai.yaml for Codex.
Preserve existing metadata and local overrides. Invocation controls do not grant action permissions.
Keep automatically useful operational skills discoverable; require approval at the actual restricted action.
Cross-skill pointers: a negative one (Do NOT use for charts (use dataviz)) degrades harmlessly
where the named skill is absent; a positive one (run X first) dangles, so those must name a
skill in skills/.
Final Check
- Name is unique kebab-case, no existing skill owns the capability, and overlapping skills point at each other.
- Description has concrete
Use when ...triggers and neededDo NOT use ...boundaries. SKILL.mdis under ~120 lines, preferably 30-60 for tool wrappers.- Helpers are invoked, not duplicated in prose.
- Positive cross-skill pointers name a skill that exists in
skills/;scripts/check_skill_frontmatter.pyalso rejects description(use X)pointers to a skill not inskills/. - Agent- or OS-only requirements are declared in
compatibility:, not worked around. - Update the existing catalog row if the skill's purpose or invocation changes.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

