アプリ・Webサービス・業務ツールの制作を、証拠分析→確定的な初稿→要件定義→体験設計→機能分解→実装→品質ゲート→リリース判定の手順ゲート制で進めるスキル。質問で要件を埋めるのではなく、依頼文・既存コード・資料・ログから最有力案を選び、動く成果物を先に出して差分で改善する。ユーザーが「アプリを作りたい」「ツールを作って」「〜を自動化したい」「システム化したい」「要件定義」「仕様を決めたい」「UI/UXを設計して」「体験を良くしたい」「機能を洗い出して」「MVPを決めたい」「品質チェック」「リリースしていいか判断して」などと言ったら必ず使用する。外部データの取込・マスタ・締め処理を伴う業務システムでは references/data-lifecycle.md も併用する。新規・既存を問わずアプリの制作・改善・リニューアルで使用する。
run-ubm-consult
月間目標・目標設定以外も含む相談に乗ってほしいとき、具体解の処方でなく考え方・思考フレームを引き出し型の共創で提示しユーザー主導で解決策を言語化したいときに使う。
含まれるファイル(9)
- SKILL.md19.8 KB
- prompts/R1-intake-issue.md8.0 KB
- prompts/R2-elicit.md6.5 KB
- prompts/R3-frame-consult.md9.3 KB
- prompts/R4-cocreate-converge.md9.0 KB
- references/consult-frames.md7.4 KB
- references/resource-map.yaml1018 B
- references/session-record-format.md5.0 KB
- workflow-manifest.json5.5 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-ubm-consult
月間目標・目標設定以外も含む相談に、具体解を処方せず「考え方(思考フレーム)」を提示するコーチング型 orchestrator。引き出し質問でユーザーの文脈・制約・価値観を外在化し、解決策の言語化はユーザー主導とし、AI は構造化と検証を担う。目標設定以外の相談にもゴール指向の締めを適用し、締め方(行動化の action lane か整理・内省の reflection lane か)はユーザーが選ぶ。既存 capability A(run-ubm-goal-setting Phase3 対話原則「愛情ある厳しさ」・引き出し型)と knowledge 基盤(原則/マインドセット/事例)、C06/C07 の read-only グラフ consult を非後退(additive)で再利用する。
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契約を継承する。
Purpose & Output Contract
- ゴール: 相談に対し考え方/思考フレームを選択肢として提示し、ユーザー自身の言葉で言語化された解決策と、ユーザーが選んだ収束 lane(action: 現状→ゴール→ギャップ→次の一歩 / reflection: 見えてきたこと→まだ決めないこと→再開条件)へ帰結した状態。
feedback_contractの IN1(非処方スタンス)/ OUT1(transcript 4要素)を満たす。 - 出力契約: 相談セッション記録(相談種別・引き出したユーザー文脈/制約/価値観/既試行・提示した考え方/思考フレーム(選択肢+適用視点・出典 ID 付き)・ユーザー自身の言葉で言語化した解決策・ユーザーが選んだ収束 lane の締め(action: 現状→ゴール→ギャップ→次の一歩 / reflection: 見えてきたこと→まだ決めないこと→再開条件))。処方的な単一解は出力しない。記録の形式と置き場は
references/session-record-format.mdが正本。 - 境界: knowledge graph / harness artifact graph は read-only consult(C06/C07 経由・書込なし)。相談記録は eval-log 配下の handoff(vault 外・
ubm-write-path-guardの対象外)へ書く。既存 capability A(公式21ブロック)/ B(6カテゴリ)の契約を破壊しない(非後退・additive)。目標設定そのものの生成はrun-ubm-goal-settingへ委譲する。 - 正本: 思考フレーム カタログ=
references/consult-frames.md、セッション記録形式と置き場=references/session-record-format.md。
End-to-End Flow
workflow-manifest.json が phase の機械可読正本。責務は以下 4 プロンプト(prompts/R*.md)が所有する。
| Phase | 責務 | 実行体 |
|---|---|---|
| R1-intake-issue | 相談を受理し相談種別を判定・本質課題の言語化を支援する(具体解を出さない)。目標設定相談なら run-ubm-goal-setting へ誘導 | 本 skill(prompts/R1-intake-issue.md) |
| R2-elicit | 引き出し質問でユーザーの文脈・制約・価値観・既試行を外在化する | 本 skill(prompts/R2-elicit.md) |
| R3-frame-consult | 考え方/思考フレームを選定・提示する(consult-harness-artifact-graph.py + router.json デュアルパス + 既存 knowledge の原則/マインドセット/事例)。処方でなく選択肢+適用視点 | 本 skill(prompts/R3-frame-consult.md)+ script |
| R4-cocreate-converge | 共創・収束。ユーザー自身の言葉で解決策を言語化させ、ユーザーが選んだ収束 lane(action / reflection)で締め、保存同意に従って記録する | 本 skill(prompts/R4-cocreate-converge.md) |
スタンス不変条件
本 skill の全ターンで不変。逸脱は open_issues に残し差し戻す。
- 具体解の押し付けゼロ — 提案は「考え方・視点・フレーム」+適用のための問いに留める。「あなたは○○すべき」という単一の処方解を出さない。
- 共同判断が残るターンで引き出し質問 ≥1 — 情報不足や選択が残るときは問いを最低1つ添える。ユーザーが停止・要約のみ・安全分岐・最終確認を求めたターンでは質問を強制しない。
- 解決策の言語化はユーザーの発話から — 解決策の主語は常にユーザー。AI は構造化・要約・検証のみを担い、ユーザーの言葉を先取りして代弁しない。
- 収束方法はユーザーが選ぶ — 行動化を望む場合は「現状→ゴール→ギャップ→次の一歩」で締める。整理・内省を望む場合は「見えてきたこと→まだ決めないこと→再開条件」で締める。
- 責務境界 — 週報/月報/期報の目標設定そのものを作りたい相談は
run-ubm-goal-setting へ誘導し、本 skill では作成しない。
ゴールシーク実行
固定手順を消化するのでなく、上記ゴールと feedback_contract を満たすまでユーザー向け親コンテキストで反復する(engine=inline / fork=inline / max_loops=5)。SubAgent は read-only 検索や自己検証にだけ使い、ユーザーとの対話を隔離しない。
ゴール (Goal)
相談種別が特定され、ユーザー文脈が引き出しで外在化され、考え方/思考フレームが選択肢+適用視点(出典付き)で提示され、ユーザー自身の言葉で解決策が言語化され、ユーザーが選んだ収束 lane(action: 現状→ゴール→ギャップ→次の一歩 / reflection: 見えてきたこと→まだ決めないこと→再開条件)へ帰結し、保存同意 true なら記録され、false なら ephemeral 検証の後に破棄された状態。
目的・背景 (Why)
要望の本質は「具体例より考え方」を届け、解決策はユーザー側で作り上げる共創(コーチング型・非処方型)にある。固定 Q&A では相談種別の取り違え・引き出し不足・処方への逸脱が起きやすいため、非処方スタンス不変条件を都度自己検証しながら未達を埋める。knowledge/graph は read-only で参照し、AI が答えを断定しない。
完了チェックリスト (Checklist)
- 相談種別が判定され、本質課題がユーザーの言葉で1文に言語化されている(R1)。目標設定相談は
run-ubm-goal-settingへ誘導した。 - collaboration_mode に必要な文脈だけが外在化され、停止・要約要求が尊重されている(R2)。
- 考え方/思考フレームが複数の選択肢+適用視点として出典 ID(PR-xxx / MS-xxx / 事例)付きで提示され、具体解の処方をしていない(R3・IN1)。
- ユーザー自身の言葉で解決策が言語化され、ユーザーが選んだ収束 lane(action: 現状→ゴール→ギャップ→次の一歩 / reflection: 見えてきたこと→まだ決めないこと→再開条件)へ帰結した。保存同意 true なら記録し、false なら ephemeral 検証の後に破棄した(R4・OUT1)。
- persistence_consent=false でも ephemeral record を組み立て
validate-consult-session.py --ephemeral(consent 要求のみ免除・他検査は同一)を exit 0 で通し、通過後に破棄した(sessions/ 配下へ書き込まない。一時検証ファイルは scratch に置く)。
ゴールシークループ
正本 ../run-ubm-goal-setting と同じく goal_seek 配線に従う。本 skill 固有の差分:
- 保存同意時だけ session-id 配下の progress/intermediate/handoff を書く。非同意時は会話内状態だけで進め、ファイルを作らない。完了 record は
references/session-record-format.mdに従い C11 で検証する。 - ループ本体は user-facing 親 context で実行する。SubAgent を使う場合も knowledge 検索・非処方チェックだけを委譲し、質問と回答の往復は親が所有する。
- inner ループ (IN1): 各周回で「具体解を処方していないか(スタンス不変条件1)」「考え方/フレームを1件以上提示したか」を自己検証し、逸脱を検出したら R3 を再実行する。
- outer ループ (OUT1): 相談セッション transcript に考え方提示・引き出し質問・ユーザー自身の言葉での解決策言語化・ゴール指向の次の一歩(reflection lane では再開条件)の4要素が揃うまで反復し、受入テストで確認する。
max_loops到達時は PASS 扱いせず、残チェックをopen_issuesに残して human review へ差し戻す。
Key Rules
- 処方でなく考え方: R3 は「あなたは○○すべき」でなく「こういう見方(フレーム)があります。あなたの場合はどう当てはまりますか?」の形で複数フレームを並べる。北原原則/マインドセットの引用は1対話あたり1〜2件までとし、必ず①原則を引き出す→②ユーザー状況に翻訳→③行動に落とす3ステップで届ける(reflect-only を選んだ相談や reflection lane で締める相談では、③で行動を迫らず再開条件を考えさせる問いにする。phase3-coordinator の CONST_004/CONST_006 に準拠)。
- 協働契約を最初に選ぶ: R1 で
question-led(問い中心)/framework-led(考え方の説明中心)/hypothesis-example(例を答えでなく検討材料として少量提示)/reflect-only(整理だけ)の希望を確認する。AI がモードを一方的に決めない。 - 安全分岐を先に行う: 自傷・他害・緊急危機は通常コーチングを止め、地域の緊急窓口や信頼できる人への即時連絡を優先する。医療・法律・金融など高 stakes は一般的な考え方の整理に限定し、個別判断は有資格者へ委ねる。
- 保存は同意制: セッション記録は既定では保存しない。ユーザーが保存に同意した場合だけ session-id 別の handoff を書き、秘匿情報を要約・redact する。
- 引き出しファースト: 情報提供の前後どちらでも、共同判断が残るターンには引き出し質問を最低1つ置く(停止・要約のみ・安全分岐・最終確認のターンでは強制しない。スタンス不変条件 2)。深掘りは1項目につき2回まで(追い詰めない)。
- 解決策はユーザーの言葉で: 収束時、解決策は必ずユーザーの発話を引用・構造化して確定する。AI が代わりに解を書き下さない。長文回答は「つまり○○ということですね?」と1文へ要約確認する。
- ゴール指向の締め: 相談種別を問わず、ユーザーが選んだ収束 lane で締める(スタンス不変条件 4)。action lane は現状→ゴール→ギャップ→次の一歩で締め、次の一歩は「誰に・何を・いつまで・何件」を含む物理的行動にする。reflection lane は見えてきたこと→まだ決めないこと→再開条件で締め、次の一歩を引き出し続けない。
- read-only consult:
consult-harness-artifact-graph.py(C07)と knowledge/*.json は参照のみ。起動条件と fallback は../../references/graph-consult-fallback-contract.mdが正本(knowledge graph があれば consult / harness graph は存在時のみ併用・不在なら knowledge 単独 / knowledge graph 不在は skip / exit2 破損は WARN skip →router.jsonデュアルパス。zero-hit は正常)。
Gotchas
- 相談記録は vault へ書かない: 相談記録の正本は eval-log 配下の handoff(vault 外)に置き、vault へは一切書かない。この制約は本 skill の規則(
references/session-record-format.md)が守るもので、ubm-write-path-guardには頼らない — guard の許可範囲(正本は plugin 直下hooks/ubm-write-path-guard.pyのALLOWED_PREFIXES/ALLOWED_EXACT)は05_Project/全体などを含み、vault への相談メモの混入を止めないためである。vault へ相談メモを残したいときはユーザー自身の操作に委ねる。 - 固定ファイルを直接上書きしない: 保存同意時は
sessions/<session_id>/handoff.jsonを原子的に作成し、latest.jsonは最新 session へのポインタとして更新する。並行相談を同じ progress/intermediate/handoff へ混在させない。 - グラフは運用時生成:
knowledge/knowledge-graph.json(C06)とknowledge/harness-artifact-graph.json(C05)は本 build では作らない。R3 の consult は harness graph だけ不在なら--harness-artifact-graphを省いて knowledge 単独 consult に落とし、knowledge graph も不在のときだけrouter.json→knowledge/*.jsonの Read デュアルパスへ skip する(AND 前提にしない。正本=../../references/graph-consult-fallback-contract.md)。 - 目標設定との棲み分け: 「今月の目標を作りたい」は本 skill の対象外。R1 で判定したら
run-ubm-goal-settingを案内して終える(責務境界)。 - 思考法の名前は出さない: フレームは質問の形で自然に適用する(phase3-coordinator CONST_003)。カタログ ID(GF-xxx)は記録・出典管理用で、対話中に技法名を振りかざさない。
- goal_seek パスの
{{session_id}}は literal 書込禁止: session_id 確定後に inline engine が展開する。テンプレートのまま{{session_id}}という名前のディレクトリを作らない。
Additional Resources
- prompts:
prompts/R{1..4}-*.md— 責務単位 7 層プロンプト正本(prompt-creator plugin のskills/run-prompt-creator-7layer/scripts/verify-completeness.pyで 7 層+l5-contract 検証。本 plugin には同梱しない)。 - agents:
phase3-coordinator(対話原則「愛情ある厳しさ」引き出し型の前例。R3/R4 の翻訳3ステップと回答パターン対応を参照)。plugin 直下agents/。 - scripts:
../../scripts/consult-harness-artifact-graph.py(C07・read-only グラフ consult)/../../scripts/validate-consult-session.py(role/source/同意/分岐を検証する R4 completion gate)。C06 は C07 の upstream producer であり、本 skill から直接呼ばない。 - references:
references/consult-frames.md(思考フレーム カタログ正本)/references/session-record-format.md(OUT1 4要素の記録形式+置き場契約)/references/resource-map.yaml(Progressive Disclosure 索引)。 - knowledge: plugin 直下
knowledge/(router.json→*.jsonをデュアルパス検索。原則 PR-xxx / マインドセット MS-xxx / 事例を出典として引く)。
レビュー
まだレビューはありません。使ってみた感想をお寄せください。
同じリポジトリのスキル
概要と使いどころ
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 基準で機械検証したいときに使う。