mcpField
R
repomix-unmixer

repomix-unmixer

github.com/daymade開発1.5k887 回インストール今日更新
リポジトリ

repomix-unmixer について

Repomix Unmixer は、Repomix 形式にまとめられたリポジトリを個別ファイルに戻し、元のディレクトリ構造を復元するスキルです。XML、Markdown、JSON で共有された内容の確認や復元、再利用に適しています。

主な機能

  1. 01XML、Markdown、JSON の解析
  2. 02ファイルパスと内容の抽出
  3. 03ディレクトリ構造の再構築
  4. 04抽出の進捗と件数の表示
  5. 05検証手順の案内

活用シーン

  1. 01Repomix 形式で共有されたスキルの復元
  2. 02パックされたリポジトリの確認
  3. 03バックアップから作業ファイルを復元

インストール

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

$npx skills add https://github.com/daymade/claude-code-skills --skill repomix-unmixer

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

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

README.md
references/
repomix-format.md
validation-workflow.md
scripts/
unmix_repomix.py

詳細

Repomix アンミキサー

概要

このスキルは、Repomix でパックされたリポジトリからファイルを抽出し、元のディレクトリ構造を復元します。Repomix はリポジトリ全体を AI が扱いやすい単一ファイル(XML、Markdown、JSON)にパックします。このスキルはその処理を逆に行い、個別のファイルを復元します。

このスキルを使用する場面

次の場合にこのスキルが有効になります:

  • Repomix の出力ファイル(.xml、.md、*.json)をアンミックスする
  • パックされたリポジトリからファイルを抽出する
  • Repomix 形式から元のディレクトリ構造を復元する
  • Repomix でパックされたコンテンツを確認または検証する
  • Repomix の出力を使用可能なファイルに戻す

基本的なワークフロー

標準的なアンミックス手順

Repomix ファイルからすべてのファイルを抽出し、同梱の unmix_repomix.py スクリプトを使用して元のディレクトリ構造を復元します:

python3 scripts/unmix_repomix.py \
  "<path_to_repomix_file>" \
  "<output_directory>"

パラメーター:

  • <path_to_repomix_file>:Repomix の出力ファイル(XML、Markdown、JSON)へのパス
  • <output_directory>:ファイルの抽出先ディレクトリ(存在しない場合は作成されます)

例:

python3 scripts/unmix_repomix.py \
  "/path/to/repomix-output.xml" \
  "/tmp/extracted-files"
スクリプトの処理内容
  1. Repomix ファイル形式(XML、Markdown、JSON)を解析します
  2. 各ファイルのパスと内容を抽出します
  3. 元のディレクトリ構造を作成します
  4. 各ファイルを元の場所に書き込みます
  5. 抽出の進行状況と統計情報を報告します
出力

スクリプトは次の処理を行います:

  • 必要な親ディレクトリをすべて作成します
  • パスを維持したままファイルをすべて抽出します
  • 各ファイルの抽出状況を表示します
  • 抽出したファイルの合計数を表示します

出力例:

Unmixing /path/to/skill.xml...
Output directory: /tmp/extracted-files

✓ Extracted: github-ops/SKILL.md
✓ Extracted: github-ops/references/api_reference.md
✓ Extracted: markdown-tools/SKILL.md
...

✅ Successfully extracted 20 files!

Extracted files are in: /tmp/extracted-files

対応形式

XML 形式(デフォルト)

Repomix XML 形式の構造:

<file path="relative/path/to/file.ext">
file content here
</file>

スクリプトは正規表現を使用して、<file path="...">content</file> ブロックに一致する箇所を検索します。

Markdown 形式

ファイルマーカーを含む Markdown スタイルの Repomix 出力の場合:

## File: relative/path/to/file.ext

ファイルの内容

形式の詳細については、references/repomix-format.md を参照してください。

JSON 形式

JSON スタイルの Repomix 出力の場合:

{
  "files": [
    {
      "path": "relative/path/to/file.ext",
      "content": "file content here"
    }
  ]
}

よくある使用例

使用例 1:Claude スキルのアンミックス

Repomix ファイルとして共有されたスキルを抽出します:

python3 scripts/unmix_repomix.py \
  "/path/to/skills.xml" \
  "/tmp/unmixed-skills"

その後、抽出したスキルを確認、検証、またはインストールします。

使用例 2:レビュー用にリポジトリを抽出

パックされたリポジトリを抽出し、その構造と内容を確認します:

python3 scripts/unmix_repomix.py \
  "/path/to/repo-output.xml" \
  "/tmp/review-repo"

# Review the structure
tree /tmp/review-repo
使用例 3:作業ファイルを復元

Repomix のバックアップから作業ディレクトリにファイルを復元します:

python3 scripts/unmix_repomix.py \
  "/path/to/backup.xml" \
  "~/workspace/restored-project"

検証ワークフロー

