@harness-engineering/cli 1.2.0 → 1.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (52) hide show
  1. package/dist/bin/harness.js +1 -1
  2. package/dist/{chunk-IXT3KLVN.js → chunk-5RQKSZLA.js} +4 -3
  3. package/dist/index.js +1 -1
  4. package/package.json +6 -4
  5. package/dist/agents/commands/claude-code/harness/add-component.md +0 -34
  6. package/dist/agents/commands/claude-code/harness/align-documentation.md +0 -33
  7. package/dist/agents/commands/claude-code/harness/architecture-advisor.md +0 -41
  8. package/dist/agents/commands/claude-code/harness/brainstorming.md +0 -42
  9. package/dist/agents/commands/claude-code/harness/check-mechanical-constraints.md +0 -32
  10. package/dist/agents/commands/claude-code/harness/cleanup-dead-code.md +0 -33
  11. package/dist/agents/commands/claude-code/harness/code-review.md +0 -33
  12. package/dist/agents/commands/claude-code/harness/debugging.md +0 -43
  13. package/dist/agents/commands/claude-code/harness/detect-doc-drift.md +0 -32
  14. package/dist/agents/commands/claude-code/harness/diagnostics.md +0 -43
  15. package/dist/agents/commands/claude-code/harness/enforce-architecture.md +0 -32
  16. package/dist/agents/commands/claude-code/harness/execution.md +0 -43
  17. package/dist/agents/commands/claude-code/harness/git-workflow.md +0 -32
  18. package/dist/agents/commands/claude-code/harness/initialize-project.md +0 -33
  19. package/dist/agents/commands/claude-code/harness/onboarding.md +0 -32
  20. package/dist/agents/commands/claude-code/harness/parallel-agents.md +0 -35
  21. package/dist/agents/commands/claude-code/harness/planning.md +0 -41
  22. package/dist/agents/commands/claude-code/harness/pre-commit-review.md +0 -38
  23. package/dist/agents/commands/claude-code/harness/refactoring.md +0 -35
  24. package/dist/agents/commands/claude-code/harness/skill-authoring.md +0 -35
  25. package/dist/agents/commands/claude-code/harness/state-management.md +0 -35
  26. package/dist/agents/commands/claude-code/harness/tdd.md +0 -42
  27. package/dist/agents/commands/claude-code/harness/validate-context-engineering.md +0 -32
  28. package/dist/agents/commands/claude-code/harness/verification.md +0 -38
  29. package/dist/agents/commands/gemini-cli/harness/add-component.toml +0 -240
  30. package/dist/agents/commands/gemini-cli/harness/align-documentation.toml +0 -238
  31. package/dist/agents/commands/gemini-cli/harness/architecture-advisor.toml +0 -469
  32. package/dist/agents/commands/gemini-cli/harness/brainstorming.toml +0 -326
  33. package/dist/agents/commands/gemini-cli/harness/check-mechanical-constraints.toml +0 -249
  34. package/dist/agents/commands/gemini-cli/harness/cleanup-dead-code.toml +0 -258
  35. package/dist/agents/commands/gemini-cli/harness/code-review.toml +0 -461
  36. package/dist/agents/commands/gemini-cli/harness/debugging.toml +0 -436
  37. package/dist/agents/commands/gemini-cli/harness/detect-doc-drift.toml +0 -215
  38. package/dist/agents/commands/gemini-cli/harness/diagnostics.toml +0 -401
  39. package/dist/agents/commands/gemini-cli/harness/enforce-architecture.toml +0 -222
  40. package/dist/agents/commands/gemini-cli/harness/execution.toml +0 -381
  41. package/dist/agents/commands/gemini-cli/harness/git-workflow.toml +0 -325
  42. package/dist/agents/commands/gemini-cli/harness/initialize-project.toml +0 -257
  43. package/dist/agents/commands/gemini-cli/harness/onboarding.toml +0 -316
  44. package/dist/agents/commands/gemini-cli/harness/parallel-agents.toml +0 -221
  45. package/dist/agents/commands/gemini-cli/harness/planning.toml +0 -405
  46. package/dist/agents/commands/gemini-cli/harness/pre-commit-review.toml +0 -294
  47. package/dist/agents/commands/gemini-cli/harness/refactoring.toml +0 -209
  48. package/dist/agents/commands/gemini-cli/harness/skill-authoring.toml +0 -350
  49. package/dist/agents/commands/gemini-cli/harness/state-management.toml +0 -354
  50. package/dist/agents/commands/gemini-cli/harness/tdd.toml +0 -247
  51. package/dist/agents/commands/gemini-cli/harness/validate-context-engineering.toml +0 -186
  52. package/dist/agents/commands/gemini-cli/harness/verification.toml +0 -334
