agentsclimarketplace

Skill authoring standard

Skill patrickserrano/lacquer/core/skills/skill-authoring-standard

Go CLI + profile templates that standardize how Claude Code works across every project

Install
npx -y skills add patrickserrano/lacquer --skill skill-authoring-standard

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

The bar a SKILL.md must clear before it ships in this lacquer — tight trigger-oriented frontmatter, single responsibility, no padding, companion files only when genuinely needed. Use when writing a new skill, reviewing an existing one, or auditing the skill set for quality.

SKILL.md

4.9 KB, as published. Nobody here has run it

Skill Authoring Standard

A skill earns its place by being the thing someone reaches for at the right moment, not by existing. Every line either helps a reader recognize when to use it or tells them exactly what to do — nothing else survives review.

Frontmatter

  • name matches the directory name exactly (core/skills/<name>/SKILL.md, name: <name>). A mismatch (seen and fixed in this lacquer before) breaks discovery silently — the skill loads, but nothing points a reader at it by the name they'd search for.
  • description is a trigger, not a summary. State when to reach for this skill — the scenarios, phrasings, or task shapes that should surface it — not just what it is. "Reviews code for style" tells a reader nothing actionable; "use before merging, when the user says 'is this safe', or when a change touches auth/secrets/exec" tells them exactly when to load it. Keep it to the trigger conditions — the body is where the how-to lives.
  • disable-model-invocation: true for a skill with real side effects (it ships a release, pushes somewhere, deletes something) that should only ever run because a human explicitly typed /<name>, never because Claude's own judgment matched the description to a task. Without it, the description above is the only thing standing between an ambiguous prompt and an unintended side effect.

Single responsibility

One skill, one job. If the body has an "and also" section that's really a different concern (a distinct trigger, a distinct audience, a distinct output), it's two skills wearing one name. Split it — a reader searching for one of the two jobs shouldn't have to read past the other to find it.

Body: instruction over exposition

Lead with the rubric or process, not throat-clearing about why the topic matters. Cut anything a competent reader already knows (don't explain what a git branch is; do explain the specific branching convention this lacquer uses). If a sentence would be true of any skill on any topic, it's filler — remove it.

Prefer concrete and checkable over abstract and aspirational: name specific tools, specific commands, specific failure modes — not "follow best practices" or "ensure high quality," which tell a reader nothing they can act on or verify against.

Companion files: only when they earn their keep

A skill is a single SKILL.md by default. Add a references/ subdirectory only when the reference material is long enough that inlining it would bury the skill's core instructions (a large API surface, a big enumerated checklist — see this profile's deeper stack-specific skills for the shape). Add a runnable script only when the skill's value is the script — something a reader executes, not just reads. If you're tempted to add a companion file "for completeness," that's a sign the content belongs trimmed, not appended.

Cross-referencing

Reference another skill by name in prose ("the same posture as the security-review skill's verify-before-report principle") rather than inventing a link syntax skills don't otherwise use — the reader who already knows the referenced skill gets the connection; the reader who doesn't isn't blocked by a dead link.

Placement

Stack-agnostic guidance (applies regardless of iOS/web/supabase) belongs in core/skills/. Anything that names a stack-specific tool, API, or convention belongs in that profile's skills/ — mixing the two either leaks iOS-specific advice into a web project's synced skill set, or forces a generalization vague enough to lose the concrete-and-checkable bar above.

Not every stack-specific rule belongs in a skill, though — a skill loads on Claude's judgment (or /<name>), which is wrong for guidance that should load automatically whenever a matching file is opened. For that shape, a project's synced CLAUDE.*.md should point authors at .claude/rules/ (path-scoped files that load only when Claude touches matching paths) instead of growing the profile body further. A profile CLAUDE.*.md pushing toward or past ~200 lines is the signal to split: move the parts that only matter for a specific directory or file type into a rule, and reserve the profile body for what every task in that stack needs regardless of which files it touches.

Before shipping a skill

Read it back and ask: would a reader who's never seen this know from the description alone whether to load it? Does every section either sharpen that trigger or give an instruction they can act on? Is there a companion file that exists because it seemed thorough rather than because it's used? If any answer is no, cut, don't append.

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.