アプリ・Webサービス・業務ツールの制作を、証拠分析→確定的な初稿→要件定義→体験設計→機能分解→実装→品質ゲート→リリース判定の手順ゲート制で進めるスキル。質問で要件を埋めるのではなく、依頼文・既存コード・資料・ログから最有力案を選び、動く成果物を先に出して差分で改善する。ユーザーが「アプリを作りたい」「ツールを作って」「〜を自動化したい」「システム化したい」「要件定義」「仕様を決めたい」「UI/UXを設計して」「体験を良くしたい」「機能を洗い出して」「MVPを決めたい」「品質チェック」「リリースしていいか判断して」などと言ったら必ず使用する。外部データの取込・マスタ・締め処理を伴う業務システムでは references/data-lifecycle.md も併用する。新規・既存を問わずアプリの制作・改善・リニューアルで使用する。
run-slide-report-modify
既存のスライドデッキ/レポートを output_mode を保ったまま指定箇所だけ部分修正したいとき、意匠/技術コアと非対象箇所を壊さず修正後の再評価で視覚崩れ0にしたいときに使う。
含まれるファイル(7)
- SKILL.md15.5 KB
- prompts/R1-orchestrate.md26.6 KB
- prompts/R2-agent-slide-report-modifier.md39.7 KB
- references/modification-rules.md11.9 KB
- references/report-modification-rules.md19.5 KB
- schemas/modification-report.schema.json1.6 KB
- workflow-manifest.json7.2 KB
SKILL.md(原文)
インストールする前に、エージェントに与えられる指示の中身を確認できます。
Pre-choice usable artifact execution
Purpose & Output Contractの最小の実成果物をmain contextで作成する。effect別のparse/open・secret・irreversible・corrupt guardだけを実行し、現物path・digest・開き方を提示してからaccept-as-is/light/standard/detailedを記録する。accept-as-isはその場でhandoff完了とし、後続sectionを実行しない。
Post-choice selected improvement execution
以下の既存workflow・goal-seek・評価・修正sectionはlight/standard/detailedが記録されてsemantic_evaluator_startedへ遷移した場合だけ実行する。release/exhaustiveは別の明示eventを必要とする。
run-slide-report-modify
Runtime root contract
runtime_root_policy: host-skill-pathを適用する。- Claude Codeでは
CLAUDE_PLUGIN_ROOTをplugin rootとして使用する。 - Codexではホストが提示したこの
SKILL.mdのabsolute pathから、plugin manifestを持つ祖先を上方探索して論理PLUGIN_ROOTを解決する。 cwdからplugin rootを推測せず、literal placeholderをshellへ渡さない。各shell invocation内で解決済みabsolute pathをPLUGIN_ROOTに設定する。prompts/配下はこのowner Skill契約を継承する。
役割: 既存の slide deck / report の局所修正を独立起動で行う skill (移植元 P4 = slide-modifier 相当)。生成し直さず、
output_modeを保ったまま指定箇所だけを部分修正し、意匠/技術コアと非対象箇所を壊さない。plugin root =${SRG_ROOT:-$CLAUDE_PLUGIN_ROOT}、実行パスは全てここ起点 (repo-root ハードコード禁止)。新規生成はrun-slide-report-generate、シリーズ横断検証はrun-cross-deck-reviewの責務。
Purpose & Output Contract
既存の slide deck / report を output_mode を保ったまま指定箇所だけ部分修正し、意匠/技術コアと非対象箇所を壊さず、修正後の生成後評価で視覚崩れ 0 の状態を作る。
- 入力: 既存成果物 (slide deck ディレクトリ / report HTML) と修正指示。任意
--mode slide|report(省略時は成果物から自動判定)。 - 出力: 修正レポート (修正箇所一覧 + 変更差分 + 再評価スコア)。
- usable handoff条件: main contextが (1) 修正対象と
output_modeを特定してvalidate-output-mode.pyを通し、(2) 指定箇所だけの最小修正版を実ファイルとして作成し、(3) path/digest/開き方を提示する。accept-as-isならここで完了し、Task/evaluatorは0回。 - 選択後の改善完了条件: light/standard/detailed選択時だけ、修正後評価が視覚崩れ0でPASSするまで下記R1→R3を有界実行する。
mode 判定 (slide / report)
独立起動のため、まず修正対象成果物の output_mode を判定する。
index.html(+styles.css/scripts.js/structure.*) を持つ → slide (deck 成果物)。report.html(+report-structure.*) を持つ → report。- 曖昧な場合は
--mode引数を優先し、validate-output-mode.pyで値域整合を検証する (IN1)。判定した mode を修正 worker へ伝播する。
選択後ワークフロー (R1 → R2 → R3・worker は Task で name 起動)
pre-choiceでmain contextが最小修正版を作成・提示済みであることが前提。以下はlight/standard/detailed選択後だけ起動する。各ラウンドの7層実行契約は
prompts/R1-orchestrate.md、phase activationはworkflow-manifest.json.artifact_delivery_contractを正本とする。
R1: 修正対象と指示の確定
修正対象の既存成果物 (パス)・output_mode・修正指示をヒアリングして確定する。既存成果物を Read し、修正が及ぶ範囲 (対象要素) と触れてはならない意匠/技術コア・非対象箇所を明示する。
R2: 局所修正
利用者が改善を選んだ場合だけ Task で slide-report-modifier を起動 (isolation: fork)。提示済み最小修正版を入力に、判定したmodeに応じて指定箇所のみを改善する。workerのtoolsは Read, Write, Bash のみでTaskを持たず、下流agentが要る場合は修正案に明記して返し本skillがpost-choiceでdispatchする。
- 意匠 SSOT (配色トークン・16:9・最小 1.4rem・印刷 CSS・letterbox 等) と非対象セクションは不変に保つ (両モード共有)。
- slide:
index.html/styles.css/scripts.jsとstructure.*の同期を維持 (./references/modification-rules.mdの CONST_001-013)。 - report:
report-structure.jsonを正本に編集しrender-report.js(Bash) でreport.htmlを再レンダして整合を維持 (./references/report-modification-rules.mdの RCONST_001-013)。読み物文体・1項目1ビジュアル・reportType 骨格順序・入口ホリゾンタル(タイトル/リード/summary の読者価値・RCONST_013)を崩さず、履歴はmeta.versionbump + sidecarreport-structure.history.json(schema 外フィールドのインライン禁止)。 - 全書き換え禁止 (局所差分のみ)。修正箇所と変更差分を記録する。
R3: 再評価 (mode 分岐)
slide-report-modifier の修正後、mode 別に再評価する (下記 deterministic_checks)。slide=verify-slides.js (+意匠/印刷影響時 evaluate-deck.js/validate-print.js) で視覚崩れ 0。report=render-report.js 再レンダ整合 + runtime bundle生成 + validate-report-visual.py <report.html> --structure <report-structure.json> --require-structure --json + mode-aware deck-evaluator。未達なら R2 へ差し戻す。
決定論チェック (deterministic_checks)
# 【共通】初回/更新後にplugin-local Chromiumを復元
python3 "${SRG_ROOT:-${PLUGIN_ROOT:-${CLAUDE_PLUGIN_ROOT}}}/scripts/setup-playwright.py" --install
# 【共通】既存成果物の output_mode 判定と値域整合 (送信前・fail-closed)
python3 "${SRG_ROOT:-${PLUGIN_ROOT:-${CLAUDE_PLUGIN_ROOT}}}/scripts/validate-output-mode.py" --mode <slide|report> [--report-type <enum>]
# 【slide R3】修正後の UI 品質検証 (テキスト切れ・改行・16:9 比率・非対象箇所の崩れ検出)
node "${SRG_ROOT:-${PLUGIN_ROOT:-${CLAUDE_PLUGIN_ROOT}}}/vendor/scripts/verify-slides.js" ./index.html --check-ratio
# 意匠コア・印刷レイアウトに及ぶ場合は evaluate-deck.js / validate-print.js も併用
# 【report R3】report-structure.json → report.html 再レンダ整合 (正本の忠実な射影を確認)
node "${SRG_ROOT:-${PLUGIN_ROOT:-${CLAUDE_PLUGIN_ROOT}}}/vendor/scripts/render-report.js" <report-structure.json> <report.html>
# 修正後 report.html の読み物視覚検証 (section 構造欠落 / 1項目1ビジュアル逸脱 / 段落過密 / 意匠逸脱・fail-closed)
node "${SRG_ROOT:-${PLUGIN_ROOT:-${CLAUDE_PLUGIN_ROOT}}}/vendor/scripts/verify-report-runtime.js" <report.html> --structure <report-structure.json> --out <runtime-bundle.json>
python3 "${SRG_ROOT:-${PLUGIN_ROOT:-${CLAUDE_PLUGIN_ROOT}}}/scripts/validate-report-visual.py" <report.html> --structure <report-structure.json> --require-structure --json
# さらに mode-aware deck-evaluator (report rubric: 可読性/図解適合/情報密度/セクション論理構造) を Task 起動して再評価
mode を先に確定し (validate-output-mode.py)、R3 は mode 分岐で実行する: slide=verify-slides.js (+意匠/印刷影響時 evaluate-deck.js/validate-print.js) で視覚崩れ 0、report=render-report.js 再レンダ整合 + validate-report-visual.py + mode-aware deck-evaluator。いずれも全ゲート exit 0 を完成根拠とする。
ゴールシークと受入基準 (combinators)
light/standard/detailed選択後だけ with-goal-seek(max_loops 5) + with-feedback-contract を有効化する。ループ本体は Task でSubAgentへforkし、親へは修正レポートのみ返す。accept-as-isでは両loopを0回のまま完了する。受入基準は当該skillのgoal/checklist由来:
- IN1 (inner・script):
validate-output-modeで既存成果物のoutput_modeを判定し修正対象の mode とreportTypeの値域整合を送信前検証し欠落が 0 件。 - OUT1 (outer・test): 指定箇所のみが修正され意匠/技術コアと非対象箇所が不変で、修正後の生成後評価が視覚崩れ 0 で PASS することを受入テストが確認する。
選択後の未達だけ最大3周(inner)/5 loops(goal-seek)でfindingsを反映し再実行する。提示前またはaccept-as-is後に自動起動しない。
境界
- 入力 = 既存成果物と修正指示/出力 = 局所修正済み HTML。
- slide/report 双方対応 (mode-aware): 局所修正・再評価を slide 経路 (
structure.md⇔index.html・verify-slides.js) と report 経路 (report-structure.json⇔report.html・render-report.js再レンダ整合+validate-report-visual.py+mode-awaredeck-evaluator) の両方で実体化する。purpose「slide/report 双方修正」を additive に満たす (slide 既存契約は温存)。 - 新規生成は
run-slide-report-generateへ委譲する (本 skill は既存成果物の局所修正のみ・ゼロから作らない)。 - シリーズ横断の整合検証は
run-cross-deck-reviewへ委譲する。
Gotchas
- 配置非依存: 全実行パスは
${SRG_ROOT:-$CLAUDE_PLUGIN_ROOT}起点 (vendor/scripts/…/scripts/…)。repo-root 直書き禁止。 - 局所性を守る: 指定箇所以外・意匠 SSOT・印刷 CSS には触れない。全書き換えでなく Edit 差分。
- mode を保つ: slide を report へ (逆も) 変換しない。
output_modeは入力成果物のものを維持する。 - 同期維持: slide deck は
index.html⇔structure.*、report はreport.html⇔report-structure.*の整合を崩さない。 - 完成判定は実体で: 修正後は Read/署名/スクショ目視で確認し、"PASS" 文字列で完成判断しない。
- agent は name 参照:
slide-report-modifierはファイルパス依存でなく Task の name 起動。
配置先
| 用途 | 出力先 |
|---|---|
| 本 skill 資産 | plugins/slide-report-generator/skills/run-slide-report-modify/ |
| 修正対象・出力 | 既存成果物ディレクトリ (in-place 局所修正) |
追加リソース
prompts/R1-orchestrate.md— R1→R2→R3 の 7 層実行 SSOT (agent dispatch・script/schema/reference 実体参照・deterministic ゲート・差し戻し条件)。workflow-manifest.json— phase (R1-identify-target → R2-local-modify → R3-re-evaluate)・resource・gate (C1/C2/C3)・dependsOn・entryHook/exitHook・fatal_exit_codes の機械可読宣言。references/modification-rules.md— slide 部分修正規範の逐語 SSOT (用語集・評価基準・修正タイプ 6 分類・CONST_001-013・修正フローパターン・index.html ⇔ structure.md 同期維持ルール)。worker (slide-report-modifier) と本 skill の双方が参照。references/report-modification-rules.md— report 部分修正規範の逐語 SSOT (reportType 4 骨格の維持・section 構造の局所修正・report.html ⇔ report-structure.json 同期・読み物文体/1項目1ビジュアル非破壊・履歴追記)。modification-rules.md(slide) と対を成し、slide-report-modifier が mode 別に適用。../../schemas/structure.schema.json— slide 修正対象の構造正本 (修正後structure.*が valid を保つ判定)。../../schemas/report-structure.schema.json— report 修正対象の構造正本 (修正後report-structure.*が valid を保つ判定)。../../scripts/setup-playwright.py/validate-output-mode.py— plugin-local Chromium復元・検査 + output_mode 判定・値域検証 (plugin-root glue・IN1)。../../vendor/scripts/verify-slides.js/evaluate-deck.js/validate-print.js— slide 修正後の視覚崩れ検証 (R3・OUT1)。../../scripts/validate-report-visual.py— report 修正後の決定論視覚ゲート (section 構造/1項目1ビジュアル/段落密度/placeholder・R3・OUT1)。../../vendor/scripts/render-report.js— report 修正後の report-structure.json → report.html 再レンダ整合 (正本射影の確認・R3)。- 統率する agent:
slide-report-modifier(Task の name 起動・isolation: fork・mode-aware。用語集・CONST/RCONST・修正フローは slide=references/modification-rules.md/ report=references/report-modification-rules.mdを SSOT に mode 別適用)。下流 agent (含 mode-awaredeck-evaluator) は worker が Task 非保持ゆえ本 skill が dispatch。
レビュー
まだレビューはありません。使ってみた感想をお寄せください。
同じリポジトリのスキル
概要と使いどころ
Webアプリの準備→要件定義→設計→実装→公開→品質ゲートを実行する内部オーケストレーター。Claude Codeの /build-app /improve-app、Codexの $build-app / $improve-app から明示的に委譲された場合、custom agent起動時、または利用者が $app-orchestrator を明示した場合だけ使用する。一般のアプリ相談から暗黙起動しない。
run-extract-blueprint が生成した章別ブループリントの忠実性を独立 context で評価したいとき、事実/推測区別と粒度と被覆を検証し draft_hash に束縛した PASS/FAIL verdict をローカル品質ゲート (C01 の周回内の受入判定・差し戻し) へ渡したいときに使う。
確認点で利用者が見る深さを選んだあと打ち合わせ資料を作り手とは別の目で確かめたいとき、正確さ・言葉・見た目・シンプルさの指摘を資料の編集なしで受け取りたいときに使う。
生成した handout 資料が初心者に伝わるか読みやすさレビューを依頼したいとき、独立 context のレビュアーから指摘と根拠つきの verdict を回収したいときに使う。
Notion ページを描画する直前に粒度を検証したいとき、info-collector-agent ページと同等の section 充足度を section_canonical_map 基準で機械検証したいときに使う。