技能 编程开发 根源原因分析与调试

根源原因分析与调试

v20260427
kiro-debug
当开发人员遇到无法解决的错误或验证失败时使用。该技能指导用户进行系统性的根源分析,强制从证据层面找出问题真正的根本原因(如依赖缺失、配置冲突或规范矛盾),而非盲目打补丁。最终目标是生成一份清晰、可执行的修复计划。
获取技能
496 次下载
概览

kiro-debug

<background_information> This skill is for fresh-context root cause investigation. It combines local evidence, runtime/config inspection, and external documentation or issue research when available. It is not a patch generator for guess-first debugging. </background_information>

## When to Use
  • Implementer reports BLOCKED
  • Reviewer rejection repeats after remediation
  • Validation fails unexpectedly
  • A task appears to conflict with runtime or platform reality
  • The same failure survives more than one attempted fix

Do not use this skill to speculate about fixes before gathering evidence.

Inputs

Provide:

  • Exact failure symptom or blocker statement
  • Error messages, stack trace, and failing command output
  • Current git diff or summary of uncommitted failed changes
  • Task brief: what was being built
  • Reviewer feedback, if the failure came from review rejection
  • Relevant spec file paths (requirements.md, design.md)
  • Relevant requirement/design section numbers
  • Relevant ## Implementation Notes
  • Runtime or environment constraints already known

Outputs

Return:

  • ROOT_CAUSE
  • CATEGORY
  • FIX_PLAN
  • VERIFICATION
  • NEXT_ACTION: RETRY_TASK | BLOCK_TASK | STOP_FOR_HUMAN
  • CONFIDENCE: HIGH | MEDIUM | LOW
  • NOTES

Use the language specified in spec.json.

Method

1. Read the Error Carefully

Extract:

  • Exact error text
  • Stack trace or failure location
  • The command that produced the failure
  • Whether the failure is deterministic or intermittent

2. Inspect Local Runtime and Repository State

Inspect the repository for local evidence:

  • package.json, pyproject.toml, go.mod, Makefile, README*
  • Build config
  • tsconfig or equivalent language/runtime config
  • Runtime-specific config
  • Dependency versions and scripts
  • Relevant changed files from git diff

3. Search the Web if Available

If web access is available, search:

  • The exact error message
  • The technology + symptom combination
  • Official documentation
  • Version-specific issue trackers or migration notes

Prefer:

  • Official docs
  • Official repos/issues
  • Version-specific references
  • Runtime-specific documentation

4. Classify the Root Cause

Use one category:

  • MISSING_DEPENDENCY
  • RUNTIME_MISMATCH
  • MODULE_FORMAT
  • NATIVE_ABI
  • CONFIG_GAP
  • LOGIC_ERROR
  • TASK_ORDERING_PROBLEM
  • TASK_DECOMPOSITION_PROBLEM
  • SPEC_CONFLICT
  • EXTERNAL_DEPENDENCY

5. Determine the Smallest Safe Next Action

Decide whether the issue can be fixed inside this repo by:

  • Editing files
  • Adjusting configuration
  • Adding or correcting dependencies
  • Restructuring code

Use NEXT_ACTION: RETRY_TASK when the issue is repo-fixable inside the current approved task plan.

6. Determine Whether the Task Plan Is Still Valid

Decide whether the current approved task plan is still safe to execute as written.

Prefer NEXT_ACTION: STOP_FOR_HUMAN when:

  • A missing prerequisite task should exist before this one
  • The current task is ordered incorrectly relative to unfinished work
  • The current task boundary is wrong and should be split or merged
  • The task is too large or ambiguous to fix safely inside the current implementation loop

Use NEXT_ACTION: BLOCK_TASK only when the current task should stop but the rest of the queue can still proceed safely.

Do not propose a brute-force code fix as a substitute for revising tasks.md or the approved plan.

Critical Rule

Do not propose a multi-fix shotgun plan. Identify the root cause first, then produce the smallest plausible fix plan. If the true problem is a spec conflict or architecture problem, say so directly.

Stop / Escalate

Use NEXT_ACTION: STOP_FOR_HUMAN when the blocker genuinely requires:

  • Human product/requirements decision
  • External credentials or inaccessible services
  • Hardware or unavailable external systems
  • Re-scoping due to spec/platform conflict

If the issue is fixable by repo changes inside the current task plan, do not escalate prematurely.

Common Rationalizations

Rationalization Reality
“This probably just needs a quick patch” Patch-first debugging creates rework.
“Let’s try a few fixes” Multi-fix guessing hides root cause.
“The spec is probably wrong, I’ll adapt it” Spec conflicts must be surfaced explicitly.
“The docs search is optional” For runtime/dependency issues, docs and version issues often contain the shortest path to root cause.

Output Format

## Debug Report
- ROOT_CAUSE: <1-2 sentence root cause>
- CATEGORY: MISSING_DEPENDENCY | RUNTIME_MISMATCH | MODULE_FORMAT | NATIVE_ABI | CONFIG_GAP | LOGIC_ERROR | TASK_ORDERING_PROBLEM | TASK_DECOMPOSITION_PROBLEM | SPEC_CONFLICT | EXTERNAL_DEPENDENCY
- FIX_PLAN:
  1. <specific repo-fixable action>
  2. <specific repo-fixable action>
- VERIFICATION: <command(s) to confirm the fix>
- NEXT_ACTION: RETRY_TASK | BLOCK_TASK | STOP_FOR_HUMAN
- CONFIDENCE: HIGH | MEDIUM | LOW
- NOTES: <context the next implementer should know>
信息
Category 编程开发
Name kiro-debug
版本 v20260427
大小 2.75KB
更新时间 2026-07-13
语言