Getting it into your agent
This one installs as part of its plugin. Adding the marketplace and installing the plugin brings it with everything else the plugin ships.
/plugin marketplace add indranilbanerjee/socialforge/plugin install socialforgeWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/indranilbanerjee/socialforge/assemble-document)<a href="https://agentmods.dev/skills/indranilbanerjee/socialforge/assemble-document"><img src="https://agentmods.dev/badge/skills/indranilbanerjee/socialforge/assemble-document.svg" alt="Measured on agentmods" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00090 | $0.00782 |
| Opus 5 | $0.00045 | $0.00391 |
| Sonnet 5 | $0.00018 | $0.00156 |
| Haiku 4.5 | $0.00009 | $0.00078 |
Grade A, and why
assemble-document scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 6d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 45 lines — stays where its author put it; the contents beside it link to each section on GitHub.
/socialforge:assemble-document — Document Assembler
Create the final delivery manifest — a structured JSON file describing the complete monthly calendar, its posts, copy, and metadata. The manifest is the deliverable this skill produces; a formatted DOCX is a manual/optional step downstream (see below).
Manifest Structure
assemble_docx.js emits these sections into the JSON manifest:
- Title block (brand name, month, generation timestamp)
- Monthly overview (post count, platform breakdown, tier distribution, content-type distribution)
- Weekly sections:
- For each post: post id, date, title, tier, platforms, content type, copy option A, visual direction, creative mode, status
- Publishing schedule (date, day of week, post id, title, platforms)
Process
- Load calendar-data.json and status-tracker.json for the brand + month
- Group posts by week and merge in each post's tracked status and creative mode
- Build the manifest structure
- Save to
${CLAUDE_PLUGIN_DATA}/socialforge/output/{brand}/{month}/FINAL/00-Calendar-Document/{brand}-{month}-calendar.json(falls back to~/socialforge-workspace/output/...when${CLAUDE_PLUGIN_DATA}is unset)
AI-assistance note (delivery manifest)
Read ai_disclosure from brand-config.json (missing block = {"mode": "claude-surfaces", "text": null}) and decide whether the manifest carries the AI-assistance note:
- Run
python ${CLAUDE_PLUGIN_ROOT}/scripts/detect_surface.py --mode {mode}— itsdisclosure_appliesfield IS the decision. Fail-safe: anuncertainsurface applies the note in claude-surfaces mode; skipping requires an AFFIRMATIVE non-Claude fingerprint. Never override the script's answer. - When it applies, add to the manifest metadata:
"ai_assistance_note": "Creative produced with AI assistance under human review and brand approval gates."(or the brand's customtextverbatim). The default wording is vendor-neutral and claims only the review this pipeline actually performs — every post passed the approval chain. - Record the decision either way:
"disclosure": {"applied": true|false, "mode": ..., "surface": ...}in the manifest — an unapplied note is a recorded choice, not an omission. - Remind the user at handoff: platform-native AI-content labels (Instagram/TikTok/YouTube toggles) are the right place for per-post disclosure — flag which posts used AI generation so whoever publishes can set them.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 6d ago First seen · 45 lines · 90 tokens per session scan A f4176318576c
assemble-document is a skill published in the GitHub repository indranilbanerjee/socialforge (36 stars, last pushed 19d ago), licensed MIT. It adds 90 tokens to every session and 782 once invoked, about $0.0005 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
release-sync
Syncs latest release content to NotebookLM and HQ Knowledge Base after version tagging. Reads CHANGELOG, CLAUDE.md, and hook README, updates notebook sources, and ingests release digest. Optionally generates podcast from updated knowledge base. Use after tagging a new version to propagate release knowledge.
documentation-patterns
Technical documentation patterns for READMEs, ADRs, API docs (OpenAPI 3.1), changelogs, and writing style guides. Use when creating project documentation, writing architecture decisions, documenting APIs, or maintaining changelogs.
ai-media-generator
為使用者產生高品質的 AI 生圖、生影片、生音樂提示詞,並在需要時透過瀏覽器自動化實際送到目標平台。涵蓋 OiiOii、Kling 3.0/O-series、Seedance 2.0/2.5、Suno v5.5、Seedream 5.0/4.0、Vidu Q3、Midjourney V8.1、Flux 1.1 Pro / Kontext、Runway Gen-4.5 / Aleph、Google Veo 3.1、Ideogram 3、Nano Banana Pro、Stable Diffusion 3.5(⚠️ OpenAI Sora 2 已於 2026-04-26 停運,API 撐到 2026-09-24,預設改推…
report-deck
Turn Fullstory research findings into a presentation-ready report — slide structure, speaker notes, and export to PPTX or PDF. Use when the user asks for a deck, slides, presentation, or report from their analytics.
album-report
Turn an album or a selection into a PDF report: metadata per photo, frames per video, and Claude's own description of what is in each one. Use when the user says "PDF of the album", "album report", "export to PDF", "make a document with these photos", "catalog the album", "identify what is in each video and put it in…
data-analysis-skills
当用户提供数据文件(CSV / Excel / JSON / TSV)或表格数据,想要做分析、找洞察或要一份报告时使用——例如「分析数据」「做数据报告」「帮我看看这份数据」「这批订单数据说明什么」,以及销售 / 经营 / 运营数据复盘、探索性分析(EDA)、A/B 实验评估、趋势预测,或要一份可交互的 HTML 数据报告。不适用于:搭建 dashboard 应用、网页爬取、连接线上数据库。.