4-stage content pipeline orchestrator: Research -> Ideate -> Write -> Queue. Give it a topic, it researches existing discussions, generates hook angles, writ...
One command, from topic to review-ready draft. Research -> Ideate -> Write -> Queue
Use pipeline (original content that needs research):
Don't use pipeline (already have material):
Configure these paths for your project:
| File | Purpose |
|---|---|
./content-queue.json | Idea lifecycle state |
./research/ | Research results (by date + slug) |
Parse user input, match first hit:
| Input | Command | Action |
|---|---|---|
/pipeline <topic> | run | Full pipeline: research -> ideate -> write -> queue |
/pipeline url <url> | url | Extract from URL -> ideate -> write -> queue |
/pipeline seed <idea> | seed | Add raw idea to queue as seed |
/pipeline status | status | Show queue grouped by status |
/pipeline review <id> | review | Show a draft for review |
/pipeline approve <id> | approve | Mark as approved |
/pipeline adapt <id> <platform> | adapt | Generate platform variant |
/pipeline publish <id> | publish | Mark as published + timestamp |
/pipeline clean | clean | Archive items published 30+ days ago |
File: ./content-queue.json
{
"ideas": [
{
"id": 1,
"topic": "AI Agent end-to-end automation",
"status": "drafted",
"platform": "twitter",
"created": "2026-03-03T15:00:00Z",
"updated": "2026-03-03T15:05:00Z",
"research_file": "research/20260303-ai-agent-automation.md",
"hook_angle": "Builder perspective: Writing is easy, Research is the bottleneck",
"draft": "This person built a full...",
"variants": {},
"source_url": null,
"feedback": [],
"published": null
}
],
"next_id": 2
}
Status flow: seed -> researched -> drafted -> approved -> published -> archived
./content-queue.jsonnext_id, increment after writeInput: topic (keywords or short phrase)
./research/YYYYMMDD-{slug}.md
slug = topic keywords, lowercase with hyphens, max 30 charsResearch file format:
# Research: {topic}
**Date**: YYYY-MM-DD
**Sources**: [list search methods used]
## Key findings
- [Finding 1 + source attribution]
- [Finding 2 + data/numbers]
- [Finding 3 + opposing viewpoint]
## Notable posts/articles
1. @user1 (N likes): "Core point summary"
2. @user2 (N likes): "Core point summary"
## Data points
- [Specific numbers, comparisons, statistics]
## Opposing viewpoints
- [Contrarian takes, if any]
## Source links
- [List of original URLs]
Angle generation prompt (adapt for your LLM of choice):
You are a content strategist. Based on the following research, generate 3 hook angles for a post.
Research:
{research file content}
Requirements:
1. Each angle includes:
- Hook type (contrast / counterintuitive / data-driven / story / question)
- Core thesis (one sentence)
- Key supporting points (2-3)
- Estimated virality score (1-5)
2. Match the creator's voice and domain expertise
3. Avoid: AI cliches, marketing speak, listicle format
Output as JSON array:
[{"type": "contrast", "thesis": "...", "supports": ["...", "..."], "score": 4}, ...]
2000 chars -> article
status: "drafted"platform: target platformresearch_file: relative pathhook_angle: selected angle descriptiondraft: written textPipeline complete -- queued #<id>
Topic: <topic>
Hook: <angle summary>
Draft: <first 80 chars>...
Format: short / long / article
Use /pipeline review <id> to see full content
source_url in the entrystatus: "seed"topic: the idea textdraft: null (seeds have no draft yet)Seed added to queue #<id>Seeds are raw ideas waiting to be developed. Run /pipeline <topic> later to expand a seed through the full pipeline.
Read content-queue.json, output grouped by status:
Content Pipeline Status
Seed (N):
#3 "Multi-agent orchestration" -- 3/3 15:00
Drafted (N):
#1 "AI Agent automation" -- 3/3 15:05
#2 "Market arbitrage math" -- 3/3 16:20
Approved (N):
#5 "MCP practical experience" -- 3/2 20:00
Published (N):
#4 "Three-layer scraping approach" -- 3/1
Total: N items | Pending: seed(N) + drafted(N)
Show only non-archived items. If over 20 items, show most recent 20 + total count.
Review #<id>
Topic: <topic>
Status: <status>
Hook: <hook_angle>
Created: <created>
--- Draft ---
<full draft text>
--- Variants ---
[list any platform variants]
--- Research ---
File: <research_file>
[first 5 key findings if research file exists]
Actions:
/pipeline approve <id> -- approve for publishing
/pipeline adapt <id> <platform> -- generate platform variant
updated timestamp#<id> approved -- ready to publishAdapt the draft for a different platform:
variants.<platform> field<platform> variant generated -- /pipeline review <id> to seepublished timestamp#<id> marked as publishedpublished entriesArchived N old entriesZIP package — ready to use