agentsclimarketplace

Armature auditor

Skill scullxbones/armature/internal/skillsembed/skills/armature-auditor

Use when verifying completed work before story sign-off — checks citation coverage, source UUID integrity, outcome quality, and repo health. Runs validate, sources verify, render-context, and doctor --strict.From its SKILL.md

Install
npx -y skills add scullxbones/armature --skill armature-auditor

Assembled 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.
  • 2 stars2 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

8.5 KB, ~1.9k tokens by cl100k_base, as published. Nobody here has run it

Armature Auditor

The Auditor verifies that completed work is honest and traceable before story sign-off. Every issue must have a valid cited source, every decision must be recorded, and outcomes must satisfy acceptance criteria.

DAG Hygiene Mandate

arm validate and arm doctor must exit clean at all times. This is non-negotiable.

Before running any audit and after completing your checks, confirm:

arm validate       # zero ERRORs; all issues cited
arm doctor        # zero errors; no broken refs, orphaned ops, or cycles

If either exits non-zero, do not approve the story. Report the specific issues back to workers for remediation. Treat DAG decay the same way you treat failing tests — it is a blocker, not a warning to ignore.

Warnings from other stories must be resolved, not ignored. If arm doctor reports a D1 (commits referencing non-done issues) or D2 (stale claims) from unrelated work, clean them up before auditing. DAG health is cumulative.


When to Run

The Auditor runs after workers report tasks done and before story transition and PR. It is a gate, not a monitor.

Workers complete tasks → Auditor runs → Story transitions to done → PR opened

Do not approve a story transition until all audit checks pass. If any check fails, report the specific issues back to the workers for remediation before re-auditing.

Scope Clarification: The Auditor checks structural integrity (citation coverage and repo health) but does NOT perform semantic review of code changes. Semantic conformance to acceptance criteria is handled by the armature-reviewer skill, which is dispatched by the coordinator after each task completes. Both gates must pass before story sign-off.

The Audit Checklist

Work through these steps in order. Each step must pass before proceeding to the next.

Step 1 — Citation Integrity

arm validate

Expected output: COVERAGE: N/N cited with zero ERROR lines.

If arm validate reports ERROR lines, read references/citation-errors.md.

For CI use (exits non-zero on any error):

arm validate --ci

To validate only a subtree:

arm validate --scope STORY-ID

Step 2 — Source Freshness

arm sources verify

All sources must show OK. Any MISSING entry means a source fingerprint is stale or the source was removed after initial registration.

If sources show MISSING:

arm sources sync        # fetch and re-fingerprint all sources
arm sources verify      # re-run until all show OK

If a source is gone entirely, re-register it:

arm sources add --url /path/to/source --type filesystem

If source content changed and you need to review the delta before accepting it:

arm sources stale-review        # interactive review of sources whose content changed

Step 3 — Outcome Quality Review

List all terminal tasks under the story (done, merged, and cancelled):

arm list --terminal --parent STORY-ID

For each completed task, inspect its outcome against its acceptance criteria:

arm render-context --issue ISSUE-ID

render-context shows both the acceptance criteria array and the recorded outcome field side by side. Verify that:

  • The outcome is concrete — it describes what was built, references specific files, commands, or test results, and cites metrics where applicable.
  • The outcome addresses every acceptance criterion — if acceptance lists "TestDoctorVerbose passes" and the outcome says "done", that is a gap.
  • The outcome is not vague — flag "Done", "Fixed", "Implemented", "Completed" as insufficient before sign-off.

You can also inspect an issue directly:

arm show ISSUE-ID      # shows outcome and acceptance criteria side by side

Good outcome example:

"Added --verbose flag to arm doctor; each violation now prints the op file path and affected issue ID; 3 new tests added; make check green at 82% coverage"

Vague outcome examples (flag these):

"Done" / "Fixed" / "Implemented as requested" / "Completed"

Step 4 — Validation Warnings and --strict

arm validate may report WARNING lines in two categories:

  1. Scope Overlap — Two or more tasks touch the same file(s)
  2. Context Files — A task's context_files array is empty while its scope spans 3+ distinct directories

These warnings are not errors by default, but must be resolved before sign-off.

Scope Overlap Resolution

# Make overlapping tasks serial
arm link --source ISSUE-A --dep ISSUE-B

