Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/dzhng-write-skills
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: writing, agent-building, prompt-engineering
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/write-skills
What's inside
- Skill name
write-skills- Description
- Create or revise agent skills. Use when adding a new skill file, renaming a skill, simplifying an existing skill, improving trigger descriptions, or deciding what belongs in a skill versus references, scripts, assets, or ordinary docs.
- License
- MIT
- Instructions
- 221 lines in SKILL.md · view on GitHub
Files (1)
- SKILL.md
SKILL.md (first lines)
# Write Skills
A skill is not documentation. It is compressed operational memory for an
agent that already knows how to code and reason. Its job is
**predictability** — the agent taking the same *process* every run, not
producing the same output. Put only the context that changes what the agent
will do.
## First Principles
1. **Trigger from the description.** The frontmatter `description` is the
only part read before the skill loads. Say what the skill does and the
concrete situations that should trigger it. Do not hide trigger rules in
the body.
2. **Spend tokens like they are scarce.** Assume the agent is already good at
general reasoning. State the direction and let smart models figure out
implementation details. A wrapper skill can be two sentences: name the
capability to use and the skill to follow. Add mechanics only when a
demonstrated failure requires them.
3. **Write procedures, not essays.** Prefer imperative rules, decision
points, and small examples. A good skill changes behavior in the next
turn; it does not merely explain the topic. And match the procedure to
the deliverable's shape: a catalog of techniques with "pick what fits"
produces tool-picking, not a flow — if the job is a shaped interaction
(an interview, a staged walk), the workflow must *be* that shape, with
the techniques demoted to steps inside it.
4. **Use progressive disclosure.** Keep the main skill file short. Push long
schemas, examples, provider docs, or variant-specific guidance out into
linked `references/` files, reached by a pointer that fires only when
needed. Put repeatable fragile operations in `scripts/`. Put reusable
output material in `assets/`.
5. **Validate by use.** A skill is good when a fresh agent applies it
correctly on a realistic task — run it blind, and on the weakest model
that will run it; a skill that only drives correct behavior on the
frontier model that authored it is too fragile to ship. After editing,
read it as if you had no conversation history and remove anything that
would not affect action.
6. **Examples document the PROBLEM, not the solution.** An example earns its
tokens by teaching the agent to *recognise a recurring problem* — the smell,
the symptom, how you knew it was wrong. That is durable. The fix you happened
to apply is not: code changes, and a baked-in solution goes stale, or worse
prescribes a move that won't fit next time. Write the failure mode and its
tell; let the agent derive the fix fresh against the current code. "A
directional question gated on a centroid distance read wrong from every
bearing" teaches; "so we keyed it on FRONT_ARC" rots. When in doubt, state
what was broken and how you spotted it, and stop there.
## Leading Words
A **leading word** is a compact concept already in the model's pretraining
that the agent thinks with while running the skill (e.g. *fog of war*,
*tracer bullets*, *red*, *tight*). One word recruits priors the model
already holds and anchors a whole region of behavior in the fewest tokens.
- It anchors **execution** in the body (same word → same behavior every
time) and **invocation** in the description (when that word also lives in
the user's prompts, docs, and code, the skill fires more reliably).
- Hunt for restatements that a leading word retires. "fast, deterministic,
low-overhead" → a *tight* loop. "a loop you believe in" → the loop goes
*red*. You win twice: fewer tokens and a sharper hook.
- A weak leading word is a no-op (`be thorough` when the agent already is).
The fix is a stronger word (*relentless*), not more sentences.
## Invocation
Choose how the skill is reached; each choice spends a different cost.
- **Model-invoked** (default): keep a `description` so the agent can fire it
on its own and other skills can reach it. Costs **context load** — the
description sits in the window every turn. Write rich trigger phrasing.
- **User-invoked**: set `disable-model-invocation: true`. Only the user
typing its name can invoke it; zero context load, but the user must
remember it exists. The `description` becomes a human-facing one-liner.
Pick model-invocation only when the agent or another skill must reach it
unprompted. When user-invoked skills pile up past memory, add a **router
skill** that names the others and when to reach for each.
## Description
The description does two jobs: state what the skill is, and list the
distinct situations (**branches**) that trigger it.
- Front-load the leading word — invocation work happens here.
- One trigger per branch. Synonyms that rename one branch are duplication;
collapse them and keep only genuinely distinct branches.
- Cut identity already in the body. Keep triggers plus any "when another
skill needs…" reach clause.
## Information Hierarchy
A skill is **steps** and **reference**, mixed freely. Rank each piece by how
immediately the agent needs it:
1. **In-skill step** — an ordered action in `SKILL.md`. Each ends on a
**completion criterion**: make it *checkable* (can the agent tell done
from not-done?) and, where it matters, *exhaustive* ("every modified
model accounted for", not "produce a change list"). A vague criterion
invites premature completion.
2. **In-skill reference** — a definition or rule consulted on demand. A flat
peer-set of rules is fine, not a smell.
3. **External reference** — pushed out of `SKILL.md` into a linked file,
loaded only when its pointer fires.
Keep a concept's definition, rules, and caveats under one heading
(**co-location**) so reading one part brings its neighbors. Push too little
down and the top bloats; push too much down and you hide what the agent needs.
## When to Split
Each cut spends a cost, so split only when it earns it:
- **By invocation** — split off a model-invoked skill when a distinct
leading word should trigger it alone, or another skill must reach it. YouFrom dzhng/skills, MIT.
More from dzhng/skills
- 0.831score
explore-unknowns
dzhng
Guide the user through a quadrant walk that maps the unknowns of a task — open by listing the known knowns, then work through known unknowns, unknown knowns…
SkillAFreshness: A★ 1.4KClaude Code +9 - 0.831score
cinematic-shot
dzhng
Shoot software UI like a film.
SkillAFreshness: A★ 1.4KClaude Code +9 - 0.831score
isometric-motion
dzhng
Build animations and interactive elements (explainers, figures, hero visuals, step-through walkthroughs) in the crafted isometric "Anatomy" style, with many…
SkillAFreshness: A★ 1.4KClaude Code +9 - 0.831score
xiaohei-illustrations
dzhng
Generate Ian-style Xiaohei illustrations for articles, posts, blogs, Notion documents, workflows, methods, processes, structures, states, metaphors, and…
SkillAFreshness: A★ 1.4KClaude Code +9 - 0.827score
screenshot-critique
dzhng
Use the unprimed sub agent as a second set of eyes before accepting visual work — MANDATORY before declaring any user-reported visual bug fixed or claiming a…
SkillAFreshness: A★ 1.4KClaude Code +9 - 0.827score
compare-screenshots
dzhng
Compare screenshots against the intended design, distinguishing approved references from historical baselines.
SkillAFreshness: A★ 1.4KClaude Code +9 - 0.825score
claude
dzhng
Use Claude Code as an independent `claude -p` subagent when the user explicitly asks for Claude, wants a second-agent opinion from Claude, or asks to delegate…
SkillAFreshness: A★ 1.4KClaude Code +9 - 0.825score
audit-tests
dzhng
Audit whether tests earn their maintenance cost and which suite owns each contract.
SkillAFreshness: A★ 1.4KClaude Code +9 - 0.825score
write-spec
dzhng
Break large features into independently verifiable, human-reviewable slices under a feature directory in specs/.
SkillAFreshness: A★ 1.4KClaude Code +9 - 0.825score
codex
dzhng
Use the local Codex CLI as an independent second agent.
SkillAFreshness: A★ 1.4KClaude Code +9 - 0.825score
refactor-clean
dzhng
Refactor cleanly instead of layering sediment.
SkillAFreshness: A★ 1.4KClaude Code +9 - 0.825score
code-review
dzhng
Review changed code for naming, stale references, unnecessary complexity, and comment quality.
SkillAFreshness: A★ 1.4KClaude Code +9
Signals
- Stars
- 1,379
- Forks
- 84
- Open issues
- 0
- Last commit (this folder)
- Oct 4, 2026 (24 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/dzhng/skills
- Website
- www.classified.llc/resources
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
Same skill elsewhere
Copies of this SKILL.md published by others; search shows only one of them.
More from dzhng
- 0.831score
cinematic-shot
dzhng
Shoot software UI like a film.
SkillAFreshness: A★ 1.4KClaude Code +9 - 0.831score
explore-unknowns
dzhng
Guide the user through a quadrant walk that maps the unknowns of a task — open by listing the known knowns, then work through known unknowns, unknown knowns…
SkillAFreshness: A★ 1.4KClaude Code +9 - 0.831score
xiaohei-illustrations
dzhng
Generate Ian-style Xiaohei illustrations for articles, posts, blogs, Notion documents, workflows, methods, processes, structures, states, metaphors, and…
SkillAFreshness: A★ 1.4KClaude Code +9 - 0.831score
isometric-motion
dzhng
Build animations and interactive elements (explainers, figures, hero visuals, step-through walkthroughs) in the crafted isometric "Anatomy" style, with many…
SkillAFreshness: A★ 1.4KClaude Code +9 - 0.827score
screenshot-critique
dzhng
Use the unprimed sub agent as a second set of eyes before accepting visual work — MANDATORY before declaring any user-reported visual bug fixed or claiming a…
SkillAFreshness: A★ 1.4KClaude Code +9 - 0.827score
compare-screenshots
dzhng
Compare screenshots against the intended design, distinguishing approved references from historical baselines.
SkillAFreshness: A★ 1.4KClaude Code +9
Cite this page
write-skills. Agent Mart. https://agentmart.dev/skills/dzhng-write-skills (last updated 2026-10-24)