アンミックス後、抽出したファイルが正しいことを検証します:

  1. ファイル数を確認:抽出したファイル数が想定どおりであることを確認します
  2. 構造を確認:tree または ls -R を使ってディレクトリ構成を確認します
  3. 内容を抜き取り確認:重要なファイルをいくつか読み、内容の完全性を確認します
  4. 検証を実行:スキルの場合は、skill-creator の検証ツールを使用します

詳細な検証手順、特に Claude スキルのアンミックスについては、references/validation-workflow.md を参照してください。

重要な原則

出力ディレクトリを必ず指定する

現在の作業ディレクトリが散らからないよう、必ず出力ディレクトリを指定してください:

# Good: Explicit output directory
python3 scripts/unmix_repomix.py \
  "input.xml" "/tmp/output"

# Avoid: Default output (may clutter current directory)
python3 scripts/unmix_repomix.py "input.xml"
レビューには一時ディレクトリを使用する

まず一時ディレクトリに抽出して確認してください:

# Extract to /tmp for review
python3 scripts/unmix_repomix.py \
  "skills.xml" "/tmp/review-skills"

# Review the contents
tree /tmp/review-skills

# If satisfied, copy to final destination
cp -r /tmp/review-skills ~/.claude/skills/
上書きする前に確認する

確認せずに重要なディレクトリへ直接抽出しないでください:

# Bad: Might overwrite existing files
python3 scripts/unmix_repomix.py \
  "repo.xml" "~/workspace/my-project"

# Good: Extract to temp, review, then move
python3 scripts/unmix_repomix.py \
  "repo.xml" "/tmp/extracted"
# Review, then:
mv /tmp/extracted ~/workspace/my-project

トラブルシューティング

ファイルが抽出されない

問題:スクリプトは完了するものの、ファイルが抽出されません。

考えられる原因:

  • ファイル形式が正しくない(Repomix ファイルではない)
  • Repomix の形式バージョンがサポートされていない
  • ファイルパスのパターンが一致しない

解決策:

  1. 入力ファイルが Repomix の出力ファイルであることを確認します
  2. 形式(XML/Markdown/JSON)を確認します
  3. ファイル構造を手動で調べます
  4. 形式の詳細については、references/repomix-format.md を参照します
権限エラー

問題:出力ディレクトリに書き込めません。

解決策:

# Ensure output directory is writable
mkdir -p /tmp/output
chmod 755 /tmp/output

# Or use a directory you own
python3 scripts/unmix_repomix.py \
  "input.xml" "$HOME/extracted"
エンコーディングの問題

問題: 抽出されたファイルで特殊文字が文字化けして表示されます。

解決策: スクリプトはデフォルトで UTF-8 エンコーディングを使用します。問題が続く場合:

  • 元の repomix ファイルのエンコーディングを確認する
  • ファイルが正しく作成されたことを検証する
  • 具体的な文字の例を挙げて問題を報告する
パスがすでに存在する

問題: 抽出パスにファイルが存在します。

解決策:

# Option 1: Use a fresh output directory
python3 scripts/unmix_repomix.py \
  "input.xml" "/tmp/output-$(date +%s)"

# Option 2: Clear the directory first
rm -rf /tmp/output && mkdir /tmp/output
python3 scripts/unmix_repomix.py \
  "input.xml" "/tmp/output"

ベストプラクティス

  1. 一時ディレクトリに抽出する - 最初の確認では、常に /tmp などの一時ディレクトリに抽出します
  2. ファイル数を検証する - 抽出されたファイル数が想定と一致することを確認します
  3. 構造を確認する - 使用する前に tree でディレクトリレイアウトを検査します
  4. 内容を確認する - いくつかのファイルを抜き取り検査して、内容が損なわれていないことを確認します
  5. 検証ツールを使用する - スキルの場合、unmix 後に skill-creator の検証を使用します
  6. 元のファイルを保持する - 元の repomix ファイルをバックアップとして保持します

リソース

scripts/unmix_repomix.py

主要な unmix スクリプトで、以下を行います:

  • repomix の XML/Markdown/JSON 形式を解析します
  • 正規表現を使用してファイルパスと内容を抽出します
  • ディレクトリ構造を自動的に作成します
  • ファイルを元の場所に書き込みます
  • 抽出の進捗と統計を報告します

このスクリプトは自己完結型で、Python 3 標準ライブラリのみを必要とします。

references/repomix-format.md

repomix ファイル形式に関する包括的なドキュメントで、以下を含みます:

  • XML 形式の構造と例
  • Markdown 形式のパターン
  • JSON 形式のスキーマ
  • ファイルパスのエンコーディング規則
  • 内容抽出のパターン
  • 形式バージョン間の違い

形式固有の問題を扱う場合や、新しい repomix バージョンをサポートする場合に、このリファレンスを参照してください。

references/validation-workflow.md

抽出された内容の詳細な検証手順で、以下を含みます:

  • ファイル数の検証手順
  • ディレクトリ構造の検証
  • 内容の整合性チェック
  • skill-creator ツールを使用したスキル固有の検証
  • 品質保証チェックリスト

ユーザーが unmix されたスキルを検証する必要がある場合や、抽出品質を確認する必要がある場合に、このリファレンスを参照してください。

コメント