1仕組みと動作原理
実装アプローチは「1 つの純粋な標準ライブラリ Python スクリプト + 2 つのフォーマット/検証リファレンスドキュメント」であり、LLM オーケストレーション層はありません。スクリプトが実質的なすべての処理を担当し、SKILL.md はトリガー、パラメータ仕様、および運用規律のみを受け持ちます。
The script is self-contained and requires only Python 3 standard library.
フォーマットの判定は拡張子ではなく、コンテンツの特徴文字列の優先度スニッフィングによって行われます。まず XML(<file path= および </file>)、次に JSON({ で始まり "files" を含む)、最後に Markdown('## File:' を含む)の順に判定されます。
if '<file path=' in content and '</file>' in content: return 'xml' # Check for JSON format if content.strip().startswith('{') and '"files"' in content: return 'json' # Check for Markdown format if '## File:' in content: return 'markdown'
XML の抽出には非貪欲な DOTALL 正規表現を使用して <file path>…</file> をペアでマッチングし、キャプチャグループ 1 をパス、グループ 2 をコンテンツとして扱います。パスはローカルディスクの走査ではなく、ファイル内容から直接取得されます。
file_pattern = r'<file path="([^"]+)">\n(.*?)\n</file>' matches = re.finditer(file_pattern, content, re.DOTALL)
ディレクトリツリーの復元は、Path(output_dir)/file_path を連結した後に mkdir(parents=True) を実行し、ファイルごとに UTF-8 で書き込むことで行われます。
full_path = Path(output_dir) / file_path full_path.parent.mkdir(parents=True, exist_ok=True) # Write the file with open(full_path, 'w', encoding='utf-8') as f: f.write(file_content)
「反 repomix」の信頼性は正規表現の境界までに留まります。スクリプトは同一ファイル内の重複パス、絶対パス、境界外への相対パス、Windows のバックスラッシュを処理せず、SKILL.md でもそれらの処理を謳っていません。
def unmix_repomix(repomix_file, output_dir): """Extract files from a repomix file (auto-detects format).""" # Read the repomix file with open(repomix_file, 'r', encoding='utf-8') as f: content = f.read()
運用規律は SKILL.md が担保しており(最初に /tmp へ展開、ファイル数の照合、tree による構造確認、重要ディレクトリへの直接上書きの禁止)、「コードの制約をドキュメントの制約で代替する」設計となっています。
### Verify Before Overwriting Never extract directly to important directories without review:
2コア機能
3外部依存関係
| Kind | Dependency / Endpoint |
|---|---|
| cli | python3 |
| cli | tree(仅用于人工检视解包结果,非脚本依赖) |
| cli | skill-creator 的 quick_validate.py(可选校验器,需用户本机已装 and 从 anthropics-skills 市场) |
4推奨統制措置と判定根拠
- scripts/: ローカルスクリプトまたはコマンドの実行: python3 scripts/unmix_repomix.py <repomix_file> [output_directory](リポジトリ同梱、標準ライブラリのみ)
- 本地工作目录: ファイルの読み書きと成果物の出力: repomix ファイルの内容で指定されたパスに基づき、output_dir 配下に mkdir(parents=True) を行った後でファイルを書き込み: full_path = Pat
5二重目の独立検証
- [ok] 「无网络外发、无凭证读取」结论是否有反例(隐藏脚本/混淆内容/间接调用) — 目录内共 5 个文件全部读毕;脚本 import 段仅 re/os/sys/json/pathlib;全目录 token 终扫 urllib/requests/httpx/socket/subprocess/curl/wget/Authorization/token/key/secret/.env 零命中;无长混淆行;无 .skill 打包物需要与仓库比对。结论成立。
- [ok] 「实现原理」是否夸大:声明支持三种格式 vs 代码实际能力 — 三种格式各有独立解析函数(unmix_xml/unmix_markdown/unmix_json)且 detect_format 会真的分派,非口头宣称。SKILL.md 的示例输出(✓ Extracted: …/✅ Successfully extracted N files!)与脚本 print 语句逐字一致。无夸大。
- [discrepancy] README.md 声明的 Markdown 格式与脚本实际正则是否一致 — README「Supported Formats → Markdown Format」给出的是三级标题加四反引号围栏(### File: relative/path/to/file.ext),而脚本正则是 r'## File: ([^\n]+)\n```[^\n]*\n(.*?)\n```'(两个 #、三反引号)。'### File:' 不含子串 '## File:'(第三个字符是 # 而非空格),按 README 示例构造的输入会零提取并触发脚本的 '⚠️ No files extracted!' 退出。SKILL.md 与 references/repomix-format.md 的示例是对的(## File:),即漂移只在 README。
- [unlocatable] README.md 声明的安装方式是否在仓库内可验证 — README 第 1 步要求「Download repomix-unmixer.zip」,但仓库内不存在任何 .zip/.skill 打包物(find 全仓 -name '*.skill' -o -name 'repomix-unmixer.zip' 零命中)。该 zip 是否由外部发布渠道提供,源码内无法定位,记为待补。
- [discrepancy] README 声明的许可与版本是否与仓库一致 — README 写「This skill follows the same license as Claude Code」且「Version: 1.0.0 / Created: 2025-10-22」,未点名 MIT;仓库根 LICENSE 为 MIT(Copyright (c) 2025 daymade)。属表述含糊(未直接冲突,但 README 未指向仓库根 LICENSE),且 README 未记录任何后续更新日期。
- [discrepancy] 写入路径是否真的无防护(安全结论的关键项,须找反例而非确认) — 反例检索失败→确认无防护:对 unmix_repomix.py grep '..|resolve|is_relative_to|abspath|normpath|startswith|sanitiz|safe' 仅命中无关行(正则里的 '<file path='、'## File:' 与 main() 的 os.path.exists 输入文件检查)。即输出目录内的路径完全未校验,第一遍判断成立并被强化。
- [ok] pin commit 与 skill.path 是否与任务书一致 — git rev-parse HEAD = d5c4678cb5d4fd6acc9c922690df035dbd33d247;该目录位于仓库根,相对路径 repomix-unmixer;该目录最后一次提交为 878f947(2026-09-07),HEAD 未触及本目录。GitHub API 复核:MIT、stars 1392、pushed 2026-09-15T09:30:04Z。
6結論
e046271700f755d1…