Using craftsmanship test
Bootstrap context for the Craftsmanship Test plugin. Auto-loaded at session start. Defers all gating to the project-type detector and craftsmanship-test:craft-gate skill. Not a runtime-triggered skill — use craftsmanship-test:craft-gate for the actual gate.From its SKILL.md
npx -y skills add Hook12aaa/craft-gate --skill using-craftsmanship-testAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
- 0 stars0 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.
SKILL.md
1.9 KB, 386 tokens by cl100k_base, as published. Nobody here has run it
Using the Craftsmanship Test
<HARD-GATE> Do NOT invoke the craftsmanship-test:craft-gate skill without a CODE_PROJECT verdict from the project-type detector. STOP and stay silent. </HARD-GATE> <HARD-GATE> Do NOT infer the project type from prose, file extensions, or your own reasoning. Trust the detector's verdict. Override only when CRAFTSMANSHIP_PROJECT_TYPE is explicitly set in .craftsmanship-test.sh. </HARD-GATE>Core principle
Comments are a last resort. If naming, decomposition, or types can say it, the code should. A comment must earn its place by saying something the code cannot say.
Iron law
No comment ships without a CRAFT GATE: KEEP verdict.
A comment is STRIP by default. The burden of justification is on the comment, not on its absence.
When the gate fires
When the PreToolUse hook fires on Edit, Write, or MultiEdit of a source-code file in a CODE_PROJECT, invoke craftsmanship-test:craft-gate via the Skill tool. Emit one verdict per new or modified comment, on its own line:
CRAFT GATE: KEEPCRAFT GATE: STRIP — <rule number>CRAFT GATE: REWRITE — <replacement comment text>
Apply the verdict to the diff before the tool call completes.
The eight rules in summary
STRIP: paraphrase, language basics, section dividers, scope-end labels, commented-out code. KEEP: public-API contracts, real why (non-obvious constraint, workaround, surprising business rule). REWRITE: partially why but mostly what — trim to the why-only part.
The full skill at skills/craft-gate/SKILL.md is the source of truth for the rules.
What ships with it
Read from the repository
Just SKILL.md. No reference files, no scripts.
Gives 0 of the 12 instructions most test skills give in 386 tokens
Counted across 964 of the 1,571 authors here whose files we hold, read 2026-08-07
- Close the browser when donein 55 of 964, across 12 files
- Wait for network idle statein 51 of 964, across 6 files
- Launch Chromium in headless modein 49 of 964, across 6 files
- Use descriptive selectors for elementsin 49 of 964, across 6 files
- Run provided scripts with help flag firstin 49 of 964, across 6 files
- Add appropriate explicit waitsin 48 of 964, across 5 files
- Use bundled scripts as black boxesin 46 of 964, across 3 files
- Do not read script source codein 46 of 964, across 3 files
- Use sync playwright for scriptsin 46 of 964, across 3 files
- Inspect dom before executing actionsin 46 of 964, across 3 files
- Run the full test suitein 37 of 964
- Write the failing test firstin 29 of 964, across 23 files
Said here and by no other author read
- Stay silent without a CODE_PROJECT verdict
- Trust the project type detector's verdict
- Treat comments as STRIP by default
- Invoke the craft-gate skill on Edit, Write, or MultiEdit
- Emit one verdict per modified comment
- Apply the verdict to the diff before completion
Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once. Length counted with cl100k_base; the agent that loads this file may tokenize it differently.