agentsclimarketplace

Content pipeline

Skill LazyIsEfficient/agentic-os/.claude/skills/content-pipeline

Agentic Framework for Modern Development

Install
npx -y skills add LazyIsEfficient/agentic-os --skill content-pipeline

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 13 stars13 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

Non-interactive content-production toolkit: mine quotable moments from podcast RSS feeds and meeting notes, discover clip-worthy moments in video transcripts, repurpose long-form source into platform-native drafts (X, LinkedIn, YouTube Shorts, newsletter), and batch-score/gate those drafts before publish. Use when asked to "mine quotes from this podcast", "find clips in this video", "repurpose this into a thread / LinkedIn post / Short", "turn this transcript into posts", "extract viral moments", or "gate this batch of drafts". Runs Python scripts end to end. For interactive expert-panel scoring of a single artifact see content-ops.

SKILL.md

5.9 KB, as published. Nobody here has run it

Content Pipeline

Script-driven content production: ingest raw source, repurpose it into platform-native drafts, and gate the drafts before publish. All steps are non-interactive Python; chain them or run any stage standalone.

quote-mining ─┐
              ├─► content atoms ─► content-transform ─► drafts ─► quality-scorer ─► quality-gate ─► publish
editorial-brain ┘                       │
                          (optional in-loop expert panel from content-ops)

Setup

pip install -r requirements.txt      # anthropic, feedparser
cp .env.example .env                 # set ANTHROPIC_API_KEY; configure optional feeds/voice

All scripts read/write a data directory (default ./data/, override with CONTENT_OPS_DATA_DIR). Each stage writes a *-latest.json the next stage picks up.

Stages

  1. Ingest — quote mining. Scan podcast RSS feeds + local meeting notes for quotable, contrarian, viral-worthy moments; emit scored candidates.

    python scripts/quote-mining-engine.py --days 90 --top 50 --min-score 60 \
      --feeds config/feeds.json --notes-dir ./notes/ --speaker "Name"
    

    Feeds come from --feeds <json>, QUOTE_MINING_FEEDS_FILE, or inline QUOTE_MINING_FEEDS. See config/feeds.example.json.

  2. Ingest — editorial brain. Two-pass LLM clip discovery on a video transcript: pass 1 finds candidate hook→build→payoff moments, pass 2 deep-scores each on hook/build/payoff/clean-cut (0–100). Only clips at/above --min-score (default 90) are cut. Needs ANTHROPIC_API_KEY; video cutting needs yt-dlp + ffmpeg (see requirements.txt).

    python scripts/editorial-brain.py --url "https://youtube.com/watch?v=..." --max-clips 5
    python scripts/editorial-brain.py --vtt file.vtt --video-id ID --skip-cut   # analysis only
    
  3. Transform. Repurpose long-form "content atoms" into platform-native drafts — X threads/posts, LinkedIn posts, YouTube Short scripts, newsletter sections. LLM mode is default; --template-only runs without the API. The optional in-loop expert panel (--no-expert-panel to disable) reuses content-ops's experts/ and scoring-rubrics/content-quality.md — see Cross-skill dependency below.

    python scripts/content-transform.py --atoms atoms.json --top-n 10
    python scripts/content-transform.py --atoms atoms.json --template-only
    
  4. Score (batch, heuristic). Score a batch of drafts on five dimensions — voice similarity, specificity, AI-slop penalty, length appropriateness, engagement potential — and emit pass/fail per draft. No LLM; purely heuristic and fast. Default threshold 60; tune weights via --init-weights then edit data/quality-scorer-weights.json.

    python scripts/content-quality-scorer.py --input drafts.json --verbose
    python scripts/content-quality-scorer.py --threshold 75 --input drafts.json
    
  5. Gate (publish filter). CI-style gate that runs the scorer and filters drafts below threshold; nothing publishes without passing. --conservative passes everything but annotates quality flags instead of dropping.

    python scripts/content-quality-gate.py --input drafts.json --threshold 75
    

Input formats

Content atoms (transform input):

{ "atoms": [ { "id": "atom-001", "content": "Long-form source…", "tags": ["AI"], "platforms_missing": ["x","linkedin"], "repurpose_score": 8 } ] }

Drafts (scorer/gate input):

{ "drafts": [ { "id": "draft-001", "platform": "x", "draft": "Content text…" } ] }

Cross-skill dependency

content-transform.py's optional in-loop expert panel does not duplicate the rubric — it reads the sibling content-ops skill's experts/ panels and scoring-rubrics/content-quality.md. The path resolves to ../content-ops/ by default; override with CONTENT_OPS_SKILL_DIR if the skills live elsewhere. content-ops remains the single source of truth for panel definitions.

Related skills

  • content-ops — interactive expert-panel scorer; the canonical quality gate for a single artifact, and the source of the panels this pipeline reuses in content-transform
  • autoresearch — pre-launch variant generation + multi-round optimization for conversion copy

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.