Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion CLAUDE-soul-template.md
Original file line number Diff line number Diff line change
Expand Up @@ -248,7 +248,7 @@ Deterministic voice validation using Python scripts + AI generation.
|-----------|------|---------|
| `voice_analyzer.py` | Script | Extract metrics from writing samples |
| `voice_validator.py` | Script | Validate content against voice profiles |
| `voice-orchestrator` | Skill | Multi-step voice generation with validation |
| `voice-writer` | Skill | Unified voice content generation with validation |
| `voice-{name}` | Skill | Apply specific voice patterns |

### Validation Commands
Expand Down
2 changes: 1 addition & 1 deletion agents/INDEX.json
Original file line number Diff line number Diff line change
Expand Up @@ -1135,7 +1135,7 @@
"technical journalism"
],
"pairs_with": [
"voice-orchestrator"
"voice-writer"
],
"complexity": "Comprehensive",
"category": "content"
Expand Down
2 changes: 1 addition & 1 deletion agents/pipeline-orchestrator-engineer.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ description: |
<example>
Context: User needs a content publishing workflow.
user: "Build a pipeline for blog post publishing with voice validation"
assistant: "I'll discover existing voice and publishing components, then scaffold only the missing pieces — avoiding duplication of voice-validator and blog-post-writer."
assistant: "I'll discover existing voice and publishing components, then scaffold only the missing pieces — avoiding duplication of voice-validator and voice-writer."
<commentary>
The orchestrator uses codebase-analyzer to detect existing components before
scaffolding, preventing duplication and encouraging reuse.
Expand Down
6 changes: 3 additions & 3 deletions agents/technical-journalist-writer.md
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ routing:
- technical writer
- technical journalism
pairs_with:
- voice-orchestrator
- voice-writer
complexity: Comprehensive
category: content
allowed-tools:
Expand Down Expand Up @@ -87,7 +87,7 @@ You have deep expertise in:

| Skill | When to Invoke |
|-------|---------------|
| `voice-orchestrator` | Multi-step voice content generation with deterministic validation. Orchestrates a 7-phase pipeline: LOAD, GROUND, GEN... |
| `voice-writer` | Unified voice content generation pipeline with mandatory validation and joy-check. |

**Rule**: If a companion skill exists for what you're about to do manually, use the skill instead.

Expand Down Expand Up @@ -386,7 +386,7 @@ STOP and ask the user when:
## References

This agent pairs well with:
- **voice-orchestrator**: Multi-step voice content generation
- **voice-writer**: Unified voice content generation pipeline
- **technical-documentation-engineer**: For technical accuracy validation

See [voice-patterns.md](references/voice-patterns.md) for complete voice analysis with extensive examples.
2 changes: 1 addition & 1 deletion docs/REFERENCE.md
Original file line number Diff line number Diff line change
Expand Up @@ -185,7 +185,7 @@ Loaded automatically or via `Skill("name")`.
### Voice System
| Skill | Purpose |
|-------|---------|
| `voice-orchestrator` | Multi-step voice generation with validation |
| `voice-writer` | Unified voice content generation with validation |
| `voice-calibrator` | Create voice profiles from samples |
| `anti-ai-editor` | Remove AI-sounding patterns |

Expand Down
7 changes: 4 additions & 3 deletions docs/VOICE-SYSTEM.md
Original file line number Diff line number Diff line change
Expand Up @@ -144,8 +144,7 @@ python3 scripts/voice_validator.py validate --content draft.md --voice your-voic
### Step 4: Integration

Once calibrated, the voice is available to:
- `blog-post-writer`:generates posts in your voice
- `voice-orchestrator`:multi-step content generation with validation
- `voice-writer`:unified 8-phase pipeline for blog posts and articles with mandatory validation (replaces deprecated `blog-post-writer` and `voice-orchestrator`)
- `anti-ai-editor`:reviews content for AI tells relative to your voice
- `article-evaluation-pipeline`:evaluates articles for voice fidelity

Expand All @@ -163,9 +162,11 @@ scripts/
skills/
create-voice/ # Interactive voice creation (7 phases)
voice-calibrator/ # Advanced calibration and refinement
voice-orchestrator/ # Multi-step content generation pipeline
voice-validator/ # Validation methodology
anti-ai-editor/ # AI tell detection and removal

