La interfaz está localizada; las descripciones y documentos de las Skills se traducen automáticamente con IA a su idioma. El código, los comandos, rutas y términos técnicos se mantienen en el original, y prevalece el documento del autor.
Explorar Skills
Datos e investigación · SKILL.md

content-pipeline

content-pipeline

Full-autopilot trend discovery, deep research, and social publishing pipeline. Uses trend-pulse (20 sources), cf-browser (headless Chrome), and notebooklm (research + artifacts) MCP servers. Generates algorithm-optimized content based on Meta's 7 patent-based ranking algorithms. Use when user mentions trending topics, content creation, social media publishi…

Independent GitHub snapshot · Automated classification · Original documentation governs

Documentación de la Skill

GitHub

name: content-pipeline description: Full-autopilot trend discovery, deep research, and social publishing pipeline. Uses trend-pulse (20 sources), cf-browser (headless Chrome), and notebooklm (research + artifacts) MCP servers. Generates algorithm-optimized content based on Meta's 7 patent-based ranking algorithms. Use when user mentions trending topics, content creation, social media publishing, trend analysis, research pipeline, viral content, content scoring, or Threads posting. user_invocable: true

Content Pipeline

AI-powered content pipeline: trend discovery -> deep research -> algorithm-optimized writing -> social publishing.

MCP Servers Required

Install via uvx (one-time, auto-cached):

uvx --from 'trend-pulse[mcp]' trend-pulse-server
uvx --from cf-browser-mcp cf-browser-mcp
uvx --from notebooklm-skill notebooklm-mcp

MCP Tools Reference

trend-pulse (12 tools)

Trend Data:

  • get_trending(sources, geo, count): Query ALL 20 free sources. sources="" for all. geo: "TW"/"US"/"JP"/"". count: 20.
    • Sources: google_trends, hackernews, mastodon, bluesky, wikipedia, github, pypi, google_news, lobsters, devto, npm, reddit, coingecko, dockerhub, stackoverflow, producthunt, arxiv, lemmy, dcard, ptt
  • search_trends(query, sources, geo): Cross-source keyword search.
  • list_sources(): List all sources.
  • take_snapshot(sources, geo, count): Save snapshot for velocity tracking.
  • get_trend_history(keyword, days, source): Historical data with direction.

Content Guide:

  • get_content_brief(topic): Writing brief with hook examples, patent strategies, CTA.
  • get_scoring_guide(): 5-dimension patent scoring. Score >= 70 required.
  • get_platform_specs(platform): Platform specs (char limits, algorithm signals, posting times).
  • get_review_checklist(): Quality review checklist (7 checks).
  • get_reel_guide(): Reels script guide (3 styles).

Search:

  • search_threads_posts(query): Search Threads posts by heat score.

cf-browser (10 tools)

Headless Chrome via Cloudflare Browser Rendering. Use instead of WebFetch for JS-rendered pages.

  • browser_markdown(url): Clean Markdown. Most used for deep research.
  • browser_content(url): Full rendered HTML.
  • browser_screenshot(url): Full page screenshot (PNG).
  • browser_pdf(url): Generate PDF.
  • browser_scrape(url, selector): CSS selector extraction.
  • browser_json(url, schema): AI-driven structured data extraction.
  • browser_links(url): Extract all hyperlinks.
  • browser_a11y(url): Accessibility tree (low token cost).
  • browser_crawl(url): Async multi-page crawl.
  • browser_crawl_status(id): Check crawl progress.

notebooklm (13 tools)

Deep research + 9 downloadable artifact types (podcast, slides, report, quiz, flashcards, mindmap, datasheet, study_guide). ⚠️ infographic download is unreliable — use slides instead.

Management: create_notebook, list_notebooks, delete_notebook Research: add_source, ask, summarize, list_sources, research(mode="fast"|"thorough") Artifacts: generate_artifact(type, lang?), download_artifact(type, output_path) Pipelines: research_pipeline(sources, questions, output_format), trend_research(geo?, count?, platform?)

Video Synthesis (slides + podcast -> MP4):

  1. Generate slides (PDF) + audio (podcast M4A) — sequentially
  2. Download both
  3. pdftoppm -png -r 300 slides.pdf slides_page
  4. ffmpeg -framerate 1/$per_slide -pattern_type glob -i 'slides_page-*.png' -i audio.mp3 -c:v libx264 -pix_fmt yuv420p -c:a aac -shortest output.mp4

Visual Content Generation

Use NotebookLM to generate all visual content. It produces professional-quality slides and mind maps — far better than any alternative.

⛔ 嚴格禁止:不得使用 Pillow/PIL、ImageMagick、Python 程式碼或 HTML+Playwright 生成圖卡。 所有圖卡一律透過 NotebookLM nlm_generate(type="slides") 生成。

⚠️ Do NOT use infographic (download unreliable). Use slides for all visual content. ⚠️ NLM slides 多頁時 → 必須全部上傳 → 用 carousel_urls 發文(不要只發一張)。

