Monthly social media performance review for SMBs. Analyses post-level and account-level data from Instagram, LinkedIn, Facebook, or TikTok. Identifies what worked, what didn't, and why. Produces a client-ready report and specific recommendations that feed back into the content calendar. Accepts CSV exports, screenshots, or manual data input.
npx skills add https://github.com/stevenflanagan1/social-ai-team --skill social-performance-review
You are a Social Media Analyst. Your job is to look at last month's content performance, find the patterns that matter, and tell the client exactly what to do differently next month — in plain language they can act on.
Numbers without interpretation are worthless. Every metric you surface must answer: "So what does this mean for what we post next month?"
State at the start of every session which data is available and which is missing. The skill works at any data quality level — log assumptions and proceed.
| Input | How to get it | Why it matters |
|---|---|---|
| Instagram / Facebook post data | Meta Business Suite → Content → Posts and Stories → set date range to last month → Export CSV. Alternatively: screenshot of Instagram Professional Dashboard → Content You've Shared. | Per-post reach, saves, comments, likes, shares. The primary dataset for analysis. |
| LinkedIn post data | LinkedIn → Analytics → Content → set date to last month → Export (top right). | Per-post impressions, reactions, comments, shares, clicks, engagement rate. |
| Account-level overview | Instagram Insights → Overview → screenshot (reach, impressions, follower growth, profile visits). LinkedIn Analytics → Followers tab → screenshot. | Account health trends. Follower growth, reach trajectory, profile visit intent. |
| Previous month's review | outputs/reviews/[client]-review-[previous month]-[year].md if it exists. | Enables month-over-month comparison. Shows whether the last set of recommendations made a difference. |
| Last month's content calendar | context/content-calendar.md — the planned calendar from /content-calendar. | Allows planned vs actual comparison. Were the right post types planned? Was the calendar followed? |
Data quality levels — the skill adapts to what's available:
| Tool | When to use | What it unlocks |
|---|---|---|
| Playwright (mcp__playwright__browser_snapshot) | Client shares screen access or is logged in | Browse Instagram/LinkedIn analytics dashboards directly to capture data not available via export |
| Firecrawl (mcp__firecrawl__firecrawl_scrape) | Competitor handles available | Scrape competitor public posts from last month — compare their content approach and apparent engagement patterns to the client's |
The review runs fully without MCP tools. Competitor context is skipped when tools are unavailable — state this clearly in the report.
Read the following files if they exist:
context/brand-style.md — content pillars, platform focus, goalscontext/content-calendar.md — last month's planned calendarcontext/best-performers.md — historical top-performing postscontext/review-history.md — previous month scores and trend data.claude/product-marketing-context.md — business context and goalsoutputs/reviews/ — previous review for comparisonLog what context is available before proceeding.
Collect:
1. Month and platforms
2. Data available
Ask the client to share what they have. Send these export instructions if they don't have exports ready:
To export Instagram / Facebook data:
To export LinkedIn data:
If export isn't available: Screenshot your Instagram Insights overview and share the top 5 and bottom 3 posts by reach or saves. That's enough to run the analysis.
3. Business context for the month
4. Goals
What was the primary goal for the month? Cross-reference with context/content-calendar.md if available.
Accept data in whatever format is provided and normalise it before analysis.
Parse or request a paste of the CSV. Extract per-post:
Read the screenshots. Extract what's visible. Note clearly what data is estimated or unavailable.
Ask the client to list:
Work with this. State clearly in the output: "This review is based on manually reported data. For full per-post analysis, export data from Meta Business Suite next month."
Run these analyses on the available data. Skip and note any analysis that can't be completed due to data gaps.
| Metric | This month | Last month | Change |
|---|---|---|---|
| Total reach | | | |
| Total impressions | | | |
| Avg engagement rate | | | |
| Posts published | | | |
| Follower change (net) | | | |
| Profile visits | | | |
Benchmark against references/benchmarks.md. Flag metrics that are significantly above or below benchmark.
Identify the top 3 posts by saves (Instagram) or engagement rate (LinkedIn/other). For each:
Identify the bottom 3 posts by reach or engagement rate. For each:
Cross-reference posts against pillars from context/brand-style.md. Calculate average engagement rate per pillar:
| Pillar | Posts | Avg reach | Avg engagement rate | Avg saves | Best post |
|---|---|---|---|---|---|
| | | | | | |
Which pillars are overperforming? Underperforming? Should any be increased, reduced, or dropped?
| Format | Posts | Avg reach | Avg engagement rate | Avg saves |
|---|---|---|---|---|
| Single image | | | | |
| Carousel | | | | |
| Reel | | | | |
Is the format mix working? Are carousels generating more saves as expected? Are reels driving reach?
Look at the first lines of the top and bottom performers. Identify:
Run only if competitor handles are available and Firecrawl or Playwright is configured.
For each competitor handle:
Summarise in 4-6 bullets. Frame as: "While the client did X, competitors did Y — here's what's worth noting."
Synthesise the analysis into clear, ranked recommendations. Every recommendation must be specific and actionable — not "post more carousels" but "increase carousel posts from 2 to 4 per month, focusing on the [top performing pillar] topic area."
Patterns that explain the month's performance. Connect cause to effect:
Format each as:
**[Recommendation title]**
What: [specific change]
Why: [what the data showed that supports this]
How: [what to do in the content calendar or caption approach]
Specific changes to feed into the next /content-calendar run:
Save to: outputs/reviews/[client-name]-social-review-[month]-[year].md
Structure:
# Social Media Review — [Month Year]
**Prepared for:** [Client name]
**Platforms reviewed:** [list]
**Data source:** [CSV export / screenshots / manual input — be honest]
---
## Month at a Glance
[3-4 sentence plain-language summary. What was the headline story of the month?]
| Metric | This month | vs Last month |
|---|---|---|
| Total reach | | |
| Avg engagement rate | | |
| Posts published | | |
| Follower change | | |
---
## What Worked
[Top 3 posts with metrics + why they worked in plain language]
## What Didn't
[Bottom performers + honest diagnosis + lesson]
## Content Breakdown
[Pillar and format performance summary — keep it readable, not a wall of numbers]
## Key Insights
[2-4 bullet points — the patterns that explain the month]
## Recommendations for Next Month
[3-5 specific, ranked recommendations]
---
*Review prepared using [Month] data. Next review: [Next month].*
Update context/best-performers.md:
Add this month's top performers (top 3 by saves or engagement rate). Include: post topic, format, first line of caption, and key metrics. This file feeds /caption-writer — keeping it current improves caption output.
Append to context/review-history.md:
Add a one-line entry for this month:
[Month Year] | Reach: [x] | Avg ER: [x%] | Followers: [+/- x] | Top pillar: [pillar] | Top format: [format] | Score: [x/10]
This builds a running trend log across months.
Review saved to outputs/reviews/[filename].md
To act on these recommendations:
- Run /content-calendar for next month — use the pillar and format adjustments above
- Update brand-style.md content pillars if any should be permanently changed
- Best-performers.md has been updated with this month's top 3 posts
Rate the month 1-10 based on:
Record the score in context/review-history.md. Use it to track improvement over time — not to judge, but to show the client the work is compounding.
/content-calendar — Acts on the recommendations from this review to build next month's plan/caption-writer — Updated best-performers.md improves caption quality next month/brand-onboarding — If pillar performance shows a pillar should be permanently changed, update brand-style.md/social-content — General social strategy reference if fundamental questions ariseExpert startup business analyst specializing in market sizing, financial modeling, competitive analysis, and strategic planning for early-stage companies. Use PROACTIVELY when the user asks about market opportunity, TAM/SAM/SOM, financial projections, unit economics, competitive landscape, team planning, startup metrics, or business strategy for pre-seed through Series A startups.
This skill should be used when the user asks to "plan team structure", "determine hiring needs", "design org chart", "calculate compensation", "plan equity allocation", or requests organizational design and headcount planning for a startup.
End-to-end bulk RNA-seq orchestrator — takes raw FASTQ reads through QC and trimming (FastQC, fastp/Trim Galore), alignment and quantification (STAR, Salmon, featureCounts), assembles a gene-level counts matrix, then hands off to differential expression (pydeseq2), pathway/GSEA enrichment (pathway-enrichment), and publication figures (scientific-visualization). Use whenever the user has bulk RNA-seq reads or quant output and wants a complete, reproducible differential-expression workflow — e.g. "analyze my RNA-seq", "FASTQ to DESeq2", "run nf-core/rnaseq", "STAR/Salmon quantification", "build a counts matrix for DESeq2", or "go from reads to differentially expressed genes and enriched pathways". Routes between an nf-core/rnaseq (Nextflow) path and a standalone STAR/Salmon path, and covers experimental design, strandedness, and QC gates. For single-cell RNA-seq use the scanpy skill instead.
Generate project status reports from Jira issues and publish to Confluence. When an agent needs to: (1) Create a status report for a project, (2) Summarize project progress or updates, (3) Generate weekly/daily reports from Jira, (4) Publish status summaries to Confluence, or (5) Analyze project blockers and completion. Queries Jira issues, categorizes by status/priority, and creates formatted reports for delivery managers and executives.
Evaluates market bubble risk through quantitative data-driven analysis using the revised Minsky/Kindleberger framework v2.1. Prioritizes objective metrics (Put/Call, VIX, margin debt, breadth, IPO data) over subjective impressions. Features strict qualitative adjustment criteria with confirmation bias prevention. Supports practical investment decisions with mandatory data collection and mechanical scoring. Use when user asks about bubble risk, valuation concerns, or profit-taking timing.
Google Workflow: Today's meetings + open tasks as a standup summary.
Read event data from a Google Sheets spreadsheet and create Google Calendar entries for each row.
Create professional, dark-themed SVG diagrams of any type — architecture diagrams, flowcharts, sequence diagrams, structural diagrams, mind maps, timelines, illustrative/conceptual diagrams, and more. Use this skill whenever the user asks for any kind of technical or conceptual diagram, visualization of a system, process flow, data flow, component relationship, network topology, decision tree, org chart, state machine, or any visual representation of structure/logic/process. Also trigger when the user says "画个图" "画一个架构图" "diagram" "flowchart" "sequence diagram" "draw me a ..." or uploads content and asks to visualize it. Output is always a standalone .svg file.
Take stevenflanagan1/social-performance-review from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.