/socialforge:ingest-performance — real numbers into the wins rung
SkillDatabases & dataFeed last month's real numbers into next month's plan: ingest a platform analytics export (CSV from Instagram Insights, LinkedIn analytics, TikTok Studio, X analytics — any export with a post-id column) into per-post performance records, then rank the month's wins with sample floors and margin rules so ideation compounds measured winners, not remembered ones. Triggers on \"/ingest-performance\", \"here are last month's numbers\", \"import analytics\", \"which posts performed best\", \"engagement report\", \"what worked last month\", or whenever ideate-month needs its wins rung fed. Writes performance.json next to the month's tracker; /socialforge:ideate-month reads it and labels every win measured vs anecdotal.
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the /socialforge:ingest-performance — real numbers into the wins rung skill
What this skill tells your AI
The instructions your AI receives, as published by indranilbanerjee/socialforge in skills/ingest-performance/SKILL.md and read by ahel’s review.
/socialforge:ideate-month compounds "what worked last month." Before this
skill, that meant whatever someone remembered in the planning call — and
memory favors the post that felt good, not the one that performed. This skill
turns the platform's own export into the record ideation reads.
Step 1 — Get the export
Ask the user for the analytics export covering the month. Any CSV works if it
has a column identifying the post (post_id, post, id) that matches the
calendar's post ids, plus whichever metrics the platform provides
(impressions/views, likes/reactions, comments, shares/reposts, saves, clicks,
follows — header aliases are normalized automatically). If the export keys
posts by URL or caption instead of the calendar id, help the user add a
post_id column first — matching is by calendar id, deliberately: wins must
map back to the topics and pillars that produced them.
Step 2 — Ingest
python ${CLAUDE_PLUGIN_ROOT}/scripts/ingest_performance.py --action ingest \
--brand {brand} --month {YYYY-MM} --csv {export.csv} --source "{platform} export"
- Rows matching calendar post ids are stored in
output/{brand}/{month}/performance.json(repeat ingests append — one CSV per platform is normal). - Unmatched rows are listed in the output, never silently dropped. Show the user the unmatched list; a typo'd id is data lost from the wins rung.
- Exit 3 = nothing matched. Stop and reconcile ids before proceeding.
Step 3 — Rank the wins
python ${CLAUDE_PLUGIN_ROOT}/scripts/ingest_performance.py --action wins \
--brand {brand} --month {YYYY-MM}
The ranking is deliberately conservative:
- Sample floor (default 100 impressions): a post nobody saw cannot be a
win, only noise. Below-floor posts are reported as
unrankedwith the reason. - Margin rule (default 1.5× the month's median engagement rate): a "win" must beat the month, not merely top a flat list.
- Unmeasured is not zero: missing impressions →
engagement_rate: null, and the post lands inunranked, not at the bottom of the ranking. - A flat month returns
"status": "no_clear_wins"— report that honestly. Compounding a non-win manufactures a false signal for next month's plan.
Step 4 — Hand off to ideation
Relay the wins output to /socialforge:ideate-month (its "last month's
results" input). Winners carry their topic, pillar, tier, and
vs_month_median multiple, so ideation can design follow-ups that compound
the validated angle — and label each one measured in "What last month
validated". Anything the client reports that is NOT in the ranked output is
still usable, labeled anecdotal.
Pairs with
/socialforge:ideate-month— consumes the wins output; measured beats remembered/socialforge:finalize-month— closing a month is the natural moment to ingest its numbers
Signals
- GitHub stars
- 38
- Forks
- 6
- Last commit
- Aug 2026
Advanced
- Catalog kind
- skill
- Gateway key
ingest-performance- Source
- github.com/indranilbanerjee/socialforge