用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/froggugugugu/case-blueprints --skill measure命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
基于 SOC 职业分类
正在显示 SKILL.md
| name | measure |
| description | 段階 1 — ケースに収納するオブジェクトを対話的に採寸し、input/objects/<id>.yaml に 1 ファイル 1 オブジェクトで保存する。座標軸と「正面」の基準を提示してから採寸を促す。 |
| when_to_use | 「採寸する」「測りたい」「オブジェクト追加」「収納物の登録」「ノギスで測る」のとき。 |
| allowed-tools | Read, Write, Edit, Glob, Bash(.venv/bin/python -m case_blueprint.cli validate-schema *) |
| paths | ["input/objects/**/*.yaml"] |
| model | inherit |
ケースの中身となるオブジェクトの寸法・公差・特記事項を、対話的かつ標準化された手順で記録する。
人間が後でファイルを直接編集できる YAML 形式で保存し、design skill が読み取れる状態にする。
project-config.yaml が存在する(プリンタ機種・材料の設定済み)input/objects/ ディレクトリが存在する(setup.sh で作成済み)| 内容 | |
|---|---|
| 入力 | 対話(AskUserQuestion で人間から取得) |
| 出力 | input/objects/<id>.yaml(1 ファイル 1 オブジェクト) |
Z (Height: 高さ)
↑
│ ┌──────────┐
│ ╱ ╱│
│ ┌──────────┐ │
│ │ 正面 │ │
│ │ │ │
│ │ │ ╱
│ └──────────┘
└────────→ X (Width: 横方向)
╱
╱
Y (Depth: 奥行)
| 軸 | 名称 | 意味 |
|---|---|---|
| X | Width | 正面から見て左右の長さ(横方向) |
| Y | Depth | 正面から見て手前 → 奥の長さ(奥行方向) |
| Z | Height | 上下の高さ |
notes に記載プリンタベッドに置く想定の面を底面とする(通常は重力方向に置いたときの底)。 これにより印刷向きの判断が後段で楽になる。
各ステップは AskUserQuestion で人間から取得。回答が曖昧な場合は再質問する。
^[a-z0-9][a-z0-9-]*$(小文字英数字+ハイフン、先頭は英数字)router-main, ssd-1tb, cable-usb-cinput/objects/<id>.yaml と重複しないか確認ルーター本体)rectangular(直方体) / cylindrical(円筒) / custom(任意形状)connector_side — コネクタ・操作部が多い面display_side — ディスプレイ・ロゴ・ボタンが見える面custom — その他(notes に記載を促す)形状カテゴリごとに必要な寸法を AskUserQuestion で取得:
width, depth, height (mm, 正の数)diameter, height (mm, 正の数)width, depth, height を取得 + notes に詳細記述を促す数値は浮動小数点で受け取り、0 以下は再入力を求める。
0.5/design で Claude が features 配列・配置・構造に変換する材料):
物理: ファン内蔵、底面通気必要
コネクタ: 背面 USB-C × 2、電源 × 1、正面右下に LED、左側面 GROVE × 1
接続: M5 ↔ GPS = GROVE ケーブル(短く)、M5 ↔ バッテリー = USB-C ケーブル(湾曲必要)
運用: 蓋を閉めた状態で使用、操作開口部ゼロ。充電は蓋を開けて行う
用途: アウトドア、カラビナで吊るす
表示: ディスプレイは蓋で覆う(視認不要)
ロック: 工具なしで開閉(スナップフィット希望)
サイズ: 3 機器をできるだけコンパクトに収める
注意: ここから先の 6 項目はすべて optional。利用者が「不要」「あとで」と答えたらそのまま Step 7 へ進む。
ただし、ここに値が入ると /design の features 推論・印刷向き判定・/fit-check の精度が目に見えて上がるため、軽く誘導する。
質問は AskUserQuestion で 1 つずつ。回答は構造化された YAML として保存する(schema 仕様は @schemas/object.schema.yaml)。
connectors[] / controls[])USB-C / USB-A / HDMI / DC / 3.5mm / button / switch / dial / led / display 等+X / -X / +Y / -Y / +Z / -Z(または通称: front / back / left / right / top / bottom)connectors[] に、ボタン等なら controls[] に振り分けcable_port / display_window / button_cutout feature の position 推論に直結するので、面と簡易的な位置だけでも書く価値が高いthermal)hot_spots[] に face / position / max_temp_cmax_surface_temp_c / requires_ventilation: true/design が ventilation feature を自動提案するweight_g)grip_zones[])top / +Y / front/design に渡されるorientation_hint)bottom_preference: "+Z" / top_preference: "-Z" / forbidden_bottoms: ["+X"]/design の print_orientation 決定で 最優先で尊重される(@.claude/rules/print-orientation-reasoning.md 参照)forbidden_bottoms に入ると、その面が bed 接地にならない設計が選ばれるinput/objects/<id>.yaml に保存してよいですか?(yes/no)」input/objects/<id>.yaml スキーマid: router-main # Step 1: 英数字+ハイフン、ファイル名と一致
name: ルーター本体 # Step 2: 表示名(日本語可)
shape: rectangular # Step 3: rectangular / cylindrical / custom
front_face: connector_side # Step 3.5: connector_side / display_side / custom
dimensions: # Step 4: 形状に応じてキーが変わる
width: 168.0 # - rectangular: width / depth / height
depth: 124.0 # - cylindrical: diameter / height
height: 33.0 # - custom: bounding box の width / depth / height
tolerance: 0.5 # Step 5: 公差 (mm)
notes: | # Step 6: 自由記述(空可)
本体はファン内蔵で発熱あり。
背面に USB-C × 2、電源コネクタ × 1。
# --- Step 6.5: 構造化メタ(全て optional)---
# 書けば /design の features 推論・印刷向き判定・/fit-check の精度が上がる。
# 書かなくても従来通り notes だけで動く。
connectors:
- type: USB-C
face: "-Y" # 背面
position: [, ]
[, ]
[, ]
[, ]
[, ]
[, ]
[, ]
[]
/design skill に進む前に、以下を満たす必要がある:
input/objects/ に 1 つ以上の .yaml ファイルが存在するdimensions の値が正)ゲート未達の場合は /measure の継続または再実行を促す。
/measure 実行時は既存 YAML を読み込み、追加分のみ対話するdesign skill 側で行うtolerance を大きめ(1.0mm 以上)に設定するよう促す@.claude/skills/design/SKILL.md — 段階 2-3、/measure の出力を入力にする@schemas/object.schema.yaml — 機械可読スキーマ(connectors / controls / thermal / orientation_hint 等含む)@schemas/case-spec.schema.yaml — 後段スキーマ@.claude/rules/print-orientation-reasoning.md — orientation_hint がここで使われる