audit-rules
Skill5 starsChanged 4 months agoMITView on GitHub
Review one domain of the Clawness rule corpus for correctness against current official documentation, then record what was established as a version stamp (applies_to / verified / sources) on each rule individually. For maintainers and fork maintainers. Reports verdicts and writes stamps; never rewrites rule text.
2 other projects use a version of this.
Adopted by
Most recently taken up by
- VladTheProgrammer/claude-asimovtheir own version, first seen Oct 8, 2026
- quietmachineworks/qmwtheir own version, first seen Sep 12, 2026
Other versions2 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 2
- quietmachineworks/qmw★ 0same name
- VladTheProgrammer/claude-asimov★ 0same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository17 other files it gives its agents.
- CLAUDE.mdCLAUDE.md
- openclaw/CLAUDE.mdCLAUDE.md
- addSkill
- bootstrapSkill
- claude-mdSkill
- eval-setSkill
- messagingSkill
- openclaw-auditSkill
- perfSkill
- refreshSkill
- reviewSkill
- security-auditSkill
- statusSkill
- testSkill
- user-docsSkill
- vuln-huntSkill
- vuln-reportSkill
The file
We split this skill into the rules it gives an agent
9 rules. About 0 are common, 6 are distinctive, and 3 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈6
Distinctive · estimate
This author's own choices. Worth a look.
3
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 28
Run the mechanical checks first, so the review has the numbers in front of it:
- Very specific: line 47
Every rules/<domain>/*.yml, plus any existing applies_to on them.
- Very specific: line 52
Follow the lookup procedure in skills/refresh/SKILL.md step 3 — same procedure, different destination: that one writes to one project's …
- Distinctive: line 90
Per rule, from that rule's evidence: Do not derive a domain-wide span and apply it across the folder.
- Very specific: line 102
All three fields, or the rule stays silent — applies_to alone is asserted, not established, and deliberately arms nothing.
- Distinctive: line 120
Don't stamp a folder. Ever.
- Distinctive: line 121
Don't rewrite rule text. Report it.
- Distinctive: line 122
Don't stamp from memory — every stamp needs a URL you actually read.
- Distinctive: line 123
Don't treat repeated per-project overrides of one id as noise.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Audit a rule domain
clawness audit-rules measures what is measurable — missing provenance, eval
blind spots, near-duplicate rules, unreachable rules. This skill is the half that
isn't measurable: is this rule still true?
It is also where version ranges come from. There is no way to derive what a rule
was written against — git dates are a weak proxy (an author can write for an older
major than the day's current one) and rule text names an API, not a version. So
applies_to is an output of this review, established rule by rule from that
rule's own evidence.
One domain per run. 212 rules in one pass is not a review. Reviewing several domains at once is how a careful pass becomes a bulk stamp, which is the exact failure per-rule stamping exists to prevent.
Before you start
Run the mechanical checks first, so the review has the numbers in front of it:
The clawness CLI ships with the plugin but isn't on your PATH; run it via the
bundled launcher, falling back to the bootstrap's wrapper on older Claude Code
(editable/manual installs may use python -m clawness.cli instead):
CLAW="${CLAUDE_PLUGIN_ROOT}/scripts/clawness-cli.sh"
[ -f "$CLAW" ] || CLAW="${CLAUDE_CONFIG_DIR:-$HOME/.claude}/clawness/clawness-cli.sh"
bash "$CLAW" audit-rules --stale --overlap--overlap matters here specifically: near-duplicates within the domain you are
about to review are cheapest to spot while you have all of it in your head.
Steps
1. Read the whole domain
Every rules/<domain>/*.yml, plus any existing applies_to on them. Note which
frameworks the domain names and what versions the current rules imply.
2. Look up what is current
Follow the lookup procedure in
skills/refresh/SKILL.md step 3 — same procedure, different
destination: that one writes to one project's .clawness/rules/, this one fixes
the corpus upstream. In short: the framework's own migration guide, then its
changelog, then the current official docs page. Not recalled knowledge — a
model's sense of "what's current" lags real releases by exactly the gap this
feature exists to close.
3. Give each rule a verdict
| Verdict | Meaning |
| Still true | Correct at the current major. The honest majority. |
| Now wrong | The API or the recommendation changed. |
| Now the framework default | True but redundant — the framework does it for you, so the rule is noise competing for a top-k slot. |
| Unsettled | The docs didn't answer it. Leave it alone and say so. |
4. Report, don't rewrite
Never edit rule text from this pass. A rule silently flipped by a hallucination governs every subsequent prompt in every project that installs Clawness — strictly worse than a stale one, because it looks reviewed. Report the verdicts and let the maintainer decide what to change.
The one thing this skill does write is the stamp (step 5).
5. Stamp each rule individually
For every rule you settled, add:
applies_to: {"Next.js": "13-15"}
verified: "<YYYY-MM, this month>"
sources: ["<the URL that justified it>"]Rules on rules:
- Per rule, from that rule's evidence. Do not derive a domain-wide span and apply it across the folder. A domain range is the union of its rules' ranges, which is the widest claim available, and wide is the direction that fails silently.
- Both bounds need evidence, and the lower one is the easy one to fake. "True from 13" is a claim about 13, not a free consequence of checking 17.
- Where evidence doesn't settle a bound, narrow. Too narrow produces a visible false warning that gets corrected; too wide produces silence that doesn't.
- Leave unsettled rules unstamped and list them. A gap is truthful; a stamp that says "checked" when nobody checked is the original bug wearing a hallmark.
- The label must be one a detector emits (
"Next.js", not"next"). A label nothing emits never matches, so the rule can never be flagged stale again. - All three fields, or the rule stays silent —
applies_toalone is asserted, not established, and deliberately arms nothing.
6. Verify
bash "$CLAW" lint # validates labels, ranges, and dates mechanically
bash "$CLAW" eval --floor-mrr 0.85 --floor-hit 0.95eval must be unchanged: stamps are excluded from the search text, so a moved
score means something went into the wrong field.
Then report: how many rules reviewed, how many still true, how many wrong, how
many left unsettled, and the domain-level --stale count before and after.
Don't
- Don't stamp a folder. Ever.
- Don't rewrite rule text. Report it.
- Don't stamp from memory — every stamp needs a URL you actually read.
- Don't treat repeated per-project overrides of one id as noise. That is the signal the rule needs fixing here, upstream, rather than being patched in every project separately.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

