--- name: harness-review description: "Use when reviewing this C#/.NET Harness repository: local changes, generated phase files, step outputs, implementation diffs, missing tests, dotnet validation readiness, or compliance with AGENTS.md, docs/ARCHITECTURE.md, docs/ADR.md, and Harness acceptance criteria." --- # Harness Review ## Overview Use this skill to review Harness work against the repository's persistent rules, architecture docs, C#/.NET SDK constraints, TDD guard policy, and executable verification requirements. Prioritize bugs, regressions, missing tests, and rule violations. ## Review Process 1. Read `/AGENTS.md`, `/docs/ARCHITECTURE.md`, and `/docs/ADR.md`. 2. Inspect the changed files with `git status --short` and `git diff`. 3. Check architecture, C#/.NET stack choices, related C# test coverage, critical rules, and `dotnet` validation readiness. 4. Run Python Harness self-tests when relevant and use `python scripts/validate_workspace.py` for the default build/test review. If a command cannot be run, report that as residual risk. 5. Lead with actionable findings. Keep summaries secondary. ## Checklist | Item | Question | | --- | --- | | Architecture | Does the change follow `docs/ARCHITECTURE.md` ownership boundaries? | | Stack | Does the change stay within the C#/.NET SDK and `dotnet` CLI decisions documented in `docs/ADR.md`, using the installed `dotnet` without SDK installation or `global.json` pinning? | | Tests | Are new or changed behaviors covered by Python Harness tests or related C# tests? | | TDD Guard | Would C# production `.cs` edits be blocked without a related C# test file? | | Critical Rules | Does the change violate any `AGENTS.md` CRITICAL rule? | | Build | Does `python scripts/validate_workspace.py` honor `HARNESS_VALIDATION_COMMANDS`, otherwise prefer one root `.sln` and fall back to one root `.csproj`, then run the documented `dotnet` validation sequence? Do the Python self-tests and workspace validation pass? | When no root `.sln` or `.csproj` exists, treat the C#/.NET guidance messages `No C#/.NET validation target found.` and `Add a root .sln or .csproj, or set HARNESS_VALIDATION_COMMANDS.` with a successful exit as the expected no-project path, not a build-readiness failure. ## Output Format If there are findings, list them first in severity order with file and line references when possible. Then include this table: | 항목 | 결과 | 비고 | | --- | --- | --- | | 아키텍처 준수 | PASS/FAIL | {상세} | | 기술 스택 준수 | PASS/FAIL | {상세} | | 테스트 존재 | PASS/FAIL | {상세} | | TDD Guard | PASS/FAIL | {상세} | | CRITICAL 규칙 | PASS/FAIL | {상세} | | 빌드/검증 가능 | PASS/FAIL | {상세} | When there are no findings, say that clearly, then mention any commands not run or remaining risk.