From plugin-and-skill-dev
Enforces formatting rules for SKILL.md, agent markdown, and command files: use descriptive headers instead of numbered steps, and replace personal data with generic placeholders. Activate when editing instruction files or discussing formatting best practices.
How this skill is triggered — by the user, by Claude, or both
Slash command
/plugin-and-skill-dev:writing-instructionsThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Never use numbered steps (e.g., `## Step 1:`, `## Step 2:`) in skill, agent, or command instructions.
Never use numbered steps (e.g., ## Step 1:, ## Step 2:) in skill, agent, or command instructions.
Why: LLMs reorder steps during routine edits, creating unnecessary git churn. Numbered headers force renumbering on every insertion or deletion, generating large diffs with no meaningful change.
Instead: Use headers that name the action or outcome.
Bad:
### Step 1: Run the build
### Step 2: Extract errors
### Step 3: Check for auto-formatted changes
Good:
### Run the build
### Extract errors
### Check for auto-formatted changes
When order matters, the document's top-to-bottom flow communicates sequence. When order does not matter, descriptive headers make each section independently understandable.
Examples in skill, agent, and command files must never contain real personal data: real names of people, real places or businesses lifted from private content (journals, calendars, messages, emails), phone numbers, addresses, or verbatim snippets of that content.
Why: These files are version-controlled and pushed to remotes. Once a real name lands in a pushed commit, removing it requires a history rewrite or repo recreation — editing the file later leaves the leak in every historical commit.
Instead: Recreate the example with placeholders that preserve only the shape of the data:
@Alice, @Bob, @CarolNew York, Central Park) or invented onesThe trap to watch for: When a rule is derived from a real incident — user feedback on a specific journal entry, a bug triggered by a specific meeting title — the natural move is to paste the triggering text verbatim as the example. Stop and rewrite it with placeholders before saving. An example drawn from real data teaches nothing that a placeholder version doesn't.
Bad:
- Ordinary mid-sentence verbs (e.g., `@<real friend's name> and I drove` keeps `drove` lowercase)
Good:
- Ordinary mid-sentence verbs (e.g., `@Alice and I drove` keeps `drove` lowercase)
Before committing, scan the diff for names and content you did not invent.
npx claudepluginhub motlin/claude-code-plugins --plugin plugin-and-skill-devGuides creating, reviewing, and refining Agent Skills for this repository. Includes workflow, verification steps, and common failure patterns.
Maintains CLAUDE.md and AGENTS.md instruction files by enforcing size limits (<300 lines), progressive disclosure via docs/ references, multi-agent compatibility, and tool-first content. Use for creation, updates, audits.
Optimizes CLAUDE.md files and Skills for Claude Code CLI by applying Anthropic's prompt best practices like positive framing, specificity, context provision, and markdown structure. Use for reviewing or improving system prompts.