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

plan-attack

Pre-commitment attack on a plan by an agent that did not write it. Use when presenting a feature-deep-dive plan, assigning vision-to-fleet briefs, moving a register to build mode, ratifying a scope list, or coding a new contract or table. NOT for built work or DONE reports (use subagent-dispatch).

インストール方法を見る

含まれるファイル(2)

  • SKILL.md6.4 KB
  • evals.md11.9 KB

SKILL.md(原文)

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

<!-- SYNCED COPY — do not edit here. Canonical: common-docs/skills/plan-attack/SKILL.md This file is distributed to every consuming repo by common-docs/meta/scripts/sync_skills.py. Edit the canonical, run the sync, and commit each repo. Edits made here are overwritten and lost. -->

plan-attack

Arman's order (campaign-pattern, move 3) was to have an independent reviewer poke holes in the plan before anyone proceeded. A self-review is not an attack: the author is blind to what they left out.

When — scale to the stakes

PlanAttack
Single-surface sub-feature, no new contract/tableNone — inline check: coverage + the placeholder list below
Sub-feature with a new contract, table, or cross-surface change1 reviewer, standard
feature-deep-dive plan (every repo but matrx-ship) · scope list · register → build mode2 in parallel: REGRET + BUILDABILITY, standard
matrx-frontend vision-to-fleet brief set1 BUILDABILITY reviewer per brief + 1 cross-brief CONTRACTS reviewer, standard; deep only for conflicting evidence or consequential design, reason stated

Dispatch rules

  • Fresh agent, zero authorship, lane named (subagent-model-ladder). For Claude Code, use Opus 5.5 — the stated reason: attacking a large plan is design judgment. Read-only; it may read code and the live DB.
  • Pin the plan. Give the reviewer the commit SHA (or snapshot path) it must judge, and say the repo may have moved since: drift between the plan and newer live state is not a finding against the plan.
  • The reviewer's first act is contact with reality from the user's seat — the live product as the vision's user meets it, the live data — before reading the plan. A plan is a model of what its author found; an attack that only reads the plan is a second author with the same blind spots (reality is the referee). The reviewer is told the vision and the outcome, never what the author found or where.
  • Pass pointers, never your summary: plan path, EVERY VISION.md that speaks about the subject, not just the node's VISION.md, the settled-rulings path, repos. The reviewer judges the document, not your intent.

The brief (fill the brackets; send the lens(es) the table calls for)

LANE: standard (opus, medium). READ-ONLY. You did not write this plan. Find what we will regret.
Plan: [path] @ [commit SHA or snapshot] — judge THAT version. The repo has moved since; drift
between the plan and newer live state is not a finding against the plan.
Vision: [paths]  Settled rulings: [path]  Repos: [list]

REGRET — what is missing
- Before reading the plan: go where the vision's user goes, in the live product and data, and
  write down what is already there for this job. Then map every vision requirement to the plan
  item that delivers it AND to what already exists; list the unmapped and the duplicated.
- Implied-but-unwritten work: integration in both directions; every surface (web, desktop,
  extension, mobile, admin); agent touchpoints.
- Doctrine gaps: table stakes absent (stream/persist/resume/never lose input); a feature-local
  build of what should be a platform primitive; a hardcoded opinion that should be an org knob;
  a fallback or stand-in that does not announce itself; the replaced thing not deleted; a decision
  with no companion machinery (notify / request path / undo).
- Verification: is "done" proven by someone other than the builder, on the live surface, with
  real data? Self-authored tests on manufactured data are a finding. Name every build flag, env
  var, fixture or mock mode, seed script, seeded demo dataset and env toggle the plan can run
  under, and say what proves a verification ran with none of them on — an unnoticed one turns
  every "proven in the browser" claim into a claim about fake data.

BUILDABILITY — could a strong agent with only this item + the repo ship the right thing
- Placeholders: TBD/TODO, "handle edge cases", "add error handling", "similar to X", names or
  types defined nowhere.