pipelines/
voice-writer/ # Unified 8-phase content generation pipeline (replaces voice-orchestrator and blog-post-writer)
```

---
Expand Down
4 changes: 2 additions & 2 deletions docs/for-ai-wizards.md
Original file line number Diff line number Diff line change
Expand Up @@ -113,7 +113,7 @@ allowed-tools:
- Skill
routing:
triggers: [research then write, article with research]
pairs_with: [voice-orchestrator]
pairs_with: [voice-writer]
complexity: complex
category: content-pipeline
---
Expand Down Expand Up @@ -272,7 +272,7 @@ PHASE 6: REFINE -> Fix validation errors (max 3 iterations)
PHASE 7: OUTPUT -> Final content with validation report
```

`research-to-article` uses all seven. It launches 5 parallel research agents in GATHER (primary domain, narrative arcs, external context, community reaction, business context), compiles findings with story arc emphasis in COMPILE, selects voice mode in GROUND, generates via voice-orchestrator in GENERATE, validates with `voice_validator.py` in VALIDATE, iterates in REFINE, and outputs with a validation report.
`research-to-article` uses all seven. It launches 5 parallel research agents in GATHER (primary domain, narrative arcs, external context, community reaction, business context), compiles findings with story arc emphasis in COMPILE, selects voice mode in GROUND, generates via voice-writer in GENERATE, validates with `voice_validator.py` in VALIDATE, iterates in REFINE, and outputs with a validation report.

`parallel-code-review` uses a compressed version: IDENTIFY SCOPE -> DISPATCH (3 reviewers in parallel) -> AGGREGATE -> VERDICT. The fan-out/fan-in pattern -- dispatch independent subagents, collect results, merge by severity.

