9.4 KiB
Blog Copywriting (Spec-Driven)
Rewrite or create content with strict adherence to blog constitution and brand voice guidelines.
Usage
/blog-copywrite "topic-name"
Example:
/blog-copywrite "nodejs-tracing"
Note: Provide the sanitized topic name (same as article filename).
Prerequisites
Optional Files:
.spec/blog.spec.json- Blog constitution (highly recommended)articles/[topic].md- Existing article to rewrite (optional).specify/seo/[topic]-seo-brief.md- SEO structure (optional)
If no constitution exists: Agent will use generic professional tone.
What This Command Does
Delegates to the copywriter subagent for spec-driven content creation:
- Constitution-First: Loads and applies
.spec/blog.spec.jsonrequirements - Tone Precision: Matches exact tone (expert/pédagogique/convivial/corporate)
- Voice Compliance: Enforces
voice_doand avoidsvoice_dont - Review Rules: Ensures
must_haveitems and avoidsmust_avoid - Quality Focus: Spec-perfect copy over marketing optimization
Time: 20-40 minutes
Output: articles/[topic].md (overwrites existing with backup)
Difference from /blog-marketing
| Feature | /blog-marketing | /blog-copywrite |
|---|---|---|
| Focus | Conversion & CTAs | Spec compliance |
| Voice | Engaging, persuasive | Constitution-driven |
| When to use | New articles | Rewrite for brand consistency |
| Constitution | Optional influence | Mandatory requirement |
| CTAs | 2-3 strategic | Only if in spec |
| Tone freedom | High | Zero (follows spec exactly) |
Use /blog-copywrite when:
- Existing content violates brand voice
- Need perfect spec compliance
- Building content library with consistent voice
- Rewriting AI-generated content to match brand
Use /blog-marketing when:
- Need conversion-focused content
- Want CTAs and social proof
- Creating new promotional articles
Instructions
Create a new subagent conversation with the copywriter agent.
Provide the following prompt:
You are creating spec-driven copy for a blog article.
**Topic**: $ARGUMENTS
**Your task**: Write (or rewrite) content that PERFECTLY matches blog constitution requirements.
Follow your Three-Phase Process:
1. **Constitution Deep-Load** (5-10 min):
- Load .spec/blog.spec.json (if exists, otherwise use generic tone)
- Extract: blog.name, blog.context, blog.objective, blog.tone, blog.languages
- Internalize brand_rules.voice_do (guidelines to follow)
- Internalize brand_rules.voice_dont (anti-patterns to avoid)
- Load workflow.review_rules (must_have, must_avoid)
2. **Spec-Driven Content Creation** (20-40 min):
- Apply tone exactly as specified:
* expert → Technical, authoritative, assumes domain knowledge
* pédagogique → Educational, patient, step-by-step
* convivial → Friendly, conversational, relatable
* corporate → Professional, business-focused, ROI-oriented
- Check if article exists (articles/$ARGUMENTS.md):
* If YES: Load structure, preserve data, rewrite for spec compliance
* If NO: Load SEO brief (.specify/seo/$ARGUMENTS-seo-brief.md) for structure
* If neither: Create logical structure based on topic
- Write content following:
* Every voice_do guideline applied
* Zero voice_dont violations
* All must_have items included
* No must_avoid patterns
- Backup existing article if rewriting:
```bash
if [ -f "articles/$ARGUMENTS.md" ]; then
cp "articles/$ARGUMENTS.md" "articles/$ARGUMENTS.backup-$(date +%Y%m%d-%H%M%S).md"
fi
```
3. **Spec Compliance Validation** (10-15 min):
- Generate validation script: /tmp/validate-voice-$$.sh
- Check voice_dont violations (jargon, passive voice, vague claims)
- Verify voice_do presence (guidelines applied)
- Validate must_have items (summary, citations, insights)
- Check must_avoid patterns (keyword stuffing, unsourced claims)
- Calculate tone metrics (sentence length, technical terms, etc.)
**Output Location**: Save final article to `articles/$ARGUMENTS.md`
**Important**:
- Constitution is LAW - no creative liberty that violates specs
- If constitution missing, warn user and use professional tone
- Always backup before overwriting existing content
- Include spec compliance notes in frontmatter
Begin copywriting now.
Expected Output
After completion, verify that articles/[topic].md exists and contains:
✅ Perfect Tone Match:
- Expert: Technical precision, industry terminology
- Pédagogique: Step-by-step, explained jargon, simple language
- Convivial: Conversational, personal pronouns, relatable
- Corporate: Professional, business value, ROI focus
✅ Voice Compliance:
- All
voice_doguidelines applied throughout - Zero
voice_dontviolations - Consistent brand voice from intro to conclusion
✅ Review Rules Met:
- All
must_haveitems present (summary, citations, insights) - No
must_avoidpatterns (keyword stuffing, vague claims) - Meets minimum quality thresholds
✅ Spec Metadata (in frontmatter):
---
tone: "pédagogique"
spec_version: "1.0.0"
constitution_applied: true
---
When to Use This Command
Use /blog-copywrite when you need to:
- ✅ Rewrite off-brand content: Fix articles that don't match voice
- ✅ Enforce consistency: Make all articles follow same spec
- ✅ Convert AI content: Transform generic AI output to branded copy
- ✅ Create spec-perfect drafts: New articles with zero voice violations
- ✅ Audit compliance: Rewrite to pass quality validation
For marketing-focused content: Use /blog-marketing instead.
Constitution Required?
With Constitution (.spec/blog.spec.json):
✅ Exact tone matching
✅ Voice guidelines enforced
✅ Review rules validated
✅ Brand-perfect output
Without Constitution:
⚠️ Generic professional tone
⚠️ No brand voice enforcement
⚠️ Basic quality only
⚠️ Recommend running /blog-setup first
Best practice: Always create constitution first:
/blog-setup
Tone Examples
Expert Tone
Distributed consensus algorithms fundamentally trade latency for
consistency guarantees. Raft's leader-based approach simplifies
implementation complexity compared to Paxos, achieving similar
safety properties while maintaining comprehensible state machine
replication semantics.
Pédagogique Tone
Think of consensus algorithms as voting systems for computers. When
multiple servers need to agree on something, they use a "leader" to
coordinate. Raft makes this simpler than older methods like Paxos,
while keeping your data safe and consistent.
Convivial Tone
Here's the thing about getting computers to agree: it's like
herding cats. Consensus algorithms are your herding dog. Raft is
the friendly retriever that gets the job done without drama,
unlike Paxos which is more like a border collie—effective but
complicated!
Corporate Tone
Organizations requiring distributed system reliability must
implement robust consensus mechanisms. Raft provides enterprise-
grade consistency with reduced operational complexity compared to
traditional Paxos implementations, optimizing both infrastructure
costs and engineering productivity.
Quality Validation
After copywriting, validate quality:
/blog-optimize "topic-name"
This will check:
- Spec compliance
- Frontmatter correctness
- Markdown quality
- SEO elements
Fix any issues and re-run /blog-copywrite if needed.
Backup and Recovery
Copywriter automatically backs up existing articles:
# List backups
ls articles/*.backup-*
# Restore from backup
cp articles/topic.backup-20250112-143022.md articles/topic.md
# Clean old backups (keep last 3)
ls -t articles/*.backup-* | tail -n +4 | xargs rm
Tips
- Constitution first: Create
.spec/blog.spec.jsonbefore copywriting - Be specific with voice: Clear
voice_do/voice_dont= better output - Test tone: Try each tone to find your brand's fit
- Iterate gradually: Start generic, refine constitution, re-copywrite
- Validate after: Always run
/blog-optimizeto check compliance
Troubleshooting
"No constitution found"
# Create constitution
/blog-setup
# Or copy example
mkdir -p .spec
cp examples/blog.spec.example.json .spec/blog.spec.json
# Then run copywriting
/blog-copywrite "topic-name"
"Tone doesn't match"
# Check constitution tone setting
cat .spec/blog.spec.json | grep '"tone"'
# Update if needed, then re-run
/blog-copywrite "topic-name"
"Voice violations"
# Review voice_dont guidelines
cat .spec/blog.spec.json | grep -A5 '"voice_dont"'
# Update guidelines if too strict
# Then re-run copywriting
Workflow Integration
Full Workflow with Copywriting
# 1. Setup (one-time)
/blog-setup
# 2. Research
/blog-research "topic"
# 3. SEO Brief
/blog-seo "topic"
# 4. Spec-Driven Copy (instead of marketing)
/blog-copywrite "topic"
# 5. Validate Quality
/blog-optimize "topic"
# 6. Publish
Rewrite Existing Content
# Fix off-brand article
/blog-copywrite "existing-topic"
# Validate compliance
/blog-optimize "existing-topic"
# Compare before/after
diff articles/existing-topic.backup-*.md articles/existing-topic.md
Ready to create spec-perfect copy? Provide the topic name and execute this command.