agentsclimarketplace

Harness audit

Skill ClydeShen/harness-skill/skills/engineering/harness-audit

10 Claude Code skills for compound engineering workflows — session discipline, harness auditing, phase governance, and issue pipeline

Install
npx -y skills add ClydeShen/harness-skill --skill harness-audit

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 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.

What its author says it does

Copied from the file, not written here

Scans a project for agent-harness gaps and outputs a prioritised list with paste-ready config snippets to close them. Covers hooks, CI, pre-commit, instruction file quality, init.sh, and session discipline. Use when starting a new project, auditing an existing harness, writing or reviewing CLAUDE.md/AGENTS.md, setting up CI gates, beginning multi-day autonomous work, or when user says "set up harness", "health check", "agent discipline", "project setup", "pre-commit hooks", "stop hook", "verification gap".

SKILL.md

7.5 KB, as published. Nobody here has run it

Harness Engineering — Gap Analysis

You are a gap analysis tool. Never create files, run git, or say "Harness is set up" or "Done".


Reference files

Load on demand — do not load all upfront:

  • references/detect.md — load at the start of Phase 1 (runtime detection rules)
  • references/scenarios.md — load if the user describes a specific scenario (brownfield, monorepo, multi-day, Kiro, Gemini)
  • references/universal-snippets.md — load when generating a fix snippet for hooks, CI, init.sh, or CLAUDE.md
  • references/node-snippets.md — load instead of (or after) universal-snippets when a Node.js or TypeScript project is detected
  • references/python-snippets.md — load instead of (or after) universal-snippets when a Python project is detected
  • references/kiro-snippets.md — load when .kiro/ is detected or the user mentions Kiro
  • references/recommended-skills.md — load when outputting the "Recommended skill collections" section

Detection Checklist

Check each item. List unsatisfied items as gaps in priority order.

0. Pre-task checklist (for tasks >30 min)

Before analyzing gaps, state: "run lint + build to verify the baseline, check git status, read the relevant spec, Initial Interview with Sprint Contract."

1. Stop hook

.claude/settings.json absent or no Stop entry? → Gap: Missing Stop hook. (Highest priority — nothing precedes it.)

2. PostToolUse hook

.claude/settings.json absent or no PostToolUse entry? → Gap: Missing PostToolUse hook. Separate from Stop hook.

3. Instruction file

CLAUDE.md or AGENTS.md present? (Fully equivalent — one is sufficient.)

  • If neither → Gap: No agent instruction file.
  • If present and >200 lines → Gap: Instruction file exceeds 200-line ceiling.
  • If AGENTS.md is present (user mentions AGENTS.md or asks about CLAUDE.md): You MUST state: "AGENTS.md is the instruction file — it is equivalent to CLAUDE.md, you do not need a CLAUDE.md." Then comment on its quality (line count vs 200 ceiling). Then identify OTHER gaps.

4. Memory system

Check for any of these signals (one positive signal = gap closed):

  • MEMORY.md present in project root or ~/.claude/projects/*/memory/MEMORY.md (file-based memory — zero dependencies)
  • memory/ or .memory/ directory in project root
  • mem0 in requirements.txt, package.json, or pyproject.toml (most popular agent memory library)
  • @mem0ai/mem0 or mem0ai import in code
  • Any mention of "mem0", "memory system", "persistent memory" in CLAUDE.md / AGENTS.md
  • ~/.agentmemory/ directory present, or agentmemory running on port 3111
  • A memory-related hook entry in .claude/settings.json hooks

No signal → Gap: No memory system configured. Why: mid-session interruption recovery falls back to GitHub per-AC comments (requires GitHub) or cold git-log reconstruction — no local recovery path exists without a memory system. Simplest fix: create MEMORY.md at project root and add a note in CLAUDE.md to load it at session start. For coding-agent-native persistent memory: agentmemory (npm install -g @agentmemory/agentmemory) or memobank. For a general-purpose library: mem0.

5. CI

.github/workflows/*.yml runs both lint AND build? Build-only → Gap: CI only runs build — no lint.

6. Pre-commit

.husky/ or .pre-commit-config.yaml present?

7. Health script

init.sh at root — exists and executable?

8. Onboarding config

docs/agents/ with all five files (issue-tracker.md, triage-labels.md, domain.md, github-project.md, session-config.md)?

  • All present → "Already in place" — do NOT suggest /setup-harness-skills
  • Missing → after gaps, add: "Optional: Run /setup-harness-skills" for long-running work.

Also check .harness/config.json:

  • Absent → note "no GSD-compatible planning structure" (optional gap, not in top-5 priority)
  • Present without harness key → "GSD detected but harness skills not configured" → after gaps, add: "GSD detected. Run /setup-harness-skills to configure GitHub integration."
  • Present with harness key → Already in place: "GSD-compatible planning structure (.harness/)"

9. Recommended skill collections

Check ~/.claude/skills/ (or equivalent platform path) for these collections:

  • GSD Redux — any gsd-* skill present? If none → record suggestion.
  • Superpowers — any of brainstorming, systematic-debugging, writing-plans, subagent-driven-development present? If none → record suggestion.

These are suggestions, not gaps — never assign them a priority number.


Runtime-Specific

Kiro (.kiro/ detected or user mentions Kiro): You MUST include the word "Kiro" in your response. Add after gaps: ".kiro/hooks/ with agentTurnEnd replaces Stop hook; postToolUse replaces PostToolUse. .kiro/steering/ replaces CLAUDE.md."

Gemini (.gemini/ detected or user mentions Gemini): You MUST include "GEMINI.md" as the instruction file name. Add after gaps: "GEMINI.md is the instruction file (same 200-line ceiling). Hook equivalents are not publicly documented — verify in your Gemini agent's settings."

Brownfield (existing lint errors): State "This is a brownfield codebase." Recommend eslint --fix . in one cleanup commit. Pre-commit catches new violations only. Never require manual fixes.


Multi-Day Tasks (week+)

For long autonomous work, include ALL of these phrases:

  • "one active task at a time"
  • "Fuzzy Done" or "Proxy Signal" or "Confidence Exit" or "Planning=Done"
  • "Judge audit" — as the exit criterion
  • "observable behavior" as completion proof
  • Session handoff strategy

Output Format

## Already in place
## Harness gaps (priority order)
### 1. Missing Stop hook
**Why it matters:** [one sentence]
**Fix:** [paste-ready snippet]
### 2. [Next gap]
**Why it matters:** [one sentence]
**Fix:** [paste-ready snippet]
## What to do next
## Recommended skill collections (only when absent)
- **GSD Redux** — compound engineering workflow skills for long-running tasks
  Repo: https://github.com/open-gsd/get-shit-done-redux
- **Superpowers** — curated skill toolkit for advanced agent workflows
  Repo: https://github.com/obra/superpowers

Only include the "Recommended skill collections" section if at least one collection was absent (check #9). Omit entirely if both are installed.

When hooks are a gap, include this JSON snippet:

{
  "hooks": {
    "Stop": [
      {
        "matcher": "",
        "hooks": [{"type": "command", "command": "echo 'Before declaring done, verify all tasks are truly complete: check git diff, run lint+build, confirm no regressions.'"}]
      }
    ],
    "PostToolUse": [
      {
        "matcher": "Write",
        "hooks": [{"type": "command", "command": "echo 'After every Write: verify the change is correct, run lint+typecheck, commit in logical chunks.'"}]
      }
    ]
  }
}

Keep looking

Skills are one crate of 328,083. 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.