Install any skill in seconds. Free to start, no credit card required.
Get Started Free →ユーザーの既存文章を複数読み込み、文体特徴(語尾パターン、文の長さ、漢字/ひらがな比率、口調、接続詞傾向)を抽出してスタイルプロファイルを生成する。 「文体を分析して」「書き方を真似て」「文章のスタイルを学習」等のリクエストで発動。
.claude/skills/minicoohei-style-analyzer/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-01 | ✗→✓ | ▲ Improved | -23% | 0% |
| case-02 | ✗→✓ | ▲ Improved | 24% | 0% |
| case-04 | ✗→✓ | ▲ Improved | 145% | 0% |
| case-05 | ✗→✓ | ▲ Improved | 33% | 0% |
| case-09 | ✗→✓ | ▲ Improved | 23% | 0% |
「文体分析」「トーン分析」「ライティングスタイル」「文章スタイル」
ユーザーが書いた複数の文章ファイルを読み込み、文体の特徴を定量的に抽出してスタイルプロファイル(YAML形式)を生成します。生成されたプロファイルは、文体を再現した文章生成や、文体の一貫性チェックに活用できます。
bash# 基本的な使い方(複数ファイルを指定) python scripts/style_analyzer.py --input "article1.md" --input "article2.md" # 出力先を指定 python scripts/style_analyzer.py --input "article1.md" --input "article2.md" --output style_profile.yaml # 3つ以上のファイルを分析 python scripts/style_analyzer.py \ --input "blog_post_1.md" \ --input "blog_post_2.md" \ --input "report.txt" \ --output my_style.yaml # テストモード(サンプルプロファイルを生成) python scripts/style_analyzer.py --test
| Parameter | Required | Default | Description | |-----------|----------|---------|-------------| | --input | Yes | - | 分析対象のテキスト/Markdownファイルパス(複数指定可) | | --output | No | output/style_profile.yaml | 出力YAMLファイルのパス | | --test | No | false | テストモード:サンプルプロファイルを生成して終了 |
\ --test 使用時は --input は不要
| 分類 | 該当パターン | 例 | |------|-------------|-----| | desu_masu | です、ます、でした、ました、ません、でしょう | 「AIは便利です」 | | da_dearu | だ、である、であった、だった、ではない | 「AIは便利である」 | | other | 疑問形、感嘆、体言止め等 | 「AIは便利?」「便利なAI。」 |
Unicode範囲に基づいて各文字種の比率を算出:
検出対象の主な接続詞:
| カテゴリ | 接続詞 | |---------|--------| | 順接 | だから、したがって、そのため、それで、ゆえに | | 逆接 | しかし、だが、ところが、けれども、にもかかわらず、一方で | | 並列・累加 | また、さらに、そして、加えて、それに、そのうえ | | 説明・補足 | つまり、すなわち、要するに、なぜなら、というのも | | 転換 | さて、ところで、では、それでは、ちなみに | | 対比 | むしろ、逆に、反対に、それに対して | | 例示 | たとえば、具体的には、いわば |
文末が名詞・名詞句で終わるパターンを検出(「。」の直前が漢字・カタカナ・ひらがな名詞で終わる場合)。
| パターン名 | 句点 | 読点 | |-----------|------|------| | standard | 。 | 、 | | academic | .(全角ピリオド) | ,(全角カンマ) | | mixed | 混合 | 混合 |
YAML形式のスタイルプロファイル:
yamlstyle_profile: generated_at: "2026-02-12T10:30:00+09:00" source_files: - path: "article1.md" chars: 2450 - path: "article2.md" chars: 3120 total_chars: 5570 total_sentences: 142 total_paragraphs: 28 sentence_endings: desu_masu: 0.72 da_dearu: 0.18 other: 0.10 dominant_style: "desu_masu" sentence_length: average: 39.2 median: 35.0 min: 8 max: 98 std_dev: 15.4 char_ratios: kanji: 0.31 hiragana: 0.48 katakana: 0.08 ascii: 0.06 other: 0.07 conjunctions: total_count: 34 per_sentence: 0.24 top_5: - word: "また" count: 8 - word: "しかし" count: 6 - word: "そして" count: 5 - word: "さらに" count: 4 - word: "つまり" count: 3 paragraph_structure: avg_sentences_per_paragraph: 5.1 taigen_dome: frequency: 0.07 count: 10 punctuation: period_style: "。" comma_style: "、" pattern: "standard" modifiers: density: 0.12 common_adverbs: - "非常に" - "特に" - "実際に" colloquial_formal_balance: colloquial_ratio: 0.25 formal_ratio: 0.75 assessment: "やや文語寄り"
bashpython scripts/style_analyzer.py \ --input "blog/2026-01-intro.md" \ --input "blog/2026-01-review.md" \ --input "blog/2026-02-tips.md" \ --output output/blog_style.yaml
出力例(stdout):
=== Style Analyzer - 文体分析レポート ===
分析ファイル数: 3
総文字数: 8,420
総文数: 215
--- 語尾パターン ---
です/ます調: 78.1%
だ/である調: 12.6%
その他: 9.3%
→ 主要スタイル: です/ます調
--- 文長 ---
平均: 39.2文字 中央値: 35.0文字
最短: 5文字 最長: 102文字
--- 文字種比率 ---
漢字: 30.5% ひらがな: 48.2% カタカナ: 8.1%
--- 接続詞 TOP5 ---
また(12) しかし(8) そして(7) さらに(5) つまり(4)
--- 体言止め ---
使用率: 6.5% (14回/215文)
プロファイル保存先: output/blog_style.yamlbashpython scripts/style_analyzer.py --test
入力ファイルなしでサンプルプロファイルを生成し、出力形式を確認できます。
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-03 | fail→fail | 11,976 | 7,373 | -38% | 1 | 1 | 0% | 1,944 | 3,569 | +84% | 0 | 0 | — |
case-01 | fail→pass | 19,274 | 5,319 | -72% | 1 | 1 | 0% | 4,024 | 3,115 | -23% | 0 | 0 | — |
case-02 | fail→pass | 18,549 | 10,055 | -46% | 1 | 1 | 0% | 3,228 | 4,017 | +24% | 0 | 0 | — |
case-04 | fail→pass | 6,249 | 2,163 | -65% | 1 | 1 | 0% | 978 | 2,393 | +145% | 0 | 0 | — |
case-05 | fail→pass | 11,802 | 3,609 | -69% | 1 | 1 | 0% | 1,991 | 2,645 | +33% | 0 | 0 | — |
case-06 | pass→pass | 17,110 | 4,254 | -75% | 1 | 1 | 0% | 3,145 | 2,856 | -9% | 0 | 0 | — |
case-07 | pass→pass | 14,994 | 3,393 | -77% | 1 | 1 | 0% | 2,563 | 2,625 | +2% | 0 | 0 | — |
case-08 | pass→pass | 11,127 | 2,567 | -77% | 1 | 1 | 0% | 1,825 | 2,477 | +36% | 0 | 0 | — |
case-09 | fail→pass | 12,502 | 3,639 | -71% | 1 | 1 | 0% | 2,189 | 2,690 | +23% | 0 | 0 | — |
case-10 | fail→pass | 15,718 | 4,725 | -70% | 1 | 1 | 0% | 2,725 | 2,935 | +8% | 0 | 0 | — |
case-11 | pass→pass | 9,317 | 1,990 | -79% | 1 | 1 | 0% | 1,754 | 2,375 | +35% | 0 | 0 | — |
case-12 | pass→pass | 15,207 | 4,248 | -72% | 1 | 1 | 0% | 2,492 | 2,805 | +13% | 0 | 0 | — |
case-13 | fail→pass | 10,936 | 3,330 | -70% | 1 | 1 | 0% | 1,872 | 2,560 | +37% | 0 | 0 | — |
case-14 | fail→pass | 10,715 | 3,755 | -65% | 1 | 1 | 0% | 2,080 | 2,561 | +23% | 0 | 0 | — |
case-15 | fail→pass | 10,721 | 2,614 | -76% | 1 | 1 | 0% | 1,765 | 2,481 | +41% | 0 | 0 | — |
case-16 | pass→pass | 11,821 | 5,832 | -51% | 1 | 1 | 0% | 2,025 | 2,945 | +45% | 0 | 0 | — |
case-17 | fail→pass | 15,893 | 5,041 | -68% | 1 | 1 | 0% | 2,577 | 2,897 | +12% | 0 | 0 | — |
case-18 | fail→pass | 13,654 | 3,593 | -74% | 1 | 1 | 0% | 2,214 | 2,626 | +19% | 0 | 0 | — |
case-19 | pass→pass | 14,311 | 5,337 | -63% | 1 | 1 | 0% | 2,191 | 2,921 | +33% | 0 | 0 | — |
case-20 | fail→fail | 3,610 | 3,418 | -5% | 1 | 1 | 0% | 583 | 2,450 | +320% | 0 | 0 | — |
case-21 | pass→pass | 18,454 | 14,543 | -21% | 1 | 1 | 0% | 2,788 | 4,048 | +45% | 0 | 0 | — |
case-22 | pass→pass | 18,578 | 14,998 | -19% | 1 | 1 | 0% | 3,673 | 4,994 | +36% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted. The headline lift of +50 percentage points is the difference between those two pass rates over the 22 comparable cases.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.