magikalisted
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