本文へ移動
cccskills
無料GitHub で公開

refine-chunk

This skill should be used when validate-chunk reports errors or failures, when the user asks to "fix these errors", "resolve validation issues", "refine this chunk", or when specific build, lint, or type errors need surgical fixes. Makes precise, targeted edits to resolve specific validation issues without over-engineering.

インストール方法を見る

含まれるファイル(3)

  • SKILL.md6.1 KB
  • references/output-templates.md1.5 KB
  • references/refinement-patterns.md1.3 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

Refine Chunk Skill

You are the surgical fixer — making precise, targeted edits to resolve validation issues. No over-engineering, no refactoring, just fix the specific problem and move on.

When This Activates

  • validate-chunk reported errors
  • Implementer needs a targeted fix
  • User says "fix this", "resolve", "address"
  • Specific error needs resolution

Orchestrator Context

The orchestrator may pass enriched args with labeled fields. Parse these to start fixing faster:

  • CHUNK: "N/total: chunk title" — identifies the chunk
  • ERRORS: validate-chunk error output — parse directly instead of re-running
  • FILES_CHANGED: comma-separated paths — scope the fix to these files
  • REFINE_COUNT: attempt number — on 3+, consider escalating or changing strategy

Fallback: Args may be just a file path. Read validation output from context directly.

Refinement Philosophy

Surgical precision:

  • Fix only what's broken
  • Minimal changes
  • Don't "improve" unrelated code
  • Don't refactor while fixing

Root cause, not symptoms:

  • Understand WHY it's broken
  • Fix the actual issue
  • Don't band-aid over problems

Preserve intent:

  • Keep the original approach
  • Don't rewrite the solution
  • Match existing code style

Always synchronous:

  • NEVER use run_in_background: true for test, typecheck, lint, or build commands. Run everything synchronously so results are confirmed before proceeding.
  • Background runs become orphaned and spam the conversation after the story is done.

Refinement Process

1. Understand the Error

Parse the validation output:

  • What failed? (type error, lint, test)
  • Where? (file, line number)
  • Why? (exact error message)
  • Context? (surrounding code)

2. Analyze Root Cause

Common causes:

  • Missing type: Need to add annotation
  • Prop mismatch: Component signature changed
  • Import issue: Wrong path or missing export
  • Logic error: Wrong condition or value
  • Async issue: Missing await or wrong return

3. Plan the Fix

Before editing:

## Fix Plan

**Error:** Property 'onSubmit' is missing in type
**File:** `LoginForm.tsx:42`
**Root cause:** Form component expects onSubmit but wasn't passed

**Fix:**
1. Add onSubmit handler to Form props
2. Wire up existing handleSubmit function

**Changes:** 1 file, ~3 lines

4. Execute the Fix

Make the minimal change:

- <Form>
+ <Form onSubmit={handleSubmit}>
    <Input ... />
    <Button type="submit">Submit</Button>
  </Form>

5. Re-validate

After fix:

  • Run same validation that failed
  • Confirm error is resolved
  • Check for new errors introduced

Output after re-validation:

When re-validation passes, report:

## Refinement Applied

[Fix details per output template]

>>> HAND BACK TO validate-chunk: Refinement applied. Re-validate this chunk with the full check suite.

When re-validation reveals new errors, report them and loop (attempt another fix if REFINE_COUNT allows).

Common Refinements

For TypeScript errors (missing props, wrong types, null safety), lint errors (unused imports, missing dependencies), build errors, and test failures:

Common patterns: Read ${CLAUDE_PLUGIN_ROOT}/skills/refine-chunk/references/refinement-patterns.md for TypeScript, lint, build, and test fix patterns with diff examples.

Refinement Output Format

Report fixes using one of three templates: Simple Fix, Multiple Fixes, or Complex Fix (Needs Review). For complex fixes, present options with a recommendation and use AskUserQuestion.

Output format: Read ${CLAUDE_PLUGIN_ROOT}/skills/refine-chunk/references/output-templates.md for the three output format templates (simple/multiple/complex).

Every template MUST end with:

>>> HAND BACK TO validate-chunk: Refinement complete. Re-validate this chunk now.

This is the return signal. validate-chunk loops internally - after reading this signal, it immediately re-invokes the chunk-validator agent with no turn boundary.

When to Escalate

Don't try to fix everything. Escalate when:

Design issue: "This error suggests the component architecture needs rethinking. Should we revisit the chunk plan?"

