โ† Back to Data & Analytics
Data & Analytics by @larsderidder

agent-content-pipeline

Safe content workflow

0
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 revision
  • revised/ โ€” you revised, ready for another look
  • approved/ โ€” human-approved, ready to post
  • posted/ โ€” archive after posting
  • templates/ โ€” 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 list to 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
  1. You write draft to drafts/
  2. Human runs content review <file>:
    • With feedback โ†’ file moves to reviewed/, you get notified
    • No feedback โ†’ human is asked "Approve?" โ†’ moves to approved/
  3. If feedback: you revise and move to revised/
  4. Human reviews from revised/:
    • More feedback โ†’ back to reviewed/
    • Approve โ†’ moves to approved/
  5. Posting happens manually via content post

After Receiving Feedback

When you get review feedback:

  1. Read the file from reviewed/
  2. Apply the feedback
  3. Move the file to revised/
  4. Confirm what you changed
  5. (Optional) Add a note: content thread <file> --from agent

Platform Guidelines

LinkedIn

  • 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_token and ct0 manually

Manual cookie steps:

  1. Open x.com and log in
  2. Open DevTools โ†’ Application/Storage โ†’ Cookies โ†’ https://x.com
  3. Copy auth_token and ct0

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?
LinkedIn Browser profile โœ… Yes โœ… Yes
X/Twitter Firefox tokens โœ… Yes โœ… Yes

Both platforms require password to post. Tokens are extracted from Firefox and encrypted locally.