- Contradictions between items; producer and consumer disagreeing on a name, type, or signature.
- Load-bearing claims about current code/DB: spot-check them; a stale claim is a finding.
- Sizing: merge items no reviewer could reject independently; split items hiding two
  rejectable deliverables.

CONTRACTS (brief sets only) — every interface one brief publishes matches, by exact name and
type, what every consuming brief expects; each shared file/table/interface has one owner.

CALIBRATION: report only what would make us build the wrong thing, ship a lie, get stuck, or
redo work. No wording, style, or "more detail". Do not approve by default; do not invent
findings. Zero findings is a legal verdict if the coverage map is shown.

RETURN (≤40 lines):
VERDICT: COMMIT | FIX-FIRST
COVERAGE: <n>/<N> requirements mapped; unmapped: [...]
BLOCKING: - [item] finding — why it bites — proposed fix
ADVISORY: - [item] ...
OWNER-ONLY: questions only Arman can rule on (vision/money/brand/legal/data deletion), each with a rec

Adjudicate — the author's job, never skipped

  • Every finding gets one of: FIX (edit the plan), REJECT (a one-line reason, recorded), or OWNER-ONLY (into the grilling tree). Verify a finding's claim before accepting it — reviewers are wrong too.
  • If a blocking fix changed scope or a contract, re-attack only the changed items with a fresh agent.
  • Record one line in the plan/register: Attacked <date> (<lanes>): N blocking fixed, M rejected (<why>).
  • Arman sees the plan only after adjudication, told in one line that it was attacked and what changed. Never forward raw reviewer output.

Banned

The author attacking their own plan · handing the reviewer a summary · "approve unless serious" calibration · raw findings sent to Arman · a deep/Fable lane by reflex.

レビュー

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

同じリポジトリのスキル

概要と使いどころ

Admin debug system wiring for the floating AdminIndicator's live debug data and Copy Full Context. Use when adding debug visibility to a route or feature, wiring useDebugContext or the debug panel, capturing console errors, or enabling the copy-context workflow for a page.

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

armanisadeghi/ai-matrx32026年10月12日 更新

Compact two-icon Copy / Copy-for-AI controls (components/agent-copy). Use when adding copy buttons to a row, card, list, or record; merging duplicate Copy/JSON/AI controls; continuing the copy rollout; or writing a Copy-for-AI payload. NOT for markdown content actions (use rich-document-actions).

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

armanisadeghi/ai-matrx32026年10月12日 更新

Disclosing a surface's existing fixed AI jobs in the shell's top Agents menu. Use when a page, panel, overlay, or window already runs a mandate behind a button, assist, automatic action, or mode; when the agent-disclosure guard names a file; or during a surface check.

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

armanisadeghi/ai-matrx32026年10月12日 更新

The watch-fix-rerun method for making an existing platform agent or automated process efficient and correct: baseline its ledger, run one unit yourself, fix the class behind every wasted call, rerun, record. Use when asked to improve, optimize, watch, or 'make efficient' an agent, a sandbox session, a sync job, or any recurring automated process.

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

armanisadeghi/ai-matrx32026年10月12日 更新

Redux state for agent execution and firing agent shortcuts. Use when editing features/agents/redux/, building agent UI, creating a conversation, touching assembleRequest or NDJSON stream state, wiring agent-state selectors, adding a per-conversation capability, or triggering a shortcut from a button, menu, or code (useShortcutTrigger, launchAgentExecution).

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

armanisadeghi/ai-matrx32026年10月12日 更新

The provision for a call site: the exhaustive menu of values that place in the code can realistically produce. Use before creating or fixing a mandate or agent that reasons about more than its own input, when deciding whether an agent can answer at all with what it is sent, or when its output 'looks right' but nobody checked it could be. NOT for building the agent (use create-agent).

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

armanisadeghi/ai-matrx32026年10月12日 更新

armanisadeghi のスキルをすべて見る

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