Skip to content

Releases: indranilbanerjee/socialforge

v1.13.1 - README sync patch

Choose a tag to compare

@indranilbanerjee indranilbanerjee released this 28 Jun 08:18

README-sync patch — Current Release body rewritten with actual v1.13.0 content.

After v1.13.0 shipped, the user flagged that several README sections had stale version refs. SF's specific gap: the ## Current Release (v1.13.0) heading had been renamed but the body still described the v1.12.0 (Hermes + OpenClaw + 23-test suite) release. SF release-consistency tests caught the heading bump but had no check for body freshness.

Fixed (SF README)

  • ## Current Release (v1.13.0) body rewritten with actual v1.13.0 content (June 2026 market-refresh sync: resolver-routed alias updates, retired-model handling, --check-params scanner)
  • v1.12.1 + v1.12.0 release notes moved into "Earlier" sub-sections so chronological flow is preserved
  • README hero callout + Supported surfaces heading + Current Release heading + Cowork anchor + version badge all bumped to v1.13.1

Changed

  • All 9 SF version declarations 1.13.0 → 1.13.1

Notes

  • Zero pipeline change.

v1.13.0 - June 2026 market-refresh sync

Choose a tag to compare

@indranilbanerjee indranilbanerjee released this 28 Jun 08:04

June 2026 market-refresh sync — model registry rebuilt, MODEL-CURATOR docs refreshed, resolver hardened against retired models.

Mirrors the DMP v3.14.0 suite-wide market-refresh sweep into SocialForge. No SF-side runtime behaviour change — scripts/generate_video.py and scripts/compose_creative.py already route through the resolver, which now picks up the corrected latest-video-google and image aliases automatically.

Fixed — automatic via resolver

  • latest-video-google alias now → veo-3.1-generate-preview (was veo-3.1-generate-001). Veo 2.0 / Veo 3.0 / Veo 3.0-Fast retire 2026-06-30 — SF callers will land on the GA preview replacement Google recommends.
  • latest-image-google alias now → gemini-3-pro-image (was gemini-3-pro-image-preview, which retired 2026-06-25 — any direct preview-id callers would have been failing).
  • latest-image-balanced-google alias now → gemini-3.1-flash-image (Nano Banana 2 GA, supersedes gemini-2.5-flash-image).
  • latest-image-photoreal-google alias now → gemini-3-pro-image (Imagen 4 was deprecated 2026-06-15; previous alias would have stayed on a deprecation path).

Added — registry-handled retired status

scripts/resolve_model.py now unconditionally rewrites retired model IDs to their replacement_id (the previous logic only fell forward for deprecated status). Means any direct-id caller passing veo-2.0-generate-001 or gemini-2.0-flash from cached config gets routed to a working model instead of hitting HTTP 404. New test test_retired_falls_forward_unconditionally covers this.

Added — --check-params scanner

