Claude-skill-registry edit-schema
install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/edit-schema" ~/.claude/skills/majiayu000-claude-skill-registry-edit-schema && rm -rf "$T"
manifest:
skills/data/edit-schema/SKILL.mdsource content
Schema Editing Guide
Directory Structure
VanillaSchema/ ├── blocks.yml, items.yml, fluids.yml ... # メインスキーマ └── ref/ # 再利用可能なスキーマ部品 ├── inventoryConnects.yml ├── gearConnects.yml └── ...
Editing Procedure
1. Edit Schema YAML
VanillaSchema/ 配下の該当YAMLファイルを編集。
2. Update csc.rsp (Add/Delete Schema)
スキーマの追加・削除時に
moorestech_server/Assets/Scripts/Core.Master/csc.rsp を編集:
# 追加時 /additionalfile:Assets/../../VanillaSchema/newSchema.yml # 削除時は該当行を削除
3. Trigger SourceGenerator
moorestech_server/Assets/Scripts/Core.Master/_CompileRequester.cs の dummyText を変更:
private const string dummyText = "new-value-here";
4. Rebuild
MCPまたはUnityでリビルド。生成コードは
Mooresmaster.Model.*Module 名前空間に配置される。
Key Patterns
ref (Reusable Schema)
- key: inventoryConnectors ref: inventoryConnects # VanillaSchema/ref/inventoryConnects.yml を参照
switch/cases (Conditional Properties)
- key: blockParam switch: ./blockType cases: - when: Chest type: object properties: - key: itemSlotCount type: integer
defineInterface (Shared Properties)
defineInterface: - interfaceName: IChestParam properties: - key: itemSlotCount type: integer # 使用時 implementationInterface: - IChestParam
foreignKey (Reference to Other Schema)
- key: itemGuid type: uuid foreignKey: schemaId: items foreignKeyIdPath: /data/[*]/itemGuid displayElementPath: /data/[*]/name
Important Rules
は本当に必要な場合のみ使用optional: true- 手動で
クラスを作成しないMooresmaster.Model.* - スキーマ変更後は必ず
を更新してコミット_CompileRequester.cs
SourceGenerator Troubleshooting
SourceGeneratorはどのような環境(git worktree、root repo、CI/CD)でも動作します。
もしSourceGeneratorでコードが生成されていないことによるコンパイルエラー(例:
The type or namespace name 'Mooresmaster' could not be found (are you missing a using directive or an assembly reference?) 等)が発生した場合、100%スキーマの書き方に問題があります。
このような時は:
- YAMLファイル全体を見直して不具合がないかチェック
- yaml_spec.md でYAMLの書き方の仕様を確認
- コンパイルエラーが解消するまで修正を続ける
Reference
MUST: IF もし今から実行しようとしているタスクがYAMLを編集する必要がある場合 THEN 必ず yaml_spec.md を確認してください。利用可能なプロパティ、型、設定オプションの完全なリファレンスが記載されています。