Install
$ agentstack add skill-indranilbanerjee-socialforge-parse-calendar ✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README — it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming — see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps — measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
/socialforge:parse-calendar — Calendar Parser
Parse a monthly social media content calendar into structured JSON that drives the entire production pipeline.
Context efficiency
Asset-heavy skill. Grep before Read the asset catalog (${CLAUDE_PLUGIN_DATA}//assets/index.json) — never list the asset directory. Reference generated images / videos by path, not by loading metadata. Brand profile loads once per session.
Supported Formats
| Format | How It Works | |--------|-------------| | DOCX | Read tables and structured text from Word documents | | XLSX | Read rows from Excel spreadsheets (one row per post) | | Notion | Read from Notion database via MCP (requires Notion connector) | | Structured text | Parse markdown or plain text with consistent formatting |
Required Fields Per Post
Every post in the calendar must have (or the system will ask for missing ones):
| Field | Required | Description | |-------|----------|-------------| | postid | Auto-generated | Unique identifier (e.g., P01, P02) | | date | Yes | Publishing date (YYYY-MM-DD) | | platform | Yes | Target platform(s) — linkedin, instagram, x, facebook, etc. | | contenttype | Yes | static, carousel, video, story, reel, textonly | | tier | Yes | HERO, HUB, or HYGIENE | | topic | Yes | What the post is about | | captionbrief | Yes | Brief description of the copy direction | | visual_brief | Recommended | What the image should show | | hashtags | Optional | Post-specific hashtags (brand hashtags added automatically) | | cta | Optional | Call-to-action text or link | | campaign | Optional | Campaign this post belongs to | | notes | Optional | Special instructions |
Process
- Detect format — Check file extension or URL pattern
- Extract posts — Parse each post entry from the source
- Validate fields — Check required fields present. For missing fields, ask the user.
- Normalize — Standardize dates, platform names, content types to schema format
- Assign post IDs — Sequential (P01, P02, ...) if not already present
- Cross-reference platforms — Check all platforms exist in brand's platform-config.json
- Flag issues — Duplicate dates, missing briefs, unsupported content types
- Save — Write calendar-data.json to
~/socialforge-workspace/output/{brand}/{YYYY-MM}/
Output
Calendar parsed: 28 posts for April 2026
LinkedIn: 12 posts (4 carousels, 6 static, 2 video)
Instagram: 10 posts (3 carousels, 4 reels, 3 static)
X: 6 posts (all text+image)
Issues found: 2
- P14: Missing visual_brief (will need manual input during asset matching)
- P22: Date falls on Sunday — confirm intentional weekend post?
Calendar saved: ~/socialforge-workspace/output/acme-corp/2026-04/calendar-data.json
After Parsing
Ask: "Would you like to:
- Match assets to posts? (
/socialforge:match-assets) - Review the parsed calendar first? (I'll show the full post list)
- Fix issues? (I'll walk through each flagged item)"
Timeout & Fallback
- DOCX/XLSX parsing: 30-second timeout. If file is too large, suggest splitting by week.
- Notion: 60-second timeout per database query. If Notion is slow, offer to export and parse locally.
- If format is unrecognized: Ask user to describe the structure, then parse adaptively.
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: indranilbanerjee
- Source: indranilbanerjee/socialforge
- License: MIT
- Homepage: https://indranil.in
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet — be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.