用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/haru860/takumi-method-agent --skill requirement-tree-priority命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
基于 SOC 职业分类
正在显示 SKILL.md
| name | requirement-tree-priority |
| description | MSP計画に基づいて要求分析ツリーの優先要素を色分けハイライト表示 |
追加指示(引数): $ARGUMENTS
MSP(Minimum Sellable Product)計画で特定された優先要素を、要求分析ツリーのDrawIOモデル上で色分けハイライト表示します。
目的:
前提条件:
/msp-plan が実行済みであるoutput/requirement-tree.json が存在するoutput/msp-plan.md が存在するoutput/drawio/requirement-tree.drawio が存在する| 優先度 | 対象 | fillColor | strokeColor |
|---|---|---|---|
| 必須要件(Must Have) | IT要求・活動・業務要求・目的 | #DC143C(クリムゾン) | #8B0D1C(濃いクリムゾン) |
| 差別化要件(Should Have) | IT要求・活動・業務要求・目的 | #4169E1(ロイヤルブルー) | #1E3A8A(濃いロイヤルブルー) |
| 変更なし | ビジョン・コンセプト | - | - |
重要:
Glob ツールで以下のファイルの存在を確認する:
input/idea.md(必須)output/requirement-tree.json(必須)output/msp-plan.md(必須)output/drawio/requirement-tree.drawio(必須)存在しない場合は、先に該当するコマンドを実行するようユーザーに通知する。
output/drawio/requirement-tree.drawio が存在することを確認する(このコマンドは既存ファイルを上書き更新するため、削除不要)。
Read ツールで以下を読み込む:
output/msp-plan.md - MSP計画(優先要素の特定に使用)output/requirement-tree.json - 要求分析ツリーの構造データ(階層関係の把握に使用)Read ツールで以下を読み込む:
output/drawio/requirement-tree.drawio - DrawIOファイルoutput/msp-plan.md を分析し、以下の2つのカテゴリに分類する:
「必須要件(Must Have)」セクションから以下を抽出:
「差別化要件(Should Have)」セクションから以下を抽出:
output/requirement-tree.json を使用して、MSP要素の上位階層を特定する:
必須要件(Must Have)の上位要素:
差別化要件(Should Have)の上位要素:
重要: 色分けは以下の順序で処理し、必須要件を優先する:
Pythonスクリプトを使用してDrawIOファイルのXMLを編集する:
import re
# ファイルを読み込み
with open('output/drawio/requirement-tree.drawio', 'r', encoding='utf-8') as f:
content = f.read()
# 必須要件(Must Have)の要素IDリスト(IT要求、活動、業務要求、目的)
must_have_ids = set([
# ここにMSP計画から抽出した必須要件の要素IDを列挙
# 例: "it1_2_1", "act1_1_1", "br1_2_1", "obj1_2"
])
# 差別化要件(Should Have)の要素IDリスト(IT要求、活動、業務要求、目的)
# 注意: must_have_idsに含まれるIDは除外すること
should_have_ids = set([
# ここにMSP計画から抽出した差別化要件の要素IDを列挙
# 例: "it2_2_1", "act1_3_4", "br2_2_1", "obj2_2"
])
# 差別化要件から必須要件と重複するIDを除外(必須要件を優先)
should_have_ids = should_have_ids - must_have_ids
def get_id(line):
"""id属性を取得"""
match = re.search(r'id="([^"]+)"', line)
return match.group(1) if match else ""
def update_colors(line, fill_color, stroke_color):
"""色を更新"""
if 'fillColor=#' in line:
line = re.sub(r'fillColor=#[a-fA-F0-9]+', f'fillColor={fill_color}', line)
if 'strokeColor=#' in line:
line = re.sub(r'strokeColor=#[a-fA-F0-9]+', f'strokeColor=', line)
line
lines = content.splitlines()
new_lines = []
line lines:
line line:
cell_id = get_id(line)
cell_id == cell_id.startswith():
new_lines.append(line)
cell_id must_have_ids:
line = update_colors(line, , )
cell_id should_have_ids:
line = update_colors(line, , )
new_lines.append(line)
content = .join(new_lines)
(, , encoding=) f:
f.write(content)
変更例:
<!-- 変更前(通常の業務要求) -->
<mxCell id="xxx" value="対象の業務要求名" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#d5e8d4;strokeColor=#82b366;" ...>
<!-- 変更後(必須要件 - クリムゾン) -->
<mxCell id="xxx" value="対象の業務要求名" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#DC143C;strokeColor=#8B0D1C;" ...>
<!-- 変更後(差別化要件 - ロイヤルブルー) -->
<mxCell id="xxx" value="対象の業務要求名" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#4169E1;strokeColor=#1E3A8A;" ...>
Pythonスクリプト内でファイルを直接更新する。
Glob ツールで output/drawio/requirement-tree.drawio の存在を確認。
ファイルが存在しない場合は、手順6に戻り再実行する。