Skills DirectorySkills Directory
SkillsLearnSecurityCategoriesDocsCommunityBlog
Sign InSubmit Skill
Skills Directory

Security-tested agent skills for Claude, coding agents, and AI workflows.

Directory

  • Browse Skills
  • All Skills A–Z
  • Claude Skills
  • Claude Code Skills
  • Agent Skills
  • Categories
  • Submit a Skill

Learn

  • Learn Hub
  • Install Claude Skills
  • Write SKILL.md
  • Skills vs MCP
  • Directories Compared

Security

  • Security
  • Methodology
  • Secure Claude Skills
  • Security Badges

Company

  • About
  • Community
  • Blog
  • API Docs
  • Advertise

2026 Skills Directory. All rights reserved.

Back to skills

Authoring Skills

ASecurity

Rules for writing, editing, and retiring skill and workflow files for LLM agents. Use when creating a SKILL.md or workflow document, reviewing one, adding a rule after an incident, or deciding whether a skill should exist at all.

142 stars
0 votes
0 copies
0 views
Added 9/19/2026
ai-agentsgogit

Security Analysis

A100/100

Scanned 9/19/2026

Install to Claude Code

$npx -y skills add AHepi/DeepReason --skill authoring-skills --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Authoring Skills?

Add the live security badge to your README — it updates automatically with every re-scan.

