一键导入
read-and-assess-issue
This skill should be used when the user wants to assess or scope a GitHub issue before committing to work — triggers on "assess issue
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
This skill should be used when the user wants to assess or scope a GitHub issue before committing to work — triggers on "assess issue
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Diagnose a production issue end-to-end across Honeycomb (error shape) and the prod DB error_tracker tables (who + why), scope impact honestly, and optionally file a PII-scrubbed issue. Invoke with: /analyze-prod-issue "<symptom>"
Fetch, triage, and address PR review comments for the current branch. Reads all comments from the PR, classifies each as actionable, nit, question, or dismissible, presents a structured assessment for confirmation, then plans and applies fixes. Use when: "address PR comments", "handle review feedback", "fix PR comments", "triage PR review", "respond to review", or after receiving PR review notifications. Invoke with /address-pr-comments.
Deliberate TDD-first, design-heavy workflow for building an Elixir/Phoenix change end-to-end — surface rival designs, pick one, drive red→green, keep the test suite lean. Invoke with: /build-elixir <what you're building>
Use when the user wants to read a Daily QA discussion by number, triage the findings (Carried-Forward and New Code Review), assess validity against current code, present a structured summary, then systematically fix confirmed issues. Invoke with the discussion number as argument (e.g. `/triage-qa-discussion 449`).
Test-drive code changes using Chrome DevTools and Tidewave MCP. Verifies backend logic, UI flows, responsive design, and edge cases. Use when: completing a feature branch, before creating a PR, after addressing PR review comments, or when asked to "test-drive", "verify changes", or "QA this". Invoke with /test-drive [branch|unstaged|<issue-number>].
Create well-formed GitHub issues from findings, hypotheses, or gaps discovered during codebase exploration. Explores code to validate the finding, gathers references, classifies issue type (FEATURE/BUG/TASK), selects labels, drafts the body following project templates, and creates via gh CLI. Invoke with: `/create-issue "description of finding"`. Also triggers on "file an issue", "open an issue", "create a ticket", "turn this into an issue".
| name | read-and-assess-issue |
| description | This skill should be used when the user wants to assess or scope a GitHub issue before committing to work — triggers on "assess issue |
Assess an issue on two axes that most sizing skips: how much effort the fix takes, and how large its blast radius on the codebase is. The blast radius is the point — a naive assessment sizes the visible change and stays blind to whether that change entrenches debt, papers over a deeper flaw, or violates the architecture. Surface that before scoping, not after the code lands.
Two guardrails pull against each other; hold both:
Issues live in the MaxPayne89/klass-hero GitHub repo.
Take the issue number from the user's request. If none was given, ask for one before doing anything else.
gh issue view <number> --json title,body,labels,state,comments,assignees
If the issue does not exist or the command fails, report the error and stop. Read the comments too — prior discussion often already names the deeper problem.
This is where a shallow read produces a shallow assessment, so the criterion is exhaustive, not "as needed". The work is done only when both hold:
.claude/rules/domain-architecture.md. Ask
whether the obvious fix fits the conventions there or fights them.Then name the root cause: is this issue the actual problem, or a symptom of something deeper (a missing abstraction, a boundary already being violated, a projection that never subscribed to the right event)? The symptom-vs-root-cause call drives everything downstream.
Keep these separate — a one-line fix can have a huge blast radius, and a large mechanical change can have almost none. Fusing them into one rating is how the blast radius gets lost.
Effort (how much work) — rate low / medium / high on:
Blast radius (how far the consequences reach) — rate low / medium / high on:
.claude/rules/domain-architecture.md)Decide whether the blast radius has tripped the gate. The trip conditions and the
discussion format live in references/blast-radius.md;
consult it now to make the call.
Not tripped — the quick fix is the right fix. Take the minimal-fix path: emit the assessment (section 6) and stop. This is the common case; keep it fast.
Tripped — the proper fix diverges from the quick one. Do not emit a tidy
scope and move on. Load references/blast-radius.md and follow it: present
quick-fix vs proper-fix with tradeoffs and a recommendation, drive the decision
through AskUserQuestion, and scope only the path the user chooses. If the
deeper problem deserves its own ticket, offer to file it with the create-issue
skill.
## Issue #<number>: <title>
### Validity
- **Valid:** yes/no
- **Reason:** <is it well-defined, actionable, and about real code here?>
### Root cause
- **This issue is:** the real problem | a symptom of <deeper cause>
### Effort
- **Rating:** low | medium | high
- **Factors:** <what drives the effort>
### Blast radius
- **Rating:** low | medium | high
- **Factors:** <symptom/root-cause, architecture-rule fit, debt, contract reach>
### Scope of changes (if valid)
- **Bounded contexts:** <which are affected>
- **Files/modules:** <key files that would change>
- **Migration needed:** yes/no
- **Test impact:** <what tests need writing/updating>
- **Dependencies:** <new deps or cross-context coordination>
### Recommended approach
- <the fix you recommend, and — if the gate tripped — which of quick/proper the
user chose and why>