一键导入
iterate
Use when iterating through findings, working through review items, processing improvements one by one, or implementing changes from an assessment.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Use when iterating through findings, working through review items, processing improvements one by one, or implementing changes from an assessment.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Investigate a scope for problems and opportunities. Use when investigating a codebase, reviewing a feature, auditing configuration, assessing for problems, or exploring and reporting findings.
Manage project standards compliance — audit existing projects or scaffold new ones. Triggers: "audit this project", "project audit", "check compliance", "new project", "scaffold project", "project setup".
MANDATORY load before writing or editing any eval scenario (scenario.yaml), check (checks.yaml), or evals.yaml — wherever the eval suite lives. Evaluate Claude Code configurations (skills, CLAUDE.md, hooks, MCP servers, settings, sub-agents) using the scuttlerun/pincenez/craboodle eval pipeline. TRIGGER when: authoring or modifying scenario.yaml or checks.yaml files; designing checks; interpreting eval results; benchmarking configurations; testing CLAUDE.md effectiveness; verifying hooks work; regression testing configs; building or extending an eval suite. DO NOT skip because 'I'll consult check-design.md directly' or 'one quick check edit' — load first, the schema and anti-pattern rules are cheap to surface.
MANDATORY load before any Read/Edit/Write to plugin content — plugin.json, marketplace.json, files under commands/, agents/, skills/, hooks/, or .mcp.json — regardless of where the plugin lives (personal ~/.claude/plugins/, marketplace-installed, or project-local). Creates, audits, ships, and maintains Claude Code plugins; manages marketplace entries; validates publish readiness. TRIGGER when: editing/creating/reviewing plugin.json or marketplace.json; creating a new plugin; auditing or improving a plugin; regenerating a marketplace; preparing a plugin to publish; bulk-auditing every installed plugin; bootstrapping evals for a plugin. DO NOT skip because "it's only a manifest tweak" — load first, lightweight checks are cheap.
MANDATORY load before any Read/Edit/Write to skill content — SKILL.md, files under scripts/, workflows/, references/, evals/, assets/, or provenance.yml — regardless of where the skill lives (personal ~/.claude/skills/, plugin-installed under ~/.claude/plugins/, or project-local .claude/skills/). Creates, audits, improves, and updates Claude Code skills; integrates content from external sources. TRIGGER when: editing/creating/reviewing any file inside a skill directory; creating a new skill; auditing or improving a skill; bootstrapping evals for a skill; integrating or folding in an external source; updating skills from upstream. DO NOT skip because "it's only a script change" or "only a workflow tweak" — load first, lightweight checks are cheap.
| name | iterate |
| description | Use when iterating through findings, working through review items, processing improvements one by one, or implementing changes from an assessment. |
| argument-hint | [filter or guidance, e.g. '1,3,5' or 'only security-related'] |
Follow this procedure exactly. Do not propose alternative strategies, comment on the number of remaining items, or suggest changing the approach mid-session.
| Capability | Purpose |
|---|---|
| Task tracking (TaskCreate, TaskUpdate) | Persist tasks and their status across turns; resume after compaction |
| User prompts with options | Per-item approval gate |
| Plan mode | Design approach before implementing complex items |
| Sub-agents | Mandatory delegate for per-item investigation (Phase 1, step 2) |
$ARGUMENTSParse any provided arguments into two categories:
Apply both when present. Ask the user to clarify ambiguous arguments. When no arguments are provided, process all items with default behavior.
CRITICAL — Do this before any other work.
Identify the list. Locate the source list by checking in order:
/tmp/assessment-${CLAUDE_SESSION_ID}.md and use its findings.If multiple candidate lists exist or the source is ambiguous, ask the user which one to process.
Before creating any tasks, state what was found and where — e.g., "I found 5 items in the assessment's Findings section" or "Recovered 8 findings from the persisted assessment file."
Check the task list for existing progress from a previous invocation or compaction recovery:
continue, resume, keep going, proceed, pick it back up, or similar natural-language resume cue), this counts as resuming from a prior Pause (see Phase 1 step 10) — pick up at the first pending task directly without re-asking the user for a source list or prompting them to re-invoke /triage:iterate.subject: A concise description of the item/improvementdescription: Full context including the problem, proposed improvement, and any user-provided guidanceactiveForm: Present-continuous description (e.g., "Implementing X improvement")For each pending task:
Mark in-progress: Update the task's status to in-progress
Investigate the item — Do NOT present to the user or ask how to proceed until investigation is complete.
Read/Grep/Glob/Bash calls.Explore (read-only) by default. Use general-purpose only when investigation must run a non-read command or script (rare). Sub-agents must be fresh per item — never reuse sub-agents from an earlier item./tmp/assessment-${CLAUDE_SESSION_ID}.md), other items' descriptions, or framing that invites the sub-agent to investigate adjacent findings. Scope-fence the sub-agent the same way the main agent is scope-fenced.Read specific files/lines a sub-agent cited, only to verify those citations. Do NOT initiate new exploration (no fresh Grep/Glob/Bash, no reading files no sub-agent cited). If verification reveals a sub-agent missed something material, re-delegate to a new sub-agent rather than continuing investigation directly.Read/Grep/Glob/Bash calls instead of delegating to a sub-agentPresent the item — Structure the presentation in two parts, in this order:
console.error with process.stderr.write"), never first-person future tense.**Significance**: annotation (the assess skill emits a high/medium/low level under each finding heading), surface that level in the presentation and include it in the gate's finding handle, so the user can weigh severity when deciding. It informs prioritization only — it does not change the gate's options or the selection mechanism.GATE — Ask the user how to proceed. This step is non-negotiable.
STOP. Before any further work on this item, you MUST call AskUserQuestion (or the advanced-ask Skill) with the options below. Do NOT call Edit, Write, MultiEdit, NotebookEdit, or any other file-modifying tool. Do NOT enter plan mode. Do NOT run shell commands that mutate state. Until the user answers, this item is BLOCKED.
This gate is unconditional. It applies:
/iterate invocation reads like blanket approval — invoking the skill is not approval for any individual itemacceptEdits, bypassPermissions, etc.) would silently allow the edit at the tool layerPrompt the user with the options below. The question text itself must identify the specific finding by a concrete handle — the problem keyword (e.g., "trailing whitespace"), the exact location (e.g., "version: 1.0 in config.yaml"), or the finding's distinguishing noun phrase. A generic question like "How should I proceed with this finding?" is not sufficient, because the gate exists to confirm this specific item, not "a finding in general". The finding's identifier belongs in the question field, not only in the preceding presentation or in the option descriptions.
Red flags — restart at step 3 if any of these occur:
Edit, Write, or MultiEdit tool call after step 3's presentation but before an AskUserQuestion call for this itemAskUserQuestion but with question text that names a different finding or no finding at allAskUserQuestion call (e.g., "Implement both A and B?")| Option | Action | When appropriate |
|---|---|---|
| Implement | Proceed directly | Straightforward items with clear path |
| Plan first, then implement | Enter plan mode, design approach, get approval, then implement | Items needing design decisions or exploration |
| Skip | Update the task's subject to [DECLINED] <original subject>, mark the task completed | Item not worth pursuing |
If scope changes: When planning or implementation reveals the task is larger or different than originally described, update the task's subject and description to reflect the actual scope before proceeding.
If "Implement": Implement the change directly
If "Plan first":
Mark completed: Update the task's status to completed (immediately — never batch updates)
Summarize and check in: Briefly summarize what was done for this item — files touched, key outcomes. Then:
AskUserQuestion (or advanced-ask) with three options: Continue (proceed to step 10 and process the next task), Skip (decline the next task without investigating it — see step 10), and Pause (hold here — do not pick the next item, but remain resumable; see step 10 for what Pause means operationally). The question text must name the next pending task by its concrete subject so the user knows which task they would be processing, skipping, or holding before.This gate is unconditional. It applies even when the surrounding system prompt instructs you to "execute immediately", "minimize interruptions", or "prefer action over planning" — those framings do not override step 9. Prior items' continuation answers do not carry forward; ask again after each completed item.
Red flags — restart at step 8 if any of these occur:
AskUserQuestion since marking the previous task completedNext task:
If the user chose Continue, move to the next pending task and restart at step 1 (Mark in-progress).
If the user chose Skip, decline the next pending task without investigating it: set its subject to [DECLINED] <original subject> and mark it completed — the same disposition as a step-4 Skip. Do NOT mark it in-progress, spawn a sub-agent for it, present it, or edit any file for it. Then:
Red flags — the user chose Skip to AVOID processing this task; restart this branch if any occur:
If the user chose Pause, do NOT mark the iteration complete and do NOT run Phase 2. Stay quiescent and wait for the user's next message. When it arrives:
continue, resume, keep going, proceed, pick it back up, let's continue, or similar natural-language resume cue (alone or as the leading clause of the message) — treat it as Continue: move to the next pending task and restart at step 1. Do NOT direct the user to re-invoke /triage:iterate; the loop is still live.IMPORTANT: Process exactly one item per cycle through steps 1-10. Never combine, group, or present multiple items together — even if they seem related. Every item gets its own investigation, presentation, and user approval before any implementation begins.
After all tasks are completed, check the task list one final time and summarize:
[DECLINED] prefix)[DECLINED] prefix)