# Or treat overlaps as errors to confirm none remain
arm validate --strict

If two tasks genuinely do not overlap despite the warning, document the rationale with arm decision on one of the issues before proceeding.

Context Files Resolution

The W5 warning fires when a task's context_files is empty AND its scope spans 3+ distinct directories (broad scope). Context files are informational references to files that inform the task but are not modified directly. Resolve this warning by either narrowing the scope to fewer directories or by adding context_files declarations.

# View context_files warnings
arm validate

# Option 1: Narrow the scope to cover fewer directories (< 3)
arm amend TASK-01 --scope "src/**/*.go"

# Option 2: Add context_files declarations (informational files that inform the task)
arm amend TASK-01 --context-file docs/notes.md --context-file docs/spec.md

Choose Option 1 if the task can be more tightly scoped. Choose Option 2 if the task genuinely works across multiple directories and context files will help the worker understand the cross-directory dependencies.

Using --strict

The --strict flag promotes all warnings to errors, including both scope overlap and context_files warnings:

arm validate --strict

This is useful in CI or pre-merge gates to ensure no warnings are missed. Scope overlap and context_files warnings are distinct categories and must be resolved separately — linking issues for scope overlap does not resolve context_files warnings.

Step 5 — Repo Health

arm doctor --strict

--strict promotes all warnings to errors. The command must exit zero. Any warning or error must be resolved before approving the story.

For machine-readable output:

arm doctor --format json

Doctor checks reference:

CodeSeverityCheck
D1warningGit commits reference non-done issues
D2warningClaimed issues with expired TTL (stale claims)
D3errorOp files reference issue IDs not in graph
D4errorIssues whose parent points to non-existent ID
D5errorblocked_by chains forming a dependency cycle
D6warningIssues without sources link or sources accept-citation (field-presence only — see caveat below)

Pre-Merge Gate

Before approving the story transition, all five checks must be green:

CheckCommandPass Condition
Citation integrityarm validateZero ERRORs, COVERAGE: N/N cited
Source freshnessarm sources verifyZero MISSING
Outcome qualityarm render-context --issue ID for each done taskAll outcomes concrete, all acceptance criteria addressed
Validation warningsarm validate --strictZero scope overlap warnings, zero context_files warnings
Repo healtharm doctor --strictExit zero (zero ERRORs, zero WARNINGs)

Only after all five pass should you approve the story for transition and PR.

Common Failure Modes

Failure ModeWhy It HappensFix
Trusting D6 alone for citation integrityarm doctor D6 checks field presence only — it will pass even if the source UUID is invalid (E8)Always run arm validate after arm doctor; D6 and E8 check different things
Accepting vague outcomes ("done", "fixed")Worker transitions without writing a concrete outcomeUse arm render-context --issue ID to cross-check outcome against acceptance criteria; require workers to amend before sign-off
Skipping arm sources verifySource fingerprints go stale silently when documents are updated after initial registrationAlways run arm sources verify as step 2; run arm sources sync to refresh, then re-verify

What ships with it: 1 file

2.6 KB alongside SKILL.md

references/

Gives 0 of the 12 instructions most audit compliance skills give in ~1.9k tokens

Counted across 937 of the 1,487 authors here whose files we hold, read 2026-08-07

  • Fetch latest guidelines before each reviewin 43 of 937, across 3 files
  • Group findings by severityin 43 of 937
  • Check files against all fetched rulesin 42 of 937, across 2 files
  • Output findings in terse file:line formatin 41 of 937, across 3 files
  • Ask user which files to review if none specifiedin 41 of 937, across 3 files
  • Read specified files or prompt user for filesin 39 of 937, across 1 file
  • Generate the audit reportin 33 of 937, across 30 files
  • Assign a severity to every findingin 25 of 937
  • Run automated accessibility scansin 23 of 937, across 13 files
  • Output a markdown audit reportin 22 of 937
  • Map findings to WCAG criteriain 20 of 937, across 10 files
  • Confirm audit scopein 19 of 937, across 9 files

Said here and by no other author read

  • run the audit checklist in order
  • confirm arm validate and arm doctor exit clean
  • verify all cited sources show ok
  • inspect each task outcome against acceptance criteria
  • flag vague outcomes as insufficient
  • resolve all validation warnings before signoff

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.

Keep looking

Skills are one crate of 326,851. 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.