Content: Brief to Published Piece

Workflow

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.

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

  1. 1 draft Sequential content:article

    Research and write a complete, source-backed article to a file in the current directory for this brief: <brief> {{input}} </brief>

  2. 2 polish Loop max 3×
    • editor content:editor continue

      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 fresh

      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.
"""