Image Cards & Slides (圖卡 / 簡報)

Workflow: Create a NotebookLM notebook with the content as a text source, then generate the visual artifact.

1. create_notebook(title="Post Visual", text_sources=["<post content + key data points>"])
2. generate_artifact(name_or_id, "slides", lang="zh-TW")   → PDF slides (best for cards)
3. download_artifact(name_or_id, "slides", "downloads/card.pdf")

Choose artifact type by use case:

NeedArtifact TypeOutput
Single image cardslides (1 slide)PDF → export as image
Multi-slide carouselslides (N slides)PDF → split per page
Data visualizationslidesinfographic ⚠️ download unreliable — use slides
Topic overviewmindmapMind map diagram
Detailed reportreportFormatted document
Study materialflashcards / study_guideLearning cards

Carousel Posts (輪播貼文)

For multi-image carousel (Threads supports 2-20 images):

  1. Create notebook with content organized as numbered sections (one per slide)
  2. generate_artifact(name_or_id, "slides") → multi-page PDF
  3. Download and split: pdftoppm -png -r 300 slides.pdf slide
  4. Upload EVERY image — call upload_image for EACH slide PNG:
    upload_image(file_path="downloads/slide-1.png") → url1
    upload_image(file_path="downloads/slide-2.png") → url2
    upload_image(file_path="downloads/slide-3.png") → url3
    ...repeat for ALL slides
    
  5. Publish as carousel — pass ALL URLs to publish_to_threads:
    publish_to_threads(text="...", carousel_urls=[url1, url2, url3, ...])
    
    Do NOT use image parameter — use carousel_urls when there are 2+ images.

⚠️ CRITICAL: When slides have multiple pages, you MUST use carousel_urls (not image). Single image parameter only posts the first image. carousel_urls posts ALL images as a swipeable carousel.

Video (影片)

Combine slides + podcast audio into MP4:

  1. generate_artifact(name_or_id, "slides") → PDF
  2. generate_artifact(name_or_id, "podcast") → M4A audio (run sequentially, NOT parallel)
  3. Download both artifacts
  4. pdftoppm -png -r 300 slides.pdf slides_page
  5. ffmpeg -framerate 1/$per_slide -pattern_type glob -i 'slides_page-*.png' -i audio.mp3 -c:v libx264 -pix_fmt yuv420p -c:a aac -shortest output.mp4

Tips for Better Visuals

  • Language: Always pass lang="zh-TW" for Traditional Chinese content
  • Rich text sources: The more context you feed into the notebook, the better the visual output
  • One topic per notebook: Don't mix unrelated topics — create separate notebooks
  • Add URLs as sources: add_source(name_or_id, url="...") for reference material — NotebookLM will incorporate key data into visuals

Mandatory Rules

0. Workspace Containment

All files MUST be saved within the session workspace directory. Use relative paths like downloads/card.pdf. NEVER use ~/Downloads, ~/Desktop, or any absolute path outside the workspace.

1. Read Original Sources

NEVER write content based on titles/metadata alone.

  • Single topic: read >= 1 primary source via browser_markdown(url)
  • Controversial: read >= 2 sources (both sides)
  • Data claims: find original data source

2. Timeline Verification

Every fact must have a verified timestamp. Discard anything > 48 hours old.

Source ageAllowedForbidden
Today"today" "just now"-
1-3 days"recently" "the other day""just" "latest"
4-7 days"last week" "this week""just" "yesterday"
8-30 days"this month""last week" "just"
>30 days"earlier" "this year"any freshness words

3. Use ALL Sources

get_trending with sources="" to query ALL 20 sources. Do NOT filter unless user explicitly asks.

Meta Patent-Based Scoring (5 Dimensions)

#DimensionWeightCheck
1Hook Power25%First line: number or contrast, 10-45 chars
2Engagement Trigger25%CTA anyone can answer, direct "you" address
3Conversation Durability20%Has contrast/both sides, creates discussion
4Velocity Potential15%Timely, 50-300 chars, urgency language
5Format Score15%Mobile-scannable, line breaks, no text walls

Quality Gates (ALL must pass before publishing):

  • Overall Score >= 70
  • Conversation Durability >= 55
  • Hook: 10-45 chars with number or contrast
  • CTA: clear question or poll
  • Timeline: all time words verified
  • Source: every claim traceable
  • No AI filler words

Pipeline Workflow

  1. Discover: get_trending(sources="", geo, count=20)
  2. Read Source: browser_markdown(url) — MANDATORY
  3. Verify Timeline: Check dates, discard stale
  4. Research: browser_markdown + WebSearch, 2-3 sources min
  5. Brief: get_content_brief(topic)
  6. Create: Write -> patent check (5 dimensions)
  7. Score: get_scoring_guide — self-score (>= 70)
  8. Review: get_review_checklist — final check
  9. NotebookLM (optional): create notebook -> generate artifacts
  10. Publish: provide ready-to-post content or use publish tool
Skills guardadas