From cappy-toolkit
Phase 5 solution validation orchestration for CAPPY — validates the proposed resolution against Cortex documentation, Confluence KB, and closed TAC case precedents, checks the Phase 5 quality gate, and confirms the solution is actionable.
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: 5 — Solution Validation
Tools: websearch.sh (Cortex docs), mcp__mcp-gateway__confluence__confluence_search, mcp__mcp-gateway__mcp_jira__jira_search
Gate: quality ≥ 85% (see gate.md)
Reasoning Libraries: validate.md (citation rules), gate.md
At the very start of execution, output this exact block:
[ Phase 5 — Validation ]
Tools: websearch.sh (cortex docs), SF CLI (similar cases), JIRA gateway
Then before each tool call, output a one-liner:
→ {tool-name} {key parameter}
Execute Phase 5 solution validation by calling knowledge and gateway tools directly. The goal is adversarial: try to BREAK the Phase 4 hypothesis against authoritative sources. Confirm or contradict weak assumptions using docs, JIRA, and Confluence. Only hypotheses that survive external validation proceed to deliverables.
validate_solution meta-orchestrator has been retired — this sub-skill calls cortex-docs, confluence-search, and JIRA gateway tools directly for more targeted, transparent lookups.
From inv_context.json extract:
hypothesis (primary survivor)weak_assumptions (unverified claims from Phase 4)phase_5_targets (specific validation targets from synthesis.md)confidence_tier~/.cappy/tools/web-fallback/websearch.sh "site:docs-cortex.paloaltonetworks.com {hypothesis keywords} {product} {version}" 5
For each Phase 5 target, run a targeted docs search. Note: version-specific caveats, known limitations, recommended configurations.
mcp__mcp-gateway__mcp_jira__jira_search({
jql: "project IN (XSUP, XSOAR) AND text ~ \"{symptom keywords}\" ORDER BY updated DESC",
limit: 10,
fields: "summary,status,priority,resolution,fixVersions"
})
Look for: existing bugs, known workarounds, fix versions, similar escalations. A matching JIRA ticket is strong validation.
mcp__mcp-gateway__confluence__confluence_search({
query: "{hypothesis keywords}",
limit: 10
})
Look for: TAC playbooks, known issue articles, resolution procedures.
mcp__mcp-gateway__mcp_jira__jira_search({
jql: "project IN (XSUP, XSOAR) AND text ~ \"{symptom}\" AND status = Closed ORDER BY updated DESC",
fields: "summary,status,resolution,description",
limit: 5
})
A closed case with the same root cause and a documented resolution is the strongest validation available.
For each weak_assumption from Phase 4:
<falsify>
ASSUMPTION: "{weak_assumption}"
SOURCE: {doc URL / JIRA ticket / Confluence page}
RESULT: CONFIRMED — source states {X}
| CONTRADICTED — source states {Y} — hypothesis may need revision
| NO DATA — assumption remains unverified, flag for deliverable caveat
</falsify>
For each source finding that supports the hypothesis:
<claim id="C-{N}">
STATEMENT: "{validation finding}"
<verify>
Q: Which source contains this?
A: {JIRA ticket / Confluence page / doc URL with section}
Q: Does it apply to this product version?
A: {version check}
</verify>
STATUS: VERIFIED | REJECTED | UNVERIFIED
</claim>
quality_score = (verified validation claims) / (total validation claims) × 100
IF quality ≥ 85%: gate PASSES.
IF quality < 85%:
{
"phase": 5,
"gate_status": "PASS | FAIL",
"quality_score": 0,
"threshold": 85,
"validation_sources": [
{ "source": "...", "type": "jira | confluence | docs | case", "finding": "...", "supports_hypothesis": true }
],
"weak_assumptions_resolved": [
{ "assumption": "...", "resolution": "confirmed | contradicted | unverified" }
],
"jira_matches": [{ "ticket": "...", "status": "...", "resolution": "..." }],
"validated_hypothesis": "{hypothesis confirmed or refined based on Phase 5 sources — use Phase 4 hypothesis if all targets confirmed unchanged}",
"claims_registered": 0,
"recommendation": "Proceed to Phase 7 | Gate blocked: {reason}",
"recovery_options": []
}
Do NOT proceed to Phase 7. Return this JSON to Main Claude.