Unclear requirement: "I can fix this two ways. Which behavior do you want: A) Error message inline B) Error message in toast"

Breaking change: "Fixing this would change how [X] works. That affects other chunks. Proceed or discuss first?"

Unknown cause: "I can't determine why this is failing. Can you help me understand the expected behavior?"

Refinement Loop

validate-chunk
     │
     ├─── Pass ───→ Continue to next chunk
     │
     └─── Fail ───→ refine-chunk
                         │
                         ├─── Simple fix ───→ Re-validate
                         │
                         └─── Complex ───→ Ask for guidance
                                               │
                                               └─── Re-validate

Remember

  • Fix the error, not the code — minimal changes only
  • One thing at a time — don't bundle fixes
  • Verify after each fix — re-run validation
  • Know when to stop — escalate complex issues
  • Always end output with >>> HAND BACK TO validate-chunk:. This is the return signal. validate-chunk re-validates immediately upon seeing it.

Your goal: Get validation green with surgical precision.

Orchestrator Integration

The orchestrator tracks how many times refine-chunk is invoked per chunk (REFINE_COUNT). If invoked 2+ times for the same chunk, the error pattern is flagged for mandatory learnings capture. You don't need to track this yourself — just report your fixes clearly so the orchestrator can parse them.

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

adhoc

無料

Adhoc workflow for small targeted changes to existing behavior or appearance, without the full story ceremony. Use when the orchestrator encounters a bug with a clear root cause and surgical solution, OR a small enhancement to something already built (a different icon, wording, spacing, color). Triggers on: 'fix this', 'this is broken', 'the alignment is off', 'that button doesn't work', 'quick fix', 'patch this', 'tweak this', 'change the icon', 'adjust the wording', post-story corrections, or any situation where the write gate blocks a small targeted change. Acts NOW - a defect to file and fix later belongs in /craft:bugs, other deferred work in the notebook. Do NOT use for new features, design exploration, or changes requiring creative spark.

日本語の概要は準備中です。原文の説明を表示しています。

drobins25/craft682026年10月5日 更新

approve

無料

Request write permission from the user before making file changes. MUST be invoked before any write attempt when the write gate is closed. Creates scoped approval via AskUserQuestion + TaskCreate, opens the write gate, and closes it when work is done. Triggers: write hook blocks an edit, agent is about to write files outside .craft/, agent needs to modify project source files. This skill requires user approval 100% of the time - never bypass AskUserQuestion.

日本語の概要は準備中です。原文の説明を表示しています。

drobins25/craft682026年10月5日 更新

browser

無料

Interactive browser automation via playwright-cli. Use when you need to navigate a site, click elements, fill forms, take snapshots, or triage a live app.

日本語の概要は準備中です。原文の説明を表示しています。

drobins25/craft682026年10月5日 更新

This skill should be used when a story has been captured but content direction is unresolved - the spark describes WHAT to build structurally but not WHAT goes in it. Reads the story spark, splits it into Resolved (structurally clear) vs. Assumed (would have to guess) content dimensions, and surfaces each assumption for the human to confirm, correct, or expand. Also classifies implementation risk tags (has-variants, has-data-pipeline, has-animation, has-touch-targets, diverges-from-existing) so plan-chunks translates them into acceptance criteria that name the implementation mechanism. Captures answers into

日本語の概要は準備中です。原文の説明を表示しています。

drobins25/craft682026年10月5日 更新

This skill should be used when the user asks to "brainstorm", "explore options", "get creative", "what if we...", or selects "Let's get creative" during story or cycle creation. NOT for a bare vague feature idea where generating options would mean inventing the premise first - that routes to /craft:riff (riff first, options after). Generates 2-3 creative options with trade-offs, visual direction for UI stories, and wireframes.

日本語の概要は準備中です。原文の説明を表示しています。

drobins25/craft682026年10月5日 更新

Use this skill when the user wants to discover, define, or refine their product's aesthetic identity. Triggers on "what should this feel like?", "help me figure out the vibe", "something feels off visually", "I want it to feel like [X]", "define the visual language", or when a project has no established design direction. This is the art director skill - it helps users articulate something they can feel but can't name. Also handles quick cohesion checks when the orchestrator needs one during cycle planning.

日本語の概要は準備中です。原文の説明を表示しています。

drobins25/craft682026年10月5日 更新

drobins25 のスキルをすべて見る

このスキルの問題を報告する