Expand Down
4 changes: 2 additions & 2 deletions docs/for-claude-code.md
Original file line number Diff line number Diff line change
Expand Up @@ -358,7 +358,7 @@ These are mandatory. When triggers match, the skill fires before any other routi
| `go-sapcc-conventions` | sapcc, sap-cloud-infrastructure, go-bits, keppel, go-api-declarations |
| `python-quality-gate` | bandit, Python security scan, Python SAST |
| `create-voice` | create voice, new voice, build voice, voice from samples, calibrate voice |
| `voice-orchestrator` | write in voice, generate voice content, voice workflow |
| `voice-writer` | write article, blog post, write in voice, generate voice content |
| `feature-design` | design feature, feature design, think through feature |
| `feature-plan` | plan feature, feature plan, break down design |
| `feature-implement` | implement feature, execute plan, start building |
Expand Down Expand Up @@ -387,7 +387,7 @@ Pipeline skills have explicit phases with gates between them.
| `explore-pipeline` | SCAN -> MAP -> ANALYZE -> REPORT |
| `research-to-article` | RESEARCH -> COMPILE -> GROUND -> GENERATE -> VALIDATE -> REFINE -> OUTPUT |
| `pr-pipeline` | CLASSIFY -> STAGE -> REVIEW -> COMMIT -> PUSH -> CREATE -> VERIFY -> CLEANUP |
| `voice-orchestrator` | LOAD -> GROUND -> GENERATE -> VALIDATE -> REFINE -> OUTPUT -> CLEANUP |
| `voice-writer` | LOAD -> GROUND -> GENERATE -> VALIDATE -> REFINE -> JOY-CHECK -> OUTPUT -> CLEANUP |
| `github-profile-rules` | PROFILE-SCAN -> CODE-ANALYSIS -> REVIEW-MINING -> PATTERN-SYNTHESIS -> RULES-GENERATION -> VALIDATION -> OUTPUT |
| `doc-pipeline` | RESEARCH -> OUTLINE -> GENERATE -> VERIFY -> OUTPUT |
| `workflow-orchestrator` | BRAINSTORM -> WRITE-PLAN -> EXECUTE-PLAN |
Expand Down
2 changes: 1 addition & 1 deletion docs/for-knowledge-workers.md
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ Say you want to write a blog post. Here's what happens when you type:
/do write a blog post about debugging production incidents
```

The router dispatches to the blog-post-writer skill, which runs a 4-phase workflow: Assess the topic, Decide on structure, Draft the content, Preview before saving. It picks a structure template, enforces banned-word lists (no "delve" or "leverage" slipping through), and writes the final post in Hugo-compatible format with proper frontmatter.
The router dispatches to the voice-writer skill, which runs a multi-phase workflow: Assess the topic, Decide on structure, Draft the content, Preview before saving. It picks a structure template, enforces banned-word lists (no "delve" or "leverage" slipping through), and writes the final post in Hugo-compatible format with proper frontmatter.

Want research baked in? Say so:

Expand Down
18 changes: 14 additions & 4 deletions pipelines/INDEX.json
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@
"REPORT"
],
"pairs_with": [
"voice-orchestrator"
"voice-writer"
]
},
"auto-pipeline": {
Expand Down Expand Up @@ -607,7 +607,7 @@
"OUTPUT"
],
"pairs_with": [
"voice-orchestrator"
"voice-writer"
]
},
"skill-creation-pipeline": {
Expand Down Expand Up @@ -800,7 +800,7 @@
"user_invocable": false,
"version": "2.0.0",
"pairs_with": [
"voice-orchestrator",
"voice-writer",
"voice-validator"
]
},
Expand All @@ -817,7 +817,17 @@
"write about",
"write post",
"blog about",
"create content"
"create content",
"write blog",
"article about",
"publish post",
"content for blog",
"hugo post",
"write for website",
"long-form content",
"write piece",
"write essay",
"ghost write"
],
"category": "content",
"force_route": true,
Expand Down
4 changes: 2 additions & 2 deletions pipelines/article-evaluation-pipeline/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ routing:
- article evaluation
- check my voice
pairs_with:
- voice-orchestrator
- voice-writer
complexity: medium
category: content
---
Expand All @@ -54,7 +54,7 @@ This skill evaluates articles for voice authenticity through a deterministic 4-p
- Fix suggestions: Generate revision items for NEEDS WORK/FAILED verdicts (`--suggest-fixes`)
- Force voice: Override auto-detection with explicit profile (`--voice {name}`)

**Scope boundaries**: This skill evaluates existing articles only. Do not use for writing (use voice-orchestrator), editing (use anti-ai-editor), or creating voice profiles (use voice-calibrator).
**Scope boundaries**: This skill evaluates existing articles only. Do not use for writing (use voice-writer), editing (use anti-ai-editor), or creating voice profiles (use voice-calibrator).

---

Expand Down
6 changes: 3 additions & 3 deletions pipelines/research-to-article/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ routing:
- full article pipeline
- comprehensive article
pairs_with:
- voice-orchestrator
- voice-writer
complexity: complex
category: content
---
Expand Down Expand Up @@ -281,7 +281,7 @@ Cause: Requested voice skill does not exist or has wrong path
Solution:
1. List available voice skills with `ls skills/voice-*/SKILL.md`
2. Verify skill name matches exactly (e.g., `voice-yourname` not `voice-your`)
3. Fall back to `voice-orchestrator` which handles voice selection internally
3. Fall back to `voice-writer` which handles voice selection internally

### Error: "Research Document Missing Story Arc"
Cause: Agents returned facts without narrative structure
Expand All @@ -303,6 +303,6 @@ Solution:

| Skill | Integration |
|-------|-------------|
| `voice-orchestrator` | Used for Phase 4 voice generation |
| `voice-writer` | Used for Phase 4 voice generation |
| `voice-{name}` | Loaded for target voice content |
| `wordpress-uploader` | Upload final article (post-pipeline) |
2 changes: 1 addition & 1 deletion pipelines/voice-calibrator/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ routing:
- voice analysis
- voice refine
pairs_with:
- voice-orchestrator
- voice-writer
- voice-validator
complexity: Medium
category: content
Expand Down
10 changes: 10 additions & 0 deletions pipelines/voice-writer/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,16 @@ routing:
- write post
- blog about
- create content
- write blog
- article about
- publish post
- content for blog
- hugo post
- write for website
- long-form content
- write piece
- write essay
- ghost write
pairs_with:
- create-voice
- voice-calibrator
Expand Down
22 changes: 10 additions & 12 deletions skills/INDEX.json
Original file line number Diff line number Diff line change
Expand Up @@ -77,12 +77,12 @@
"blog-post-writer": {
"file": "skills/blog-post-writer/SKILL.md",
"description": "Voice-integrated blog post creation with 4-phase workflow: Assess, Decide, Draft, Preview.",
"triggers": [
"write blog post"
],
"triggers": [],
"category": "content-creation",
"user_invocable": false,
"version": "2.0.0"
"version": "2.0.0",
"deprecated": true,
"deprecated_by": "voice-writer"
},
"bluesky-reader": {
"file": "skills/bluesky-reader/SKILL.md",
Expand Down Expand Up @@ -246,7 +246,7 @@
"version": "1.0.0",
"pairs_with": [
"voice-calibrator",
"voice-orchestrator"
"voice-writer"
]
},
"cron-job-auditor": {
Expand Down Expand Up @@ -2100,14 +2100,12 @@
"voice-orchestrator": {
"file": "skills/voice-orchestrator/SKILL.md",
"description": "Multi-step voice content generation with deterministic validation.",
"triggers": [
"voice generation",
"multi-step voice",
"voice pipeline"
],
"triggers": [],
"category": "voice",
"user_invocable": false,
"version": "2.0.0"
"version": "2.0.0",
"deprecated": true,
"deprecated_by": "voice-writer"
},
"voice-validator": {
"file": "skills/voice-validator/SKILL.md",
Expand Down Expand Up @@ -2174,7 +2172,7 @@
"user_invocable": false,
"version": "2.0.0",
"pairs_with": [
"blog-post-writer",
"voice-writer",
"anti-ai-editor"
]
},
Expand Down
4 changes: 2 additions & 2 deletions skills/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -170,11 +170,11 @@ Skills are invoked via `/do [request]` (routed automatically) or directly as `/s