@@ -1,461 +0,0 @@
1
- # Generated by harness generate-slash-commands. Do not edit.
2
- description = "Structured code review with automated harness checks"
3
- prompt = """
4
- <context>
5
- Cognitive mode: adversarial-reviewer
6
- Type: rigid
7
- </context>
8
-
9
- <objective>
10
- Structured code review with automated harness checks
11
- </objective>
12
-
13
- <execution_context>
14
- --- SKILL.md (agents/skills/claude-code/harness-code-review/SKILL.md) ---
15
- # Harness Code Review
16
-
17
- > Full code review lifecycle — request, perform, respond — with automated harness checks and technical rigor over social performance.
18
-
19
- ## When to Use
20
-
21
- - When requesting a review of your completed work (before merge)
22
- - When performing a review of someone else's code (human or agent)
23
- - When responding to review feedback on your own code
24
- - When `on_review` or `on_pr` triggers fire
25
- - NOT for in-progress work (complete the feature first)
26
- - NOT for rubber-stamping (if you cannot find issues, look harder or state confidence level)
27
- - NOT for style-only feedback (leave that to linters)
28
-
29
- ## Context Assembly
30
-
31
- Before beginning any review phase, assemble context proportional to the change size.
32
-
33
- ### 1:1 Context Ratio Rule
34
-
35
- For every N lines of diff, gather approximately N lines of surrounding context. This ensures the reviewer understands the ecosystem around the change, not just the change itself.
36
-
37
- - **Small diffs (<20 lines):** Gather proportionally more context — aim for 3:1 context-to-diff. Small changes often have outsized impact and need more surrounding understanding.
38
- - **Medium diffs (20-200 lines):** Target 1:1 ratio. Read the full files containing changes, plus immediate dependencies.
39
- - **Large diffs (>200 lines):** 1:1 ratio is the floor, but prioritize ruthlessly using the priority order below. Flag large diffs as a review concern — they are harder to review correctly.
40
-
41
- ### Context Gathering Priority Order
42
-
43
- Gather context in this order until the ratio is met:
44
-
45
- 1. **Files directly imported/referenced by changed files** — read the modules that the changed code calls or depends on. Without this, you cannot evaluate correctness.
46
- 2. **Corresponding test files** — find tests for the changed code. If tests exist, read them to understand expected behavior. If tests are missing, note this as a finding.
47
- 3. **Spec/design docs mentioning changed components** — search `docs/specs/`, `docs/design-docs/`, and `docs/plans/` for references to the changed files or features. The spec defines "correct."
48
- 4. **Type definitions used by changed code** — read interfaces, types, and schemas that the changed code consumes or produces. Type mismatches are high-severity bugs.
49
- 5. **Recent commits touching the same files** — see Commit History below.
50
-
51
- ### Context Assembly Commands
52
-
53
- ```bash
54
- # 1. Get the diff and measure its size
55
- git diff --stat HEAD~1 # or the relevant commit range
56
- git diff HEAD~1 -- <file> # per-file diff
57
-
58
- # 2. Find imports/references in changed files
59
- grep -n "import\|require\|from " <changed-file>
60
-
61
- # 3. Find corresponding test files
62
- find . -name "*<module-name>*test*" -o -name "*<module-name>*spec*"
63
-
64
- # 4. Search for spec/design references
65
- grep -rl "<component-name>" docs/specs/ docs/design-docs/ docs/plans/
66
-
67
- # 5. Find type definitions
68
- grep -rn "interface\|type\|schema" <changed-file> | head -20
69
- ```
70
-
71
- ### Commit History Context
72
-
73
- As part of context assembly (priority item #5), retrieve recent commit history for every affected file:
74
-
75
- ```bash
76
- # Recent commits touching affected files (5 per file)
77
- git log --oneline -5 -- <affected-file>
78
-
79
- # For all affected files at once
80
- git log --oneline -5 -- <file1> <file2> <file3>
81
- ```
82
-
83
- Use commit history to answer:
84
-
85
- - **Is this a hotspot?** If the file has been changed 3+ times in the last 5 commits, it is volatile. Pay extra attention — frequent changes suggest instability or ongoing refactoring.
86
- - **Was this recently refactored?** If recent commits include "refactor" or "restructure," check whether the current change aligns with or contradicts the refactoring direction.
87
- - **Who has been working here?** If multiple authors touched the file recently, there may be conflicting assumptions. Look for consistency.
88
- - **What was the last change?** The most recent commit gives context on the file's trajectory. A bugfix followed by another change to the same area is a yellow flag.
89
-
90
- ### Review Learnings Calibration
91
-
92
- Before starting the review, check for a project-specific calibration file:
93
-
94
- ```bash
95
- # Check if review learnings file exists
96
- cat .harness/review-learnings.md 2>/dev/null
97
- ```
98
-
99
- If `.harness/review-learnings.md` exists:
100
-
101
- 1. **Read the Useful Findings section.** Prioritize these categories during review — they have historically caught real issues in this project.
102
- 2. **Read the Noise / False Positives section.** De-prioritize or skip these categories — flagging them wastes the author's time and erodes trust in the review process.
103
- 3. **Read the Calibration Notes section.** Apply these project-specific overrides to your review judgment. These represent deliberate team decisions, not oversights.
104
-
105
- If the file does not exist, proceed with default review focus areas. After completing the review, consider suggesting that the team create `.harness/review-learnings.md` if you notice patterns that would benefit from calibration.
106
-
107
- ## Change-Type Detection
108
-
109
- After assembling context, determine the change type. This shapes which checklist to apply during review.
110
-
111
- ### Detection Method
112
-
113
- 1. **Explicit argument:** If the review was invoked with a change type (e.g., `--type feature`), use it.
114
- 2. **Commit message prefix:** Parse the most recent commit message for conventional commit prefixes:
115
- - `feat:` or `feature:` → **feature**
116
- - `fix:` or `bugfix:` → **bugfix**
117
- - `refactor:` → **refactor**
118
- - `docs:` or `doc:` → **docs**
119
- 3. **Diff pattern heuristic:** If no prefix is found, examine the diff:
120
- - New files added + tests added → likely **feature**
121
- - Small changes to existing files + test added → likely **bugfix**
122
- - File renames, moves, or restructuring with no behavior change → likely **refactor**
123
- - Only `.md` files or comments changed → likely **docs**
124
- 4. **Default:** If detection is ambiguous, treat as **feature** (the most thorough checklist).
125
-
126
- ```bash
127
- # Parse commit message prefix
128
- git log --oneline -1 | head -1
129
-
130
- # Check for new files
131
- git diff --name-status HEAD~1 | grep "^A"
132
-
133
- # Check if only docs changed
134
- git diff --name-only HEAD~1 | grep -v "\.md$" | wc -l # 0 means docs-only
135
- ```
136
-
137
- ### Per-Type Review Checklists
138
-
139
- Apply the checklist matching the detected change type. These replace the generic review — do not apply all checklists to every change.
140
-
141
- #### Feature Checklist
142
-
143
- - [ ] **Spec alignment:** Does the implementation match the spec/design doc? Are all specified behaviors present?
144
- - [ ] **Edge cases:** Are boundary conditions handled (empty input, max values, null, concurrent access)?
145
- - [ ] **Test coverage:** Are there tests for happy path, error paths, and edge cases? Is coverage meaningful, not just present?
146
- - [ ] **API surface:** Are new public interfaces minimal and well-named? Could any new export be kept internal?
147
- - [ ] **Backward compatibility:** Does this break existing callers? If so, is the migration path documented?
148
-
149
- #### Bugfix Checklist
150
-
151
- - [ ] **Root cause identified:** Does the fix address the root cause, not just the symptom? Is the original issue referenced?
152
- - [ ] **Regression test added:** Is there a test that would have caught this bug before the fix? Does it fail without the fix and pass with it?
153
- - [ ] **No collateral changes:** Does the fix change only what is necessary? Unrelated changes in a bugfix PR are a red flag.
154
- - [ ] **Original issue referenced:** Does the commit or PR reference the bug report or issue number?
155
-
156
- #### Refactor Checklist
157
-
158
- - [ ] **Behavioral equivalence:** Do all existing tests still pass without modification? If tests changed, justify why.
159
- - [ ] **No functionality changes:** Does the refactor introduce any new behavior, even subtly? New behavior belongs in a feature PR.
160
- - [ ] **Performance preserved:** Could the restructuring introduce performance regressions (e.g., extra allocations, changed query patterns)?
161
- - [ ] **Improved clarity:** Is the code demonstrably clearer after the refactor? If not, the refactor may not be justified.
162
-
163
- #### Docs Checklist
164
-
165
- - [ ] **Accuracy vs. current code:** Do the documented behaviors match what the code actually does? Run the examples if possible.
166
- - [ ] **Completeness:** Are all public interfaces documented? Are there undocumented parameters, return values, or error conditions?
167
- - [ ] **Consistency:** Does the new documentation follow the same style, terminology, and structure as existing docs?
168
- - [ ] **Links valid:** Do all internal links resolve? Are external links still live?
169
-
170
- ## Process
171
-
172
- This skill covers three distinct roles. Follow the section that matches your current role.
173
-
174
- ---
175
-
176
- ### Role A: Requesting a Review
177
-
178
- When you have completed work and need it reviewed.
179
-
180
- #### 1. Prepare the Review Context
181
-
182
- Before requesting review, assemble the following:
183
-
184
- - **Commit range:** The exact SHAs or branch diff that constitute the change. Use `git log --oneline base..HEAD` to confirm.
185
- - **Description:** A concise summary of WHAT changed and WHY. Not a commit-by-commit retelling — the reviewer can read the diff. Focus on intent, tradeoffs, and anything non-obvious.
186
- - **Plan reference:** If this work implements a plan or spec, link to it. The reviewer needs to know what "correct" looks like.
187
- - **Test evidence:** Confirm tests pass. Include the test command and output summary. If tests were skipped, explain why.
188
- - **Harness check results:** Run `harness validate` and `harness check-deps` before requesting review. Include results. Fix any failures before requesting.
189
-
190
- #### 2. Dispatch the Review
191
-
192
- - **Identify the right reviewer.** For architectural changes, request review from someone who understands the architecture. For domain logic, someone who understands the domain.
193
- - **Provide the context package** (SHAs, description, plan reference, test evidence, harness results). Do not make the reviewer hunt for context.
194
- - **State what kind of feedback you want.** "Full review" vs "architecture only" vs "test coverage check" — be specific.
195
-
196
- #### 3. Wait
197
-
198
- Do not continue modifying the code under review. If you find issues while waiting, note them but do not push fixes until the review is complete. Interleaving changes with review creates confusion.
199
-
200
- ---
201
-
202
- ### Role B: Performing a Review
203
-
204
- When you are reviewing someone else's code.
205
-
206
- #### 1. Understand Before Judging
207
-
208
- - **Read the description and plan first.** Understand what the change is trying to accomplish before reading code.
209
- - **Read the full diff.** Do not skim. Read every changed file. If the diff is large (>500 lines), note this as a concern — large diffs are harder to review correctly.
210
- - **Check the commit history.** Are commits atomic and well-described? Or is it one giant squash with "updates"?
211
-
212
- #### 2. Run Automated Checks
213
-
214
- Run these commands and include results in your review:
215
-
216
- ```bash
217
- harness validate # Full project health check
218
- harness check-deps # Dependency boundary verification
219
- harness check-docs # Documentation drift detection
220
- ```
221
-
222
- If any check fails, this is a **Critical** issue. The code cannot merge with failing harness checks.
223
-
224
- #### 3. Evaluate Code Quality
225
-
226
- Review each changed file against these criteria:
227
-
228
- **Separation of Concerns:**
229
-
230
- - Does each function/module do one thing?
231
- - Are responsibilities clearly divided between files?
232
- - Is business logic separated from infrastructure?
233
-
234
- **Error Handling:**
235
-
236
- - Are errors handled at the appropriate level?
237
- - Are error messages helpful for debugging?
238
- - Are edge cases handled (null, empty, boundary values)?
239
- - Do errors propagate correctly (not swallowed silently)?
240
-
241
- **DRY (Don't Repeat Yourself):**
242
-
243
- - Is there duplicated logic that should be extracted?
244
- - Are there copy-pasted blocks with minor variations?
245
- - BUT: do not flag intentional duplication (sometimes two similar things should remain separate because they will diverge).
246
-
247
- **Naming and Clarity:**
248
-
249
- - Do names communicate intent?
250
- - Are abbreviations explained or avoided?
251
- - Can you understand the code without reading the implementation of every called function?
252
-
253
- #### 4. Evaluate Architecture
254
-
255
- **SOLID Principles:**
256
-
257
- - Single Responsibility: Does each module have one reason to change?
258
- - Open/Closed: Can behavior be extended without modifying existing code?
259
- - Dependency Inversion: Do modules depend on abstractions, not concretions?
260
-
261
- **Layer Compliance:**
262
-
263
- - Does the code respect the project's architectural layers?
264
- - Are imports flowing in the correct direction?
265
- - Does `harness check-deps` confirm no boundary violations?
266
-
267
- **Pattern Consistency:**
268
-
269
- - Does the code follow established patterns in the codebase?
270
- - If introducing a new pattern, is it justified and documented?
271
-
272
- #### 5. Evaluate Testing
273
-
274
- **Real Tests:**
275
-
276
- - Do tests exercise real behavior, not mock implementations?
277
- - Do tests make meaningful assertions (not just "does not throw")?
278
- - Are tests deterministic (no flaky timing, network, or randomness)?
279
-
280
- **Edge Cases:**
281
-
282
- - Are boundary conditions tested (empty input, max values, null)?
283
- - Are error paths tested (invalid input, network failures, permission errors)?
284
-
285
- **Coverage:**
286
-
287
- - Is every new public function/method tested?
288
- - Are critical paths covered (not just happy paths)?
289
-
290
- #### 6. Write the Review
291
-
292
- Structure your review output as follows:
293
-
294
- **Strengths:** What is done well. Be specific. "Clean separation between X and Y" is useful. "Looks good" is not.
295
-
296
- **Issues:** Categorize each issue:
297
-
298
- - **Critical** — Must fix before merge. Bugs, security issues, failing harness checks, broken tests, architectural violations.
299
- - **Important** — Should fix before merge. Missing error handling, missing tests for critical paths, unclear naming that will cause confusion.
300
- - **Suggestion** — Consider for improvement. Style preferences, minor optimizations, alternative approaches. These do not block merge.
301
-
302
- For each issue, provide:
303
-
304
- 1. The specific location (file and line or function name)
305
- 2. What the problem is
306
- 3. Why it matters
307
- 4. A suggested fix (if you have one)
308
-
309
- **Assessment:** One of:
310
-
311
- - **Approve** — No critical or important issues. Ready to merge.
312
- - **Request Changes** — Critical or important issues must be addressed. Re-review needed after fixes.
313
- - **Comment** — Observations only, no blocking issues, but author should consider feedback.
314
-
315
- ---
316
-
317
- ### Role C: Responding to Review Feedback
318
-
319
- When you receive feedback on your code.
320
-
321
- #### 1. Read All Feedback First
322
-
323
- Read every comment before responding to any. Understand the full picture. Some comments may contradict each other or be resolved by the same fix.
324
-
325
- #### 2. Verify Before Implementing
326
-
327
- For each piece of feedback:
328
-
329
- - **Do you understand it?** If not, ask for clarification. Do not guess at what the reviewer means.
330
- - **Is it correct?** Verify the reviewer's claim. Read the code they reference. Run the scenario they describe. Reviewers make mistakes too.
331
- - **Is it actionable?** Vague feedback ("this could be better") requires clarification. Ask for specific suggestions.
332
-
333
- #### 3. Technical Rigor Over Social Performance
334
-
335
- - **Do NOT agree with feedback just to be agreeable.** If the feedback is wrong, say so with evidence. "I considered that approach, but it does not work because [specific reason]" is a valid response.
336
- - **Do NOT implement every suggestion.** Apply the YAGNI check to every suggestion: Does this change serve a current, concrete need? If it is speculative ("you might need this later"), push back.
337
- - **Do NOT make changes you do not understand.** If a reviewer suggests a change and you cannot explain why it is better, do not make it. Ask them to explain.
338
- - **DO acknowledge when feedback is correct.** "Good catch, fixing" is appropriate when the reviewer found a real issue.
339
- - **DO push back when feedback contradicts the plan or spec.** The plan was approved. If review feedback wants to change the plan, that is a scope discussion, not a code review issue.
340
-
341
- #### 4. Implement Fixes
342
-
343
- For each accepted piece of feedback:
344
-
345
- 1. Make the change
346
- 2. Run the full test suite
347
- 3. Run `harness validate` and `harness check-deps`
348
- 4. Commit with a message referencing the review feedback
349
-
350
- #### 5. Re-request Review
351
-
352
- After addressing all feedback, re-request review with:
353
-
354
- - Summary of what changed
355
- - Which feedback was addressed and which was pushed back on (with reasons)
356
- - Fresh harness check results
357
-
358
- ## Harness Integration
359
-
360
- - **`harness validate`** — Run before requesting review and during review performance. Must pass for approval.
361
- - **`harness check-deps`** — Run to verify dependency boundaries. Failures are Critical issues.
362
- - **`harness check-docs`** — Run to detect documentation drift. If code changed but docs did not, flag as Important.
363
- - **`harness cleanup`** — Optional during review to check for entropy accumulation in the changed files.
364
-
365
- ## Success Criteria
366
-
367
- - Every review request includes: commit range, description, plan reference, test evidence, harness results
368
- - Every review evaluates: code quality, architecture, testing, harness checks
369
- - Every review uses the Strengths/Issues/Assessment format
370
- - Issues are categorized as Critical/Important/Suggestion
371
- - No code merges with Critical issues unresolved
372
- - No code merges with failing harness checks
373
- - Response to feedback is verified before implementation
374
- - Pushback on incorrect feedback is evidence-based
375
-
376
- ## Examples
377
-
378
- ### Example: Reviewing a New API Endpoint
379
-
380
- **Strengths:**
381
-
382
- - Clean separation between route handler and service logic
383
- - Input validation using Zod schemas with clear error messages
384
- - Comprehensive test coverage including error paths
385
-
386
- **Issues:**
387
-
388
- **Critical:**
389
-
390
- - `harness check-deps` fails: `api/routes/users.ts` imports directly from `db/queries.ts`, bypassing the service layer. Must route through `services/user-service.ts`.
391
-
392
- **Important:**
393
-
394
- - `services/user-service.ts:45` — `createUser` does not handle duplicate email. The database will throw a constraint violation that surfaces as a 500 error. Should catch and return a 409.
395
- - Missing test for concurrent creation with same email.
396
-
397
- **Suggestion:**
398
-
399
- - Consider extracting the pagination logic in `api/routes/users.ts:30-55` into a shared utility — the same pattern exists in `api/routes/orders.ts`.
400
-
401
- **Assessment:** Request Changes — one critical layer violation and one important missing error handler.
402
-
403
- ## Gates
404
-
405
- - **Never skip review.** All code that will be merged must be reviewed. No exceptions for "small changes" or "obvious fixes."
406
- - **Never merge with failing harness checks.** `harness validate` and `harness check-deps` must pass. This is a Critical issue, always.
407
- - **Never implement feedback without verification.** Before changing code based on review feedback, verify the feedback is correct. Run the scenario. Read the code. Do not blindly comply.
408
- - **Never agree performatively.** "Sure, I'll change that" without understanding why is forbidden. Every change must be understood.
409
- - **Never skip the YAGNI check.** Every suggestion must answer: "Does this serve a current, concrete need?" Speculative improvements are rejected.
410
-
411
- ## Escalation
412
-
413
- - **When reviewers disagree:** If two reviewers give contradictory feedback, escalate to the human or tech lead. Do not try to satisfy both.
414
- - **When review feedback changes the plan:** If feedback requires changes that alter the approved plan or spec, pause the review. The plan must be updated and re-approved first.
415
- - **When you cannot reproduce a reported issue:** Ask the reviewer for exact reproduction steps. If they cannot provide them, the issue may not be real.
416
- - **When review is taking more than 2 rounds:** If the same code is going through a third round of review, something is fundamentally misaligned. Stop and discuss the approach in a meeting or synchronous conversation.
417
- - **When harness checks fail and you believe the check is wrong:** Do not override or skip the check. File an issue against the harness configuration and work around the limitation until it is resolved.
418
-
419
-
420
- --- skill.yaml (agents/skills/claude-code/harness-code-review/skill.yaml) ---
421
- name: harness-code-review
422
- version: "1.0.0"
423
- description: Structured code review with automated harness checks
424
- cognitive_mode: adversarial-reviewer
425
- triggers:
426
- - manual
427
- - on_pr
428
- - on_review
429
- platforms:
430
- - claude-code
431
- - gemini-cli
432
- tools:
433
- - Bash
434
- - Read
435
- - Glob
436
- - Grep
437
- cli:
438
- command: harness skill run harness-code-review
439
- args:
440
- - name: path
441
- description: Project root path
442
- required: false
443
- mcp:
444
- tool: run_skill
445
- input:
446
- skill: harness-code-review
447
- path: string
448
- type: rigid
449
- state:
450
- persistent: false
451
- files: []
452
- depends_on: []
453
-
454
- </execution_context>
455
-
456
- <process>
457
- 1. Try: invoke mcp__harness__run_skill with skill: "harness-code-review"
458
- 2. If MCP unavailable: follow the SKILL.md workflow provided above directly
459
- 3. Pass through any arguments provided by the user
460
- </process>
461
- """