Get the FREE Ultimate OpenClaw Setup Guide →

style-learner

Scanned
npx machina-cli add skill athola/claude-night-market/style-learner --openclaw
Files (1)
SKILL.md
6.5 KB

Style Learning Skill

Extract and codify writing style from exemplar text for consistent application.

Approach: Feature Extraction + Exemplar Reference

This skill combines two complementary methods:

  1. Feature Extraction: Quantifiable style metrics (sentence length, vocabulary complexity, structural patterns)
  2. Exemplar Reference: Specific passages that demonstrate desired style

Together, these create a comprehensive style profile that can guide content generation and editing.

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

Source

git clone https://github.com/athola/claude-night-market/blob/master/plugins/scribe/skills/style-learner/SKILL.mdView on GitHub

Overview

Style-learner extracts writing style from exemplar text to create a reusable style profile. It combines feature extraction with exemplar references to capture metrics like sentence length, vocabulary breadth, and tone. The resulting profile guides AI output and editing for consistency across documents.

How This Skill Works

The skill uses two methods: feature extraction and exemplar reference. Users collect 1000+ words of exemplar text, run feature extraction to compute metrics, and select 3-5 representative passages to form a style profile. The profile is then applied by the style-application workflow to guide content generation and editing.

When to Use It

  • Create a style guide from existing content to ensure cross-document consistency.
  • Learn and replicate a specific author's voice for new material.
  • Customize AI-generated output to match a brand's tone and audience.
  • Quantify style metrics and compare them across documents for governance.
  • Prepare content for editing by aligning it to a target style before publication.

Quick Start

  1. Step 1: Collect exemplar texts that match your target style (minimum 1000 words).
  2. Step 2: Run feature extraction and select 3-5 representative passages to form the style profile.
  3. Step 3: Apply the resulting style guide with the style-application workflow during generation and editing.

Best Practices

  • Use at least 1000 words of exemplar text per style and include multiple samples.
  • Choose exemplars from the same genre and context as the target output.
  • Select 3-5 representative passages that capture characteristic rhythm and vocabulary.
  • Validate the resulting profile on new content and iterate as needed.
  • Document and version the style profile for governance and reuse.

Example Use Cases

  • A tech blog standardizes its tone to match a renowned author by building a style profile from exemplar posts.
  • A marketing team aligns blog, product pages, and social content to a single brand voice using the generated style guide.
  • A software API guide adopts clearer, reader-friendly language derived from exemplar passages.
  • An internal knowledge base harmonizes documentation across departments to maintain consistent terminology and cadence.
  • Editorial teams preserve a formal yet approachable voice across multiple manuals by applying the style profile to edits.

Frequently Asked Questions

Add this skill to your agents

Related Skills

Sponsor this space

Reach thousands of developers