Skip to content

Revise agent skills based on cross-harness transcript audit - #5

Open
Kabilan108 wants to merge 6 commits into
nixosfrom
skill-audit
Open

Revise agent skills based on cross-harness transcript audit#5
Kabilan108 wants to merge 6 commits into
nixosfrom
skill-audit

Conversation

@Kabilan108

@Kabilan108 Kabilan108 commented Jul 2, 2026

Copy link
Copy Markdown
Owner

What this is

An audit of all 14 skills in agents/skills/ against real usage: every session transcript in the local and sietch tracer archives (Claude Code + Codex, ~620 indexed invocation hits) was mined per skill — did it trigger when it should, did the agent follow it, which commands failed, and where users had to correct course. The full per-skill reports (with transcript paths and verbatim evidence) are saved locally at ~/.local/share/skill-audit/2026-07-02/ — kept out of this public repo intentionally.

Headline findings

  • Usage is heavily skewed: commit (129 hits), review-swarm (106), agent-browser (67), tmux/handoff (61 each) carry most of the load; helium-browser-use (3) and playground (1 real invocation) have thin evidence.
  • Codex "invocations" overcount: roughly half of codex hits are find/rg file listings mentioning a SKILL.md path, not actual skill reads. The per-skill reports flag which sessions were real.
  • The most common real failure was skills prescribing paths/commands that break outside their assumed cwd or environment: niri helpers called as scripts/... from repo roots, playground's macOS-only open, stale helper flags in tmux, a stale AGENT_BROWSER_EXECUTABLE_PATH breaking launches.
  • Several "hard rules" conflicted with observed real usage and agents rightly broke them: handoff's temp-dir-only rule (users repeatedly asked for durable docs/handoffs/ artifacts), helium's create-your-own-tab rule (read-only inspection of user tabs is often the point), review-swarm's fixed four-reviewer shape.
  • Two genuine incidents drove hard guards: a "read-only" review subagent committed changes (review-swarm now demands sandbox-level enforcement + a post-review git status check), and binary fixtures (.gif, .h5) were committed despite the commit skill's binary ban (now backed by a concrete --numstat check).
  • Forked-context skills can lose the session: a /learn-skill fork saw only its own invocation and produced nothing; it now verifies context visibility before proposing.

Per-skill changes

Skill Key changes
commit nested-repo staging (git -C), pre-staged changes treated as user-owned, concrete binary/size check, generated-churn exclusions, allowed-tools dedup + read-only additions
deslop triggers on natural "clean up staged changes" asks; scope rules replace bare $1; keep-list; audit-only mode; dropped commit/reset from allowed-tools
handoff user-specified durable destinations allowed; gather objective state first; restored the doc structure that produced the best historical handoffs; hollow-handoff guard
pair-programmer hard "stop at the plan" rule (two sessions drifted into implementing after plan-only asks); clarify-vs-ask; output shape
frontend-design context-fit direction for dashboards/tools vs BOLD for expressive surfaces; design-system discovery first; conditional typography; verify-before-delivery; accessibility baseline
tmux helper preflight; existing-pane recipe with verify-receipt; remote SSH tmux section; tee-to-log for long jobs; scrollback limits; codex subcommand --help checks
agent-browser doctor/env preflight; auth-profile validation; --full size warning; shared-browser discipline; screenshot/errors fallback when snapshots lie; non-trigger boundaries
helium-browser-use triggers on any Helium mention (a session used generic agent-browser instead); jq-filtered /json/list (raw listing printed extension internals); read-only existing-tab rules; profiling guardrails; stale-tunnel recovery in remote.md
niri-computer-use $ACU_DIR absolute-path pattern; acu-state --json shape + null focused-window handling; focus guard with restore; by-window screenshots; interruption-risk tiers; troubleshooting; survey.md marked as stale-by-default
learn propose-only mode for audit/read-only sessions; CLAUDE.md conflict handling; duplicate-check across levels; tighter exclusions
learn-skill context-visibility guard; shared agents/skills/ placement; harness-neutral skill-creator handoff; Evidence field per proposal
playground template read made mandatory (the one real run skipped it); xdg-open on Linux; smoke-test checklist; innerHTML escaping warning
review-swarm sandbox-level read-only enforcement + post-review dirty check; documented reviewer-shape adaptations; untracked-file scoping; REVIEW.md discovery; Codex spawn-fallback note; sanctioned fix→re-review handoff
btca-local fixed unclosed <workflow> tag; repo-reference normalization; vendored/local-checkout rule; commit-pinned citations

Not changed

  • Skills' overall voice/structure — edits are additive and targeted.
  • The audit's index-noise problem (codex file listings matching skill paths) is a tooling artifact, not a skill defect; no skill text can fix it.