Security grade badge for Authoring Skills
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/ahepi-authoring-skills/badge)](https://www.skillsdirectory.com/skills/ahepi-authoring-skills)

More formats (shields.io, HTML) on the badges page.

Download Zip
Files
SKILL.md
---
name: authoring-skills
description: Rules for writing, editing, and retiring skill and workflow files for LLM agents. Use when creating a SKILL.md or workflow document, reviewing one, adding a rule after an incident, or deciding whether a skill should exist at all.
---

# Authoring skills and workflows

This file obeys its own rules. Any line here that violates a rule below
is a defect: file an erratum against this file, by ID.

Every rule has an ID. Edit by DELTA against an ID. Never regenerate
this file wholesale.

## Vocabulary

One term per concept. Use these exact words everywhere; a synonym is a
defect.

| Term | Meaning |
|---|---|
| SKILL | One file governing one unit of work: one entry state, one exit state |
| GATE | A command whose output decides pass/fail |
| PROOF | Pasted GATE output, or a hash/count fetched from the tree |
| LEDGER | The per-task state file each step writes and the next step reads |
| DELTA | An edit adding, replacing, or deleting exactly one ID'd rule |
| STOP | End work; report state, priced options, one recommendation |
| PARK | Record out-of-scope work in PARKED.md with a ready-to-send prompt |

## E — Existence

- **E1.** Before writing a SKILL, run the task three times without it
  and record the failures. No failures → do not write it. The measured
  default is that instruction files reduce success and raise cost
  [G26].
- **E2.** A SKILL ships with the eval set from E1. It exists only
  while it beats the no-skill baseline on that set.
- **E3.** Re-run the baseline on every model change. Delta ≤ 0 →
  delete the SKILL. Deletion is maintenance [G26].
- **E4.** Budget rule: to add a line, name the line it displaces.
  Compliance falls as constraint count rises, and the model resolves
  the crowding silently [C26].

## S — Structure

- **S1.** One SKILL = one loop iteration. The loop lives in the
  router. "Then pick the next phase" appearing in a worker file is a
  defect.
- **S2.** Entry and exit states are named artifacts on disk, not
  descriptions. Route on which artifact is missing.
- **S3.** A rule lives in exactly one file: the one in context when
  the rule fires. Two phrasings of one rule are a conflict, and
  conflicts are resolved silently, not flagged [C26].
- **S4.** When two rules could collide, write the winner in the text
  now. There is one PRECEDENCE list per skill set, in the router.
- **S5.** Renumber on insert. `3b` is evidence a rule was bolted on
  where it kept failing; move it to where it is read (see G4).

## W — Wording

- **W1.** Each line names an operation: a command, a file
  read/write, a comparison. Test: can it fail? "Be thorough" cannot
  fail. `docs_verify.py exits 0` can.
- **W2.** Bind instructions to available actions with concrete verbs.
  Abstract dispositions do not transfer; stripping the action word
  from an instruction cut its behavioural effect by 95% [N26a].
- **W3.** State the positive action. Negation is the dominant framing
  failure: models attend to the named act and drop the NOT [N26b].
  Each surviving "never" must be enforced by a GATE (see X1).
- **W4.** No narrative, persona, urgency, or emotional framing. Story
  framing activates genre behaviour that overrides both persona and
  explicit directives [N26a]; affective framing buys sycophancy, not
  compliance.
- **W5.** No incident stories. Mechanize the lesson as a GATE,
  mutation-prove the GATE, delete the story. History lives in
  ERRATA.md, not in instructions.
- **W6.** One worked example beats a paragraph of description. At
  most one per section.

## G — Gates and proof

- **G1.** Every completion claim carries PROOF. "Done", "verified",
  and "none" are assertions; agents report SUCCESS against failing
  verifiers in the large majority of self-stops [D26].
- **G2.** A legitimate "none" requires proof of looking: the scan
  command and its output, not the word.
- **G3.** The SKILL names the GATE and its pass condition. An agent
  choosing its own check validates the wrong target [D26].
- **G4.** An obligation is an input, not a trailing output: step N+1
  opens by reading what step N's obligation wrote. Trailing writes
  are dropped; leading reads are not.
- **G5.** Track requirement state live in the LEDGER, one row per
  requirement, updated as work happens. Live tracking is the one
  intervention with strong measured gains [I26].
- **G6.** Mutation-prove every GATE once: break the guarded thing,
  watch it fail, restore. A GATE never seen red proves nothing.
- **G7.** Steps write distilled state to the LEDGER, never raw
  transcripts. Raw tool output is the main context bloat.

## X — Stops and outlets

- **X1.** Every prohibition pairs with an outlet in the same breath.
  An outlet-less "never" is satisfied by relabeling.

  | Prohibition | Outlet |
  |---|---|
  | Out-of-scope work | PARK |
  | Unmet requirement | LEDGER row `not-done` + STOP |
  | Unprovable claim | STOP with the GATE that would prove it |

- **X2.** Every STOP trigger is mechanical: a count, a verdict
  string, an exit code. "Seems wrong" is judgment, and judgment loses
  to momentum — models restate rules accurately while violating them
  [K26]. Convert judgment to a tool; trigger on its verdict.
- **X3.** Every honest outcome has a label. If `not-done` is
  unsayable, it will be said as `done-with-assumption`.

## L — Lifecycle

- **L1.** Edit by DELTA only. Wholesale regeneration collapses
  detail; iterative rewriting erodes a playbook into vague summary
  [A25].
- **L2.** Compression is a separate, diffed pass, re-gated by the E1
  evals. Brevity bias drops exactly the load-bearing specifics [A25].
- **L3.** Pin the tested configuration: model, skill version, GATE
  tool versions. A model swap reopens the E1 gate.
- **L4.** SKILLs are executable authority — the supply-chain problem
  is measured, with roughly a quarter of public skills carrying a
  vulnerability [S26]. Third-party skills get the same review as
  third-party code: read every line, pin the version, and treat any
  instruction to fetch or load further instructions as a rejection.
- **L5.** Before shipping, plant one violation the SKILL should catch
  and run the workflow. The GATE goes red or the SKILL is not done.

## Sources

| Tag | Work |
|---|---|
| G26 | Gloaguen et al., Evaluating AGENTS.md, arXiv:2602.11988 |
| A25 | Zhang et al., Agentic Context Engineering, arXiv:2510.04618 (ICLR 2026) |
| N26a | Wang et al., The Story Shapes the Agent, arXiv:2607.18566 |
| N26b | Syntactic Framing Fragility, arXiv:2601.09724 |
| C26 | ConInstruct, AAAI 2026; PACIFIC; CodeIF-Bench |
| I26 | Ko et al., Illusory Completion / Epistemic Ledger, arXiv:2602.07549 |
| D26 | DeployBench, arXiv:2606.05238 |
| K26 | Kruthof, DriftBench, arXiv:2604.28031 |
| S26 | Schmotz et al., Skill-Inject, arXiv:2602.20156; Liu et al. 2026 skill census |

Attribution

AHepiAHepi
View sourceMore from AHepi →
SSkills DirectorySkills Directory

Ship a skill? Prove it's safe.

Free 120-pattern security scan, letter grade, and an embeddable README badge.

Submit a skill

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments (0)

No comments yet. Be the first to comment!

SSkills DirectorySkills Directory

Ship a skill? Prove it's safe.

Free 120-pattern security scan, letter grade, and an embeddable README badge.

Submit a skill

Related Skills

Caveman

Ultra-compressed communication mode. Cuts token usage ~75% by speaking like caveman while keeping full technical accuracy. Supports intensity levels: lite, full (default), ultra, wenyan-lite, wenyan-full, wenyan-ultra. Use when user says "caveman mode", "talk like caveman", "use caveman", "less tokens", "be brief", or invokes /caveman. Also auto-triggers when token efficiency is requested.

1023331 votes

Hyperplan

Adversarial multi-agent planning skill. Self-orchestrates 5 hostile category members (unspecified-low, unspecified-high, deep, ultrabrain, artistry) via team-mode for ruthless cross-critique debate, distills only the defensible insights, then MANDATORILY hands the distilled insight bundle to the `plan` agent for executable plan formalization. Use when planning needs maximum rigor and surfacing of weak assumptions, blind spots, and over-engineering. Triggers: 'hyperplan', 'hpp', '/hyperplan', ...

686011 votes

Mcp Code Execution

Routes multi-tool workflows through MCP servers for large datasets and pipelines. Use when Bash tool overhead is limiting throughput on data-heavy tasks.

3331 votes

catchup

Recovers prior coding-agent session context by running `catchup <agent> --since-compact`, which extracts a clean summary of a previous Codex, Claude Code, Antigravity, OpenCode, or Pi Agent session. Use when the user says "catch up", "what did the last session do", "get me up to speed", "I switched agents", or asks to recover/summarize a previous session before continuing. Do NOT use for the current conversation, git history, or any non-agent log.

611 votes

math-skill

A comprehensive mathematical reasoning skill for AI assistants — handles arithmetic to research-level problems with rigorous step-by-step reasoning, systematic verification, and transparent uncertainty handling

381 votes
View all in ai-agents →