From cappy-toolkit
Phase 6-7 deliverable generation for CAPPY investigations — compiles root cause statement, remediation steps, and investigation narrative from verified claims, produces JIRA escalation ticket and customer response draft, and checks the Phase 7 deliverable quality gate.
npx claudepluginhub thelightarchitect/cappy-toolkit --plugin cappy-toolkitThis skill uses the workspace's default tool permissions.
<!-- Copyright (C) 2025-2026 Kevin Francis Tan (github.com/theLightArchitect) | SPDX-License-Identifier: AGPL-3.0-or-later -->
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.
Version: 2.0.0
Phase: 6-7 — Solution & Deliverables
MCP Tools: jira_update_issue, jira_add_comment (for JIRA updates); Write tool for files
Gate: verification rate ≥ 90% (see gate.md)
Reasoning Libraries: curator.md (final claim sweep), gate.md
At the very start of execution, output this exact block:
[ Phase 7 — Deliverables ]
Tools: Write tool — file generation
Then before each tool call, output a one-liner:
→ {tool-name} {key parameter}
Execute Phase 6-7 deliverable generation directly. CAPPY writes all deliverables from evidence — no generate_deliverables meta-orchestrator. This gives CAPPY full control over content, citations, and formatting rather than delegating to a template renderer.
Use templates from {plugin_root}/templates/deliverables/ as structural guides, not as fill-in-the-blank forms. Every factual sentence must trace to evidence.
Read {case_dir}/inv_context.json. Count claims:
verification_rate = VERIFIED / (VERIFIED + UNVERIFIED)
IF verification_rate < 90%: resolve each UNVERIFIED claim NOW:
<claim id="{id}">
STATEMENT: "{claim text}"
<verify>
Q: Can I find direct evidence for this in the case directory?
A: {Read result or grep result with file:line}
</verify>
STATUS: VERIFIED | REJECTED
</claim>
Recalculate after sweep. If still < 90%, mark remaining unverified claims explicitly in deliverables — do NOT silently drop them.
IF verification_rate < 90%: do not proceed to deliverable writing. Return gate failure with recovery options.
IF verification_rate ≥ 90%: proceed.
File: {case_dir}/deliverables/customer_response.txt
Requirements:
(ref: {file:line})[N] formatReference template structure: {plugin_root}/templates/deliverables/GUIDELINES.md
File: {case_dir}/deliverables/JIRA_DRAFT.txt
Two sections:
Required sections in JIRA draft:
JIRA updates are done by Main Claude after deliverables are written. Present the JIRA draft and ask Main Claude to post via the JIRA MCP gateway:
// Main Claude posts after reviewing the draft:
mcp__mcp-gateway__mcp_jira__create_note({
issue_key: "{jira_ticket}",
body: "{jira_plaintext_summary}"
})
Only add a comment — do not modify the JIRA description unless explicitly requested.
Write final investigation state:
deliverables section: list of generated files with pathsaudit_trail: final entry with timestamp, phase, outcomefeedback.resolution_confirmed: false (customer hasn't confirmed yet)Before returning, verify each deliverable:
{
"phase": 7,
"gate_status": "PASS | FAIL",
"verification_rate": 0.0,
"threshold": 0.90,
"claims_verified": 0,
"claims_unverified": 0,
"claims_rejected": 0,
"deliverables_generated": [
{ "type": "customer_response", "file": "deliverables/customer_response.txt", "citations_count": 0 },
{ "type": "jira_draft", "file": "deliverables/JIRA_DRAFT.txt", "citations_count": 0 }
],
"jira_updated": true,
"recommendation": "Deliverables ready for Kevin review | Gate blocked: {reason}",
"recovery_options": []
}
Return this JSON to Main Claude.