---
name: md-converter
description: |
テキストコンテンツや各種フォーマット(HTML, RST, AsciiDoc, プレーンテキスト等)をMarkdown形式に変換するスキル。
以下の状況で使用:
(1) ユーザーが「このテキストをmarkdownに変換して」「HTMLをmdに変換して」と依頼した時
(2) ユーザーが「このファイルをmarkdownにして」とファイルパスを提示した時
(3) ユーザーが明示的に「md-converter スキル」の実行を指示された時
(4) RST, AsciiDoc, HTMLなどからmarkdownへの変換が必要な時
(5) 形式が不明なテキストをmarkdownとして整形したい時
argument-hint: "<ファイルパス or テキスト> [--from html|rst|asciidoc] [--output ファイルパス]"
---
# md-converter
HTML, RST, AsciiDoc, プレーンテキストをGitHub Flavored Markdown (GFM) に変換する。
## ワークフロー
### Step 1: 入力を確認する
- ファイルパスが提供された場合 → ファイルを読み込む
- テキストコンテンツが直接提供された場合 → そのまま利用
### Step 2: フォーマットを判定する
| 判定方法 | 優先度 |
|---------|--------|
| ユーザーが明示指定 | 最高 |
| ファイル拡張子 (.html/.htm, .rst, .adoc/.asciidoc) | 高 |
| コンテンツのパターン解析 | 中 |
**コンテンツからの判定ヒント:**
- ``, `
`, `
` タグ → HTML
- `.. ` ディレクティブ, `====` アンダーライン見出し → RST
- `=====` タイトル区切り, `[source,lang]` ブロック → AsciiDoc
- 判定不能 → プレーンテキストとして処理
### Step 3: 変換を実行する
**HTMLまたは構造化フォーマット(RST/AsciiDoc)の場合**
`scripts/convert.py` を使用してpandocで変換する:
```bash
# ファイルの場合(拡張子で自動判定)
python3 scripts/convert.py
# フォーマットを明示指定
python3 scripts/convert.py --from html
python3 scripts/convert.py --from rst
python3 scripts/convert.py --from asciidoc
# stdin から変換
echo "content" | python3 scripts/convert.py - --from html
# ファイルに保存
python3 scripts/convert.py --output output.md
```
**スクリプトパス:** `scripts/convert.py`
**プレーンテキストの場合**
pandocではなくClaudeが直接解析・変換する:
1. 見出し候補(短い行、大文字、数字付き)を `#` 見出しに変換
2. 箇条書き(`-`, `*`, `・`, 数字)を適切なリスト記法に統一
3. コードブロックのような等幅テキストをバッククォートで囲む
4. 表形式のデータをMarkdownテーブルに変換
### Step 4: 結果を返す
- 変換済みmarkdownをチャットで返す(デフォルト)
- ユーザーがファイル保存を希望する場合は `--output` オプションを使用
- 出力ファイル名が未指定の場合は入力ファイル名の拡張子を `.md` に変更して提案