full-pipeline
Skill43 starsChanged 4 months agoMITView on GitHub
Run the full pipeline for the month, from calendar parse to delivery, pausing between phases. \"produce the whole month\"
2 other projects use a version of this.
Adopted by
Most recently taken up by
- marcosmodly/marketing-skilltheir own version, first seen Oct 8, 2026
- mocchalera/video-os-v2their own version, first seen Sep 4, 2026
Other versions2 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 2
- marcosmodly/marketing-skill★ 100same name
- mocchalera/video-os-v2★ 4same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository21 other files it gives its agents.
- AGENTS.mdAGENTS.md
- adapt-copySkill
- assemble-documentSkill
- brand-managerSkill
- build-review-gallerySkill
- c2pa-signSkill
- compose-creativeSkill
- create-previewsSkill
- finalize-monthSkill
- generate-videoSkill
- ideate-monthSkill
- index-assetsSkill
- ingest-performanceSkill
- manage-reviewsSkill
- match-assetsSkill
- model-checkSkill
- parse-calendarSkill
- price-checkSkill
- render-carouselsSkill
- research-monthSkill
- setupSkill
The file
We split this skill into the rules it gives an agent
7 rules. About 0 are common, 2 are distinctive, and 5 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈2
Distinctive · estimate
This author's own choices. Worth a look.
5
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 13
Run all phases sequentially with quality gates between each.
- Very specific: line 35
Before any production work begins, verify that the required API credentials are configured via credential_manager.py.
- Very specific: line 37
Run credential_manager.py status to check Vertex AI and WaveSpeed configuration
- Very specific: line 40
If any required credential is missing, stop the pipeline and prompt the user: "Required credentials not configured.
- Distinctive: line 42
If all credentials are valid, proceed to Phase 0
- Very specific: line 164
No tier is ever finalized or published automatically: an expired escalation period only sends a reminder (through the manage-reviews …
- Very specific: line 166
Timeout: No automatic timeout — Phase 6 stays paused until human action.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
/socialforge:full-pipeline — Complete Production Pipeline
Script location. If your host does not set
${CLAUDE_PLUGIN_ROOT}, the scripts are in this plugin'sscripts/folder, next toskills/. Run them with Python 3.10 or newer:python, orpython3wherepythonis not found (macOS, many Linux systems).
Run all phases sequentially with quality gates between each.
Context efficiency
Asset-heavy skill. Grep before Read the asset catalog (${CLAUDE_PLUGIN_DATA}/socialforge/brands/<brand>/asset-index.json) — never list the asset directory. Reference generated images / videos by path, not by loading metadata. Brand profile loads once per session.
Pipeline Phases
| Phase | Skill | Gate |
| -1 | credential-check | API credentials configured (Vertex AI and/or WaveSpeed) |
| 0 | parse-calendar | Calendar parsed, all required fields present |
| 1 | match-assets | Asset matches confirmed by user |
| 2 | compose-creative | All images/videos generated, quality scores ≥7.0 |
| 3 | adapt-copy | Copy adapted, compliance passed |
| 4 | create-previews | Previews rendered for all posts |
| 5 | build-review-gallery | Gallery built and accessible (images + video) |
| 6 | manage-reviews | All posts reviewed (async — pipeline pauses here) |
| 7 | finalize-month | All approved posts packaged for delivery |
Phase -1: Credential Check
Before any production work begins, verify that the required API credentials are configured via credential_manager.py.
- Run
credential_manager.py statusto check Vertex AI and WaveSpeed configuration - Image generation requires Vertex AI credentials configured via
/socialforge:setup - Video generation requires WaveSpeed API key (only checked if calendar contains video posts)
- If any required credential is missing, stop the pipeline and prompt the user:
"Required credentials not configured. Run
/socialforge:setupto configure API keys before starting production." - If all credentials are valid, proceed to Phase 0
Phase 2: Compose Creative
Phase 2 operates in two distinct modes depending on how it is invoked.
Interactive mode (/socialforge:generate-post)
Produces creative for a single post with full user control at each stage.
Quote, then go (interactive, before the Generate stage)
Direction and confirmation cost nothing. The first paid call is the Generate stage, so the post is quoted once, after the user confirms the details and before anything is generated. This skill states no price: price_book.py is the only source.
- List what is about to be generated: for each paid call, the registry alias (
resolve_model.py --alias <alias>gives the current model id), the provider, and the units (images, or seconds of video, plus any option that changes the price, such as synchronised audio). For an image post that is the planned variants (typically 2-3); for a video post, both keyframe rounds and the clip. - Quote it:
python "${CLAUDE_PLUGIN_ROOT}/scripts/price_book.py" --action quote-batch --items '[{"model":"<resolved model id>","provider":"<provider>","units":<n>,"label":"<post id and stage>"}]'A single item can use --action quote --model <id> --provider <provider> --units <n>. If the quote exits non-zero or lists a blocked item, stop: run /socialforge:price-check to look the missing price up, then quote again.
3. Show the user the total, each line, its source URL, and how old the price is (a price older than 24 hours is stale and is refused; it must be looked up again):
Estimated cost: <total_usd> USD for <n> generations. Prices from <source>, <age_hours> h old (valid for 24 h).
Type "go" to generate. Anything else cancels.- Continue only on an explicit
gofor exactly this list. Anything else, including silence, cancels and nothing is generated. If the list changes (a regeneration, another model, an added option), quote again and ask again. A quote is never approval (approved_to_runis alwaysfalse); only the user'sgois.
Image posts — 4-stage approval:
- Direction — Review creative direction and prompt before generation
- Generate — AI generates 2-3 variants; user picks the best or requests regeneration
- Composite — Selected variant composited with brand asset, overlay, and logo; user approves
- Resize — Platform-specific resizes produced; user confirms final set
Video posts — 5-stage approval:
- Direction — Review video concept, storyboard outline, and scene descriptions
- Script — Approve shot-by-shot script with timing and transitions
- Generate — AI generates video clip; user reviews motion and pacing
- Composite — Overlay, logo, and captions applied; user approves
- Resize — Platform-specific aspect ratios produced; user confirms final set
Batch mode (/socialforge:generate-all)
Produces creative for all posts in the calendar with minimal interruption.
Quote, then go (batch, before any paid call)
A batch fans out across the whole calendar and video is billed by the second, so the batch is quoted once, after the group directions are approved and before anything is generated. This skill states no price: price_book.py is the only source, and one unpriced item blocks the whole batch.
- List what is about to be generated: for each paid call, the registry alias (
resolve_model.py --alias <alias>gives the current model id), the provider, and the units (images, or seconds of video, plus any option that changes the price, such as synchronised audio). In a batch, list every paid generation of every post. Interactive mode (/socialforge:generate-post) does the same per post, in/socialforge:compose-creative. - Quote it:
python "${CLAUDE_PLUGIN_ROOT}/scripts/price_book.py" --action quote-batch --items '[{"model":"<resolved model id>","provider":"<provider>","units":<n>,"label":"<post id and stage>"}]'A single item can use --action quote --model <id> --provider <provider> --units <n>. If the quote exits non-zero or lists a blocked item, stop: run /socialforge:price-check to look the missing price up, then quote again.
3. Show the user the total, each line, its source URL, and how old the price is (a price older than 24 hours is stale and is refused; it must be looked up again):
Estimated cost: <total_usd> USD for <n> generations. Prices from <source>, <age_hours> h old (valid for 24 h).
Type "go" to generate. Anything else cancels.- Continue only on an explicit
gofor exactly this list. Anything else, including silence, cancels and nothing is generated. If the list changes (more posts, another model, an added option), quote again and ask again. A quote is never approval (approved_to_runis alwaysfalse). - Group-based direction — Posts are grouped by creative mode (ANCHOR, ENHANCE, STYLE_REF, PURE). User approves creative direction per group rather than per post.
- Quote, then go, then auto-generate — run the quote step above for the whole batch; only on an explicit
godo all posts generate in sequence using the approved group directions. Progress is displayed per post with quality scores. - Gallery review — Once all posts are generated, a review gallery is built automatically so the user can review everything at once.
- Flagged regeneration — User flags any posts that need rework. Flagged posts regenerate with adjusted prompts. Unflagged posts proceed as approved.
Phase 5: Review Gallery
The review gallery (/socialforge:review) now supports both image and video content:
- Image posts display as before — preview thumbnail, quality score, copy, and compliance status
- Video posts display with side-by-side
<video>tags showing the raw generated clip alongside the composited version with overlays, enabling direct comparison of motion, pacing, and brand overlay placement
Progress
SocialForge Full Pipeline — AcmeCorp / April 2026
[pre] Credential Check ✓ — Vertex AI ready, WaveSpeed ready
[1/7] Parse Calendar ✓ — 28 posts extracted (24 image, 4 video)
[2/7] Match Assets ✓ — 8 ANCHOR, 5 ENHANCE, 9 STYLE_REF, 4 PURE, 2 CAROUSEL
[3/7] Compose Creative → IN PROGRESS
Mode: batch (group-based direction)
Groups approved: ANCHOR ✓ ENHANCE ✓ STYLE_REF ✓ PURE → awaiting direction
Generated: 18/28 posts (~10 min remaining)
Latest: P18 — STYLE_REFERENCED — Score: 8.4/10 ✓
Videos: 2/4 generated — P07 Score: 7.8/10 ✓
[4/7] Adapt Copy — waiting
[5/7] Create Previews — waiting
[6/7] Review Gallery — waiting
[7/7] Finalize — waitingRules
- Each phase must pass its gate before the next starts
- Phase -1 (Credential Check) is the first gate — no production without valid credentials
- Phase 6 (Review) is async — pipeline pauses for human review
- User can interrupt at any phase and resume later
- Status persists in status-tracker.json
Async Review Gate (Phase 6)
Phase 6 (manage-reviews) is the only async gate — the pipeline pauses here because human review takes hours or days.
When pipeline reaches Phase 6:
- Gallery is built and shared (Phase 5 output)
- Pipeline shows: "Review gallery ready. Pipeline paused — resume after reviews complete."
- User reviews posts via
/socialforge:reviewor/socialforge:manage-reviews - To resume after reviews: run
/socialforge:full-pipeline --resumeor/socialforge:finalizedirectly
Phase 7 is the user's. finalize-month is not model-invocable: it packages the delivery and can upload it and send a completion message. When every post is reviewed, the pipeline stops and tells the user: "All posts are reviewed. Run /socialforge:finalize to package the month." It never invokes the finalize skill itself, and --resume stops at the same place.
Escalation (per approval-chain.json):
- Reminder after N days (configurable per tier)
- Escalate to next reviewer after M days
- No tier is ever finalized or published automatically: an expired escalation period only sends a reminder (through the manage-reviews Execution gate), and finalizing waits for the user to run
/socialforge:finalize
Timeout: No automatic timeout — Phase 6 stays paused until human action. The /socialforge:status command shows pending review counts.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

