Source Code
Content Pipeline Skill
Safe content automation with human-in-the-loop approval. Draft โ Review โ Approve โ Post.
Setup
npm install -g agent-content-pipeline
content init . # Creates folders + global config (in current directory)
For cryptographic approval signatures (password-protected):
content init . --secure
This creates:
drafts/โ work in progress (one post per file)reviewed/โ human reviewed, awaiting your revisionrevised/โ you revised, ready for another lookapproved/โ human-approved, ready to postposted/โ archive after postingtemplates/โ review and customize before use.content-pipeline/threads/โ feedback thread logs (not posted)
Your Permissions
โ Can do:
- Write to
drafts/ - Read all content directories
- Revise drafts based on feedback
- Move revised files to
revised/ - Run
content listto see pending content
โ Cannot do:
- Move files to
approved/(only the human can approve) - Post content
- Set
status: approved
Creating Content
One post per file. Each suggestion or draft should be a single post, not a collection.
File naming: YYYY-MM-DD-<platform>-<slug>.md
Use frontmatter:
---
platform: linkedin # linkedin | x | reddit (experimental)
title: Optional Title
status: draft
subreddit: programming # Required for Reddit
---
Your content here.
Tell the human: "Draft ready for review: content review <filename>"
The Review Loop
drafts/ โ reviewed/ โ revised/ โ approved/ โ posted/
โ โ
โโโโโโโโโโโโ
more feedback
- You write draft to
drafts/ - Human runs
content review <file>:- With feedback โ file moves to
reviewed/, you get notified - No feedback โ human is asked "Approve?" โ moves to
approved/
- With feedback โ file moves to
- If feedback: you revise and move to
revised/ - Human reviews from
revised/:- More feedback โ back to
reviewed/ - Approve โ moves to
approved/
- More feedback โ back to
- Posting happens manually via
content post
After Receiving Feedback
When you get review feedback:
- Read the file from
reviewed/ - Apply the feedback
- Move the file to
revised/ - Confirm what you changed
- (Optional) Add a note:
content thread <file> --from agent
Platform Guidelines
- Professional but human
- Idiomatic language (Dutch for NL audiences, don't be stiff)
- 1-3 paragraphs ideal
- End with question or CTA
- 3-5 hashtags at end
X (Twitter)
- 280 chars per tweet (unless paid account)
- Punchy, direct
- 1-2 hashtags max
- Use threads sparingly
- If Firefox auth fails, you can paste
auth_tokenandct0manually
Manual cookie steps:
- Open x.com and log in
- Open DevTools โ Application/Storage โ Cookies โ https://x.com
- Copy
auth_tokenandct0
Reddit (experimental)
- Treat as experimental; API and subreddit rules can change
- Requires
subreddit:in frontmatter - Title comes from frontmatter
title:(or first line if missing) - Match each subreddit's rules and tone
Commands Reference
content list # Show drafts and approved
content review <file> # Review: feedback OR approve
content mv <dest> <file> # Move file to drafts/reviewed/revised/approved/posted
content edit <file> # Open in editor ($EDITOR or code)
content post <file> # Post (prompts for confirmation)
content post <file> --dry-run # Preview without posting
content thread <file> # Add a note to the feedback thread
Security Model
The security model separates drafting (AI) from approval/posting (human):
- โ Agent drafts content
- โ Agent revises based on feedback
- โ Agent cannot approve (human approves via
content review) - โ Agent cannot post
Posting is handled manually via CLI โ never by the agent directly.
Platform-specific security
| Platform | Auth Storage | Encrypted? | Password Required? |
|---|---|---|---|
| Browser profile | โ Yes | โ Yes | |
| X/Twitter | Firefox tokens | โ Yes | โ Yes |
Both platforms require password to post. Tokens are extracted from Firefox and encrypted locally.