Skip to content
Marketing
Skill

/finalize-month

Package all approved content into the final delivery folder — files renamed per convention, per-platform copy files, manifest included — ready for client handoff. Triggers on \"/finalize-month\", \"finalize the month\", \"package everything\", \"prepare the delivery\", \"close

From plugin
socialforge
3820 skills5 agents25 commands
Install
$ npx -y skills add indranilbanerjee/socialforge --skill finalize-month --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/finalize-month

Context preview

The summary Claude sees to decide when to auto-load this skill.

Package all approved content into the final delivery folder — files renamed per convention, per-platform copy files, manifest included — ready for client handoff. Triggers on \"/finalize-month\", \"finalize the month\", \"package everything\", \"prepare the delivery\", \"close

SKILL.md

finalize-month.SKILL.md
name: finalize-month
description: "Package all approved content into the final delivery folder — files renamed per convention, per-platform copy files, manifest included — ready for client handoff. Triggers on \"/finalize-month\", \"finalize the month\", \"package everything\", \"prepare the delivery\", \"close out the month\", \"handoff folder\", or when every post has cleared its approval queue and the month ships to the client."
argument-hint: "[--brand <name>] [--force]"
effort: high
user-invocable: true
disable-model-invocation: true

/socialforge:finalize-month — Month Finalizer

Package all approved posts into the organized delivery folder structure.

Pre-Finalization Check

**Step 0 — run the delivery audit, before any packaging:**

python "${CLAUDE_PLUGIN_ROOT}/scripts/delivery_audit.py" --brand {brand} --month {YYYY-MM}

It re-derives the month's claims from the ledger and the disk: every status in the vocabulary, revision history landing on the recorded status, no ghost posts the calendar never knew, no gate bypassed on the way to delivery (`force_finalized` is surfaced loudly, not left as a buried flag), every FINAL post's referenced file existing and non-empty, the failure log loadable, and cost totals honest about incompleteness. **Exit 1 means the delivery is claiming something the disk does not support — resolve the findings before packaging, never around them.** The verdict lands in `delivery-audit.json` beside the tracker.

Then:

  • All posts must be FINAL status (or --force to skip unapproved)

**WARNING:** `--force` bypasses ALL approval gates. Use only in emergencies. All force-finalized posts are logged with `force_finalized: true` in status-tracker.json for audit trail — and the delivery audit reports every one of them as a violation the client-facing record must acknowledge.

  • All compliance checks passed
  • All required approvals obtained per approval-chain.json
  • Calendar document assembled

If any posts are not FINAL: "3 posts still pending approval. Finalize anyway with --force, or resolve pending items first."

Final Folder Structure

FINAL/
├── 00-Calendar-Document/
│   └── {brand}-{month}-calendar.json   # delivery manifest; DOCX conversion is a manual step
├── 01-Ready-to-Publish/
│   └── Week-{N}/
│       └── {date}-Post{id}-{title}/
│           └── {platform}/
│               ├── image-{WxH}.png
│               ├── copy.txt
│               └── preview.png
├── 02-Carousels/
├── 03-Video-Production-Kit/
├── 04-Stories-Shorts/
├── 05-Review-Gallery/
├── 06-Publishing-Schedule/
└── 07-Production-Checklist/

Process

1. Verify all approval gates 2. Organize files into folder structure 3. Generate publishing schedule (dates + times + platforms) 4. Generate production checklist (remaining manual tasks) 5. Upload to Google Drive (if connected) 6. Send completion notification via Slack/email 7. Remind the user: once the month has run, ingest its analytics export with `/socialforge:ingest-performance` — that is what lets next month's `/socialforge:ideate-month` compound measured wins instead of memory

Read more
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.

Get the whole plugin

Other skills on socialforge.