| Skill | Invocable | Description |
|-------|-----------|-------------|
| `voice-orchestrator` | no | 7-phase voice content pipeline: LOAD, GROUND, GENERATE, VALIDATE, REFINE, OUTPUT, CLEANUP |
| `voice-orchestrator` (deprecated) | no | 7-phase voice content pipeline: LOAD, GROUND, GENERATE, VALIDATE, REFINE, OUTPUT, CLEANUP. Replaced by `voice-writer`. |
| `voice-validator` | no | Critique-and-rewrite enforcement loop for voice fidelity |
| `create-voice` | no | Create a new voice profile from writing samples (7-phase pipeline) |
| `anti-ai-editor` | no | Review and revise content to remove AI-sounding patterns |
| `blog-post-writer` | no | Voice-integrated blog post creation with 4-phase workflow |
| `blog-post-writer` (deprecated) | no | Voice-integrated blog post creation with 4-phase workflow. Replaced by `voice-writer`. |
| `post-outliner` | no | Create structural blueprints for blog posts before writing |
| `topic-brainstormer` | no | Generate blog post topic ideas through problem mining and gap analysis |
| `series-planner` | no | Plan multi-part content series with structure and publishing cadence |
Expand Down
10 changes: 8 additions & 2 deletions skills/blog-post-writer/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,8 @@ description: |
or "write about [topic]". Do NOT use for editing existing posts, voice
profile creation, SEO optimization, or social media content.
version: 2.0.0
deprecated: true
deprecated_by: voice-writer
user-invocable: false
allowed-tools:
- Read
Expand All @@ -19,8 +21,7 @@ allowed-tools:
- Task
- Skill
routing:
triggers:
- "write blog post"
triggers: []
category: content-creation
---

Expand All @@ -30,6 +31,11 @@ Voice-integrated blog post creation using a 4-phase pipeline: Assess, Decide, Dr

## Instructions

> **DEPRECATED**: This skill is deprecated in favor of `voice-writer` (ADR-068).
> Use `/voice-writer` for all blog post and article generation. The voice-writer
> pipeline includes mandatory de-ai scanning, joy-check validation, and voice
> metric verification that this skill lacks.

### Phase 1: ASSESS

**Goal**: Understand the topic, select voice, and classify content type before writing.
Expand Down
6 changes: 3 additions & 3 deletions skills/create-voice/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ description: |
building a voice profile from scratch. Use for "create voice",
"new voice", "build voice", "voice from samples", "calibrate voice".
Route to other skills for generating content in an existing voice (use
voice-orchestrator), editing content (use anti-ai-editor), or
voice-writer), editing content (use anti-ai-editor), or
comparing voices (use voice-calibrator compare mode).
version: 1.0.0
user-invocable: false
Expand All @@ -35,7 +35,7 @@ routing:
- make a voice
pairs_with:
- voice-calibrator
- voice-orchestrator
- voice-writer
complexity: Medium
category: content
---
Expand Down Expand Up @@ -193,7 +193,7 @@ Phase 4/7: RULE

**Goal**: Generate the complete voice skill files following the voice-calibrator template.

keep modifications out of scope — voice_analyzer.py, voice_validator.py, banned-patterns.json, voice-calibrator, voice-orchestrator, or any existing skill/script, because the existing tools work. This skill only creates new files in `skills/voice-{name}/`.
keep modifications out of scope — voice_analyzer.py, voice_validator.py, banned-patterns.json, voice-calibrator, voice-writer, or any existing skill/script, because the existing tools work. This skill only creates new files in `skills/voice-{name}/`.

Before generating, show users any existing voice implementation in `skills/voice-*/` as a concrete example of "done", because reference implementations ground expectations.

Expand Down
Loading
Loading