Skip to content

Claude Code の Unity 共通 skill をプラグイン化してプロジェクト間で使い回せるようにする #16

Description

@void2610

背景 / 目的

Claude Code 用の Unity 関連 skill(liminal-* / uloop-* 等)を、各プロジェクトに個別配置するのではなく、この unity-coding-standards リポジトリを中心に プロジェクト横断で使い回せる 形にしたい。

現状:

  • liminal-* skill は liminal-palette パッケージの AISkills~/ に同梱され、Editor メニュー(AISkillsInstaller.cs)で利用側プロジェクトの .claude/skills/ へコピー配布している。
  • このリポジトリには既に docs/liminal-palette.md / docs/uloop.md という skill 運用ガイド(どの skill をいつ使うかの方針)があり、共有ハブとしての役割を果たしている。
  • ただし skill の「実体」の配布は各プロジェクト任せで、更新の一括反映やバージョン統一の仕組みが無い。

Claude Code の skill 読み込み仕様(前提整理)

skill が自動で読み込まれる場所は限定されている:

種類 場所
プロジェクト skill <repoルート>/.claude/skills/<name>/SKILL.md(親ディレクトリも探索)
個人 skill ~/.claude/skills/<name>/SKILL.md
プラグイン skill インストール済みプラグイン内の skills/plugin-name:skill-name で名前空間化)
追加ディレクトリ --add-dir / /add-dir で追加したディレクトリ内の .claude/skills/
  • 任意名のサブフォルダ(例: AISkills~/)は自動では読まれない。 設定で探索パスを増やす仕組みも基本的に無い。
  • プロジェクト外の skill を読ませたい場合の正式ルートは プラグイン(またはローカルなら --add-dir / symlink)。
  • 横断利用の本命は Claude Code Plugin + Marketplace(git リポジトリでホスト)

提案する構成

このリポジトリを Claude Code のプラグイン・マーケットプレイス化する:

unity-coding-standards/
├── .claude-plugin/
│   └── marketplace.json            # このリポを marketplace として宣言
└── plugins/
    └── unity-standards/
        ├── .claude-plugin/
        │   └── plugin.json
        └── skills/
            ├── <unity 共通 skill>/SKILL.md
            └── ...

marketplace.jsongithub source で同一リポから配布可能):

{
  "name": "void2610-unity",
  "owner": { "name": "void2610" },
  "plugins": [
    {
      "name": "unity-standards",
      "source": { "source": "github", "repo": "void2610/unity-coding-standards" },
      "description": "Unity 共通 Claude Code skills / coding standards",
      "version": "0.1.0"
    }
  ]
}

利用側は各プロジェクトで一度だけ:

/plugin marketplace add void2610/unity-coding-standards
/plugin install unity-standards@void2610-unity

インストールスコープは user(全プロジェクト)/ project / local を選択可能。skill 更新はこのリポジトリ側を直すだけで全プロジェクトへ反映できる。

タスク

  • .claude-plugin/marketplace.json を追加
  • plugins/unity-standards/.claude-plugin/plugin.json を追加
  • プラグインに含める Unity 共通 skill の切り出し / 作成(docs/ のガイド内容を skill 化する分も含めて選定)
  • README.md にプラグインの導入手順(/plugin marketplace add/plugin install)を追記
  • 動作確認(別プロジェクトで install → skill が認識されるか)

検討事項 / 注意点

  • liminal-* の扱い: これらは liminal-palette パッケージと一体でバージョン同期が必要なため、プラグインに取り込むと AISkills~/ 同梱配布と 二重配布・上書き衝突 のリスクがある。プラグイン側に含めるか、liminal-palette 同梱のまま据え置くかは要判断。当面は「パッケージ固有 skill(liminal-*)は据え置き、Unity 汎用 skill のみプラグイン化」が無難。
  • uloop-* の実体の所在確認: docs/uloop.md は運用ガイドだが skill 実体が別リポ/パッケージにある場合、どこを source of truth にするか整理する。
  • web / リモート環境: 個人設定・プラグインは Claude Code on the web(使い捨てコンテナ)に自動同期されない可能性が高い。web でも確実に効かせたいプロジェクトは、リポジトリの .claude/skills/ にコミットする方式との併用も検討する。

参考: Claude Code docs — Skills / Plugins / Plugin marketplaces(code.claude.com/docs)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions