v0.2.3

Agent Content Pipeline

larsderidder larsderidder ← All skills

Safe content workflow (drafts/reviewed/revised/approved/posted) with human-in-the-loop approval, plus CLI to list/move/review and post to LinkedIn/X. Use when setting up a content pipeline, drafting content, managing review threads, or posting approved content.

Downloads
1.2k
Stars
2
Versions
1
Updated
2026-02-24

Install

npx clawhub@latest install agent-content-pipeline

Documentation

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.

Launch an agent with Agent Content Pipeline on Termo.