ops-social-planner

Solid

Visual, engine-agnostic planner for all scheduled social posts and ads across every identity and project. Auto-generates the current state of ops-socials + ops-marketing planned content per project, per channel, regardless of posting engine (Typefully, upload-post, Meta, Google Ads), and serves a clean local web UI. Use when the user says social planner, content calendar, what's scheduled, planned posts, show my queue, posting schedule, social dashboard, or runs /ops-social-planner. Read-only — never publishes (mutation stays in /ops-socials + /ops-marketing behind per-message approval).

AI & Automation 20 stars 6 forks Updated today MIT

Install

View on GitHub

Quality Score: 84/100

Stars 20%
44
Recency 20%
100
Frontmatter 20%
70
Documentation 15%
100
Issue Health 10%
50
License 10%
100
Description 5%
100

Skill Content

# /ops-social-planner — engine-agnostic planned-content viewer Read-only dashboard of **every** scheduled post and ad, grouped **identity/project → channel → time**, **regardless of posting engine**. Personal/founder identity and project brands stay strictly separated (see `/ops-socials` identity rules). See `SPEC.md` for the full design. ## What it does 1. `bin/ops-social-planner collect` reads `$PREFS_PATH/preferences.json` (`marketing.social_identities.personal.*` + `marketing.projects.*.social`), dispatches a **per-engine fetcher** keyed on `social.engine.primary`, normalizes to one schema, and writes `$OPS_DATA_DIR/social-planner/state.json` (**owner data — never committed**, Rule 0). 2. It then serves the static UI (`ui/`) on localhost and opens the browser. ## Engines | `engine.primary` | Source | Status | | ------------------------- | -------------------------------------------------------------------------------------- | ---------------------------- | | `typefully` | `GET /v2/social-sets/{id}/drafts` (Bearer; key from `~/.config/typefully/config.json`) | ✅ wired | | `upload-post` | `GET /api/uploadposts/schedule` (Apikey; key from `engine.upload_post.api_key_ref`) | ✅ wired | | `meta-graph` / `meta-ads` | Graph Ads API per project BM/token ...

Details

Author
Lifecycle-Innovations-Limited
Repository
Lifecycle-Innovations-Limited/claude-ops
Created
3 months ago
Last Updated
today
Language
Shell
License
MIT

Integrates with

Similar Skills

Semantically similar based on skill content — not just same category

AI & Automation Solid

ops-socials

Public social channels command center — X/Twitter, LinkedIn, Threads, Bluesky, Mastodon. Routes reads via x-research-skill + x-mcp (or mcp__x-mcp__*), posts via Typefully MCP (ban-safe, multi-platform), and LinkedIn voice/craft via linkedin-skills. Stages drafts; never auto-publishes. Use when the user says socials, post, tweet, thread, draft, schedule a post, search X, what is X saying about, AI twitter, AI news, monitor a profile, LinkedIn post, or runs /ops-socials. NOT for private DMs/email/Slack/WhatsApp — those go through /ops-comms.

20 Updated today
Lifecycle-Innovations-Limited
Data & Documents Featured

content-planner

GSC-driven content calendar. Pulls real Search Console data, finds the highest click-potential opportunities (striking-distance queries at positions 5-20, unanswered query intent, related-keyword expansions), and produces a dated, prioritized content calendar — ready to hand to /content-writer. Use when the user asks "plan my content", "what should I write next", "content calendar", "content plan", "content roadmap", "editorial calendar", "what topics will rank", "find quick-win SEO topics", "click-potential analysis", or "schedule my SEO content".

3,289 Updated 5 days ago
nowork-studio
Code & Development Listed

socials

Publishing and discoverability - fire whenever the user wants to post, announce, launch, or promote anything (a LinkedIn post, an X thread, a Show HN, a launch/reflection draft), wants something findable (GitHub repo invisible in search, topics/description/social preview), or asks for a hook, post draft, or post image/GIF. Runs decide -> optimize -> draft -> post; the human always does the actual posting. Load references/linkedin.md, references/github.md, references/visuals.md on their triggers. Not for long-form video production, and not for in-repo docs (workflow step 4 owns those).

1 Updated 3 days ago
Stepkar2004