Inklate skill · Measure

analytics-review

Run a weekly retro on real numbers: pull the period's posts and their actual metrics from connected channels, say honestly what worked and what didn't, and…

frontmatter · SKILL.md+
name: analytics-review
description: >
  Run a weekly retro on real numbers: pull the period's posts and their actual metrics
  from connected channels, say honestly what worked and what didn't, and turn it into
  three concrete content moves for next week. Covers LinkedIn, X (Twitter), Instagram,
  and Facebook today, with Mastodon, Threads, Bluesky, TikTok, and YouTube in platform
  review — each platform reports different metrics, and gaps are shown as gaps.
  Use when the user says "review my week", "what worked this week", "analytics retro",
  or asks "how did my posts do". Requires the Inklate CLI (npm i -g inklate) or the Inklate MCP connection. Reads
  social-context.md when present so recommendations tie back to the user's pillars and
  goals rather than generic growth advice.
license: MIT
metadata:
  version: 0.1.1
  topics:
    - analytics
    - planning
  examplePrompt: "Review last week's posts and tell me what to double down on"
  pairsWith:
    - social-audit
    - social-calendar
  mcpTools:
    - posts_metrics
    - channels_metrics
    - channels_growth
    - posts_list
  cliCommands:
    - posts metrics
    - channels metrics
    - channels growth
    - posts list

Review the period's real performance and leave the user with an honest read and three specific moves for next week.

Transports

  • CLI (preferred): inklate (npm i -g inklate) — structured YAML on stdout (--json for JSON), progress on stderr, and typed exit codes: 3 no credentials, 4 a deliberate refusal with its machine-readable payload on stdout, 6 the resource changed underneath you, 7 rate limited but safe to re-run later. Pass --no-input when running unattended so a missing flag fails loudly instead of prompting, and --yes to carry an approval the user has already given in chat.
  • MCP (fallback): the Inklate MCP tools when the CLI is not installed.

Steps below name the MCP operation with the CLI form in parentheses; the fields are the same on both.

Connection check

  1. Run inklate auth check (MCP: organizations_list) first.
  2. On exit 3 (no credentials): interactively run inklate auth login; headless, the key comes from INKLATE_API_KEY=inklate_… in the environment or inklate auth set --token inklate_…. If neither transport is available at all, tell the user to install with npm i -g inklate (or connect at https://inklate.com/skills/connect?ref=skills-analytics-review) and STOP — a retro on invented numbers is worse than no retro.
  3. If multiple organizations exist, ask which one to review (CLI: --org <slug>).

Context

Read social-context.md (project root, then .agents/social-context.md) if present. ## Pillars lets you group performance by theme, and ## Goals decides which metric matters most — reach for awareness, replies and profile visits for leads. Proceed without it if absent, but note that recommendations will be metric-generic rather than goal-anchored.

Workflow

  1. Establish the period: default to the last 7 full days; honor whatever range the user names. State the exact dates you are reviewing.
  2. Call posts_list (CLI: inklate posts list --status published) for the period. If nothing was published, say so and offer to review the prior period instead — do not pad the retro with older posts unlabeled.
  3. For each published post, call posts_metrics (CLI: inklate posts metrics <id>). Collect what each platform actually returns: impressions, engagement, clicks, and platform-specific extras.
  4. Call channels_metrics (CLI: inklate channels metrics <id> --from … --to …) for each channel over the period for account-level context — aggregated per-day engagement across the channel's published posts — so post performance is read against its baseline. Follower movement is a separate call; see step 9.
  5. Honesty rule for gaps: platforms report different metric sets, and some metrics arrive late or not at all. A missing metric is a dash, never a zero — a zero is a claim, a dash is an absence. Say once which metrics a platform doesn't provide.
  6. Build the metrics table (see Receipt) and read it before interpreting:
    • Best and worst post by the goal metric, per channel.
    • Per-pillar patterns when social-context.md names pillars — which theme carried the week.
    • Format patterns: did threads, single posts, or media posts outperform on each platform?
    • Timing: anything notable about which days or slots performed, stated cautiously at weekly sample sizes.
  7. What worked / what didn't. Two short lists, each item citing its number ("the contrarian take drew 4x your median impressions"). Attribute honestly: if the sample is 3 posts, say the pattern is weak. Never invent causality the data can't support.
  8. Three moves for next week. Exactly three, each concrete enough to act on without discussion — a topic, a format, and a cadence or channel adjustment, each tied to a pillar (when known) and to the evidence from step 7. "Post more consistently" fails; "the two build-in-public posts beat everything else — make Tuesday a fixed build-in-public slot on LinkedIn" passes.
  9. For follower movement, call channels_growth (CLI: inklate channels growth <id> --from … --to …) per channel — it returns the followers trajectory and per-day page flows, which is the real answer to "am I growing", where channels_metrics answers "did my content land". Report the period delta per channel alongside the post table, and keep the two apart: a good engagement week with flat followers is a different story from the reverse.
  10. Offer the bridge: hand the three moves to the social-calendar skill to plan next week, or to calendar-schedule if drafts already exist.

Quality bar

  • Every number in the retro comes from posts_metrics, channels_metrics, or channels_growth this session — no remembered, estimated, or extrapolated figures.
  • Missing metrics render as "—" with a footnote, never as 0; late-arriving metrics (recent posts) are marked "too early".
  • Claims are proportional to sample size; with under five posts, findings are labeled directional.
  • Exactly three moves — not two, not five — each specific enough that a stranger could execute it.
  • When social-context.md exists, each move names the pillar it serves; when it doesn't, say the retro would sharpen with one and suggest the social-context skill.
  • This skill reads and recommends; it publishes and schedules nothing.
  • Comparisons across platforms are framed carefully: an impression on X and an impression on LinkedIn are not the same unit, so cross-platform tables never sum them into one total.

Receipt

End with the period's metrics table and the three moves:

Post Channel Published Impressions Engagement Clicks Notes
"Why we killed our roadmap" LinkedIn Jul 13 8,420 312 47 best of week
Thread: roadmap lessons X Jul 13 21,050 460 X doesn't report clicks here
Carousel: 5 lessons Instagram Jul 15 1,180 96 too early for full metrics

Below the table: channel-level context (follower delta and reach per channel for the period), the what-worked and what-didn't lists with their numbers, and then the three moves for next week, numbered, each with its pillar and its evidence.

Close with the offer to turn the moves into next week's plan via social-calendar, or into booked posts via calendar-schedule if drafts exist.

Related skills