Skip to content

skill(counterweight-audit): Phase 2 — SKILL.md wrapping the counterweight-audit tool (Otto-278, task #269)#419

Merged
AceHack merged 1 commit intomainfrom
skill/counterweight-audit
Apr 25, 2026
Merged

skill(counterweight-audit): Phase 2 — SKILL.md wrapping the counterweight-audit tool (Otto-278, task #269)#419
AceHack merged 1 commit intomainfrom
skill/counterweight-audit

Conversation

@AceHack
Copy link
Copy Markdown
Member

@AceHack AceHack commented Apr 25, 2026

Summary

Phase 2 of task #269 (counterweight-audit skill/tool). Phase 1 (the shell tool) merged in #418. This PR adds the SKILL.md wrapper so agents can invoke the tool via the Skill tool with consistent cadence-to-count mapping.

  • Skill listed in my available-skills output after landing: "Cadenced re-read discipline for counterweight memories (Otto-278)..."
  • Four-step procedure: invoke tool → read each counterweight → act on drift → log outcome.
  • Cadence table: quick=3 (session start, ~2 min) / medium=10 (every 10 ticks, ~5 min) / long=all (round open, ~15-20 min).
  • Drift-action decision tree (self-correct in-tick / file follow-up memory / edit clarify / escalate to BP-NN).
  • Phase roadmap: Phase 3 (autonomous-loop tick-open hook) + Phase 4 (baseline drift report on Otto-257..277) deferred to separate BACKLOG rows.

Key design choice

Skill explicitly does NOT auto-detect drift. The tool surfaces rules; the agent judges behavior. Matches Aaron's Otto-278 framing: cadenced re-read forces inspection; judgment is the agent's job.

Test plan

  • Skill registers + surfaces in available-skills.
  • Cadence/count mapping matches the shell tool's defaults.
  • Not-in-scope section explicit (no auto-file, no memory-edit, no replacement for other audit skills).
  • Phase roadmap clear for Phase 3/4 separation.
  • CI passes.

🤖 Generated with Claude Code

…/counterweight-audit.sh (Otto-278, task #269)

Phase 2 of the cadenced-counterweight-audit stack. Phase 1 (the
shell tool) merged in #418. This skill wraps the tool with:

- Cadence-to-count mapping (quick=3 / medium=10 / long=all).
- When-to-invoke guidance (session start, round open, per-N-ticks,
  pre-review, on-demand-drift-suspicion).
- Four-step procedure (invoke → read → act on drift → log).
- Drift-action decision tree (self-correct / file follow-up /
  edit clarify / escalate to BP-NN).
- Phase 3 pointer: autonomous-loop tick-open hook is separate
  BACKLOG row.

The skill deliberately does NOT auto-detect drift — drift
detection requires the agent's own theory-of-mind introspection.
The tool surfaces rules; the agent judges behavior. This matches
the Aaron Otto-278 framing: cadenced re-read forces the
inspection; judgment is the agent's.

Composes with:
- `skill-tune-up` (sibling cadenced-audit discipline for skills)
- `skill-creator` (BP-NN promotion path when a counter re-
  tightens 3+ times)
- `docs/AGENT-BEST-PRACTICES.md` (promotion target)
- Otto-278 originating memory

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings April 25, 2026 03:19
@AceHack AceHack enabled auto-merge (squash) April 25, 2026 03:19
@AceHack AceHack merged commit 0249233 into main Apr 25, 2026
15 checks passed
@AceHack AceHack deleted the skill/counterweight-audit branch April 25, 2026 03:21
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds Phase 2 of the counterweight-audit stack by introducing a new .claude skill wrapper that guides agents through invoking tools/hygiene/counterweight-audit.sh and acting on the results, with a documented cadence-to-count mapping.

Changes:

  • Introduces .claude/skills/counterweight-audit/SKILL.md describing when/how to run the counterweight-audit tool and how to respond to drift.
  • Documents a four-step audit workflow (invoke → read → act → log) plus cadence selection guidance and scope boundaries.
  • Adds a reference-patterns section intended to link the skill to its originating counterweights and related skills/docs.

Comment on lines +13 to +19
Aaron-maintainer directives that corrected agent drift; each
is a counterweight filed against the specific pattern it
corrected. There are 51+ counterweights today, still growing.

## Why this skill exists

Aaron Otto-278 (autonomous-loop 2026-04-24):
Copy link

Copilot AI Apr 25, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 (codebase convention): This skill body uses a direct contributor name (e.g., “Aaron …”). Repo operational standing rule forbids name attribution in code/docs/skills; use role references like “human maintainer” and keep names confined to the allowed carve-outs (docs/AGENT-BEST-PRACTICES.md:284-292). Please rewrite this section (and other occurrences later in the file) to remove direct names while preserving the meaning.

Suggested change
Aaron-maintainer directives that corrected agent drift; each
is a counterweight filed against the specific pattern it
corrected. There are 51+ counterweights today, still growing.
## Why this skill exists
Aaron Otto-278 (autonomous-loop 2026-04-24):
human-maintainer directives that corrected agent drift; each
is a counterweight filed against the specific pattern it
corrected. There are 51+ counterweights today, still growing.
## Why this skill exists
Human maintainer directive Otto-278 (autonomous-loop 2026-04-24):

Copilot uses AI. Check for mistakes.
Comment on lines +179 to +184
- `memory/feedback_memory_alone_leaky_without_cadenced_inspect_audit_for_missing_balance_otto_278_2026_04_24.md`
— the originating rule.
- `memory/feedback_never_pray_auto_merge_otto_276_*.md` +
`memory/feedback_per_tick_inspect_with_named_signal_otto_277_*.md`
— the canonical drift-and-retighten example; the
motivating case for this skill.
Copy link

Copilot AI Apr 25, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 (xref integrity): The reference-pattern links here don’t appear to match actual files in memory/. For example, the Otto-276 and Otto-277 filenames/globs listed don’t correspond to the existing committed filenames, and the Otto-278 memory filename referenced below appears to be missing entirely. Please update these bullets to point at existing paths (or explicitly mark them as PR-pending if they’re expected to land separately).

Suggested change
- `memory/feedback_memory_alone_leaky_without_cadenced_inspect_audit_for_missing_balance_otto_278_2026_04_24.md`
— the originating rule.
- `memory/feedback_never_pray_auto_merge_otto_276_*.md` +
`memory/feedback_per_tick_inspect_with_named_signal_otto_277_*.md`
— the canonical drift-and-retighten example; the
motivating case for this skill.
- `memory/` — originating Otto-278 counterweight memory;
exact filename is PR-pending and must be updated to the
committed path when that memory entry lands.
- `memory/` — Otto-276 and Otto-277 counterweight
memories are the canonical drift-and-retighten example;
replace this placeholder with the exact committed paths
instead of wildcard globs when those filenames are
confirmed in-tree.

Copilot uses AI. Check for mistakes.
Comment on lines +150 to +153
- **Does NOT replace `skill-tune-up` or `factory-balance-
auditor`.** Those audit different surfaces (skills and
factory-shape respectively). This skill audits
counterweight memories specifically.
Copy link

Copilot AI Apr 25, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 (markdown correctness): The inline-code span for the sibling skill name is split across a line break (factory-balance- / auditor), which breaks the inline code formatting and may render inconsistently (or trip markdownlint). Keep the inline-code token on a single line (e.g., factory-balance-auditor).

Suggested change
- **Does NOT replace `skill-tune-up` or `factory-balance-
auditor`.** Those audit different surfaces (skills and
factory-shape respectively). This skill audits
counterweight memories specifically.
- **Does NOT replace `skill-tune-up` or
`factory-balance-auditor`.** Those audit different
surfaces (skills and factory-shape respectively). This
skill audits counterweight memories specifically.

Copilot uses AI. Check for mistakes.
Comment on lines +123 to +127
| Cadence | Count | When | Time budget |
|---|---|---|---|
| `quick` | 3 | Session start; every 5 autonomous-loop ticks | ~2 min |
| `medium` | 10 | Every 10 autonomous-loop ticks; pre-review | ~5 min |
| `long` | all (51+) | Round open; drift-audit cadence per Otto-264 | ~15-20 min |
Copy link

Copilot AI Apr 25, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 (markdown correctness): The cadence table uses double leading pipes (|| …) which creates an empty first column and can render oddly. Use standard single-pipe table syntax (| Cadence | … |) with a matching separator row so the table is well-formed.

Copilot uses AI. Check for mistakes.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants