plugins/codebase-audit-suite/skills/ln-636-manual-test-auditor/SKILL.md
Audits manual test evidence quality: reproducibility, fail-fast behavior, expected evidence/golden files, idempotency, and documentation. Use when auditing manual tests.
npx skillsauth add levnikolaevich/claude-code-skills ln-636-manual-test-auditorInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Paths: File paths (
references/,../ln-*) are relative to this skill directory.
Type: L3 Worker
Specialized worker auditing whether manual test scripts produce reproducible, useful evidence.
tests/manual/ against quality dimensionsREWRITE_MANUAL_EVIDENCE or KEEP_MANUAL_EVIDENCEMANDATORY READ: Load references/audit_worker_core_contract.md.
Receives contextStore with: tech_stack, testFilesMetadata (filtered to type: "manual"), codebase_root, output_dir.
Manual test metadata includes: suite_dir, has_expected_dir, harness_sourced.
Detection policy: use two-layer detection (candidate scan, then context verification); load references/two_layer_detection.md only when the verification method is ambiguous.
tests/manual/config.sh -- shared configurationtests/manual/test_harness.sh -- shared test framework (if exists)tests/manual/test-all.sh -- master runnertests/manual/TEMPLATE-*.sh -- test templates (if exist)tests/manual/regenerate-golden.sh -- golden file regeneration (if exists)00-setup/*.sh, tools/*.sh)? Setup scripts have different requirements -- skip harness/golden checkstest-all.sh)? Master runners orchestrate, not test -- skip all checks except fail-fasttest_harness.sh exists, harness adoption check is N/Areferences/templates/audit_worker_report_template.md, write to {output_dir}/ln-636--global.md in single Write callWhat: Test script uses shared framework (run_test, init_test_state) instead of custom assertion logic
Detection:
run_test, init_test_state in scripttest_harness.sh does not exist in project -> skip this check entirelySeverity: HIGH (custom logic = maintenance burden, inconsistent reporting)
Recommendation: Refactor to use shared run_test from test_harness.sh
Action: REWRITE_MANUAL_EVIDENCE
Effort: M
What: Test suite has expected/ directory with reference files matching test scenarios
Detection:
expected/ subdirectoryrun_test calls) vs number of expected filesdiff against expected files but expected dir is missing -> findingLayer 2: Not all tests need golden files. Tests validating HTTP status codes, timing, or dynamic data may legitimately skip golden comparison -> skip if test has no diff or comparison against files
Severity: HIGH (no golden files = no regression detection for output correctness)
Recommendation: Add expected/ directory with reference output files
Action: REWRITE_MANUAL_EVIDENCE
Effort: M
What: Script sources shared config.sh for consistent configuration
Detection:
source.*config.sh or . .*config.shLayer 2: If script is self-contained utility (e.g., tools/*.sh) -> skip
Severity: MEDIUM
Recommendation: Add source "$THIS_DIR/../config.sh" for shared configuration
Action: REWRITE_MANUAL_EVIDENCE
Effort: S
What: Script uses set -e and returns exit code 1 on failure
Detection:
set -e (or set -eo pipefail)|| true everywhere)Severity: HIGH (silent failures mask broken tests)
Recommendation: Add set -e at script start, ensure test failures propagate
Action: REWRITE_MANUAL_EVIDENCE
Effort: S
What: Script follows project test templates (TEMPLATE-api-endpoint.sh, TEMPLATE-document-format.sh)
Detection:
tests/manual/, check structural alignment:
THIS_DIR, EXPECTED_DIR)source config.sh, check_jq, setup_auth)Layer 2: Older scripts written before templates may diverge. Flag as MEDIUM, not HIGH
Severity: MEDIUM
Recommendation: Align script structure with project TEMPLATE files
Action: REWRITE_MANUAL_EVIDENCE
Effort: M
What: Script can be rerun safely without side effects from previous runs
Detection:
trap.*EXIT, rm -f, cleanup functionsLayer 2: Scripts that only READ data (GET requests, queries) are inherently idempotent -> skip
Severity: MEDIUM
Recommendation: Add cleanup trap or use unique identifiers per run
Action: REWRITE_MANUAL_EVIDENCE
Effort: S-M
What: Test suite directory has README.md explaining purpose and prerequisites
Detection:
NN-feature/) contains README.mdLayer 2: Setup directories (00-setup/) and utility directories (tools/) may not need README -> skip
Severity: LOW
Recommendation: Add README.md with test purpose, prerequisites, usage
Action: REWRITE_MANUAL_EVIDENCE
Effort: S
MANDATORY READ: Load references/audit_scoring.md.
Severity mapping:
MANDATORY READ: Load references/templates/audit_worker_report_template.md.
Write JSON summary per references/audit_summary_contract.md. In managed mode the caller passes both runId and summaryArtifactPath; in standalone mode the worker generates its own run-scoped artifact path per shared contract.
Write report to {output_dir}/ln-636--global.md with category: "Manual Evidence" and checks: harness_adoption, golden_file_completeness, config_sourcing, fail_fast_compliance, template_compliance, idempotency, documentation.
Return summary per references/audit_summary_contract.md.
When summaryArtifactPath is absent, write the standalone runtime summary under .hex-skills/runtime-artifacts/runs/{run_id}/evaluation-worker/{worker}--{identifier}.json and optionally echo the same summary in structured output.
Report written: .hex-skills/runtime-artifacts/runs/{run_id}/audit-report/ln-636--global.md
Score: X.X/10 | Issues: N (C:N H:N M:N L:N)
Apply the already-loaded references/audit_worker_core_contract.md.
tests/manual/ directory exists, return score 10/10 with zero findingsconfig.sh, test_harness.sh, test-all.sh, regenerate-golden.sh, TEMPLATE-*.sh, files in tools/, results/, test-runs/00-setup/) have relaxed requirements (no golden files, no harness needed)REWRITE_MANUAL_EVIDENCE for findings. Summarize compliant scripts as KEEP_MANUAL_EVIDENCE in the report summary, not as findings.Apply the already-loaded references/audit_worker_core_contract.md.
{output_dir}/ln-636--global.md (atomic single Write call)references/audit_output_schema.mdVersion: 1.0.0 Last Updated: 2026-03-13
testing
Audits architecture config boundaries: typed settings, scattered env reads, config leakage, and layer ownership. Use for config architecture.
tools
Finds architecture-level modernization opportunities: obsolete custom mechanisms, overbuilt extension points, and simplifiable architecture. Use when auditing architecture evolution.
development
Builds dependency topology, detects cycles, validates import rules, and calculates coupling metrics. Use when auditing architecture topology.
testing
Checks layer, resource ownership, and orchestration boundaries. Use when auditing architecture boundary enforcement.