基于 SOC 职业分类
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/joshsymonds/gambit --skill task-refinement命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
正在显示 SKILL.md
Turns a rough idea into an approved epic contract with immutable requirements, anti-patterns, and a first wave of executable tasks.
Turns a rough idea into an approved epic contract with immutable requirements, anti-patterns, and a first wave of executable tasks.
Executes an approved epic one wave at a time, dispatching a worker per task and stopping at a checkpoint after each wave. Use when an approved epic contract and native wave plan exist in the current root session, when resuming work after a previous checkpoint, or when iteratively building a feature and execution learnings require a later wave. User phrases like "continue the plan", "next wave", "resume where we left off", "pick up the epic".
| name | task-refinement |
| description | Refines prepared work briefs until each one is executable by a junior engineer without questions. |
| when_to_use | Use this implementation mechanic to refine prepared work briefs only when explicitly invoked by name or called by an active Gambit workflow owner; do not select it implicitly as a peer workflow. |
| user_invokable | true |
Freedom: LOW — apply all 8 categories to every brief; reject anything with placeholders or critical gaps.
Review Tasks systematically. Find gaps, fix them, verify fixes. A task is ready when a junior engineer can execute it without asking questions.
Core principle: Don't just identify problems — fix them. Update each Task, then read it back to verify.
Iron Law: NO task passes review with vague criteria, missing file paths, or placeholder text. Every task must be executable by a junior engineer without questions. No exceptions.
Review complete worker briefs systematically. Find gaps, fix them, present each revised brief in full, and reread it from the root transcript. A brief is ready when a junior engineer can execute it without asking questions.
Core principle: Don't just identify problems — revise each worker brief, present it in full, then reread it with SessionContextRead to verify.
Iron Law: NO worker brief passes review with vague criteria, missing file paths, or placeholder text. Every brief must be executable by a junior engineer without questions. No exceptions.
| Category | Key Check | Auto-Reject If |
|---|
| 1. Granularity | Scoped to one sitting (~15-45m)? | Any task without breakdown estimate |
| 1. Granularity | Scoped to one sitting (~15-45m)? | Any worker brief without breakdown estimate |
| 2. Implementability | Junior executes without questions? | Vague language, missing file paths | | 3. Success Criteria | Measurable, verifiable? | "Works correctly", "is implemented" | | 4. Dependencies | Correct blocking order? | Circular or missing dependencies | | 5. Anti-patterns | Forbidden patterns specified? | No anti-patterns section | | 6. Edge Cases | Empty/unicode/concurrent/failure? | No edge case consideration | | 7. Red Flags | Placeholder text? TODOs? | "[detailed above]", "[as specified]" | | 8. Test Quality | Tests catch real bugs? | Tautological or happy-path-only tests |
gambit:executing-plans starts implementationgambit:brainstorming creates tasksgambit:brainstorming presents complete first-wave worker briefsDon't use for:
gambit:brainstorminggambit:debuggingTaskList
Identify the epic and all subtasks. Read each with TaskGet.
Use SessionPlanRead to inspect only the root session's concise wave steps and statuses. Then use SessionContextRead to reread the complete approved epic contract and every full worker brief from the root transcript or latest checkpoint. Do not infer individual worker records from the plan.
For each task, apply every category. No skipping — "straightforward" tasks hide the worst edge cases.
For each worker brief, apply every category. No skipping — "straightforward" briefs hide the worst edge cases.
If too large: Create subtasks with TaskCreate, link with addBlockedBy.
If too large: Split it into complete focused worker briefs in the root transcript. Use SessionPlanWrite only to replace the complete plan when the concise wave summary or ordering changes; represent prerequisites through later waves, never dependency edges.
Red flags: "Implement properly", "Add support", "Make it work", missing file paths.
Rewrite vague criteria into measurable ones:
npm test, 0 failures, exit 0"blockedBy relationships correct?Verify with TaskList output.
Verify the concise wave list with SessionPlanRead; verify the complete worker briefs with SessionContextRead.
Ask for each task:
Ask for each worker brief:
Add findings to task's Key Considerations section. See REFERENCE.md for edge case examples.
Add findings to the complete worker brief's Key Considerations section, then present the revised brief in full. See REFERENCE.md for edge case examples.
If any found, REJECT the plan:
Tests must catch real bugs, not inflate coverage.
For each test specification, ask:
Reject: Tests that only verify syntax/existence, tautological tests, tests without meaningful assertions, generic test names ("test_basic").
See REFERENCE.md for good/bad test examples.
After reviewing, update each task with fixes:
After reviewing, present each revised full worker brief in the root transcript. Never pass the full brief to SessionPlanWrite:
<!-- gambit-backend:claude -->
TaskUpdate
taskId: "[task-id]"
description: |
<!-- /gambit-backend -->
<!-- gambit-backend:codex -->
Present as "Revised Worker Brief: [worker subject]":
<!-- /gambit-backend -->
[Original content, preserved and strengthened]
## Key Considerations (ADDED BY REVIEW)
**Edge Case: [Name]**
- [What could go wrong]
- MUST [specific mitigation]
## Anti-patterns
[Original anti-patterns]
<!-- gambit-backend:claude -->
- NEW: [Specific anti-pattern for this task's risks]
<!-- /gambit-backend -->
<!-- gambit-backend:codex -->
- NEW: [Specific anti-pattern for this worker brief's risks]
<!-- /gambit-backend -->
Rules for updates:
After every TaskUpdate, read back with TaskGet and verify:
TaskGet
taskId: "[task-id]"
After revising a brief, present the revised full worker brief in the root transcript. Use SessionPlanWrite only when its concise wave summary, order, or status changes; every such call replaces the complete ordered plan. Then use SessionContextRead to verify the full brief:
SessionContextRead
read: "revised worker brief from this root transcript"
Check:
If ANY placeholder found: Rewrite with actual content immediately.
## Plan Review Results
### Overall: [APPROVE / NEEDS REVISION / REJECT]
<!-- gambit-backend:claude -->
### Task-by-Task
<!-- /gambit-backend -->
<!-- gambit-backend:codex -->
### Worker Brief by Worker Brief
<!-- /gambit-backend -->
<!-- gambit-backend:claude -->
#### [Task Name] ([task-id])
<!-- /gambit-backend -->
<!-- gambit-backend:codex -->
#### [Worker Brief]
<!-- /gambit-backend -->
**Status**: [Ready / Needs Revision / Rejected]
**Issues Found**: [count]
**Improvements Made**:
- [What was fixed]
**Edge Cases Added**:
- [What failure modes now addressed]
<!-- gambit-backend:claude -->
[Repeat for each task]
<!-- /gambit-backend -->
<!-- gambit-backend:codex -->
[Repeat for each worker brief]
<!-- /gambit-backend -->
### Summary
<!-- gambit-backend:claude -->
- Tasks updated: [list]
<!-- /gambit-backend -->
<!-- gambit-backend:codex -->
- Worker briefs revised and presented in full: [list]
- Concise wave summary/order/status changes: [list or none]
<!-- /gambit-backend -->