Content: Brief to Published Piece
WorkflowTurns a brief into a researched, publish-ready article in the current directory, refined by an edit/audit loop until it passes. Chain the promote workflow for social adaptation.
Usage
echo "<your request>" | octomind workflow content Reads your request from stdin. Add --dry-run to validate and print the plan without
running any steps.
Pipeline
-
Research and write a complete, source-backed article to a file in the current directory for this brief: <brief> {{input}} </brief>
- 2 polish Loop
- editor content:editor
Improve the article in the current directory for this brief. Apply surgical fixes, preserve voice, and humanize any AI-sounding text. (On later rounds you receive the auditor's findings — address every one, criticals fi…
- audit content:audit
Audit the article in the current directory against this brief. Score these axes, classifying every finding minor / major / critical: - Factual accuracy + every claim/stat carries a citation (CRITICAL axis) - Brief-fit: …
Definition
# Title: Content: Brief to Published Piece
#
# Public workflow: turn a brief into a researched draft, then refine it through
# an audit ⇄ edit quality loop until it passes. Operates on the current
# directory (roles read/write the piece on disk). Public roles only.
#
# Scope: long-form finalization — articles, blog posts, and long-form pieces
# for any venue the brief names. Social promotion is a different intent
# (adapting an existing, trusted piece per network) and lives in the
# `promote` workflow; chain them: `content` produces the article on disk,
# then feed it to `promote`.
#
# Note: chains several specialist runs — token/time-heavy by design.
name = "content"
description = "Turns a brief into a researched, publish-ready article in the current directory, refined by an edit/audit loop until it passes. Chain the promote workflow for social adaptation."
# ── 1. Draft ─────────────────────────────────────────────────────────────────
[[steps]]
name = "draft"
role = "content:article"
session = "fresh"
prompt = """
Research and write a complete, source-backed article to a file in the current
directory for this brief:
<brief>
{{input}}
</brief>
"""
# ── 2. Audit ⇄ edit quality loop ─────────────────────────────────────────────
[[steps]]
name = "polish"
loop = true
max_iterations = 3
exit_when = { output = "audit", matches = '(?m)^AUDIT-PASS' }
[[steps.run]]
name = "editor"
role = "content:editor"
session = "continue"
prompt = """
Improve the article in the current directory for this brief. Apply surgical fixes,
preserve voice, and humanize any AI-sounding text. (On later rounds you receive
the auditor's findings — address every one, criticals first.)
<brief>
{{input}}
</brief>
"""
[[steps.run]]
name = "audit"
role = "content:audit"
session = "fresh"
prompt = """
Audit the article in the current directory against this brief. Score these axes,
classifying every finding minor / major / critical:
- Factual accuracy + every claim/stat carries a citation (CRITICAL axis)
- Brief-fit: intent, primary keyword, target audience, word count
- Expertise / authoritativeness / first-hand Experience signals (E-E-A-T)
- Originality and humanized voice (not AI-sounding)
- Mechanics: grammar, structure, links
Any single CRITICAL finding (factual error, unsupported claim) means the piece
does not pass — withhold the pass token and list the prioritized fixes instead.
<brief>
{{input}}
</brief>
End with exactly one line: AUDIT-PASS (every axis clears the bar, no critical
findings) or AUDIT-FAIL (anything outstanding). Nothing after it.
"""