xddp-excel2md
人が編集したExcel形式の変更要求仕様書をMarkdownに変換する(UR-017/019/020)。「ExcelをMarkdownに変換して」「Excel仕様書を取り込んで」などで起動する。
- License 许可
- MIT
- 最近更新
- 2026-11-08
- Stars
- ★ 1
- Forks
- 0
01 前言 Front Matter
- name
- xddp-excel2md
- description
- 人が編集したExcel形式の変更要求仕様書をMarkdownに変換する(UR-017/019/020)。「ExcelをMarkdownに変換して」「Excel仕様書を取り込んで」などで起動する。
- argument-hint
- [CR番号] [Excelファイル]
02 资源文件 2
- 脚本scripts/excel_dump.py692 B
- 脚本scripts/tests/test_excel_dump.py1.2 KB
03 SKILL.md 正文
You are executing XDDP Excel → Markdown Conversion (UR-017, UR-019, UR-020).
Arguments: $ARGUMENTS = [CR_NUMBER] (optional) [EXCEL_FILE_PATH]
- CR_NUMBER: optional; auto-detected from XDDP_DIR if omitted
- EXCEL_FILE_PATH: optional; searched in CR_PATH/03_change-requirements/ if omitted
Read ~/.claude/skills/xddp-common/SKILL.md, apply "## CR Resolution" with $ARGUMENTS → let CR, REST_ARGS.
Let EXCEL_PATH = first token of REST_ARGS.
(xddp.config.md lookup done in xddp-common/SKILL.md; reuse WORKSPACE_ROOT, XDDP_DIR, MD2EXCEL_PYTHON_BIN.)
Let CR_PATH = {WORKSPACE_ROOT}/{XDDP_DIR}/{CR}.
If EXCEL_PATH omitted: search for *.xlsx or *.xls in {CR_PATH}/03_change-requirements/.
1. Read the Excel file
Run via Bash:
MD2EXCEL_PYTHON_BINが設定されている場合:"{MD2EXCEL_PYTHON_BIN}" ~/.claude/skills/xddp-excel2md/scripts/excel_dump.py {EXCEL_PATH}- 未設定の場合(デフォルト):
PY=$(command -v python3 || command -v python) && "$PY" ~/.claude/skills/xddp-excel2md/scripts/excel_dump.py {EXCEL_PATH}
(全行をタブ区切りテキストとして標準出力へダンプする。openpyxl は crs_md2excel.py が既に依存する
ライブラリと同一のため新規依存追加ではない)。Read the resulting data.
2. Parse USDM structure
The Excel follows USDM table structure (UR-037), extended to include hierarchy banner rows
(crs_md2excel.py が crs_model.py 経由で出力する):
- Columns: カテゴリ名・記号, 要求, 要求ID, 理由, 説明, 仕様グループ名, 仕様ID
- After each 仕様 row:
■ Beforerow then■ Afterrow (UR-038). An optional■ 理由row may follow■ After(SP レベルの設計判断根拠。crs_md2excel.py の往路出力と同順), followed by optional■ 備考and■ 懸念・検討事項rows. - Each row has 更新日 and 更新者 cells (UR-040)
- カテゴリバナー行(列A=「【カテゴリ】」): 出現するたびに H3
### <name>を開始する - 要求グループバナー行(列B=「【要求グループ】」、分割軸を含む): H5
##### <name>と (分割軸があれば)- **分割軸:** {axis}を出力する - 仕様グループバナー行(列C=「【仕様グループ】」): 太字行
**<name>**を出力する - UR/SR の「懸念・検討事項」行(列B/Cの「懸念・検討事項」ラベル):
- **懸念・検討事項:**として UR/SR の子リストに追加する - 上記バナー行が存在しない(旧バージョンで生成された)Excel も従来どおり読み取れること (要求グループ・仕様グループ・懸念事項が単に無い CRS として扱う)
Parse all rows and reconstruct the hierarchy, which may be either:
- 2-layer: UR → 要求グループ → SR → 仕様グループ → SP(従来どおり)
- 1-layer: UR → 仕様グループ → SP(要求グループ・SR バナー行が現れないまま次の SP ブロックが
続く場合。この場合、出力する Markdown は H5 要求グループ・H6 SR の見出しを省略し、UR 見出し(H4)の
直後に仕様グループの太字行を続ける —
03_change-req-spec-template.md「階層パターンの使い分け」の 1階層パターンと同じ形)
判定基準: あるカテゴリ/UR ブロックの直後から次の要求グループバナー行が現れるまでの間に SR ブロック (【システム要求】マーカー行)が1件も現れない場合、その間の仕様ブロックはすべて1階層パターンとして UR 直下に属するとみなす。
For each SP, map the D-column label (■ Before/■ After/■ 理由/■ 備考/■ 懸念・検討事項) to the
corresponding Markdown field (- **Before:**/- **After:**/- **理由:**/- **備考:**/
- **懸念・検討事項:**), preserving the ステータス → Before → After → 理由 → 備考 → 懸念 order.
見出し体系(USDM Canonical。crs_md2excel.py(MD→Excel)と往復整合させること)
Reconstruct CRS Markdown with the following heading system (H1〜H6 のみ使用。H7 は使わない):
- カテゴリ(機能要求/非機能要求):
### <{カテゴリ名}>(H3) - ユーザ要求(UR):
#### {CR番号}-UR-XXX {タイトル}(H4。形式 B: CR 名前空間先頭。例CR-2026-970-UR-001) - 要求グループ:
##### <{要求グループ名}>(H5) - システム要求(SR):
###### {CR番号}-SR-XXX-YYY {タイトル}(H6。例CR-2026-970-SR-001-001) - 仕様グループ:
**<{仕様グループ名}>**(太字行。見出しではない) - 仕様(SP):
- **{CR番号}-SP-XXX-YYY.ZZZ**: {タイトル}(リスト項目。属性は 2 スペースインデントの子リスト。例CR-2026-970-SP-001-001.010)
Excel の ID セルは CR プレフィクス付きフル ID(形式 B)で入力されている前提。Excel から読み取った
ID をそのまま見出し・リスト項目に転記すること(CR プレフィクスを剥がしたり付け直したりしない)。
往復(crs_md2excel.py)で CR プレフィクス付きフル ID が保持される。
ID行・カテゴリ属性行は出力しない: UR・SR は ID を見出しに、SP は ID をリスト項目の先頭に保持するため、
独立した - **ID:** 行は UR・SR・SP のいずれにも出力しない。UR の - **カテゴリ:** 属性行も出力しない
(カテゴリは H3 見出し ### <…> で表現する)。
SP のリスト項目・子リスト記法(crs_md2excel.py が再パースできるよう完全一致させる。6 属性
ステータス/Before/After/理由/備考/懸念・検討事項 を漏れなく出力し、懸念・検討事項 の欠落に注意する):
- **{CR番号}-SP-XXX-YYY.ZZZ**: {仕様タイトル}
- **ステータス:** {ステータス}
- **Before:** {現行動作}
- **After:** {変更後動作}
- **理由:** {変更理由}
- **備考:** {補足}
- **懸念・検討事項:** {不明点・リスク・確認が必要な内容}
3. Detect changes from previous Markdown CRS
Read the existing {CR_PATH}/03_change-requirements/CRS-{CR}.md (if it exists).
Identify additions, modifications, and deletions made by the human in Excel.
Log each change found.
4. Update CRS Markdown
Apply all detected changes to {CR_PATH}/03_change-requirements/CRS-{CR}.md:
- New requirements → add UR/SR/SP with correct IDs.
- Modified specs → update Before/After/理由 content.
- Deleted items → remove or mark as deleted.
- Update TM rows accordingly.
- Update 変更履歴: increment version, today's date, author "人(Excel編集)".
5. Report in Japanese
List every change applied (additions, modifications, deletions). Confirm the Markdown is ready for the next AI step.
04 同仓库更多 Skills
demo.skill
暂无简介
demo.noname
暂无简介
demo.common
暂无简介
demo.badname
暂无简介
xddp-update-knowledge
任意のタイミングで baseline_docs/ の knowledge ディレクトリに知識を追加・更新する。CR 非依存。対話形式と引数形式に対応。「知識を登録して」「callgraph を記録して」「メモを保存して」などで起動する。
xddp-sync-design
コードから DSN を再生成してリビジョンとして記録し、AIレビュー→人承認を実施する。「設計を同期して」「DSN を更新して」などで起動する。