browser
무료chrome-devtools-mcp の CLI (`chrome-devtools`) を使ったブラウザ操作の総合スキル。既存ブラウザへの attach / 使い捨てテストブラウザ / ログイン状態を保持する永続プロファイルのいずれかをユーザーに必ず確認した上でサーバを立ち上げ、スナップショット取得・クリック・入力・ナビゲーション・スクショ・ネットワーク監視などを行う。
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
GitHub issue から計画・実装・テスト・レビュー・PR テキスト・理解確認まで一気通貫で行う。難易度 tier に応じてステップのモデル・effort・スキップを切り替える。
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
설치 방법 보기설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.
GitHub issue ( $ARGUMENTS ) に対して、計画から PR テキスト作成・理解確認まで一気通貫で実行する。
$ARGUMENTS は <issue> [mode] [tier] の形式で受け取る。
<issue>: issue 番号(123、#123)または URL。必須。空の場合はユーザーに issue 番号を質問する。URL が渡された場合は issue 番号を抽出し、以降のステップには正規化済みの issue 番号(例: 123)を渡す[mode]: 慎重度合い。auto / normal。省略可(開始時セットアップで質問する)[tier]: 難易度。S / M / L / XL / fixed:<model>[/<effort>] / full。省略時は /triage が判定する。指定時は triage を一切呼ばない
fixed:<model>[/<effort>]: tier 判定もスキップもせず、全ステップを指定した model / effort で実行する(例: fixed:opus/high、fixed:opus)。full は fixed:fable/xhigh の別名本スキルにおけるステップの唯一の定義。チェックポイント選択・タスク登録・実行手順はすべてこの表と次の「実行形態表」を参照する。ステップを増減する場合はこの 2 表の修正だけで完結させること。
| # | ステップ | 呼び出し | 主な成果物 | 前提成果物 | 並列 |
|---|---|---|---|---|---|
| 1 | triage-initial | /triage <issue> initial | triage.json | — | — |
| 2 | research | /research <issue> <mode> <tier> | research.md/.html | — | — |
| 3 | triage-confirm | /triage <issue> confirm | triage.json | research.md | — |
| 4 | plan | /plan <issue> <mode>(S は /plan <issue> <mode> lite) | plan.md/.html, checklist.html | research.md(S は不要) | — |
| 5 | triage-promote | /triage <issue> promote | triage.json | plan.md | — |
| 6 | review-plan | /review-plan <issue> | review-plan.md/.html | plan.md, checklist.html | — |
| 7 | capture-before | /capture <issue> before auto | screenshots/before/ | checklist.html | — |
| 8 | implement | /implement <issue> <mode>(ループからの再実行は … <mode> fix) | コード, implementation-notes.md, report.md/.html | plan.md | — |
| 9 | create-pr-text | /create-pr-text <issue> | pr.md | plan.md, report.md | A |
| 10 | test | /test <issue> <mode> | checklist.html 更新, screenshots/after/, compare.html | checklist.html, implementation-notes.md | A |
| 11 | review | /review <issue> <tier> | review.md/.html | 実装済みコード | — |
| 12 | quiz | /quiz <issue> | quiz.html | report.md, review.md | B |
| 13 | notify-discord | /notify-discord <サマリ> | — | — | B |
tmp/issues/<issue番号>/ 配下/test が結果を書き込む状態ファイルのため html 単一値は agent:<model>/<effort>(Agent ツールで別コンテキストとして実行。subagent_type に dev-<model>-<effort> を指定し、model 引数は渡さない)/ skip。model はエージェント定義の frontmatter でフル ID に固定してある(opus = claude-opus-5-5[1m]、fable = claude-fable-5-1)。Agent ツールの model 引数はエイリアスしか受け付けず、opus が環境によって Opus 5 に解決されるため使わない。ステップはすべて agent で動かし、inline(セッションモデル)で動くのは dev 本体だけ(Claude Code 以外から呼ばれた場合はこの表を使わず全ステップ inline。後述「Claude Code 以外の実行環境」)。セッションの model / effort はステップの実行には影響しないが、dev 本体はセッションモデルで動くので、セッションは Opus 5.5 以上を推奨する(※4)。
| ステップ | S | M | L | XL | fixed:<model>/<effort> |
|---|---|---|---|---|---|
| triage-initial | agent:opus/medium(tier 引数指定時は skip) | ← | ← | ← | skip |
| research | skip | agent:opus/high | agent:fable/high | agent:fable/xhigh | agent:<model>/<effort> |
| └ ファンアウト Agent(research 内) | — | opus/low | opus/medium | opus/medium | <model>/<effort> |
| triage-confirm | skip | agent:opus/medium | agent:opus/medium | agent:opus/medium | skip |
| plan | agent:opus/medium(lite) | agent:fable/high | agent:fable/xhigh | agent:fable/max | agent:<model>/<effort> |
| triage-promote | skip | agent:opus/medium | agent:opus/medium | agent:opus/medium | skip |
| review-plan | skip | agent:opus/high ※1 | agent:opus/xhigh | agent:fable/xhigh | agent:<model>/<effort> |
| capture-before | skip | agent:opus/low | agent:opus/low | agent:opus/low | agent:<model>/<effort> |
| implement | agent:opus/medium | agent:opus/xhigh | agent:opus/xhigh | agent:fable/xhigh ※3 | agent:<model>/<effort> |
| create-pr-text | agent:opus/low | agent:opus/low | agent:opus/low | agent:opus/medium | agent:<model>/<effort> |
| test | agent:opus/low ※2 | agent:opus/low | agent:opus/medium | agent:opus/medium | agent:<model>/<effort> |
| review(親: 収集・統合) | agent:opus/low | agent:opus/low | agent:opus/low | agent:opus/low | agent:<model>/<effort> |
| └ メインレビュアー Agent(review 内) | opus/medium(正確性・副作用のみ) | opus/high | fable/xhigh | fable/xhigh | <model>/<effort> |
| quiz | skip | agent:opus/low | agent:opus/medium | agent:opus/medium | agent:<model>/<effort> |
| notify-discord | agent:opus/low | agent:opus/low | agent:opus/low | agent:opus/low | agent:<model>/<effort> |
| dev 本体(状態管理・DoD ゲート・config 学習・質問リレー) | inline(セッションモデル。Opus 5.5 以上を推奨 ※4) | ← | ← | ← | inline |
.agents/skills-config/review-plan/config.json の attentions に plan の変更対象へ該当する項目が無い場合、dev が自動スキップしてよい(dev-state.json に理由を記録)/plan の「記述の原則」)まで書けている前提で Opus に落とす。effort は tier に関わらず常に xhigh: 低 effort はツール呼び出しを統合してターン数を減らすが、implement で減るのは検証のターン(テスト実行・変更後の再読・確認)であり、安くなった分だけ確認を省いた実装になるため。implement は Opus で動くので effort は Fable 枠に影響せず、下げる動機もないstatus: needs-replan で plan 巻き戻しに出る(後述)。内側リトライが安いので、plan 具体度を事前に採点して model を振り分ける機構は置かない(指標を増やすと較正対象が増え、判定を外したときの切り分けも難しくなる)/model の選択肢から明示的に選ぶ。opus エイリアスは Opus 5 を指しうるので使わない)。表の Fable 配置はセッションモデルに依存せず、切り替えても各ステップの model は変わらないdev-<model>-<effort>)fixed:<model>/<effort> は dev-<model>-<effort> で起動する。<model> が opus / fable 以外(定義が無い)か effort が省略された場合は、Opus 5 に落ちる可能性があるエイリアス起動はせず、ユーザーに「定義が無い」と報告して停止する(auto でも)Agent ツールの model 引数はエイリアス(opus / fable 等)しか受け付けず、opus は環境によって Opus 5 に解決される。effort も引数では渡せない。どちらも subagent 定義(~/.claude/agents/*.md)の frontmatter でだけ固定できるため、本スキルの assets/agents/ にある 10 ファイル dev-{opus,fable}-{low,medium,high,xhigh,max}.md(model をフル ID で固定 + effort 固定)を使う。セットアップ時に次を行う:
~/.claude/agents/dev-opus-*.md / dev-fable-*.md の 10 ファイルが存在し、assets/agents/ と内容が一致するか diff -q で確認する。無い・違うものは assets/agents/ からコピーする(mkdir -p ~/.claude/agents)。旧 dev-effort-*.md が残っていれば削除する(model: inherit のため、エイリアス経由で Opus 5 に落ちうる)。追加・更新は数秒で自動反映される(再起動不要)~/.claude/agents/ を今回新規作成した場合(そのスコープで初のエージェント定義)は Claude Code の再起動まで定義が読まれない。その旨をユーザーに伝え、再起動後の再実行を案内して停止するdev-<model>-<effort> を Agent ツールが受け付けない場合も同様に停止して報告する。general-purpose + model エイリアスへの fallback は行わない(Opus 5 に落ちる経路を残さないため)。dev-state.json に agents_ready: false と理由を記録する上記 1〜3 は Claude Code で動いているときだけ行う(次節)。
実行形態表と前節は Claude Code の Agent ツール(subagent_type: dev-<model>-<effort>)を前提にしている。Codex CLI・Cursor・Gemini CLI など、この形の Agent ツールが無い環境から呼ばれた場合は、ユーザーに確認せず自然に「全ステップを自分(その AI のセッションモデル)で inline 実行する」を選ぶ。model / effort の切り替えと Opus 5 回避は Claude Code 固有の事情で、他環境では成立しないため。
subagent_type を取る Agent ツールが無ければ「Claude Code 以外」。dev-state.json に runtime を記録する(Claude Code なら "claude-code"、それ以外は環境名。例 "codex")M として扱う(tier_source: "runtime-default"。何も skip しない)models は全ステップ inline と記録し、並列グループは表の順の直列で実行する。サブスキル内部のファンアウト(research / review)は各 SKILL.md の規定どおり inline に落ちるwaiting 記録(後述)は同様に行うagents_ready: null)・タスク管理ツールが無い環境での TaskCreate 系。成果物ビューアは /open 相当でブラウザを開けるなら開き、開けなければ各ステップ完了時に成果物パスを案内するだけにする(viewer: false)以下を 1 回の AskUserQuestion にまとめて 質問する(mode が引数で指定済みならその質問は省く)。このセットアップ質問は mode の「質問しない」制約の適用対象外。
mode: auto / normal(推奨: normal)
チェックポイント(multiSelect): triage 以外のステップ 2〜12 のうち「完了後に停止して内容を確認したいステップ」を 0 個以上(デフォルト: なし)
セッションモデル(セッションが Opus 5.5 以上でないときだけ表示): このまま続行 / 中断して /model で切り替え後に再実行(推奨: 中断して切り替え)。理由は実行形態表 ※4
スキップするステップは tier から決まるため、個別に質問しない。特定ステップを飛ばしたい場合は tier 引数で調整する(例: research を飛ばすなら S)。
セットアップ質問を出す前に、自身が動いているモデルを確認する(システムプロンプトのモデル名で判定)。
/model で Opus 5.5 以上を選んで /dev <同じ引数> を再実行するよう案内する。「続行」なら session_model を dev-state.json に記録して進める(auto でも質問 3 は出す。セットアップ質問は mode の適用対象外)fixed:fable/... / full 指定時も同じ(各ステップが Fable で動くことと、dev 本体が Fable で動くことは別の消費)セットアップ質問の直後に「エージェント定義の準備」(前述)を行い、agents_ready を dev-state.json に記録する。
tier_source: "user" とする。triage は呼ばないtriage-initial を実行して仮 tier を得る(S の見極めが目的。迷えば M になる)triage-confirm で確定する。以降のステップの model / effort・スキップはこの結果で決めるtriage-promote を実行し、昇格があれば以降に反映する(降格はしない)tier / tier_source を更新し、normal モードでは確定時に 1 回だけ「tier と各ステップの model / effort(実行形態表の該当列)」を提示して続行可否を確認する(auto は提示のみで続行)。triage が source: default(Jev も fallback も失敗)を返した場合は mode に関わらず確認するセットアップ完了時に tmp/issues/<issue番号>/dev-state.json を書き出し、ステップの開始・完了・ループ突入・tier 変更のたびに更新する。
{
"issue": 123,
"issue_url": "https://github.com/<owner>/<repo>/issues/123",
"mode": "normal",
"tier": "M",
"tier_source": "jev",
"fixed": null,
"checkpoints": ["plan", "review"],
"skips": ["quiz"],
"runtime": "claude-code",
"agents_ready": true,
"session_model": "claude-opus-5-5[1m]",
"waiting": null,
"models": { "triage-initial": "opus/medium", "research": "opus/high", "plan": "fable/high" },
"timings": { "research": { "started": "2026-10-08T10:00:00+09:00", "finished": "2026-10-08T10:12:30+09:00" } },
"agents": { "research": "<agentId>" },
"loops": { "review_plan": 0, "test_inner": 0, "test_outer": 0, "review": 0 },
"test_failures": [["[AC2] 不正なメールでエラー"], ["[AC2] 不正なメールでエラー"]],
"steps": { "triage-initial": "completed", "research": "in_progress" }
}
issue_url はセットアップ時に gh issue view <issue> --json url -q .url で取得して記録する(ビューアがリンクにする。取得できなければ省略)skips は tier から導出した結果(自動スキップ含む)の記録。人が選ぶ項目ではないfixed は fixed: 指定時のみ { "model": "opus", "effort": "high" }models は各ステップを実際に起動した <model>/<effort> の記録(ループで再実行しても同じ model なら上書きでよい)。timings はステップの開始・完了時刻(ISO 8601)。どちらもビューアの dashboard が表示する。agents は質問リレーの再開に使う agentId(ステップ完了時に消してよい)runtime は dev 本体が動いている実行環境(claude-code / codex 等。「Claude Code 以外の実行環境」の判別結果)agents_ready は dev-<model>-<effort> 定義で起動できたか(false なら停止している。fallback は無い。Claude Code 以外では null)waiting はユーザーの回答待ちで停止している間だけ非 null(後述「入力待ちの記録」)。ビューアが実行中と区別して表示するsession_model は dev 本体が動いているモデル。Fable のまま続行した run を後から集計で見分けるために記録するloops.test_inner は外側に出るたび 0 にリセットする。test_failures は内側の各ラウンドで失敗した checklist 項目名の配列(早期エスカレーション判定に使う。外側に出たらクリアする)/dev 開始時に同 issue の dev-state.json が既に存在する場合は内容を読み、未完了の最初のステップからの再開をユーザーに提案する(auto では自動で再開)。tier は記録済みの値を使うステップごとに html を別タブで開くと、ループの再生成も含めてタブが増え続ける。代わりに本スキルの assets/viewer.html(左に成果物一覧、右に iframe)を issue ごとに 1 タブだけ 開き、以降はそのタブを使い回す。
file://<本スキルの assets/viewer.html の絶対パス>?dir=file://<成果物ディレクトリの絶対パス>/#<page>(dir は末尾 / 付き。viewer.html は成果物ディレクトリにコピーしない)/open <URL>#dashboard で 1 回開く。以降は各ステップ完了後に #<page> 付きで /open を呼ぶだけでよい。/open は同 URL のタブがあればリロード、ハッシュ違いならページ内遷移にするので(open スキルの「開き方」)、タブは増えないdashboard は dev-state.json を描画したページ(進捗バー・ステップ表・ループ・DoD)。3 秒ごとに dev-state.json と各 html を fetch し、未生成はグレー、更新ありは黄、進行中ステップ(steps が completed / skipped 以外)は紫、ユーザーの回答待ち(waiting が非 null)はオレンジで表示し、タブタイトルに ⏸ を付け、全ページ共通の上部バーとダッシュボード先頭に待ちの内容(種別・ステップ・経過時間・要約)を出す(実行中と見分けるため)。表示中ページが更新されるとスクロール位置を保ってリロードする。open スキルの config に --allow-file-access-from-files が必要(open スキルが自動で追記する)/open が "browser": "default" の場合も同じ URL を開くが、既定ブラウザでは file:// の fetch が効かないため一覧がグレーのままになる。その場合は従来どおり個別 html を /open で開く(dev-state.json に viewer: false を記録)| ステップ | page | 備考 |
|---|---|---|
| (セットアップ完了時) | dashboard | dev-state.json から進捗・各ステップの model / effort・所要時間・ループ回数・DoD を表示(自動更新) |
| research | research | |
| plan | plan | checklist.html も同時生成されるが plan を表示 |
| review-plan | review-plan | |
| implement | report | |
| test | checklist | compare.html があれば compare |
| review | review | review-main / review-codex / context は一覧に出さない(中間成果物) |
| quiz | quiz |
セットアップ完了後、TaskCreate より前に実行する。実装コミットがベースブランチや無関係なブランチに混ざるのを防ぐガード。
tmp/config.json の base_branch を読む。無ければ git remote show origin の HEAD branch から検出し、tmp/config.json に保存する(以降 <base>)git rev-parse --abbrev-ref HEAD で現在のブランチ名を取得する。期待するブランチ名は issue-<issue番号>git rev-parse --verify issue-<issue番号> で存在確認し、存在すれば checkout、存在しなければ以下を順に実行
git status --porcelain で未コミットの変更を確認。変更がある場合は中断してユーザーに対処を促す(自動 stash / commit / discard はしない)git fetch origin <base>git checkout -b issue-<issue番号> origin/<base>(ローカル <base> を経由しない)issue-<issue番号> と異なるプロジェクトでは、動作を変える前にユーザーに相談するtier 確定後(tier 引数指定時はセットアップ直後、それ以外は triage-initial 直後)、ステップ定義表の各ステップ(実行形態表で skip のものを除く)を TaskCreate で一括登録する。triage-confirm で tier が変わりスキップ集合が変わった場合はタスクを追加・削除して同期する。
in_progress、正常完了で即座に completed に更新する(バッチ更新しない)in_progress にできるのは原則 1 タスク。例外: 同じ並列グループのステップは同時に in_progress にしてよいin_progress のまま保ち、必要ならループ内サブタスク(例: replan-round-2)を追加するステップ定義表の順に実行する。各ステップで:
skips に記録して次へauto: 警告を dev-state.json に記録し、続行可能なら続行、不可能ならそのステップもスキップ扱いにする。normal: ユーザーに続行可否を確認するsubagent_type: dev-<model>-<effort>。後述「agent ステップの依頼形式」)。normal で status: needs-input が返ったら「質問リレー」で回答を戻して再開する.html は開かない。ステップ完了後に Skill ツールで /open <ビューア URL>#<page> を呼び、「成果物ビューア」の該当ページに切り替える(page はステップ → page 表のとおり。ループでの再生成・更新時も同様。ビューアは変更を自動検知して表示中ページをリロードするので、切り替え以外の操作は不要)| mode | 挙動 |
|---|---|
auto | パイプライン中はユーザーに質問しない。plan の方針選択・曖昧な要件・config 追記もすべて推奨案で自動決定し、置いた仮定は各成果物に明記させる |
normal | plan の方針選択・config 追記の承認・tier 確定時の確認のみ質問する。それ以外は中断せず進める |
/plan 123 normal)。normal でも auto に落とさないAgent ツール(subagent_type: dev-<model>-<effort>。実行形態表の値。model 引数は渡さない)で起動し、プロンプトに以下を含める:
Skill ツールで review-plan を args「123」で実行してください)。呼び出し引数はステップ定義表のとおり(mode を取るスキルには dev の mode をそのまま渡す)tmp/issues/<issue番号>/)の絶対パスauto のとき: 「ユーザーへの質問はできない。判断に迷う場合は保守的に倒し、その旨を成果物に明記する」という制約normal のとき: 「AskUserQuestion は使えない。質問が必要になったら tmp/issues/<issue番号>/questions.json に書き、最終メッセージを status: needs-input として一旦終了せよ。回答は再開時のメッセージで渡す」という質問リレーの指示(フォーマットは後述)git grep / rg を使い、Bash の grep -r / find <dir> は使わない(gitignore された .secret.local 等の deny ルール対象ファイルを走査して承認待ちになる)」という制約status: done または status: needs-input。続けて返すサマリの形式:
fix 時は直した内容(または status: needs-replan と plan の何を直すか)起動時に返る agentId を dev-state.json の agents に記録する(質問リレーの再開に使う)。
status: needs-input が返ったら tmp/issues/<issue番号>/questions.json を読み、dev-state.json の waiting(後述)を書いてから、その内容をそのまま AskUserQuestion でユーザーに提示する(質問文・選択肢・multiSelect を変えない。自由入力も受け付ける)answers に書き込み、SendMessage で同じ subagent(agents に記録した agentId)に「questions.json に回答を書いた。続きから進めよ」と送って再開する。再開した subagent は文脈を保持したまま続きから進むstatus: done が返るまで 1〜2 を繰り返す(research は 1 テーマずつ質問するので複数回になりうる)questions.json のフォーマット(AskUserQuestion と同じ構造):
{
"step": "research",
"round": 1,
"questions": [
{ "question": "...", "header": "AC", "multiSelect": false,
"options": [ { "label": "...", "description": "..." } ] }
],
"answers": null
}
answers は { "<question>": "<回答(自由入力含む)>" } の形で dev が書く。チェックポイント停止・tier 確定時の確認は dev 自身の質問なのでリレーの対象外。
waiting)ユーザーの回答を待って停止する箇所では、質問を出す直前に dev-state.json の waiting を書き、回答を受けて再開した直後に null に戻す。ビューアはこれで「実行中」と「回答待ち」を区別する(ビューア上は紫からオレンジ+⏸ に変わり、ターミナルに戻って回答すべきことが分かる)。
"waiting": { "kind": "question", "step": "plan", "since": "2026-10-08T10:05:00+09:00", "summary": "実装方式の選択(質問 1 件)" }
| kind | 発生箇所 |
|---|---|
question | 質問リレー(subagent からの needs-input) |
checkpoint | チェックポイント停止 |
tier-confirm | tier 確定時の確認(normal / source: default) |
prerequisite | 前提成果物欠如時の続行確認(normal) |
config-approval | config 追記の承認(normal) |
loop-limit | ループ上限到達・DoD 未充足で判断を仰ぐ報告 |
resume | 既存 dev-state.json からの再開提案 |
step は待ちの原因になったステップ(dev 自身の質問なら直前に完了した・または次に実行するステップ)。since は ISO 8601。summary は 1 行(質問リレーなら questions.json の先頭 header と質問数)status: done)を確認してから review へ進む/dev を終了するdev が実施内容のサマリを組み立てて /notify-discord <サマリ> として渡す。pitch の要領(結論・成果を先頭に、続けて要点)で構成する: 何ができたか(1-2 行)→ tier と使ったモデル → テスト・レビュー結果の要点 → 実施ステップ → 主要成果物のパス(詳細な解説は quiz.html の解説パートを案内)。notify-discord 側からユーザーへの質問が発生しない状態で呼び出すこと(webhook_url 未設定なら dev が事前に検出し、そのステップだけ inline で実行する)。
test 失敗ループは 内側(implement 単独リトライ)と外側(plan 巻き戻し)の二段 に分かれる。内側は implement と test だけを回すので plan(Fable)を消費しない。外側に出ると plan の再実行が発生するため、内側を使い切ってから外側に出る。
| ループ | 発動条件 | 戻り先 | 上限(S) | 上限(M 以上・fixed) |
|---|---|---|---|---|
| review-plan 差し戻し | 修正必須(must)が 1 件以上 | plan(修正)→ review-plan 再実行 | —(S は review-plan なし) | 3 回 |
| test 失敗(内側) | チェックリストに失敗項目 | implement(失敗項目の修正)→ test 再実行。plan には戻さない | test 実行 1 回 | test 実行 3 回 |
| test 失敗(外側) | 内側が上限到達、または早期エスカレーション条件に該当 | plan(更新)→ review-plan → implement → …(表の順に再実行。capture-before と triage は除く) | 0 回(S は即 M 昇格) | 1 回 |
| review 差し戻し | must 指摘が 1 件以上 | implement(指摘の修正)→ review 再実行 | review 実行 2 回 | review 実行 3 回 |
checklist.html の失敗項目を使い、各ラウンドの失敗項目を dev-state.json の test_failures に記録するloops に記録するtier_source: "loop-promote")残りのステップを M として続行する(research は飛ばしたまま。review-plan と quiz は以降有効になる)。M 以上で上限に達しても解消しない場合はループを終了し、状況をユーザーに報告して判断を仰ぐ(auto でもここは停止する)/implement <issue> <mode> fix で起動し、失敗した checklist 項目と /test の失敗内容をプロンプトに渡す(何を直すべきか分かる状態で起動する)。計画自体の変更はさせないstatus: needs-replan を返したら、内側カウントに関わらず即座に外側へエスカレーションする(「計画を直さないと実装では直せない」という implement 側からの申告)。返ってきた「plan の何を直す必要があるか」を /plan の再実行プロンプトに渡すfix で起動し、must 指摘をプロンプトに渡すtmp/issues/<issue番号>/ の既存成果物を新規作成し直すのではなく、失敗・指摘内容を反映して更新するreview ループを抜けたら、グループ B に進む前に plan.md の「完了の定義(Definition of Done)」を読み、各項目の充足を検証する。
指定されたステップの完了後、進行を一時停止し、直前ステップの成果物パスと次に実行されるステップを提示した上で AskUserQuestion で選択してもらう:
/dev を終了する(残タスクは削除し、dev-state.json に記録)ユーザーが回答するまで次のステップに進まない。
以下のいずれかで、plan が見落としていた間接依存・暗黙の必須セット・カスケードが判明した場合、今後の /plan と /review-plan で防げるよう、プロジェクト(git root)の .agents/skills-config/plan/config.json と .agents/skills-config/review-plan/config.json の attentions 配列(ファイルが無ければ作成)に追記する(完全重複運用)。
以下のいずれかに該当する場合、追記候補とする:
逆に、以下は追記しない: その issue 限りの個別事情 / コード grep で素直に辿れる直接依存 / 既に同等の内容が attentions に存在する。
attentions には自然言語 1 行(または短い段落)で記述する。例:
"Firestore `orders/{orderId}` への書き込みは functions/src/triggers/onOrderWrite.ts を発火し、Discord 通知文面の更新も必要"
auto: ユーザー確認なしで両 config に自動追記normal: 追記候補の内容と追記先を提示し、承認されれば追記assets/viewer.html の PAGES と「成果物ビューア」の表に 1 行ずつ足すassets/agents/dev-{opus,fable}-*.md の 10 定義だけで、値の割り当ては実行形態表が持つ。Opus 5 に解決されうるエイリアス起動(model: opus)はどこにも書かないmodels に inline と記録する)。Claude Code 以外の実行環境では最初から全ステップ inline(「Claude Code 以外の実行環境」)아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.
로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.
아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.
chrome-devtools-mcp の CLI (`chrome-devtools`) を使ったブラウザ操作の総合スキル。既存ブラウザへの attach / 使い捨てテストブラウザ / ログイン状態を保持する永続プロファイルのいずれかをユーザーに必ず確認した上でサーバを立ち上げ、スナップショット取得・クリック・入力・ナビゲーション・スクショ・ネットワーク監視などを行う。
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
checklist の「UI 撮影台本」に沿って UI のスクリーンショットを撮影し、前後比較(compare.html)用の before / after 素材を保存する。「実装前の UI を撮っておいて」「after のスクショを撮って」などの依頼で発火する。
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
Read and analyze log entries from Cloud Logging using the gcloud CLI.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
Codex 公式プラグイン (codex-plugin-cc) のネイティブレビューでコードレビューを実施する。PR 番号指定時は PR を、無指定時は現在ブランチとベースブランチの差分をレビューする。
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
指定された内容をクリップボードにコピーするスキル。ファイルパスならその中身を、テキストならそのまま、会話中の直前の出力(コマンド結果・生成コード・URL など)を指す場合はその内容を pbcopy でコピーする。ユーザーが「コピーして」「クリップボードに入れて」などコピーの意図を示したら必ず使用する。
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
GitHub issue から PR のタイトルと説明文を作成する。
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.