mcpField
M
migrate-skill

migrate-skill

github.com/fellowship-devエージェントワークフロー3144 回インストール2 週間前に更新
リポジトリ

migrate-skill について

ローカルのClaudeツール内にあるエージェントスキルをdogfooded-skills共有ライブラリへ移し、独立したローカルスキルとして取り込む手順を案内します。内容の統合、リポジトリ更新、コミットとプッシュ、ローカルの整理を扱います。

主な機能

  1. 01ローカルスキルの場所を特定
  2. 02コマンドとスキル内容の統合
  3. 03共有ライブラリへの書き込み
  4. 04ライブラリのREADME更新
  5. 05変更のコミットとプッシュ
  6. 06ローカルファイルの整理と確認

活用シーン

  1. 01ツールキットのスキルを再利用向けに統合
  2. 02ローカルスキルを共有ライブラリへ移行
  3. 03ツールキットのシンボリックリンクをローカルコピーに置換

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/fellowship-dev/dogfooded-skills --skill migrate-skill

インストール後、Claude Code で/migrate-skillを入力して読み込まれたか確認します。

詳細

migrate-skill

ローカルソース(ツールキットプラグイン、.claude/skills/、または .claude/commands/)からエージェントスキルを dogfooded-skills に移動し、その後、スタンドアロンのローカルスキルとしてインポートし直します。

使用するタイミング

  • 実績のあるスキルを claude-toolkit から dogfooded-skills に集約する場合
  • ローカル専用のスキルを共有ライブラリに移動し、複数のプロジェクトで再利用する場合
  • ツールキットのシンボリックリンクを dogfooded-skills のコピーに置き換える場合

前提条件

ls ~/Projects/fellowship-dev/dogfooded-skills/skills/  # repo cloned
gh auth status                                          # can push

ワークフロー

引数として <skill-name> を指定します。

  1. スキルのすべてのソースを探します

    # Toolkit plugin skill
    ls .claude/plugins/claude-toolkit/skills/<skill-name>/SKILL.md 2>/dev/null
    # Toolkit command
    ls .claude/plugins/claude-toolkit/commands/<skill-name>.md 2>/dev/null
    # Local skill (may be symlink)
    ls -la .claude/skills/<skill-name>/ 2>/dev/null
    
  2. すべてのソースを読み込みます — コマンド(薄いラッパー)とスキル(完全な内容)を 1 つの SKILL.md にまとめます。skill-builder の標準に従います。フロントマター、1 行の目的、使用するタイミング、前提条件、実際のコマンドを含むワークフロー、判断表、エラー処理、重要なルールを記載します。

  3. dogfooded-skills に書き込みます

    mkdir -p ~/Projects/fellowship-dev/dogfooded-skills/skills/<namespace>/<skill-name>
    

    統合した SKILL.md を ~/Projects/fellowship-dev/dogfooded-skills/skills/<namespace>/<skill-name>/SKILL.md に書き込みます。

  4. dogfooded-skills の README を更新します — README.md の該当カテゴリの表に行を追加します。

  5. コミットしてプッシュします

    cd ~/Projects/fellowship-dev/dogfooded-skills
    git add skills/<namespace>/<skill-name>/SKILL.md README.md
    git commit -m "feat: add <skill-name> skill — migrated from claude-toolkit"
    git push origin main
    
  6. /tmp/migrate-<skill-name>.sh にクリーンアップスクリプトを作成して実行します。これにより、.claude/ パスに対するサンドボックス制限を回避できます。

    #!/usr/bin/env bash
    set -e
    BUDDY=<project-root>
    TOOLKIT="$BUDDY/.claude/plugins/claude-toolkit"
    DOGFOOD=~/Projects/fellowship-dev/dogfooded-skills
    
    # Remove from toolkit
    rm -rf "$TOOLKIT/skills/<skill-name>"
    rm -f "$TOOLKIT/commands/<skill-name>.md"
    
    # Remove stale symlink or old local copy
    rm -rf "$BUDDY/.claude/skills/<skill-name>"
    
    # Import from dogfooded-skills
    mkdir -p "$BUDDY/.claude/skills/<skill-name>"
    cp "$DOGFOOD/skills/<namespace>/<skill-name>/SKILL.md" "$BUDDY/.claude/skills/<skill-name>/SKILL.md"
    
    echo "Done: <skill-name> migrated"
    
    bash /tmp/migrate-<skill-name>.sh
    
  7. 検証します — スキルが読み込まれることを確認します。

    ls -la .claude/skills/<skill-name>/SKILL.md
    head -6 .claude/skills/<skill-name>/SKILL.md
    

重要なルール

  • 必ず最初に skill-builder の標準を読みます — 統合したスキルは dogfooded-skills の品質基準を満たす必要があります
  • クリーンアップスクリプトは /tmp に置きます — .claude/ パスに対するサンドボックス制限を回避する唯一の方法です
  • 孤立したシンボリックリンクを残さないでください — 新しいディレクトリを作成する前に削除します
  • ツールキットが独自のリモートを持つサブモジュールの場合は、ツールキットの変更を別途コミットします

コメント