← ClaudeAtlas

magikalisted

Use when the user asks to identify file types, verify whether an extension matches file content, classify files in a directory, or explicitly asks to use Magika.
iamtatsuki05/dotfiles · ★ 0 · AI & Automation · score 56
Install: claude install-skill iamtatsuki05/dotfiles
# Magika ## Overview Google製のAI駆動型ファイルタイプ検出ツール。従来のマジックバイト(ファイルシグネチャ)ベースと異なり、ディープラーニングモデルで200以上のコンテンツタイプを高精度(平均 ~99%)・高速(~5ms/ファイル)に識別する。 ## インストール確認と手順 まず `magika` が利用可能かを確認する。 ```bash magika --version ``` **インストールされていない場合:** インストールは環境変更を伴うため、ユーザーに確認してから実行する。 ```bash # CLIツールとして使う場合(推奨) pipx install magika # Python ライブラリとしても使う場合 pip install magika ``` > `pipx` が使えない場合は `pip install magika` を使用する。`pip` が見つからない場合は `pip3` または `python3 -m pip` を試す。 --- ## 基本的な使い方 ### 単一ファイルの識別 ```bash # デフォルト出力(説明 + グループ) magika ./unknown_file # シンプルなラベルだけ出力(自動化に推奨) magika --label ./unknown_file # MIMEタイプを出力 magika --mime-type ./unknown_file # スコア(信頼度)も表示 magika --output-score ./unknown_file ``` ### 複数ファイル・ディレクトリ ```bash # 複数ファイルを一括識別 magika file1 file2 file3 # ディレクトリを再帰的に識別 magika --recursive ./target_dir/ # ワイルドカード magika ./uploads/* ``` ### 標準入力から識別 ```bash cat unknown_file | magika - ``` ### JSON / JSONL 出力(パース・自動化向け) ```bash # JSON 出力(全ファイルをまとめて配列) magika --json ./file # JSONL 出力(1ファイル1行、ストリーム処理向け) magika --jsonl ./file # jq と組み合わせてラベルだけ取り出す magika --json ./file | jq '.[].result.value.output.label' ``` ### カスタムフォーマット出力 ```bash # パスとラベルだけ magika --format '%p: %l' ./file # パス・ラベル・スコア magika --format '%p\t%l\t%s' ./uploads/* ``` --- ## Python API での利用 ```python from magika import Magika m = Magika() # ファイルパスで識別 result = m.identify_path("./unknown_file") print(result.output.label) # 例: "python" print(result.output.mime_type) # 例: "text/x-python" print