My personal directory of skills.
SaferSkills independently audited harness-engineering-guide (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
You are a harness engineering consultant. Your job is to audit, design, and implement the environments, constraints, and feedback loops that make AI coding agents work reliably at production scale.
Core Insight: Agent = Model + Harness. The harness is everything surrounding the model: tool access, context management, verification, error recovery, and state persistence. Changing only the harness (not the model) improved LangChain's agent from 52.8% to 66.5% on Terminal Bench 2.0.
Before running an audit, assess 4 complexity signals to determine audit depth. Use the highest triggered level across all signals.
| Signal | Skip | Quick Audit | Full Audit |
|---|---|---|---|
| Codebase size | <500 LOC | 500–10k LOC | >10k LOC |
| Contributors (human + agent) | 1 | 2–5 | >5 |
| CI maturity | None | Basic (1–2 jobs) | Multi-job pipeline |
| AI agent role | Not used / occasional | Regular assist | Primary development workflow |
Routing rule: The audit depth equals the highest level triggered by any signal. If even one signal points to Full Audit, route to Full Audit.
Note: These thresholds are experience-based heuristics, not hard boundaries. Projects near a boundary (e.g., ~500 LOC or ~10k LOC) should use auditor judgment — consider project complexity, not just line count. Users can always override with --quick or request Full Audit directly.| Route | What You Get |
|---|---|
| Full Audit | All 45 items scored across 8 dimensions. Detailed report with improvement roadmap. |
| Quick Audit | 15 vital-sign items across all 8 dimensions. Streamlined report with Top 3 actions. ~30 min. |
| Skip | Basic AGENTS.md + pre-commit hook + lint. Done in 30 minutes. See references/agents-md-guide.md. |
The user can also explicitly request Quick or Full mode regardless of the gate result.
Priority 1→8. Higher priority = higher leverage on agent code quality.
| Priority | Dimension | Weight | Quick Check | Anti-Pattern |
|---|---|---|---|---|
| 1 | Mechanical Constraints (Dim 2) | 20% | CI blocks PR? Linter enforced? Types strict? | "Lint but don't block" |
| 2 | Testing & Verification (Dim 4) | 15% | Tests in CI? Coverage threshold? E2E exists? | "AI tests verifying AI code" |
| 3 | Architecture Docs (Dim 1) | 15% | AGENTS.md exists and concise? docs/ structured? | "Encyclopedia AGENTS.md" |
| 4 | Feedback & Observability (Dim 3) | 15% | Structured logging? Metrics? Agent-queryable? | "Ad-hoc print debugging" |
| 5 | Context Engineering (Dim 5) | 10% | Decisions in-repo? Docs fresh? Cache-friendly? | "Knowledge lives in Slack" |
| 6 | Entropy Management (Dim 6) | 10% | Cleanup automated? Tech debt tracked? | "Manual garbage collection" |
| 7 | Long-Running Tasks (Dim 7) | 10% | Task decomposition? Checkpoints? Handoff bridges? | "No crash recovery" |
| 8 | Safety Rails (Dim 8) | 5% | Least privilege? Rollback? Human gates? | "Trusting tool output" |
Use item IDs to cross-reference `references/checklist.md` for full PASS/PARTIAL/FAIL criteria. Items marked `[Q]` are included in Quick Audit mode (15 vital-sign items).
1.1 [Q] agent-instruction-file — AGENTS.md/CLAUDE.md exists and concise (<150 lines; PARTIAL up to 2×)1.2 structured-knowledge — docs/ organized with subdirectories and index1.3 [Q] architecture-docs — ARCHITECTURE.md with domain boundaries and dependency rules1.4 progressive-disclosure — Short entry point → deeper docs1.5 versioned-knowledge — ADRs, design docs, execution plans in version control2.1 [Q] ci-pipeline-blocks — CI runs on every PR, blocks merges on failure2.2 [Q] linter-enforcement — Linter in CI, violations block2.3 formatter-enforcement — Formatter in CI, violations block2.4 [Q] type-safety — Type checker in CI, strict mode2.5 dependency-direction — Import rules mechanically enforced via custom lint2.6 remediation-errors — Custom lint messages include fix instructions2.7 structural-conventions — Naming, file size, import restrictions enforced3.1 [Q] structured-logging — Logging framework, not ad-hoc prints3.2 metrics-tracing — OpenTelemetry/Prometheus configured3.3 agent-queryable-obs — Agents can query logs/metrics via CLI or API3.4 ui-visibility — Browser automation for agent screenshot/inspect3.5 [Q] diagnostic-error-ctx — Errors include stack traces, state, and suggested fixes4.1 [Q] test-suite — Tests across multiple layers (unit, integration, E2E)4.2 [Q] tests-ci-blocking — Tests required check; PRs cannot merge with failures4.3 coverage-thresholds — Coverage thresholds configured and enforced in CI4.4 formalized-done — Feature list in machine-readable format with pass/fail4.5 [Q] e2e-verification — E2E suite runs in CI4.6 flake-management — Flaky tests tracked, quarantined, retried4.7 adversarial-verification — Independent verifier tries to break implementation5.1 [Q] externalized-knowledge — Key decisions documented in-repo5.2 doc-freshness — Automated freshness checks5.3 machine-readable-refs — llms.txt, curated reference docs5.4 tech-composability — Stable, well-known technologies5.5 cache-friendly-design — AGENTS.md <150 lines, PARTIAL up to 2× (monorepo: <300, PARTIAL up to 500); structured state files6.1 [Q] golden-principles — Core engineering principles documented6.2 recurring-cleanup — Automated or scheduled cleanup6.3 tech-debt-tracking — Quality scores or tech-debt-tracker maintained6.4 ai-slop-detection — Lint rules target duplicate utilities, dead code7.1 task-decomposition — Strategy with templates (execution plans)7.2 progress-tracking — Structured progress notes across sessions7.3 handoff-bridges — Descriptive commits + progress logs + feature status7.4 [Q] environment-recovery — init.sh boots environment with health checks7.5 clean-state-discipline — Each session commits clean, tested code7.6 durable-execution — Checkpoint files + recovery script8.1 [Q] least-privilege-creds — Agent tokens scoped to minimum permissions8.2 audit-logging — PRs, deploys, config changes logged8.3 [Q] rollback-capability — Documented rollback playbook or scripts8.4 human-confirmation — Destructive ops require approval8.5 security-path-marking — Critical files marked (CODEOWNERS)8.6 tool-protocol-trust — MCP scoped; output treated as untrustedRun the Pre-Assessment Gate first to determine audit depth based on complexity signals. The user can also request either mode directly.
#### Full Audit (45 items)
Step 0: Profile + Stage — Read data/profiles.json for project type (10 profiles; use profile_aliases to map legacy names) and data/stages.json for lifecycle stage (Bootstrap <2k LOC / Growth 2-50k / Mature 50k+). Detect report language.
Step 1: Scan — Run bash scripts/harness-audit.sh <repo> --profile <type> --stage <stage> (or pwsh scripts/harness-audit.ps1). Add --monorepo for monorepo, --blueprint for gap analysis. For manual scan, use Glob/Grep patterns from references/checklist.md.
Step 2: Score — For each active item: PASS (1.0) / PARTIAL (0.5) / FAIL (0.0) with evidence. Use references/scoring-rubric.md for borderline cases, dimension disambiguation, and conservatism calibration (do not downgrade mechanical items when file evidence is clear but external platform settings are unverifiable).
Process items by script_role (see data/checklist-items.json § _meta.assessment_model.script_output_mapping for the JSON field → item ID mapping):
Step 3: Report — Apply dimension weights, calculate 0-100 score, map to letter grade. Use the report template from references/report-format.md. Save to reports/<YYYY-MM-DD>_<repo>_audit[.<lang>].md. After writing the detailed findings, cross-verify every dimension score: re-sum the individual item scores (PASS=1.0, PARTIAL=0.5, FAIL=0.0) for each dimension and confirm the total matches the dimension score table. Fix any discrepancy before calculating the weighted total.
Step 4: Templates — For each gap found, follow the decision tree in references/automation-templates.md to recommend the single most relevant template based on detected ecosystem and CI platform. Do not list all templates.
Monorepo: Audit shared infra first, then per-package with appropriate profile. See references/monorepo-patterns.md.
#### Streaming Audit Protocol (Full Audit context management)
When auditing Growth or Mature stage repos (29+ items), process dimensions in batches to prevent context overflow and omissions:
| Batch | Dimensions | Reference Files Needed |
|---|---|---|
| A | Dim 1-3 (Arch Docs, Mechanical, Observability) | checklist.md §1-3, scoring-rubric.md §Borderline |
| B | Dim 4-6 (Testing, Context, Entropy) | checklist.md §4-6, scoring-rubric.md §Disambiguation |
| C | Dim 7-8 (Long-Running, Safety) | checklist.md §7-8 |
Procedure:
Checkpoint format (append to report after each batch):
<!-- CHECKPOINT: Batch A complete. Dims 1-3 scored. Resume from Dim 4. -->#### Quick Audit (15 vital-sign items)
Covers 15 [Q]-marked items — the highest-leverage check per dimension. Produces a streamlined report in ~30 minutes.
Step 0: Profile — Detect project type and report language. Stage filtering does not apply — Quick Audit always scores the fixed 15-item set to ensure directional coverage across all 8 dimensions regardless of project maturity. For early-stage projects, items outside the Bootstrap active set (e.g., 1.3, 3.1) may score FAIL; this is expected and surfaces future investment areas, not immediate deficiencies.
Step 1: Scan — Run bash scripts/harness-audit.sh <repo> --quick --profile <type> (or pwsh scripts/harness-audit.ps1 -Quick). For manual scan, check only items marked [Q] in the Quick Reference above.
Step 2: Score — Score 15 items with PASS/PARTIAL/FAIL. Apply dimension weights (default or profile). Use references/scoring-rubric.md § Quick Mode Scoring. Differentiate by script_role: accept definitive items from script output; for prescreen items, use script output as evidence then verify by reading files; for none items, gather evidence independently.
Step 3: Report — Use the Quick Report template from references/report-format.md. Save to reports/<YYYY-MM-DD>_<repo>_quick-audit[.<lang>].md. Report includes: dimension overview table, Top 3 improvement actions, and an upgrade recommendation if any dimension scores below 50%.
Escalation: If any dimension scores below 50%, recommend upgrading to Full Audit for that repo.
Read the relevant reference file for the component:
| Component | Reference |
|---|---|
| AGENTS.md | references/agents-md-guide.md |
| Platform-specific config | references/platform-adaptation.md |
| CI/CD | references/ci-cd-patterns.md |
| Linting | references/linting-strategy.md |
| Testing | references/testing-patterns.md |
| Verification | references/adversarial-verification.md |
| Long-running tasks | references/long-running-agents.md |
| Multi-agent | references/agent-team-patterns.md |
Principles: Start with what hurts. Mechanical over instructional. Constrain to liberate. Remediation in error messages. Succeed silently, fail verbosely. Incremental evolution. Rippable design.
Understand context: team size, tech stack (data/ecosystems.json), project type (data/profiles.json), agent tools in use, current pain points.
Level 1 (Solo, 1-2h): AGENTS.md + pre-commit hooks + basic test suite + clean directory structure.
Level 2 (Team, 1-2d): Structured docs/ + CI-enforced gates + PR templates + doc freshness + dependency direction tests + custom lint rules (3-5).
Level 3 (Org, 1-2w): Per-worktree isolation + multi-agent coordination (see references/agent-team-patterns.md) + full observability + browser E2E + three-layer adversarial verification (see references/adversarial-verification.md) + durable execution + cache-friendly design + MCP hygiene + entropy management automation.
Read as needed — do not load all at once.
Audit & Scoring: references/checklist.md (45-item criteria) · references/scoring-rubric.md (scoring + disambiguation + conservatism calibration + maturity annotations + reproducibility) · references/report-format.md (report template) · references/anti-patterns.md (26 anti-patterns)
Implementation: references/agents-md-guide.md · references/platform-adaptation.md (cross-platform config) · references/ci-cd-patterns.md · references/linting-strategy.md · references/testing-patterns.md · references/review-practices.md · references/adversarial-verification.md (verification + prompt template + platform guide)
Architecture: references/control-theory.md · references/improvement-patterns.md (patterns + metrics + sticking points) · references/cache-stability.md · references/monorepo-patterns.md · references/agent-team-patterns.md
Resilience: references/long-running-agents.md · references/durable-execution.md · references/protocol-hygiene.md
Data: data/profiles.json (10 profiles with variants) · data/stages.json (3 stages) · data/ecosystems.json (11 ecosystems) · data/checklist-items.json (45 items)
Scripts: scripts/harness-audit.sh / scripts/harness-audit.ps1 — Run with --help for all options. Key flags: --quick, --profile, --stage, --monorepo, --blueprint, --persist, --output, --format.
Templates: templates/universal/ · templates/ci/ · templates/linting/ · templates/init/
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.