Skip to content
Marketing
Skill

/full-pipeline

Run the full pipeline for the month, from calendar parse to delivery, pausing between phases. \"produce the whole month\"

From plugin
socialforge
4421 skills5 agents18 commands

Claude Code

$ npx -y skills add indranilbanerjee/socialforge --skill full-pipeline --agent claude-code

SKILL.md

full-pipeline.SKILL.md
name: full-pipeline
description: "Run the full pipeline for the month, from calendar parse to delivery, pausing between phases. \"produce the whole month\""
argument-hint: "[brand] [YYYY-MM] [calendar-source]"
effort: max
user-invocable: true

/socialforge:full-pipeline — Complete Production Pipeline

> **Script location.** If your host does not set `${CLAUDE_PLUGIN_ROOT}`, the scripts are in this plugin's `scripts/` folder, next to `skills/`. Run them with Python 3.10 or newer: `python`, or `python3` where `python` is 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`.

1. Run `credential_manager.py status` to check Vertex AI and WaveSpeed configuration 2. **Image generation** requires Vertex AI credentials configured via `/socialforge:setup` 3. **Video generation** requires WaveSpeed API key (only checked if calendar contains video posts) 4. If any required credential is missing, stop the pipeline and prompt the user: "Required credentials not configured. Run `/socialforge:setup` to configure API keys before starting production." 5. 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.

1. 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. 2. 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.

4. Continue only on an explicit `go` for 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_run` is always `false`); only the user's `go` is.

**Image posts — 4-stage approval:** 1. **Direction** — Review creative direction and prompt before generation 2. **Generate** — AI generates 2-3 variants; user picks the best or requests regeneration 3. **Composite** — Selected variant composited with brand asset, overlay, and logo; user approves 4. **Resize** — Platform-specific resizes produced; user confirms final set

**Video posts — 5-stage approval:** 1. **Direction** — Review video concept, storyboard outline, and scene descriptions 2. **Script** — Approve shot-by-shot script with timing and transitions 3. **Generate** — AI generates video clip; user reviews motion and pacing 4. **Composite** — Overlay, logo, and captions applied; user approves 5. **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.

1. 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`.

Read more
@indranilbanerjee
Ships withsocialforge

Your client wants 30 days of social content across six platforms with brand-faithful imagery, AI-generated video, and provenance signed for EU markets. You have five days.

4421 skills5 agents
Get the whole plugin

Stars on GitHub

Momentum

stars in total
44
Star history of indranilbanerjee/socialforge on GitHub, a chart by star-history.com

Other skills on socialforge.

adapt-copy

adapt-copy

Adapt post copy per platform: character limits, hashtags, tone and the right CTA mechanism. \"rewrite this caption for LinkedIn\"

More skills from other plugins.

seo

seo

Comprehensive SEO analysis for any website or business type. Full site audits, single-page analysis, technical SEO (crawlability,…

@agricidaniel@agricidanielInstall Skill
brag

brag

Turn the current project website into a short, polished, shareable launch video using Hyperframes. Use when someone says "/brag",…

brag3w21k
@latent-spaces@latent-spacesInstall Skill
geo-audit

geo-audit

Full website GEO+SEO audit with parallel subagent delegation. Orchestrates a comprehensive Generative Engine Optimization audit…

Questions about full-pipeline.

Which coding agents can use full-pipeline?
full-pipeline installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.