skills-catalog/ln-636-manual-test-auditor/SKILL.md
Checks manual test scripts for harness adoption, golden files, fail-fast, config sourcing, idempotency. Use when auditing manual test quality.
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 (
shared/,references/,../ln-*) are relative to skills repo root. If not found at CWD, locate this SKILL.md directory and go up one level for repo root. Ifshared/is missing, fetch files via WebFetch fromhttps://raw.githubusercontent.com/levnikolaevich/claude-code-skills/master/skills/{path}.
Type: L3 Worker
Specialized worker auditing manual test scripts for quality and best-practice compliance.
tests/manual/ against quality dimensionsMANDATORY READ: Load shared/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.
MANDATORY READ: Load shared/references/two_layer_detection.md for detection methodology.
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/Ashared/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
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
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
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
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
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
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
Effort: S
MANDATORY READ: Load shared/references/audit_worker_core_contract.md and shared/references/audit_scoring.md.
Severity mapping:
MANDATORY READ: Load shared/references/audit_worker_core_contract.md and shared/templates/audit_worker_report_template.md.
Write JSON summary per shared/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 Test Quality" and checks: harness_adoption, golden_file_completeness, config_sourcing, fail_fast_compliance, template_compliance, idempotency, documentation.
Return summary per shared/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)
MANDATORY READ: Load shared/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)MANDATORY READ: Load shared/references/audit_worker_core_contract.md.
{output_dir}/ln-636--global.md (atomic single Write call)shared/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.