v2.6.0 — The Skills Compliance Release
Every meow:* skill was audited against Anthropic's Skill authoring best practices + Lessons from Building Claude Code + MeowKit's own skill-authoring-rules.md. This release is what that audit turned into — ~220 edits across 77 skills, no new features, no breaking changes, measurably better routing.
Highlights
- Description discipline across the catalog. Four skills had greedy / imperative descriptions (
meow:cook,meow:fix,meow:agent-detector,meow:session-continuation) that cannibalized sibling routing in a 77-skill catalog. All rewritten in third person per Anthropic's spec. Five overlap clusters (bug-fix, pipeline, browser, code-quality, planning) got explicitNOT for X (see meow:Y)exclusion clauses so Claude stops picking the wrong tool. meow:skill-creatoris now itself compliant. It was previously missing## Gotchas(ironic, given it scaffolds other skills), enforcing a 150-line cap that contradicted the authoritative 500-line rule, and emitting templates without the mandatory Gotchas header. Fixed in bothSKILL.mdand the scripts — every future scaffold inherits Rule 1 / Rule 3 compliance.- Reference integrity pass.
meow:agent-browser's 8-deep nested ref chains +authentication.md ↔ session-management.mdcircular ref were flattened. Step-file skills now have a formal architectural exception (step-file-rules.mdRule 6) forSKILL.md → step-NN.md → references/X.mdchains, predicated on each step file opening with a Contents TOC. - Grounding cleanup. Phantom
research-01citations inmeow:evaluate(4 locations) and phantomresearch-02citations inmeow:rubric/meow:sprint-contract/.claude/rubrics/schema.mdwere load-bearing for operational constraints but pointed at files that never existed — removed or re-sourced. Non-existentdebuggeragent reference inmeow:cookreplaced with the realdeveloperviameow:investigate. Unverifiable "Vercel Engineering" attribution inmeow:react-patternsrephrased. - 115 Tables of Contents auto-generated for reference files over 100 lines. The audit's original estimate was 25; actual was 116 (4.6× under-count, largely from
meow:angular).
What the routing looks like now
The 77-skill catalog routes user intent through description fields at startup. A user typing "debug this bug" must unambiguously land on one skill. Before this release, five clusters had ambiguous routing. After:
| Cluster | Member | NOT for (routes elsewhere) |
|---|---|---|
| Bug fix | meow:fix | investigation without fix → meow:investigate |
meow:investigate | applying fixes → meow:fix | |
meow:build-fix | runtime errors → meow:fix | |
| Pipeline | meow:cook | green-field product → meow:harness |
meow:workflow-orchestrator | single-task → meow:cook | |
meow:harness | scoped single-task → meow:cook | |
| Browser | meow:browse | session-persistent → meow:playwright-cli |
meow:playwright-cli | AI-autonomous → meow:agent-browser | |
meow:agent-browser | .spec.ts generation → meow:qa-manual | |
meow:qa-manual | unstructured browsing → meow:browse | |
| Code quality | meow:review | running-build verification → meow:evaluate |
meow:clean-code | post-hoc diff review → meow:review | |
meow:simplify | style enforcement → meow:clean-code | |
meow:evaluate | structural code audit → meow:review | |
| Planning | meow:plan-creator | ticket complexity → meow:planning-engine |
meow:planning-engine | implementation plans → meow:plan-creator |
Plus 20 more skills picked up focused NOT for X clauses where overlap was latent.
Frontmatter normalization
| Field | What changed | Scope |
|---|---|---|
preamble-tier | 4 → 3 (valid range per CLAUDE.md is 1-3) | meow:qa, meow:review, meow:ship |
autoInvoke / priority | Deleted (grep-confirmed zero readers in hooks / scripts / CLI) | meow:agent-detector, meow:workflow-orchestrator, meow:session-continuation, meow:lazy-agent-loader |
sources (plural) | Unified to source (singular); array syntax for multi-origin | 7 skills (bootstrap, sequential-thinking, problem-solving, brainstorming, ui-design-system, react-patterns, docs-init) |
injection_risk | low → medium (external content replication) | meow:chom |
version, phase, and allowed-tools backfill was skipped by design — grep across packages/mewkit/src/ confirms no hook or CLI consumer reads per-skill version or phase, and allowed-tools omission gives default (all-tools) permissions which is the safer default for skills whose needs vary.
Reference integrity
meow:agent-browser— 8 inter-ref cross-links removed from 6 reference files (authentication,session-management,profiling,proxy-support,snapshot-refs,video-recording, plus 2 inline refs inadvanced-features). Circularauthentication ↔ session-managementbroken. All 9 reference files remain directly linked 1-level from SKILL.md.meow:docs-finder—workflows/topic-search.md → library-search.mdchain resolved by converting the direct link to prose name-reference.step-file-rules.mdRule 6 — new rule formalizing that step-file skills (meow:review,meow:trace-analyze,meow:plan-creator,meow:harness,meow:evaluate) MAY use 2-levelSKILL.md → step-NN.md → references/X.mdchains, provided each step file opens with a## ContentsTOC.- 7 skills gained a
> Path convention:note declaring$CLAUDE_PROJECT_DIRas assumed cwd for their command invocations (meow:rubric,meow:multimodal,meow:skill-creator,meow:intake,meow:llms,meow:investigate,meow:jira). - 3 MCP skills (
meow:jira,meow:confluence,meow:planning-engine) gained a Gotcha documenting the.mcp.jsonserver-key assumption (atlassian) without hardcoding prefixes — preserves portability across user installations. meow:helpandmeow:scale-routingcross-skill refs documented as intentional architectural dependencies via Gotchas rather than silent imports.
meow:skill-creator hardening
Three fixes make the scaffolding source-of-truth for all future skills compliant with skill-authoring-rules.md:
SKILL.mdnow has a## Gotchassection (fixes its own Rule 1 violation), and its compliance checklist says 500-line cap (Rule 3) instead of a contradictory 150.scripts/init-skill.pytemplate emits## Gotchaswith a(none yet — grow from observed failures)placeholder by default. Every new skill inherits the mandatory header.scripts/validate-skill.pyline cap raised 100 → 500 to match Rule 3, with an auto-pass for step-file skills (those withworkflow.md). A new check 8/8 enforces## Gotchasheader presence.
Script fixes
meow:rubric/scripts/validate-rubric.sh—--help/-hhandler added at the top of the arg dispatcher. The previous version fell through tobasename "--help"which BSD basename (macOS) rejects withillegal option. Verified on macOS.meow:multimodal/scripts/minimax_api_client.py—poll_interval=10andmax_wait=600now carry a docstring explaining derivation (MiniMax video-gen p50 ~60-120s, p99 ~600s).meow:multimodal/scripts/media_optimizer.py—tokens_per_sec = 100 / 263constants sourced toai.google.dev/pricingverification date.meow:multimodal/SKILL.md—check_setup.pygot a missing bash invocation block (every other script had one).
Grounding fixes
research-01citations removed frommeow:evaluate/SKILL.md(2),step-01-load-rubrics.md, andprompts/skeptic-persona.md— no such file exists in the repo; the constraints (15-criteria cap, "leniency drift is the dominant evaluator failure mode") now cite the Anthropic harness research honestly or state themselves as heuristics.research-02citations removed frommeow:rubric/references/calibration-guide.md(2),meow:sprint-contract/SKILL.md,meow:sprint-contract/references/bdd-to-ac-mapping.md(2), and.claude/rubrics/schema.md. Same non-existence; balance-rule rationale now cites Anthropic harness research.- Non-existent
debuggeragent replaced withdeveloperviameow:investigateinmeow:cook's Phase-3 dispatch table (.claude/agents/has nodebugger.md;developer.mdis the real agent). <HARD-GATE>decorative tags inmeow:cookandmeow:fixbodies replaced with**HARD GATE**bold.grep -rn "HARD-GATE" .claude/hooks .claude/scripts scripts/returned zero consumers — confirmed decorative.meow:multimodal"332 system voices" corrected to300+ (see provider catalog)with the MiniMax URL.meow:react-patterns"45+ rules across 8 priority categories from Vercel Engineering" (unverifiable) → "curated rules drawn from framework docs and production practice".meow:vulnerability-scannerdropped time-anchored "2025 threat landscape" tagline.meow:ui-design-systemCSV row claims corrected:colors.csv161→160,ux-guidelines.csv99→98 (matches actual row counts).meow:scout6-agent cap now documented as an intentional exception toparallel-execution-rules.mdRule 2 (read-only Explore agents, no merge-conflict risk — no rule edit needed).meow:browsegained a Gotcha for the session-scoped$Balias silent-fail mode.meow:problem-solvingline 148 unclosed backtick fixed.
Section-name canonicalization
22 skills had drifted across four trigger-section synonyms. All converged to "When to Use" (the most common variant, matches Anthropic's wording):
| Before | Count | After |
|---|---|---|
## When to Invoke | 10 | ## When to Use |
## When to Activate | 5 | ## When to Use |
## Trigger Conditions | 7 | ## When to Use |
grep -rn '^## (When to (Invoke|Activate)\|Trigger Conditions)' .claude/skills/ returns zero after this release.
Phase 01 critical blockers
Three issues that were silently broken before this release:
meow:lint-and-validateYAML frontmatter — malformedTriggers onKeywords:produced an unquoted colon that corrupted YAML parsing. The skill was undiscoverable by Claude's skill loader. Frontmatter now parses cleanly.research-01/research-02phantom citations — see grounding fixes above.- Empty Python venv —
.claude/skills/.venv/existed butpipwas half-installed (no RECORD file, nobin/pipsymlink). All 7 Python-backed skills (meow:web-to-markdown,meow:multimodal,meow:llms,meow:confluence,meow:planning-engine,meow:skill-creator,meow:plan-creator) crashed on first import. Bootstrapped viaget-pip.py --ignore-installed --no-deps, thennpx mewkit setup --only=depsinstalled 9 required packages.npx mewkit doctornow reports 13 PASS / 1 WARN (only optional Playwright).
Audit artifacts
Seven agent reports (structure, scope & boundary, reference integrity, consistency, implementation, grounding, lead aggregation), a red-team review with 15 attacks + amendments, and the seven phase files that drove execution. The TOC generator script is reusable for future drift cleanup.
Migration Notes
npx mewkit upgradepicks up all description changes. No user action required beyond upgrade.- If you had any skill depending on
autoInvoke/priorityfrontmatter fields, note they were confirmed dead before deletion. If you had a custom hook reading them, it was already silently ignored. preamble-tier: 4→3may cause tiny context-ordering shifts formeow:qa/meow:review/meow:ship. Functionally identical outputs.