Skip to content
Development
Skill

/writing-skills

Use when creating new skills, editing existing skills, or verifying skills work before deployment

From plugin
aegis
1.4k23 skills3 commands1 hook

Claude Code

$ npx -y skills add GanyuanRan/Aegis --skill writing-skills --agent claude-code

SKILL.md

writing-skills.SKILL.md
name: writing-skills
description: "Use when creating new skills, editing existing skills, or verifying skills work before deployment"

Writing Skills

Purpose

Create the smallest reusable skill that changes decisions or improves task execution without constraining unrelated work. Skill changes use behavior validation, not a code TDD route. This validation does not require loading `aegis:test-driven-development`.

Default Path

1. Establish Need And Ownership

  • Name the reusable behavior gap, intended users/hosts, and non-goals.
  • Check whether an existing skill, project rule, host adapter, or automated

check already owns it. Prefer the smallest existing owner.

  • For an existing skill, inspect its references, manifests or generated copies,

discovery tests, and bundled resources before changing or retiring them.

  • Create a skill only for reusable, non-obvious guidance. Keep one-off project

conventions in the project owner and automate mechanical constraints when practical.

2. Record Behavior Before Editing

Use representative tasks, not questions that merely ask the agent to recite instructions.

  • New skill: run a no-skill control.
  • For an existing skill, run the current version first; add a no-skill ablation

only when testing whether the skill itself needs to exist.

  • Cover positive triggers, negative near-misses, and a pressure or application

case appropriate to the skill type.

  • Record decisions, missed or extra invocations, unsafe workarounds, evidence

references, and unknowns. Do not treat line or byte counts as behavior proof.

If meaningful behavior cannot be evaluated, stop at `needs-verification`; do not claim that the skill is deployment-ready or capability-preserving.

3. Design The Minimum Instruction Surface

  • Assume the agent is capable. Include only non-obvious context, decision

criteria, safety boundaries, and steps whose omission caused an observed gap.

  • Match specificity to risk: allow judgment for open work; use exact sequences

only for fragile, permission-sensitive, or safety-critical operations.

  • Keep the description concise, third-person, and discriminating. State the

capability and when it applies; add an exclusion only when it prevents likely misrouting. Do not turn the description into a procedural shortcut.

  • Keep the executable default path and non-omittable constraints in `SKILL.md`.

Move substantial conditional detail to a direct reference and state the evidence trigger for reading it.

  • Keep references one level deep where practical. Do not load every reference

by default or duplicate its content in the main body.

  • Add an example only when it materially stabilizes a decision or output. One

representative example is normally enough.

  • Keep portable method instructions host-neutral. Put host tool names, install

paths, and UI choreography in their host-owned documentation.

The canonical repository shape is `skills/<skill-name>/SKILL.md` with only the supporting references, scripts, or assets the workflow actually uses. Use the repository's host docs or the target host's live specification for optional metadata instead of copying a vendor manual into the skill.

4. Make The Smallest Change

Address observed gaps and remove superseded duplication in the same slice. Preserve public attribution and any externally supported contract. When retiring an internal owner, fallback, or resource, compose `aegis:anti-entropy-governance`; do not leave a compatibility copy without dependency evidence.

Do not convert one model's phrasing, one historical incident, or a hypothetical edge case into a universal rule.

5. Validate The Candidate

Re-run the same positive, negative, and pressure/application scenarios under a comparable model, tool, and host configuration. Compare outcomes, not wording.

Also verify:

  • frontmatter, name, and description parse on supported hosts;
  • intended requests still discover the skill and near-misses do not;
  • every conditional reference is reachable from an explicit trigger;
  • changed scripts run successfully;
  • retired files and instructions have no live references;
  • repository workflow, boundary, packaging, and host checks relevant to the

touched surface pass.

If behavior regresses, restore the missing obligation or narrow the change; do not add a second owner or fallback to mask it.

Scenario Selection

| Skill type | Representative evidence | | --- | --- | | Discipline or safety | realistic pressure and authorization boundaries | | Technique | application, variation, and missing-information cases | | Pattern | recognition, application, and counter-example cases | | Reference | retrieval, correct use, and common-gap cases |

For a complex or high-risk skill where an independent evaluator adds confidence, read `testing-skills-with-subagents.md`.

Completion Record

Keep the result compact and auditable in natural prose or equivalent fields:

  • behavior gap and canonical owner;
  • baseline and candidate scenario results;
  • retained and retired obligations/resources;
  • trigger and reference checks;
  • verification commands and uncovered hosts/models;
  • status: `verified`, `needs-verification`, or `blocked`.

This is method-pack evidence, not authoritative completion or deployment approval.

Read more
@ganyuanran
Ships withaegis

Aegis Method Pack Make your AI coding agent trustworthy: fewer reworks, safer changes, proof before "done". English · 中文 · Fast-Track Playbook · 速通秘籍 Stop babysitting your agent.

Stars on GitHub

Momentum

stars in total
1.4k
Star history of GanyuanRan/Aegis on GitHub, a chart by star-history.com

Other skills on aegis.

anti-entropy-governance

anti-entropy-governanc…

Use when touching retiring old logic, collapsing duplicate owners, removing fallbacks, or schema/persistence/source-of-truth…

@ganyuanran@ganyuanranInstall Skill
brainstorming

brainstorming

Use when defining ambiguous or high-complexity new features, product behavior, UI/component design, architecture choices,…

@ganyuanran@ganyuanranInstall Skill
communicating-concisely

communicating-concisel…

Use when the user asks for caveman mode, fewer tokens, brief responses, compressed communication, or otherwise explicitly…

@ganyuanran@ganyuanranInstall Skill
executing-plans

executing-plans

Use when executing a written implementation plan across sessions or with review checkpoints. Small or single-slice plans stay…

@ganyuanran@ganyuanranInstall Skill

More skills from other plugins.

brainstorming
Auto-invoked

brainstorming

You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…

@obra@obraInstall Skill
ask-matt

ask-matt

Ask which skill or flow fits your situation. A router over the skills in this repo.

skills2w309k
@mattpocock@mattpocockInstall Skill
accessibility
Auto-invoked

accessibility

Design, implement, and audit accessible UI to WCAG 2.2 Level AA across Web, iOS, and Android — semantic ARIA roles and labels,…

ecc2w293k
@affaan-m@affaan-mInstall Skill
compiler-commit

compiler-commit

Use when you want to verify compiler changes and commit with the correct convention. Runs tests, lint, and format, then commits…

react5d252k
@facebook@facebookInstall Skill

Questions about writing-skills.

Which coding agents can use writing-skills?
writing-skills installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.