Skill 详情
content-factory
Produces social-carousel prompts for Higgsfield rendering, but its core purpose is Hugging Face trend content.
使用前先检查
自动化审核只检查相关性,不代表安全审查或推荐。使用前请阅读来源中的说明。
SKILL.md
这段内容是审核时保存的快照。外部来源才是完整且最新的版本。
--- name: content-factory description: Use when the user wants to turn today's trending HuggingFace AI models into a niche-mapped Instagram carousel. Pulls the trending list via headless browser, logs it to a local SQLite, picks the best fit for the user's niche, and produces 7 carousel slide prompts plus a master caption — all paste-ready for Higgsfield rendering. Triggers on phrases like "pull trending HuggingFace models", "today's AI trends to a carousel", or "make me an Instagram carousel from today's trends". --- # Content Factory — HuggingFace Trends → Instagram Carousel Pull today's trending HuggingFace models, pick the one that matters most for the user's niche, and produce a 7-slide Instagram carousel ready to render in Higgsfield. This skill is built to run **daily**, but every run is self-contained — it does not read prior days' data. ## When to use User prompts that should trigger this skill: - "Pull today's trending HuggingFace models and make a carousel." - "Run the trending DB." - "Today's AI trends to an Instagram post." - "Daily HuggingFace pull." ## Inputs Ask once at the start (skip whichever the user already provided): 1. **Niche:** what audience the carousel is for. Default: "AI for marketing operators." 2. **Brand voice:** 2–3 tone words. Default: "direct, practical, no-hype." 3. **Brand handle / signature:** what to put on slide 7's CTA. Default: skip the CTA branding. ## Workflow — strict order ### Step 1 — Pull the trending list Run the Playwright scraper: ```bash node skills/content-factory/scripts/fetch-huggingface-trending.mjs --top 10 --out output/content-factory/<YYYY-MM-DD>/raw-trends.json ``` This visits `https://huggingface.co/models?sort=trending`, scrapes the top N, and writes both: - `output/content-factory/<YYYY-MM-DD>/raw-trends.json` (today's pull) - An append-only row in `skills/content-factory/data/trending.db` (SQLite — write-only from this skill's perspective) If the scrape fails (network, layout change, anti-bot), fall back to `examples/sample-trending-pull.json` and tell the user the run is using a fixture. ### Step 2 — Niche-map Load `prompts/niche-mapping.md` and rank today's pulled models by relevance to the user's niche. Output a short ranked list (model name, relevance 1–10, one-line "why it matters for this audience"). Drop anything below 6. ### Step 3 — Pick one trend Pick the **highest-relevance, most-explainable** trend. If two are tied on relevance, prefer the one that's easier to demo visually. ### Step 4 — Build the carousel Load `prompts/trend-to-carousel.md` and produce 7 slides. Each slide gets: - Slide copy (≤14 words on the visible card). - Speaker-note expansion (1–3 sentences for the caption pull). - A Higgsfield image prompt using `templates/carousel-slide-prompt.md`. Slide structure: | # | Purpose | |---|---| | 1 | Hook — tension or stat that makes them swipe | | 2 | What it is | | 3 | Why it matters NOW | | 4 | How to use it (1 concrete workflow) | | 5 | What changes for the audience's job | | 6 | The bigger pattern (zoom out) | | 7 | CTA — save / follow / comment trigger | ### Step 5 — Write the caption Use `templates/caption-template.md`. Caption ≤2200 chars (IG limit), front-loaded, last paragraph is the CTA. ### Step 6 — Higgsfield handoff For each slide's image prompt: 1. If the Higgsfield MCP is connected, call `ToolSearch` with query `higgsfield` and use the image-generation tool to render the slide. 2. If not, output the prompt paste-ready under the slide. Never invent Higgsfield tool names — discover them at runtime. ### Step 7 — Write outputs Final deliverable structure: ``` output/content-factory/<YYYY-MM-DD>/ ├── raw-trends.json ├── ranked.md # Step 2 output ├── carousel.md # Slides + caption + Higgsfield prompts └── higgsfield-prompts.md # Just the prompts, paste-ready ``` ## Scheduling — pick one This skill runs once per day. Three ways to wire it up: **Option A — `/loop` inside a Claude Code在 GitHub 阅读完整来源 (打开外部页面)