claude-skills/engineering/write-a-skill
Claude 08740d4ec2
fix(stream): post-merge required changes for PRs #895/#926/#942/#943/#944/#965 + counter true-up + #964 guard + #954 doc drift
Applies every pre-merge required change from audit/pr-stream-2026-08/ that
could not land on contributor forks, plus the stream's cross-cutting fixes:

- stock-analysis (#944): description trimmed 1463 -> 1001 chars; Anti-Patterns
  + Cross-References sections added; security-auditor false positive at
  holdco-assetmgr.md:58 suppressed inline (auditor:ignore-line) -> strict PASS
- deepread (#965): renamed research/dsh-deepread -> research/deepread; H1 and
  name updated; research-summarizer cross-ref path-qualified; 12 cited sources
  added across both references; plugin.json + marketplace entry; routed in the
  research orchestrator (SKILL.md registry + SIGNALS + classifier.py in
  lockstep, verified: 'deeply read this pdf' -> deepread, 3 signals)
- business-name-fit (#926): 'Use whenever' -> 'Use when' (validator trigger
  regex); +2 cited sources (USPTO TMEP §1209, Usunier & Shaner 2002) -> 5
- embedded-iot-mentor (#942): references/hardware-selection.md (7 sources,
  datasheet-anchored) + worked mini-example; validator length gate now passes
- swedish-mentor (#943): references/swedish-resources.md (6 sources, stable
  official URLs only); session recipes, milestones, learner situations,
  worked example; mandated opener softened to guidance; plugin.json +
  marketplace entry; validator length gate now passes
- Related Projects (#895): LinkedIn Skills row trued up (10 -> 11 skills,
  hardcoded star count dropped)
- check_plugin_json.py: marketplace description <= 1024 guard added to --all
  (the #964 regression guard; commercial-skills sits at 1021/1024)
- #954 doc drift: quality_gates_for_skills.md, cs-skill-author.md,
  security-guidance SKILL.md now point attribution at authoring-notes.json
- Counter true-up after the 6-skill merge batch: 370 skills / 672 tools /
  809 refs / 92 plugins across README.md badge+table, CLAUDE.md, marketplace
  metadata (derive_counters.py --check passes)

All gates green locally: frontmatter 0 errors, model freshness 0 findings,
dual-publish 0 drifted, paths 0, smoke 0 failed, plugin-json 0 FAIL.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017Bzm6Pafyxja6g4jUDPcei
2026-08-21 09:01:24 +00:00
..
.claude-plugin fix: resolve the actionable reported issues (#954, #949, #933, #931, #969, #968, #924, #885) 2026-08-21 05:47:37 +00:00
agents fix(stream): post-merge required changes for PRs #895/#926/#942/#943/#944/#965 + counter true-up + #964 guard + #954 doc drift 2026-08-21 09:01:24 +00:00
commands feat(write-a-skill): derive from Matt Pocock (MIT) + add validation wrapper 2026-05-13 21:26:44 +00:00
skills/write-a-skill fix(stream): post-merge required changes for PRs #895/#926/#942/#943/#944/#965 + counter true-up + #964 guard + #954 doc drift 2026-08-21 09:01:24 +00:00
README.md feat(write-a-skill): derive from Matt Pocock (MIT) + add validation wrapper 2026-05-13 21:26:44 +00:00

write-a-skill

Skill-author skill: create new agent skills with proper structure, progressive disclosure, and bundled resources.

Attribution

Derived from Matt Pocock's write-a-skill (MIT-licensed). Matt's skills repo"Skills for Real Engineers. Straight from my .claude directory" — is the original source. Matt's SKILL.md voice + 3-phase workflow (Gather → Draft → Review) preserved verbatim per his MIT license.

What this adds on top of Matt's original

Addition Where Why
3 stdlib Python validation tools skills/write-a-skill/scripts/ Operationalize Matt's review checklist (description validator, structure validator, review-checklist runner). Catches the common mistakes Matt names.
3 in-depth references (5+ sources each) skills/write-a-skill/references/ Progressive disclosure principles · Description design patterns · Quality gates for skills. Cites Anthropic skill docs + community precedent + research.
cs-skill-author persona agent agents/cs-skill-author.md Surface skill-authoring as a forcing-question interrogation matching our cs-* persona pattern.
/cs:write-a-skill slash command commands/cs-write-a-skill.md 6-question forcing interrogation that runs Matt's review checklist programmatically.

What Matt's original brings (preserved)

  • The 3-phase workflow: Gather → Draft → Review
  • The non-negotiable description rule: "The description is the only thing your agent sees when deciding which skill to load."
  • The 100-line SKILL.md ceiling + progressive-disclosure pattern (REFERENCE.md / EXAMPLES.md / scripts)
  • The good-example vs bad-example contrast for description writing
  • The 6-item review checklist
  • Matt's directness — no fluff, concrete patterns

Quick start

# Run Matt's review checklist on an existing skill
python skills/write-a-skill/scripts/skill_review_checklist_runner.py path/to/SKILL.md

# Validate description meets Matt's criteria (≤1024 chars, third person, "Use when" trigger)
python skills/write-a-skill/scripts/skill_description_validator.py path/to/SKILL.md

# Validate skill folder structure
python skills/write-a-skill/scripts/skill_structure_validator.py path/to/skill-folder/

All three tools run with embedded samples if no path provided.

License

MIT (matching Matt's upstream).