编程

style-learner

试用

Extracts writing style patterns from exemplar text into a reusable profile

它能做什么

**Night Market Skill** — ported from claude-night-market/scribe. For the full experience with agents, hooks, and commands, install the Claude Code plugin.

技能文档

Night Market Skill — ported from claude-night-market/scribe. For the full experience with agents, hooks, and commands, install the Claude Code plugin.

Style Learning Skill

A style profile is metrics plus exemplars. Either alone is too weak to reproduce a voice.

Extract style from exemplar text and codify it as a profile that downstream skills (scribe:doc-generator, scribe:voice-generate) can apply consistently.

Approach: Feature Extraction and Exemplar Reference

The skill combines two methods because each fails alone:

  1. Feature Extraction: quantifiable metrics (sentence length distribution, vocabulary complexity, structural patterns). Reproducible but soulless.
  2. Exemplar Reference: specific passages that demonstrate the target style. Vivid but hard to apply at scale.

Together they form a profile precise enough to score new text and rich enough to guide rewrites. Metrics catch what exemplars miss; exemplars carry what metrics flatten.

Required TodoWrite Items

  1. style-learner:exemplar-collected - Source texts gathered
  2. style-learner:features-extracted - Quantitative metrics computed
  3. style-learner:exemplars-selected - Representative passages identified
  4. style-learner:profile-generated - Style guide created
  5. style-learner:validation-complete - Profile tested against new content

Step 1: Collect Exemplar Text

Gather representative samples of the target style.

Minimum requirements:

  • At least 1000 words of exemplar text
  • Multiple samples preferred (shows consistency)
  • Same genre/context as target output
## Exemplar Sources

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

Step 2: Feature Extraction

Load: @modules/feature-extraction.md

Vocabulary Metrics

MetricHow to MeasureWhat It Indicates
Average word lengthchars/wordComplexity level
Unique word ratiounique/totalVocabulary breadth
Jargon densitytechnical terms/100 wordsAudience level
Contraction ratecontractions/sentencesFormality

Sentence Metrics

MetricHow to MeasureWhat It Indicates
Average lengthwords/sentenceComplexity
Length variancestd dev of lengthsNatural variation
Question frequencyquestions/100 sentencesEngagement style
Fragment usagefragments/100 sentencesStylistic punch

Structural Metrics

MetricHow to MeasureWhat It Indicates
Paragraph lengthsentences/paragraphDensity
List ratiobullet lines/total linesFormat preference
Header depthmax header levelOrganization style
Code block frequencycode blocks/1000 wordsTechnical density

Punctuation Profile

MetricNormal RangeStyle Indicator
Em dash rate0-3/1000 wordsParenthetical style
Semicolon rate0-2/1000 wordsFormal complexity
Exclamation rate0-1/1000 wordsEnthusiasm level
Ellipsis rate0-1/1000 wordsTrailing thought style

Step 3: Exemplar Selection

Load: @modules/exemplar-reference.md

Select 3-5 passages (50-150 words each) that best represent the target style.

Selection criteria:

  • Demonstrates characteristic sentence rhythm
  • Shows typical vocabulary choices
  • Represents the desired tone
  • Avoids atypical or exceptional passages

Exemplar Template

### Exemplar 1: [Label]
**Source**: [filename, lines X-Y]
**Demonstrates**: [what aspect of style]

> [Quoted passage]

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

Step 4: Generate Style Profile

Combine extracted features and exemplars into a usable style guide.

Profile Format

# 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]

Step 5: Validation

Test the profile against new content:

  1. Generate sample content using the profile
  2. Compare metrics to extracted features
  3. Have user evaluate voice/tone match
  4. Refine profile based on feedback

Validation Checklist

  • Metrics within 20% of exemplar averages
  • No anti-pattern violations
  • Tone matches user expectation
  • Vocabulary aligns with exemplars
  • Structure follows profile guidelines

Usage in Generation

When generating new content, reference the profile:

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]

Module Reference

  • See modules/style-application.md for applying learned styles to new content

Integration with slop-detector

After generating content, run slop-detector to verify:

  1. No AI markers introduced
  2. Style metrics match profile
  3. Anti-patterns avoided

Exit Criteria

  • Style profile document created
  • At least 3 exemplar passages included
  • Quantitative metrics extracted
  • Anti-patterns from slop-detector integrated
  • Validation test passed

相关技能

athola 的更多技能

浏览全部技能

Evaluate hook security, performance, and SDK compliance. Use for audits

作者 athola26 次安装

Applies KISS, YAGNI, and SOLID principles for clean code with reduced complexity

作者 athola26 次安装

Configures pre-commit hooks for linting, type checking, formatting, and testing

作者 athola25 次安装

Executes implementation plans with progress tracking, checkpoint validation, and quality gates. Use after planning is complete and tasks are ready to implement

作者 athola25 次安装

Guide creating Claude Code hooks with security-first design. Use for validation and enforcement

作者 athola24 次安装

Analyze and improve the improvement process. Use for detecting regressions and meta-optimization

作者 athola24 次安装