🤖 Generated with Claude Code


Open in Devin Review

Summary by CodeRabbit

  • New Features
    • Expanded agent guidance for model selection and delegating work, including clearer workflows for common task types.
    • Added/extended operational playbooks for browser/CDP, tmux, Helium, and long-running profiling scenarios.
  • Bug Fixes
    • Improved handling of browser/CDP failures (stale tunnels, timeouts) and safer behavior when no focused window/tab is available.
    • Updated niri compositor config to prevent focused opening for the Helium devtools app.
  • Documentation
    • Refreshed multiple skill guides with stricter safety, verification, repo/commit/review constraints, and more structured handoff instructions.

Round 2 (2026-07-12)

Rebased onto current nixos (round-1 niri-computer-use edits dropped — the upstream acu rework absorbed them) and re-ran the audit against a rebuilt dataset: 4,697 sessions through 2026-07-12, with every finding segmented by model + harness (behavior differs materially between gpt-5.x versions and between Opus/Fable), plus a 48-session LLM review batch.

Cuts (usage over 4.5 months, approved): playground (2 sessions), deslop (1 — overlaps harness-native /simplify), learn-skill (3 — superseded by tracer-digest + the new audit playbook). Skills README rewritten to match reality.

Revisions (each tied to an observed failure mode):

  • handoff — proactive phase-boundary trigger; the most repeated recommendation across both harnesses for long sessions
  • commit — confirm ambiguous commit outcomes (git log -1) before retrying; duplicate-retry ambiguity observed
  • agent-browser — snapshot at milestones, one verification pass per action batch; snapshot-polling loops were the top browser churn
  • tmux — never resend a pane command without capture-pane confirming the prior attempt
  • codex AGENTS.mdskill routing table; codex had no pointer to shared skills, explaining systematic review-swarm/pair-programmer misses in review-shaped codex sessions

New: skill-audit playbook skill codifying the audit procedure; tracer-digest prompt now tags findings by model/harness and extracts skill friction.

Deferred: stop hooks → #9. Segmented evidence shows repeated-command loops are codex-only (28% of gpt-5.5 sessions, 0% on gpt-5.6) and missing-verification is claude-only and fading (18% opus → 8% fable) — neither clears the bar on current models.

@coderabbitai

coderabbitai Bot commented Jul 2, 2026

Copy link
Copy Markdown

Review Change Stack

📝 Walkthrough

Walkthrough

This PR updates Claude and Codex model configuration, rewrites guidance across multiple agent skill documents, and changes the niri compositor config for a Helium Agents DevTools window rule.

Changes

Model and runtime configuration

Layer / File(s) Summary
Model configuration changes
agents/claude/settings.json, agents/codex/config.toml
Adds a Claude model setting and updates Codex reasoning effort and service tier.

Agent skills documentation updates

Layer / File(s) Summary
Claude model selection and Codex delegation guidance
agents/claude/CLAUDE.md
Documents model selection rules and Codex CLI delegation patterns for gpt-5.5.
Browser automation skill guidance (agent-browser, helium-browser-use)
agents/skills/agent-browser/SKILL.md, agents/skills/helium-browser-use/SKILL.md, agents/skills/helium-browser-use/references/remote.md
Updates preflight, tab discipline, target discovery, long-running work, and tunnel recovery guidance.
Git workflow skills (commit, deslop, btca-local)
agents/skills/commit/SKILL.md, agents/skills/deslop/SKILL.md, agents/skills/btca-local/SKILL.md
Refines commit staging/reporting, diff-selection/audit behavior, and BTCA repo resolution and citation rules.
Review-swarm scope, reviewer launch, and evidence rules
agents/skills/review-swarm/SKILL.md
Updates empty-diff scope handling, reviewer defaults, read-only enforcement, evidence checks, and review/implementation separation.
Learn and learn-skill proposal/placement rules
agents/skills/learn/SKILL.md, agents/skills/learn-skill/SKILL.md
Adds session-context gating, placement guidance, proposal fields, and AGENTS.md/CLAUDE.md symlink handling.
Niri computer-use interruption model and ACU_DIR invocation
agents/skills/niri-computer-use/SKILL.md
Adds interruption/focus-guard guidance and updates helper invocation, workflow, troubleshooting, and references.
Pair-programmer, playground, and frontend-design guidance
agents/skills/pair-programmer/SKILL.md, agents/skills/playground/SKILL.md, agents/skills/frontend-design/SKILL.md
Revises clarify/stop-at-plan workflow, adds smoke-test/escaping guidance, and adds an accessibility/verification checklist.
Handoff document structure and tmux remote/verification workflow
agents/skills/handoff/SKILL.md, agents/skills/tmux/SKILL.md
Adds structured handoff formatting and updates tmux preflight, verification, logging, and remote SSH usage.

