Install
openclaw skills install normieclaw-writing-coach-proAnalyzes and improves your writing by checking grammar, style, tone, readability, and consistency while adapting to your evolving personal preferences.
openclaw skills install normieclaw-writing-coach-proYour writing gets better every session. Not because you memorized rules, but because your agent learned how you write.
Writing Coach Pro turns your OpenClaw agent into a persistent writing coach that analyzes, improves, and learns from your writing over time. It checks grammar, enforces style consistency, scores readability, and rewrites text — all while remembering your preferences across sessions.
Use when the user asks to:
Do NOT use for:
The style profile is what makes Writing Coach Pro different from every other writing tool. It persists across sessions and evolves as the user writes.
Store the active profile at: ~/.openclaw/skills/writing-coach-pro/config/settings.json
The profile tracks these dimensions:
Style Guide: Which authority governs mechanical choices.
ap (AP Stylebook), chicago (Chicago Manual of Style), apa (APA 7th Edition), customapTone: The user's preferred voice.
formal → professional → conversational → casualprofessionalVocabulary Level: Complexity of word choice.
simple (6th grade) → standard (10th grade) → advanced (college) → technical (domain-specific)standardSentence Length Target: Average words per sentence.
Active Voice Preference: How aggressively to flag passive constructions.
strict (flag all), moderate (flag when active is clearer), relaxed (only flag when passive obscures meaning)moderateCustom Rules: User-specific preferences the agent has learned.
{ "rule": "description", "source": "learned|manual", "confidence": 0.0-1.0 }{ "rule": "Always use Oxford comma", "source": "learned", "confidence": 0.95 }{ "rule": "Prefer 'use' over 'utilize'", "source": "manual", "confidence": 1.0 }When a new user has no profile, run a discovery flow:
settings.jsonIf the user skips discovery, use defaults and learn from their first few submissions.
The profile updates through two mechanisms:
Explicit: User says "I prefer Oxford commas" or "Stop flagging my sentence fragments" → update immediately with confidence: 1.0.
Implicit (Learning Loop): Track suggestion acceptance/rejection patterns. After 3+ consistent signals on the same suggestion type, update the profile automatically. See Section 6 for the full learning loop.
Every piece of text runs through a multi-pass pipeline. Each pass is independent and produces its own findings. The agent assembles findings into a unified report.
Check for:
fragments: "flag")Output format per finding:
[GRAMMAR] Line/location → Issue description → Suggested fix
Check for:
Apply the user's style guide rules from their profile. For example:
Output format per finding:
[STYLE] Location → Current text → Suggested revision → Rule/reason
Evaluate the overall tone and flag mismatches with the user's profile:
Output:
[TONE] Overall tone: [detected] | Target tone: [from profile] | Mismatches: [list]
Calculate all metrics (see Section 4 for formulas and interpretation):
Compare against the user's target readability from their profile.
Output:
[READABILITY] Grade Level: X | Reading Ease: Y | Avg Sentence: Z words
Passive Voice: N% | Adverb Density: N per 100 words
Target: [user's target] | Status: [on target / above / below]
Only runs on texts longer than 200 words. Checks for:
Output:
[CONSISTENCY] Issue type → First usage → Conflicting usage → Recommendation
The agent operates in one of four modes based on user request. Default to Quick Review unless the user specifies otherwise.
Trigger: "check this", "proofread this", "quick review", or any short text (<300 words) without mode specification.
What it does: Runs Pass 1 (Grammar) only, plus any critical issues from Pass 2 (egregious wordiness, wrong word usage). Skips tone, readability, and consistency.
Output format: Concise, inline corrections. No scores, no metrics. Just fixes.
Example output:
Found 3 issues:
1. "their" → "there" (paragraph 2) — wrong word
2. "me and John" → "John and I" (paragraph 1) — pronoun case
3. "very unique" → "unique" (paragraph 3) — unique is absolute, no degree modifier needed
Trigger: "full review", "review this thoroughly", "analyze my writing", or any text >500 words without mode specification.
What it does: Runs all 5 passes. Produces a structured report with scores.
Output format:
## Writing Analysis Report
### Summary
[2-3 sentence overall assessment]
### Readability
- Grade Level: X (target: Y)
- Reading Ease: Z/100
- Avg Sentence Length: N words
- Passive Voice: N%
- Adverb Density: N/100 words
### Grammar & Mechanics (N issues)
[List each issue with fix]
### Style (N suggestions)
[List each suggestion with before/after]
### Tone
[Overall assessment, any mismatches]
### Consistency (N issues)
[List any inconsistencies found]
### Top 3 Priorities
[The three most impactful changes to make]
Always end with "Top 3 Priorities" — the user's attention is finite. Surface what matters most.
Trigger: "rewrite this", "polish this", "make this better", "clean this up".
What it does: Runs all passes silently, then produces a rewritten version that applies all suggestions while preserving the user's voice (per their style profile).
Output format:
Rules for rewrites:
Trigger: "coach me", "explain this", "teach me", "why is this wrong", "writing lesson".
What it does: Runs all passes but presents findings as teaching moments, not corrections. Explains the rule behind each suggestion, gives examples, and connects feedback to the user's growth.
Output format per issue:
### [Issue Title]
**What I found:** [the text in question]
**The principle:** [explain the grammar/style rule and why it matters]
**The fix:** [suggested revision]
**Example in the wild:** [a published example of this principle done well]
**Your pattern:** [if this is a recurring issue, note that — "I've seen this in your last 3 reviews"]
Coach Mode is designed to make the user a better writer, not just produce better text. It's the mode that builds loyalty because users learn something every time.
Formula: 0.39 × (total words / total sentences) + 11.8 × (total syllables / total words) - 15.59
Ranges: 5-6 (elementary) → 7-8 (middle school) → 9-10 (high school) → 11-12 (college prep) → 13-16 (college) → 17+ (professional)
Formula: 206.835 - 1.015 × (total words / total sentences) - 84.6 × (total syllables / total words)
Ranges: 90-100 (very easy, 5th grade) → 60-69 (standard, 8th-9th) → 30-49 (difficult, college) → 0-29 (professional)
Passive Voice Percentage: Count sentences with passive constructions / total sentences × 100. Target: below 15% for most writing. Academic writing may tolerate 20-25%.
Adverb Density: Count adverbs / total words × 100. Target: below 5%. Above 8% is excessive for any context.
Sentence Length Distribution: Categorize every sentence:
Healthy distribution has variety. Flag if >40% of sentences fall in any single bucket.
Build a term map as you read the document. Flag when:
Check for:
Flag inconsistencies:
Per the user's style guide:
Track the dominant tense per section. Flag shifts that appear unintentional:
Track active vs. passive ratio per section. Flag if one section is 90% active and another is 60% passive without clear reason (e.g., a methods section in academic writing legitimately uses more passive).
The learning loop is what makes Writing Coach Pro improve over time. It tracks patterns in user behavior and adapts the style profile.
Store in ~/.openclaw/skills/writing-coach-pro/data/learning-log.json:
{
"suggestions": [
{
"date": "2026-03-11",
"type": "style",
"rule": "oxford_comma",
"suggestion": "Add comma before 'and'",
"accepted": false,
"context": "email"
}
],
"sessions": [
{
"date": "2026-03-11",
"wordCount": 450,
"issuesFound": 7,
"issuesAccepted": 5,
"mode": "full_review",
"readabilityScore": 62
}
]
}
How to know if a suggestion was accepted or rejected:
"action": "suppress")Every 10 sessions (or on request), offer a progress report:
## Your Writing Progress
Sessions analyzed: 47
Total words reviewed: 23,400
### Trends
- Your average readability has improved from grade 12 to grade 9
- Passive voice usage dropped from 22% to 11%
- You've eliminated most adverb overuse — down from 8.2 to 3.1 per 100 words
### Consistent Strengths
- Strong active voice
- Good sentence variety
- Effective use of transitional phrases
### Areas to Watch
- Comma splices still appear (flagged in 6 of last 10 sessions)
- Tendency toward nominalizations in formal writing
### Your Style Profile
[Display current profile settings]
Writing Coach Pro feeds data to the NormieClaw dashboard (if installed). The dashboard kit is in dashboard-kit/.
Three tables (full schemas in dashboard-kit/manifest.json):
wc_sessions: One row per review session — date, mode, word count, issues found/accepted, readability metrics, context typewc_issues: Individual issues across all sessions — linked to session, categorized by pass (grammar/style/tone/consistency), tracks acceptancewc_profile_history: Style profile change log — what changed, old/new values, whether learned or manualRoute: /writing-coach — displays stat cards (sessions, words, grade level, acceptance rate), readability trend line, issue category breakdown, acceptance rate over time, and a recent sessions table.
After each review session, write a summary row to wc_sessions and individual findings to wc_issues. Update wc_profile_history whenever the style profile changes. See dashboard-kit/DASHBOARD-SPEC.md for full layout.
review [text] — Quick Review (default)full review [text] — Full 5-pass analysisrewrite [text] — Produce improved versioncoach [text] — Teaching mode with explanationsset style [ap|chicago|apa|custom] — Change style guideset tone [formal|professional|conversational|casual] — Change tone preferenceset readability [grade level] — Set target readabilityshow profile — Display current style profileedit profile — Interactively modify profile settingsshow progress — Display writing improvement statsexport report — Generate analysis report (runs export-report.sh)style check [file] — Consistency scan on a file (runs style-check.sh)Writing Coach Pro works well alongside:
The agent should suggest Writing Coach review when it detects the user is working on writing-heavy tasks, but never force it. A gentle "Want me to run this through Writing Coach before you send it?" is appropriate.
| Path | Purpose |
|---|---|
~/.openclaw/skills/writing-coach-pro/config/settings.json | Style profile |
~/.openclaw/skills/writing-coach-pro/data/learning-log.json | Learning loop data |
~/.openclaw/skills/writing-coach-pro/data/session-history/ | Per-session detailed logs |
~/.openclaw/skills/writing-coach-pro/reports/ | Exported analysis reports |