python scripts/resolve_model.py --check-params <file> flags any Python file that passes temperature / top_p / top_k alongside Claude Opus 4.7+ targets — those return HTTP 400. Pre-flight scan of socialforge/scripts/*.py was clean.

Added — model registry rebuilt against vendor primary docs

Same canonical content as DMP/CF: 47 entries verified against platform.claude.com, developers.openai.com, ai.google.dev. Notable adds: claude-opus-4-8, gpt-5.5 family, gpt-image-2, gemini-3.1-pro-preview, gemini-3.1-flash-lite. Notable retired entries: Gemini 2.0 family (shutdown 2026-06-01), Veo 2/3 family (shutdown 2026-06-30), Gemini 3 Pro/Flash Image previews (shutdown 2026-06-25). Notable deprecated entries: Gemini 2.5 Pro/Flash/Flash-Lite (shutdown 2026-10-16).

Added — docs/MODEL-CURATOR.md refresh

Aliases table refreshed; new § Parameter compatibility — Claude Opus 4.7 and later explains the HTTP 400 risk for temperature/top_p/top_k. Same content shipped in DMP + CF.

Changed

  • All 9 version declarations bumped 1.12.1 → 1.13.0 (.claude-plugin, .codex-plugin, .cursor-plugin, .github/plugin, gemini-extension, openclaw.plugin, plugin.yaml, init.py, package.json)
  • README "Just shipped" callout updated for v1.13.0
  • Registry last_updated 2026-06-28; next_review_due 2026-09-28

Tests

  • 54/54 passing (existing release-consistency suite caught nothing because resolver-routed aliases insulate the user-facing API from registry shape changes)

v1.12.1 - release-consistency test suite

Choose a tag to compare

@indranilbanerjee indranilbanerjee released this 09 Jun 05:31

Test-infrastructure polish — release-consistency suite + description sharpening.

A short follow-up to v1.12.0 that hardens the release pipeline against the kinds of cross-manifest drift that escaped earlier ships. Inspired by DMP's v3.13.1 polish round.

Added — Release-consistency test suite (tests/test_release_consistency.py, +31 tests)

The suite catches drift before it reaches users by checking:

  • All 7 platform manifest versions are in sync (5 Claude-family + Hermes plugin.yaml + OpenClaw)
  • The Hermes __init__.py PLUGIN_VERSION constant matches the canonical version
  • The README version badge matches the canonical version
  • The README ## Supported surfaces (vX.Y.Z) section heading matches the canonical version
  • The README ## Current Release (vX.Y.Z) section heading matches the canonical version
  • The README "Just shipped — vX.Y.Z" hero callout matches the canonical version
  • The CHANGELOG's most recent ## [X.Y.Z] header matches the canonical version
  • All 5 Claude-family manifest descriptions are byte-identical
  • Every Claude-family description mentions the actual 16 skills count
  • The README test-count badge matches the actual count of def test_* methods
  • All 7 native platform install commands appear verbatim in the README
  • 12 critical README sections (Core Principle, Four Creative Modes, Quick Start, Supported surfaces, Architecture, Installation, First-Time Setup, Video Generation, Connectors, Storage, Current Release, plus an 8-platform name-mention check) are present
  • Every internal anchor link in the README resolves to a real heading

Test count: 23 → 54. All passing.

Fixed

  • README hero callout, version badge, and Current Release section heading now lock-step with plugin.json canonical version (caught by the new tests)
  • Broken internal anchor #current-release-v182 (pointed at a renamed v1.8.2 section) re-pointed at the live Current Release section
  • Plugin descriptions across all 5 Claude-family manifests (.claude-plugin/, .codex-plugin/, .cursor-plugin/, .github/plugin/, gemini-extension.json) now lead with 16 skills — improves marketplace search relevance + lets the consistency test enforce the count going forward

Changed

  • README test badge bumped: tests-23%2F23tests-54%2F54
  • README hero "Just shipped" callout updated to mention v1.12.1 + new test count
  • All 8 version declarations bumped to 1.12.1: .claude-plugin/plugin.json, .codex-plugin/plugin.json, .cursor-plugin/plugin.json, .github/plugin/plugin.json, gemini-extension.json, openclaw.plugin.json, plugin.yaml, __init__.py

Why this matters

The v1.12.0 ship had a stale internal anchor and an undiscoverable skill count in plugin search descriptions. Both are now structurally prevented by python -m unittest discover -s tests. Zero runtime behavior change.


v1.12.0 - native Hermes Agent + OpenClaw

Choose a tag to compare

@indranilbanerjee indranilbanerjee released this 09 Jun 05:31

Multi-harness expansion: native Hermes Agent + native OpenClaw + test suite.

Brings SocialForge into parity with DMP v3.13.0+ on cross-platform support. Every claim verified against primary platform docs.

Added — Native Hermes Agent plugin

  • plugin.yaml at repo root with required fields (name, version, description, author, license, homepage). Zero env vars, zero global hooks.
  • __init__.py at repo root exposing register(ctx) that Hermes calls at plugin load. Walks the skills/ directory and exposes all 16 SocialForge skills via ctx.register_skill(name, path). Defensive coding throughout — stdlib only; if Hermes API differs from spec, the adapter logs and degrades gracefully instead of crashing. Includes an audit() introspection function for pre-install sanity checks.
  • Install command: hermes plugins install indranilbanerjee/socialforge.
  • Spec source: https://hermes-agent.nousresearch.com/docs/guides/build-a-hermes-plugin
  • Targets Hermes Desktop v0.15.2 (public preview June 2 2026).

Added — Native OpenClaw manifest

  • openclaw.plugin.json at repo root with required id + configSchema, optional name/description/version/skills: ["./skills"]. OpenClaw auto-detects our existing .claude-plugin/plugin.json as a Claude-compatible bundle fallback, but shipping the native manifest enables ClawHub marketplace eligibility + first-class discoverability.
  • Install command: openclaw plugins install git:github.com/indranilbanerjee/socialforge.
  • Spec source: https://docs.openclaw.ai/plugins/manifest

Added — Test suite (0 → 23, all passing)

  • tests/test_hermes_adapter.py (12 tests) covering plugin.yaml schema (name / version / semver / description / provides_hooks: [] / requires_env: []), adapter import smoke, register() against mock ctx (all skills register), graceful degradation when ctx is missing register_skill / is None, version consistency between plugin.yaml and init.py.
  • tests/test_openclaw_manifest.py (11 tests) covering manifest existence, id required + kebab-case + matches Claude plugin name, configSchema validation, skills field points at ./skills directory that exists, version matches canonical Claude plugin, no unexpected top-level fields, cross-manifest version consistency.
  • tests/run_all.py runs everything: python tests/run_all.py → 23/23 passing.

Changed

  • All 5 platform manifests bumped to v1.12.0. Description (where it changes) reflects new Hermes + OpenClaw support.
  • README "Supported surfaces" table now has 8 rows (added Hermes Agent + OpenClaw).
  • Added "Works on 35+ additional Agent Skills platforms" callout pointing at the skills/ folder for any Agent-Skills-compatible client.

Why no breaking changes — each platform reads its own manifest path

  • plugin.yaml read ONLY by Hermes
  • __init__.py executed ONLY by Hermes (Claude Code doesn't auto-execute Python files)
  • openclaw.plugin.json read ONLY by OpenClaw
  • Auto-connecting MCPs unchanged (still empty .mcp.json)
  • Global hooks unchanged (still empty hooks/hooks.json)
  • Skill descriptions unchanged
  • Claude Code + Cowork behavior byte-identical to v1.11.0

v1.11.0 — C2PA 2.3 / 2.4 spec refresh

Choose a tag to compare

@indranilbanerjee indranilbanerjee released this 03 Jun 21:23

C2PA 2.3 / 2.4 spec refresh — live video, plain text, OGG Vorbis, large AVI, EXIF formats + c2pa.ai-disclosure assertion.

What's updated

  • skills/c2pa-sign/SKILL.md
    • C2PA Content Credentials 2.3 (released 9 February 2026) expanded format support: live video (broadcast/streaming), plain text documents, OGG Vorbis audio, large AVI video files, EXIF Original Preservation Images. Relevant for Reels / TikTok / Shorts streaming workflows and product photography preservation through ad-ops cropping.
    • C2PA Spec 2.4 (April 2026) AI Disclosure Assertion (c2pa.ai-disclosure) — machine-readable AI transparency info that the EU AI Act Article 50 deployer pathway will read. When the underlying c2pa_sign.py runs on a C2PA SDK ≥ 0.36, embed this assertion alongside existing IPTC + schema.org tags.
    • Trust List — now handled via the public C2PA Conformance Program (any CA meeting the Certificate Policy can join). Production signing certs should come from a Conformance-Program-listed CA.

Cross-references DMP v3.10.0's new skills/context-engine/eu-code-of-practice.md for the regulatory context (WG1 providers / WG2 deployers / final code targeted May–June 2026 / Article 50 applicable 2 Aug 2026).

Unchanged

  • 16 skills · 25 commands · 5 agents · 22 scripts · 10 HTTP MCP connectors · 0 global hooks
  • Four creative modes, AI image (Nano Banana Pro), AI video (Kling v3.0 Pro), 7-platform copy adaptation
  • All v1.10.0 distribution polish + platform manifests untouched aside from version bump

Primary sources

How to update

/plugin update socialforge@neels-plugins
/reload-plugins

If on Cowork / claude.ai / Desktop: Plugins panel → Update.

v1.10.0 — Distribution & context-efficiency polish

Choose a tag to compare

@indranilbanerjee indranilbanerjee released this 26 May 21:37

Distribution & context-efficiency polish — discoverability + leaner asset-skill loads.

What changed

  • Plugin descriptions trimmed to ~150 chars across all 5 manifests — install-UI now reads as one clear sentence across Claude Code, Codex, Cursor, Copilot CLI, and Antigravity.
  • README hero rewritten pain-first — opens with the real scenario ("Your client wants 30 days of social content across six platforms with brand-faithful imagery, AI-generated video, and provenance signed for EU markets…") then states what the plugin does.
  • GitHub repo topics curated to 20-max with platform-skill topics added: cursor-plugin, copilot-cli-plugin, gemini-cli-extension joined existing claude-code / claude-plugin / openai-codex / agent-skills for cross-platform discoverability.
  • Context-efficiency callout added to all 10 skills (setup, brand-manager, compose-creative, c2pa-sign, full-pipeline, generate-video, index-assets, match-assets, parse-calendar, adapt-copy) — tells the agent to grep-before-read the asset catalog at ${CLAUDE_PLUGIN_DATA}/<brand>/assets/index.json rather than listing the asset directory, and to reference generated images / videos by path (not by loading metadata into context).

Unchanged

  • 16 skills · 25 commands · 5 agents · 22 scripts · 10 HTTP MCP connectors · 0 global hooks
  • Four creative modes (ANCHOR_COMPOSE / ENHANCE_EXTEND / STYLE_REFERENCED / PURE_CREATIVE)
  • AI image (Vertex AI Nano Banana Pro), AI video (WaveSpeed Kling v3.0 Pro)
  • C2PA content provenance signing for EU AI Act Article 50 compliance
  • All v1.9.0's 5-surface native manifests untouched aside from version bump + description trim

How to update

/plugin update socialforge@neels-plugins
/reload-plugins

If on Cowork / claude.ai / Desktop: Plugins panel → Update.

v1.9.1 (hotfix): empty .mcp.json + add connectors-reference — fixes Cowork install hazard

Choose a tag to compare

@indranilbanerjee indranilbanerjee released this 26 May 20:58

Correction to original release notes: the original framing of this as a "Cowork install hazard fix from populated .mcp.json" was wrong. .mcp.json is gitignored in this repo (so credentials never get committed) — the file has never been in the published install bundle. v1.9.0's published install was already Cowork-safe.

Genuine value of this release:

  • NEW .mcp.json.connectors-reference file (previously SF only shipped .mcp.json.example — older naming). Now matches DMP and CF's naming convention. 10 connectors (notion, canva, figma, slack, gmail, google-calendar, fal-ai, replicate, asana, cloudinary) with corrected Gmail (gmailmcp.googleapis.com/mcp/v1) and Calendar (calendarmcp.googleapis.com/mcp/v1) URLs — the old .claude.com URLs were retired May 2026 and would HTTP 404.
  • Version bumped to 1.9.1 across all 5 manifests for marketplace coordination.

What this release does NOT change

  • Skills (16), agents (5), commands (25), scripts (22), hooks — all unchanged
  • v1.9.0's 5-surface native manifests untouched
  • C2PA signing, Vertex AI Nano Banana Pro image gen, WaveSpeed Kling video gen — untouched
  • Plugin behavior on Cowork or any other surface — byte-identical to v1.9.0 (apart from the new catalog file users can opt-in copy from)

v1.9.0: real native manifests for 5 verified agent surfaces

Choose a tag to compare

@indranilbanerjee indranilbanerjee released this 26 May 20:02

Real native manifests for 5 verified agent surfaces. Replaces the v1.7/v1.8 era invented manifests (correctly removed in v1.8.5) with verified-real native manifests against the platforms' published schemas.

Supported surfaces (v1.9.0)

Surface Manifest path Install command
Claude Code (CLI + IDE extensions) + Anthropic Cowork .claude-plugin/plugin.json /plugin install socialforge@neels-plugins (Cowork: Plugins UI)
OpenAI Codex (CLI + IDE + App) .codex-plugin/plugin.json codex plugin marketplace add indranilbanerjee/neels-plugins then codex plugin install socialforge@neels-plugins
Cursor 2.5+ .cursor-plugin/plugin.json /add-plugin socialforge@https://github.com/indranilbanerjee/socialforge in any Cursor Agent chat
GitHub Copilot CLI .github/plugin/plugin.json copilot plugin marketplace add indranilbanerjee/neels-plugins then copilot plugin install socialforge@neels-plugins
Google Antigravity 2.0 (CLI + IDE) gemini-extension.json at repo root agy plugin install https://github.com/indranilbanerjee/socialforge

Not changed

  • Zero changes to skills (16), commands (25), agents (5), scripts (22), hooks, MCP
  • SocialForge behavior in Claude Code + Cowork byte-identical to v1.8.5
  • C2PA signing, Vertex AI Nano Banana Pro image gen, WaveSpeed Kling video gen — all unchanged

See CHANGELOG.md for full per-platform caveats.

v1.8.5: honest positioning — Claude Code + Cowork only

Choose a tag to compare

@indranilbanerjee indranilbanerjee released this 26 May 14:04

Text-only honesty cleanup. Zero functional change for Claude Code + Cowork users.

A May 2026 deep research pass confirmed that the v1.7 / v1.8 era .codex-plugin/, .cursor-plugin/, .antigravity/ manifests and the GitHub Copilot CLI auto-discovery claim did not match the platforms' actual install specs:

  • Antigravity uses gemini-extension.json at repo root — not .antigravity/plugin.json.
  • OpenAI Codex uses the .codex-plugin/plugin.json path (correct), but the schema we hand-rolled was invented. Real schema: developers.openai.com/codex/plugins/build.
  • Cursor plugin format we shipped was not a real Cursor manifest path.
  • GitHub Copilot CLI auto-discovery of .claude-plugin/plugin.json was unverified.

Supported surfaces from v1.8.5 onwards: Claude Code (CLI + IDE extensions) + Anthropic Cowork.

Real OpenAI Codex / Cursor / GitHub Copilot CLI / Google Antigravity 2.0 support is on the roadmap. Research saved at memory/{antigravity,codex}-plugin-spec-may-2026.md for future build-out.

Removed

  • .antigravity/plugin.json — wrong path entirely
  • .codex-plugin/plugin.json — schema was invented
  • .cursor-plugin/plugin.json — invented format
  • docs/CROSS-PLATFORM-GUIDE.md — documented install commands that did not work

Changed (text-only)

  • .claude-plugin/plugin.json — description rewritten; misleading keywords dropped; version 1.8.4 → 1.8.5
  • README.md — hero, badges, install matrix, release notes, docs links updated; "5 platforms" badge removed
  • SOCIALFORGE-COMPLETE-ENGINEERING-SPEC.md — section title, Target Runtime, section 17.1, "For Antigravity specifically" block, closing footer updated. Vertex AI Gemini image-generation references (for Nano Banana Pro) kept unchanged — those are model references, not install claims
  • .github/PULL_REQUEST_TEMPLATE.md — platform checkbox list reduced to Claude Code + Cowork
  • SECURITY.md — scope and reporting fields updated to Claude Code + Cowork only

Not changed

  • Zero changes to skills/ (16), commands/ (25), agents/ (5), scripts/ (22), hooks/hooks.json, .mcp.json, .mcp.json.connectors-reference
  • Plugin behavior in Claude Code + Cowork byte-identical to v1.8.4
  • C2PA signing (scripts/c2pa_sign.py), image generation (Vertex AI Nano Banana Pro), video generation (WaveSpeed Kling v3.0 Pro), 10 HTTP MCP connectors — all unchanged

See CHANGELOG.md for the full history. Historical v1.7.0 / v1.8.0 / v1.8.1 entries are preserved as historical record.

v1.8.4 — /plugin gotcha correction (Claude Desktop too, not only web)

Choose a tag to compare

@indranilbanerjee indranilbanerjee released this 25 May 21:27

[1.8.4] - 2026-05-25

Corrects an inaccuracy in the v1.8.3 README callout. v1.8.3 said the /plugin isn't available in this environment error applies to claude.ai web chat. User correction: it also applies to the Claude Desktop app. The actual rule: /plugin slash commands are supported only in Claude Code (CLI / IDE at claude.com/code) and Anthropic Cowork — not in the standard Claude chat app, whether browser OR installed desktop. Same correction as CF v3.12.6 + DMP v3.7.9.

Changed

  • README.md — re-worded the "/plugin isn't available" callout to name both environments accurately.