Niri compositor config

Layer / File(s) Summary
Niri config debug removal and window rule
home/desktop/wayland/compositors/niri/config.kdl
Removes a debug node and adds a window-rule to open HeliumAgentsDevTools unfocused.

Estimated code review effort: 2 (Simple) | ~15 minutes

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately summarizes the PR’s main change: revising agent skills after a cross-harness transcript audit.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch skill-audit

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

devin-ai-integration[bot]

This comment was marked as resolved.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 6

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@agents/claude/CLAUDE.md`:
- Around line 77-79: The review example under CLAUDE.md is inconsistent with the
new override rule because `codex exec review` still uses the default full-access
settings from `~/.codex/config.toml`. Update the example so the review command
explicitly includes the same sandbox/effort overrides used elsewhere, or clearly
label review runs as an exception. Use the `codex exec review` example in this
document as the place to make the change.

In `@agents/skills/btca-local/SKILL.md`:
- Around line 14-43: The BTCA repo-selection guidance is too permissive when no
repo reference is provided, which can lead to using the wrong checkout. Update
the instructions in SKILL.md so the repo resolution flow in the
guidelines/workflow explicitly requires an exact user-provided repo reference
(or an explicit default repo) before cloning/searching; otherwise, ask for
clarification instead of guessing from context. Keep the existing symbols and
sections like the repo-resolution guideline, work dir setup, load, and search
steps aligned with this stricter behavior.

In `@agents/skills/frontend-design/SKILL.md`:
- Line 32: The Typography guidance in the frontend-design skill has conflicting
defaults around system fonts, so tighten it into one consistent rule. Update the
Typography section to keep the “existing products should use established type
scale/font tokens and local/system fonts when appropriate” guidance, and remove
any blanket prohibition that contradicts that exception. Make sure the final
wording clearly distinguishes standalone work from existing products without
implying system fonts are always disallowed.

In `@agents/skills/niri-computer-use/SKILL.md`:
- Around line 17-34: The Quick Start in the skill documentation still hardcodes
the dotfiles location as the default ACU_DIR, so Claude-installed copies can
resolve to a missing path. Update the ACU_DIR guidance in SKILL.md to derive
from the actual skill root or clearly fall back to the
~/.claude/skills/niri-computer-use location when the dotfiles path is absent,
and make sure the helper command examples consistently use that resolved
directory.

In `@agents/skills/review-swarm/SKILL.md`:
- Line 181: The review-swarm skill contract is contradictory because it mentions
a separate implementation phase after the read-only review, which conflicts with
the “read-only end-to-end” requirement. Update the wording in SKILL.md around
the review workflow to keep the skill strictly read-only and move any
fix/validation path out of this document, using the surrounding review-swarm
instructions as the reference point.

In `@agents/skills/tmux/SKILL.md`:
- Around line 118-123: The tmux SKILL preflight example only validates
send-to-pane, but the surrounding wording refers to all helper wrappers and
their flag shapes. Update the example near the send-to-pane, launch-agent, and
poll-agents references to run each helper’s --help check, or narrow the prose so
it only claims validation for send-to-pane.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 69539e0f-2be2-404c-afb3-770922766b97

📥 Commits

Reviewing files that changed from the base of the PR and between 2211340 and 9f9121c.

📒 Files selected for processing (19)
  • agents/claude/CLAUDE.md
  • agents/claude/settings.json
  • agents/codex/config.toml
  • agents/skills/agent-browser/SKILL.md
  • agents/skills/btca-local/SKILL.md
  • agents/skills/commit/SKILL.md
  • agents/skills/deslop/SKILL.md
  • agents/skills/frontend-design/SKILL.md
  • agents/skills/handoff/SKILL.md
  • agents/skills/helium-browser-use/SKILL.md
  • agents/skills/helium-browser-use/references/remote.md
  • agents/skills/learn-skill/SKILL.md
  • agents/skills/learn/SKILL.md
  • agents/skills/niri-computer-use/SKILL.md
  • agents/skills/pair-programmer/SKILL.md
  • agents/skills/playground/SKILL.md
  • agents/skills/review-swarm/SKILL.md
  • agents/skills/tmux/SKILL.md
  • home/desktop/wayland/compositors/niri/config.kdl

Comment thread agents/claude/CLAUDE.md Outdated
Comment thread agents/skills/btca-local/SKILL.md
Comment thread agents/skills/frontend-design/SKILL.md
Comment thread agents/skills/niri-computer-use/SKILL.md Outdated
Comment thread agents/skills/review-swarm/SKILL.md
Comment thread agents/skills/tmux/SKILL.md
Audited all 14 shared skills against ~620 transcript hits from the local
and sietch tracer archives (claude + codex), then applied the
evidence-backed fixes:

- commit: nested-repo staging, pre-staged-change hygiene, concrete
  binary/large-file check (gif/h5 fixtures slipped through the old rule),
  generated-churn exclusions, dedupe allowed-tools
- deslop: trigger on natural "clean up staged changes" asks, scope rules
  replacing bare $1, keep-list, audit-only mode, drop commit/reset perms
- handoff: allow user-specified durable destinations (temp-only rule
  conflicted with real usage), restore gather-state step and doc structure
  that produced the best historical handoffs, hollow-handoff guard
- pair-programmer: hard stop at the plan (sessions drifted into
  implementing after "outline what we need"), clarified clarify-vs-ask,
  output shape
- frontend-design: context-fit direction for utilitarian surfaces,
  design-system discovery first, conditional typography, verification
  checklist, accessibility baseline, do-not-use triggers
- tmux: helper preflight, existing-pane recipe with verification, remote
  SSH tmux examples, tee-to-log for long jobs, scrollback limits, codex
  subcommand --help checks
- agent-browser: doctor/env preflight (stale AGENT_BROWSER_EXECUTABLE_PATH),
  auth-profile validation, --full warning, shared-browser discipline,
  screenshot/errors fallback, non-trigger boundaries
- helium-browser-use: Helium-mention trigger, jq-filtered /json/list
  (raw listing leaked extension targets), read-only existing-tab rules,
  profiling guardrails, stale-tunnel recovery in remote.md
- niri-computer-use: $ACU_DIR pattern (relative paths broke from repo
  cwds), acu-state JSON shape + null focus handling, focus guard,
  by-window screenshots, interruption-risk tiers, troubleshooting section
- learn: propose-only mode for audit sessions, CLAUDE.md conflict
  handling, duplicate-check across levels, tighter exclusions
- learn-skill: context-visibility guard (forked runs lost the session),
  shared agents/skills placement, harness-neutral skill-creator handoff,
  Evidence field
- playground: mandatory template read, xdg-open on Linux, smoke-test
  checklist, innerHTML escaping warning
- review-swarm: sandbox-level read-only enforcement + post-review dirty
  check (a "read-only" reviewer committed once), reviewer-shape
  adaptations, untracked-file scoping, REVIEW.md discovery, Codex spawn
  fallback, fix/re-review handoff
- btca-local: fix unclosed workflow tag, repo-reference normalization,
  vendored-checkout rule, commit-pinned citations

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Kabilan108 and others added 2 commits July 12, 2026 20:52
- frontend-design: reword system-font ban so it no longer contradicts
  the local/system-font exception in the Typography bullet
- tmux: preflight all three helper wrappers, not just send-to-pane

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
4.5 months of cross-harness transcript data (2,317 main sessions):
playground had 2 real uses, deslop 1, learn-skill 3. deslop overlaps the
harness-native /simplify and /code-review --fix; learn-skill is superseded
by the tracer-digest pipeline and the audit playbook. Rewrote the skills
README to match the actual skill set (it described a long-removed one).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Kabilan108 and others added 3 commits July 12, 2026 21:26
48-session Spark review batch + deterministic metrics over the refreshed
dataset (through 2026-07-12), findings segmented by model + harness:

- handoff: proactive phase-boundary trigger — the single most repeated
  recommendation across both harnesses for long sessions
- commit: confirm ambiguous commit outcomes via git log -1 before
  retrying (duplicate/empty-commit retries observed on codex)
- agent-browser: snapshot at milestones, one verification pass per
  action batch (snapshot-polling loops were the top browser churn)
- tmux: never resend a command to a pane without capture-pane
  confirming the prior attempt's outcome
- codex AGENTS.md: skill routing table — codex had no pointer to the
  shared skills, explaining systematic review-swarm/pair-programmer
  misses in review-shaped codex sessions

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Tag every digest item with model + harness (behavior differs materially
across them; never generalize from one), and add a skill-friction section
plus explicit high-signal anti-pattern shapes (repeated commands, writes
without checks, repeated corrections) from the usage-analysis findings.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Codifies the audit procedure (source refresh, deterministic rebuild,
invocation indexing, spark review batch, model+harness-segmented
synthesis, user-approved cuts) so future rounds are a defined process
instead of ad-hoc handoffs.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
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.

1 participant