From harness
Drive the harness submit-evaluate-iterate loop for any SOP workflow
npx claudepluginhub p-vbordei/harnessThis skill uses the workspace's default tool permissions.
You are executing a quality-gated SOP workflow using the harness MCP server.
Generates design tokens/docs from CSS/Tailwind/styled-components codebases, audits visual consistency across 10 dimensions, detects AI slop in UI.
Records polished WebM UI demo videos of web apps using Playwright with cursor overlay, natural pacing, and three-phase scripting. Activates for demo, walkthrough, screen recording, or tutorial requests.
Delivers idiomatic Kotlin patterns for null safety, immutability, sealed classes, coroutines, Flows, extensions, DSL builders, and Gradle DSL. Use when writing, reviewing, refactoring, or designing Kotlin code.
You are executing a quality-gated SOP workflow using the harness MCP server.
For each step in the workflow:
harness_submit_step with:
artifacts: list of what you produced (files written, code blocks, analysis text)self_assessment: honest evaluation of how well you met each criterionharness-reviewer agent with the evaluation prompt from the responseharness_report_evaluation with the reviewer's JSON responsetop_3_fixes carefully, address each one specifically, then resubmitYou do work
-> harness_submit_step (validates, returns evaluation prompt)
-> You dispatch harness-reviewer agent with the prompt
-> Reviewer returns structured JSON scores
-> harness_report_evaluation (processes scores, returns PASS/FAIL)
-> If PASS: next step. If FAIL: iterate.
The reviewer agent is a SEPARATE entity with a fresh context. It cannot see your chain of thought. This is by design -- self-evaluation is unreliable.
When harness_submit_step returns stage: "awaiting_evaluation", extract the evaluation prompt from data.evaluation_prompt and dispatch it:
Use the Agent tool to launch the harness-reviewer agent with:
- The system_prompt from data.evaluation_prompt.system_prompt
- The user_prompt from data.evaluation_prompt.user_prompt
- Ask it to return ONLY the JSON evaluation
Then take the reviewer's JSON response and call harness_report_evaluation with it.
The reviewer scores on: