mcpField
S
style-learner

style-learner

github.com/atholaクリエイティブ・メディア343125 回インストール1 日前に更新
リポジトリ

style-learner について

style-learnerは、サンプル文から定量的な特徴を抽出し、代表的な文章を選んで再利用可能なスタイルプロファイルを作成します。文章作成やコンテンツ生成で一貫した文体を適用し、新しい文章で検証するためのスキルです。

主な機能

  1. 01定量的な文体指標の抽出
  2. 02代表的な文章の選定
  3. 03再利用可能なプロファイル作成
  4. 04新しい文章を使った検証
  5. 05slop-detectorとの連携

活用シーン

  1. 01サンプル文から文体ガイドを作成
  2. 02目標の語調に沿った文書生成
  3. 03生成文とプロファイルの照合

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/athola/claude-night-market --skill style-learner

インストール後、Claude Code で/style-learnerを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

modules/
exemplar-reference.md
feature-extraction.md
style-application.md

詳細

スタイル学習スキル

スタイルプロファイルは、指標と例文で構成されます。どちらか一方だけでは、文体を再現するには不十分です。

例文からスタイルを抽出し、後続のスキル(scribe:doc-generator、 scribe:voice-generate)が一貫して適用できるプロファイルとして体系化します。

使用しない場合

  • サンプルから特定の人物の文体を抽出する場合( scribe:voice-extractを使用してください)
  • プロファイルに照らしてテキストをレビューする場合(scribe:voice-reviewを使用してください)

アプローチ:特徴抽出と例文参照

このスキルでは、どちらの手法も単独では不十分なため、2つを組み合わせます。

  1. 特徴抽出:定量化できる指標(文の長さの分布、語彙の複雑さ、構造的なパターンなど)を測定します。再現性はありますが、無味乾燥です。
  2. 例文参照:対象のスタイルを示す具体的な文章を参照します。生き生きとしていますが、大規模に適用するのは困難です。

組み合わせることで、新しいテキストを評価するのに十分な精度と、書き直しの指針となる豊かさを備えたプロファイルになります。指標は例文が見落とすものを捉えます。例文は指標によって平坦化されるものを伝えます。

必須のTodoWrite項目

  1. style-learner:exemplar-collected - ソーステキストを収集済み
  2. style-learner:features-extracted - 定量指標を算出済み
  3. style-learner:exemplars-selected - 代表的な文章を特定済み
  4. style-learner:profile-generated - スタイルガイドを作成済み
  5. style-learner:validation-complete - 新しいコンテンツでプロファイルをテスト済み

手順1:例文を収集する

対象のスタイルを代表するサンプルを収集します。

最小要件:

  • 例文は合計1000語以上
  • 複数のサンプルが望ましい(一貫性を確認できます)
  • 出力対象と同じジャンル/文脈
## Exemplar Sources

| Source | Word Count | Type |
|--------|------------|------|
| README.md | 850 | Technical |
| blog-post-1.md | 1200 | Narrative |
| api-guide.md | 2100 | Reference |

手順2:特徴を抽出する

読み込み:@modules/feature-extraction.md

語彙指標
指標測定方法示す内容
平均語長文字数/語複雑さのレベル
異なり語比率異なり語数/総語数語彙の広さ
専門用語の密度100語あたりの専門用語数読者層のレベル
短縮形の割合文あたりの短縮形数文体の形式度
文の指標
指標測定方法示す内容
平均文長文あたりの語数複雑さ
長さのばらつき文長の標準偏差自然な変化
疑問文の頻度100文あたりの疑問文数読者への働きかけ方
断片文の使用頻度100文あたりの断片文数文体上のキレ
構造指標
指標測定方法示す内容
段落の長さ段落あたりの文数密度
リストの割合全行に占める箇条書き行の割合書式の好み
見出しの深さ見出しレベルの最大値構成スタイル
コードブロックの頻度1000語あたりのコードブロック数技術的な密度
句読点プロファイル
指標通常の範囲スタイルの指標
ダッシュの使用頻度1000語あたり0~3回挿入句のスタイル
セミコロンの使用頻度1000語あたり0~2回形式的な複雑さ
感嘆符の使用頻度1000語あたり0~1回熱意の度合い
省略記号の使用頻度1000語あたり0~1回思考を余韻として残すスタイル

手順3:例文を選択する

読み込み:@modules/exemplar-reference.md

対象のスタイルを最もよく表す文章を3~5つ選びます(各50~150語)。

選定基準:

  • 特徴的な文のリズムを示している
  • 典型的な語彙の選択を示している
  • 目標とするトーンを表している
  • 例外的または特異な文章を避けている
例文テンプレート
### Exemplar 1: [Label]
**Source**: [filename, lines X-Y]
**Demonstrates**: [what aspect of style]

> [Quoted passage]

**Key characteristics**:
- [Observation 1]
- [Observation 2]

手順4:スタイルプロファイルを生成する

抽出した特徴と例文を組み合わせて、実用的なスタイルガイドを作成します。

プロファイルの形式
# Style Profile: [Name]
# Generated: [Date]
# Exemplar sources: [List]

voice:
  tone: [professional/casual/academic/conversational]
  perspective: [first-person/third-person/second-person]
  formality: [formal/neutral/informal]

vocabulary:
  average_word_length: X.X
  jargon_level: [none/light/moderate/heavy]
  contractions: [avoid/occasional/frequent]
  preferred_terms:
    - "use" over "utilize"
    - "help" over "facilitate"
  avoided_terms:
    - delve
    - leverage
    - comprehensive

sentences:
  average_length: XX words
  length_variance: [low/medium/high]
  fragments_allowed: [yes/no/sparingly]
  questions_used: [yes/no/sparingly]

structure:
  paragraphs: [short/medium/long] (X-Y sentences)
  lists: [prefer prose/balanced/prefer lists]
  headers: [descriptive/terse/question-style]

punctuation:
  em_dashes: [avoid/sparingly/freely]
  semicolons: [avoid/sparingly/freely]
  oxford_comma: [yes/no]

exemplars:
  - label: "[Exemplar 1 label]"
    text: |
      [Quoted passage]
  - label: "[Exemplar 2 label]"
    text: |
      [Quoted passage]

anti_patterns:
  - [Pattern to avoid 1]
  - [Pattern to avoid 2]

手順5:検証する

新しいコンテンツでプロファイルをテストします。

  1. プロファイルを使ってサンプルコンテンツを生成します
  2. 指標を抽出済みの特徴と比較します
  3. 文体やトーンが一致しているか、ユーザーに評価してもらいます
  4. フィードバックに基づいてプロファイルを改善します
検証チェックリスト
  • 指標が模範例の平均値から20%以内
  • アンチパターンへの違反がない
  • トーンがユーザーの期待に合っている
  • 語彙が模範例に沿っている
  • 構成がプロファイルのガイドラインに従っている

生成での使用

新しいコンテンツを生成する際は、プロファイルを参照してください。

Generate [content type] following the style profile:
- Voice: [from profile]
- Sentence length: target ~[X] words, vary between [Y-Z]
- Use exemplar passage as tone reference:
  > [exemplar quote]
- Avoid: [anti-patterns from profile]

モジュールリファレンス

  • 新しいコンテンツに学習したスタイルを適用する方法については、modules/style-application.mdを参照してください。

slop-detectorとの統合

コンテンツを生成した後、slop-detectorを実行して次の項目を確認します。

  1. AIマーカーが追加されていない
  2. スタイル指標がプロファイルに一致している
  3. アンチパターンが回避されている

完了条件

  • スタイルプロファイルのドキュメントが作成されている
  • 3つ以上の模範的な文章が含まれている
  • 定量的な指標が抽出されている
  • slop-detectorによるアンチパターンが統合されている
  • 検証テストに合格している

コメント