SkillAgentSearch skills...

analyze-performance

Weekly performance read across every channel we run: what worked, why, and what to make next, judged on the business's real number (store revenue, qualified pipeline, retained users), not platform claims

Install / Use

npx skills add gooseworks-ai/goose-skills --skill analyze-performance

Installs into whichever agent you are using.

About this skill
๐Ÿ“„

SKILL.md

Installable skill definition

Quality Score

86/100

Category

Automation

Supported Platforms

Universal

Tags

Our assessment of analyze-performance

analyze-performance scores 86/100 on our quality scale, 1907th of 2,912 Automation skills we index.

Its SKILL.md is 15 KB long, well organised into 8 sections and no code examples: a thorough specification that gives an agent plenty to work with.

With 1,222 GitHub stars, it is one of the more widely adopted skills in the catalogue.

Substance
30/30
Structure
13/20
Description
15/15
Adoption
13/20
Freshness
15/15

Maintenance, license and trust

  • The repository was last updated 33 days ago, so analyze-performance is actively maintained.
  • It is released under the MIT license, a permissive license that allows use, modification and commercial use with attribution.
  • Its trust signals score 100/100, with no cautions. These come from repository metadata, not a code audit โ€” read the skill file before letting an agent act on it.

analyze-performance compared with similar skills

All 4 of these similar skills score higher than analyze-performance; compare them before choosing.

SkillScoreStarsUpdatedFormat
analyze-performance (this skill)by gooseworks-ai861.2k33d agoSKILL.md
Agent-Reachby Panniantong100102.4k1d agoCLAUDE.md
Scraplingby D4Vinci10089.7k3d agoMCP Server
rufloby ruvnet10079.3ktodayMCP Server
algorithmic-artby anthropics100177.9k33d agoSKILL.md

Frequently asked questions

How do I install analyze-performance?
Run npx skills add gooseworks-ai/goose-skills --skill analyze-performance. The install tabs above show the steps for each supported agent.
Which AI agents does analyze-performance work with?
It is written for Universal, as a SKILL.md file. Other agents that read the same format can often use it too.
Is analyze-performance safe to use?
It is MIT-licensed and scores 100/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
Is analyze-performance still maintained?
The repository was last updated 33 days ago, so analyze-performance is actively maintained.

name: analyze-performance description: >- Weekly performance read across every channel we run: what worked, why, and what to make next, judged on the business's real number (store revenue, qualified pipeline, retained users), not platform claims. Use when: write my Monday report; how are my ads doing โ€” which ad won?; are my ads actually making money (Meta says 4x ROAS but revenue is flat); why did sales drop this week; did the test win; is my tracking working; monthly numbers for the replan; anything on fire today. Not for acting on the recommendations (pausing, scaling, launching) โ€” use run-paid-campaigns; not for replanning the budget โ€” use plan-campaign. version: 0.1.2

analyze-performance

What you get

  • The Monday report โ€” saved to reports/performance/<YYYY-MM-DD>.md and shown in chat, the same shape every week (references/monday-report.md); run-paid-campaigns decides and acts on its recommendations.
  • Learnings written to the brand brain after the marketer has seen and kept them; ended tests' measured results saved as readouts.
  • A run record for next week (references/run-memory.md): the per-channel and per-ad scorecards with the trend since last run, each call with its owner, review date and test, and what happened to last week's calls โ€” saved to the brand, so "what worked" and "what to make next" rest on weeks of history, not one week.
  • Monthly unit-economics read for plan-campaign's replan; daily pulse on request, exception-only (references/monthly-and-pulse.md).

Before you start

  1. Setup first: do the marketing-guide skill (../marketing-guide/SKILL.md) ยง1โ€“2 (connect, brand, brain read) before anything else; the job line is "read your results". This playbook offers local mode (marketing-guide ยง5): with no GooseWorks it reads through the marketer's connectors, else exports and screenshots, and keeps the contract, reports and run records in the local folder. A missing connection is never a blocker: say in one line what this read can and can't see, and go on.
  2. Read the brain and the plan (free; local mode: references/local-mode.md instead). Brain chapters: 18 "How we count results", 20 "Our plan" (targets, decisions, experiments), 22 "Everything we have made and run", 23 "What is working" (readouts, worn-out angles, lessons). Fallback path: brand_read sections summary, kit, products, learnings, onboarding, accounts, and knowledge_search ["learning"] for past results. Then gooseworks:campaign_read โ€” live briefs (Economics, targets, Test plan, Measurement plan, Replan triggers, the change-log slug in Status); workspace (gooseworks:file_list / file_read): reports/performance/definitions.md, the latest dated report and its Decisions, ads/campaigns/<slug>/state.md (frontmatter meta_push_ids, health line, open recommendations) and the ### YYYY-MM-DD โ€” <title> blocks of decisions.md (what was actually done โ€” written by run-paid-campaigns and the server), make-static-ads' batch files ads/batches/<YYYY-MM-DD>-<slug>.md (creative id โ†’ angle, hook, test; picks), lifecycle/program.md (which flows exist), the newest research/competitors/watch/<YYYY-MM-DD>.md (line 2), and research-market's "What people are saying" section โ€” in the newest research/market/<D>-read.md (mentions, sentiment, trends, risks; check the section's own window line before treating it as this week's, and read share of voice only if it is there).
  3. Load the last runs โ€” the Start steps of the run-memory skill (../run-memory/SKILL.md) for this job (weekly performance read, monthly read or daily pulse; references/run-memory.md): the last record, plus up to four weekly records back for the scorecards and angle history; every earlier call checked against a source; run-paid-campaigns' newest run record for each campaign (its money moves and verdicts). No record โ†’ say it's the first read; this run's numbers become the baseline.
  4. Company type and referee โ€” references/measurement-contract.md ยง1. The type decides the referee, the ranking metric, the cadence (B2B under ~20 SQLs a month: weekly = leading indicators, pipeline monthly; services: monthly) and the inputs.
  5. One message, once; nothing asked mid-run. Its contents and the export cheat sheet are references/measurement-contract.md ยง4 (minimum useful read first, history once, big exports in a hosted chat). Add what only this run knows: on the first run, the contract draft with defaults pre-filled (ask only the number and target, margin %, timezone โ€” never technical settings), the roster to confirm, and which store, CRM, billing or analytics tool holds the referee unless the brain or a listed connector shows it (marketing-guide ยง3, "The marketer's own tools"; with none, that leg runs claims-only meanwhile); exports named in the last record's "Not checked" line, by name; the paid run's needs (references/run-memory.md ยง What the one input message also asks for). Missing items are "not checked this week"; a missing referee โ†’ claims-only mode (references/measurement-contract.md ยง5).

GooseWorks reads (connected only): gooseworks:meta_read performance view (Goose ads only, trailing windows ranked by spend โ€” to identify Goose ads and cross-check, not as the week's totals); gooseworks:social_account_list + gooseworks:social_analytics_get (the brand's TikTok/Instagram accounts โ€” other platforms come from the marketer); gooseworks:ads_creative_read (statics' lower-case tags, e.g. angle:a-07, picked; the batch file is the fallback when tags are missing) and gooseworks:video_read (videos' angle and hook names; a video without them is unannotated; an older ads/videos/<project_id>.md note is read only if it exists).

Steps

Route first. "Anything on fire today?" โ†’ run Before you start 1โ€“3, then only the pulse in references/monthly-and-pulse.md โ€” no input message, no contract. "Monthly numbers / replan" (or the first Monday of the month) โ†’ add the customer-level store export to this week's one input message, run the weekly read, then the monthly read. Everything else โ†’ the weekly read below.

  1. Hygiene, maturity, coverage โ€” atom the analyze-performance-intake skill (../analyze-performance-intake/SKILL.md). On a first run, save the contract (confirmed, or as "draft โ€” awaiting confirmation" if the marketer sent exports without confirming) to definitions.md and register it as a brand document through the save-to-brain skill (../save-to-brain/SKILL.md) (versioned: supersede); re-check the roster against the briefs and state.md and propose an amendment when a new channel appears. Strip test/wholesale/staff orders and renewals; net refunds; align timezones; equal-lag comparison; de-duplicate Goose ads against the export by ad id; save the input summary; write the coverage line over the roster.
  2. Business truth and the join โ€” atom the analyze-performance-revenue-join skill (../analyze-performance-revenue-join/SKILL.md), references/revenue-join.md. The type's referee vs last week, the 4-week average and the same week last year (or "vs plan only" for a new brand); for DTC: MER (labelled DTC MER when retail exists), new-customer MER, nCAC, contribution after ads vs break-even; the overclaim ratio on like-for-like terms; marginal vs average; budget pacing vs the month. When platform and blended disagree: both stories at the same grain, a recommendation, the cheapest settling test.
  3. Plumbing and the why โ€” atom the analyze-performance-diagnose skill (../analyze-performance-diagnose/SKILL.md), references/diagnosis.md. Plumbing first (breaks from the numbers, run-paid-campaigns' health line, and "measurement absent by design" with setup steps). Then, for every material move, the cause checklist with evidence, how sure, and ruled-out causes; light page/message match on the top winning and losing ads.
  4. Creative ranking and channel reads โ€” atom the analyze-performance-rank-and-read skill (../analyze-performance-rank-and-read/SKILL.md), references/creative-and-channels.md. Build the per-channel and per-ad scorecards against last run's rows (references/run-memory.md ยง Numbers). Angle โ†’ hook โ†’ format ranked by spend and judged on the type's business event (DTC: purchase CPA within the platform, claimed, capped at likely unless store new-customer orders moved with it); when only an upstream proxy exists (installs, leads, clicks), "cheap <event>, quality unknown" โ€” no winner, no learning, "test" not "scale"; ads without a maker's angle annotation are "unannotated", never guessed from names. Then each rostered channel: email/SMS, organic, Google (+ wasted-spend terms), apps, local, B2B pipeline.
  5. Tests and recommendations โ€” atom the analyze-performance-call-and-learn skill (../analyze-performance-call-and-learn/SKILL.md), references/tests-and-learnings.md. Ended tests called against the brief's criteria; last week's calls scored through run-memory's outcome check (a money move run-paid-campaigns made: its verdict, plus this playbook's store-joined truth check over the same window); "what worked" only what held 2+ runs or won a test, "what to make next" from the history โ€” tiring winners first, nothing that already failed (references/run-memory.md); this week's recommendations with how sure and "would change if" (the decision and the action are run-paid-campaigns'); fired replan triggers; the "what to make next" list; at most ~3 proposed learnings (n floors apply), each showing what it would retire.
  6. Write and show the report โ€” through the write-report skill (../write-report/SKILL.md), in references/monday-report.md's shape (topic performance-read; brand copy reports/performance/<YYYY-MM-DD>.md, title Performance read โ€” <Brand> โ€” <YYYY-MM-DD>, tags [analyze-performance, performance-read], keep-history). Its ยง3 checks, plus: labels per section (truth / claimed / derived); no platform revenue as truth; every rostered channel present; every call says how sure. Its Decisions for you is the one decisions block: which story to run on (if two), which learnings to keep or strike, any contract amendment, any re-test.
  7. On the marketer's reply โ€” re-save the report with a Decisions section; record the story pick in definitions.md; write the kept learnings through the save-learning skill (../save-learning/SKILL.md) (their words as the statement; one idea per learning; own superseded ones retired; say which landed). Nothing becomes a learning unless it appeared in a report the marketer saw. Measured readouts (ended tests called Win or Loss) are saved through save-learning's readout path, never from a scheduled run (references/run-memory.md ยง Experiment readouts).
  8. Save the run โ€” the End steps of the run-memory skill (../run-memory/SKILL.md): the record with the scorecards, the angle history line, this run's calls as recommendations (id, owner, review-by, how we'll know) and the outcomes of the last ones. Re-save it with the marketer's decisions when they reply. The daily pulse writes a pulse record (thresholds checked, breaks or "nothing").
  9. Monthly read when routed above โ€” references/monthly-and-pulse.md, with its own monthly read record (channel scorecard over the month vs the last monthly record).

Approval gates

Nothing here is irreversible: this playbook reads and recommends; it never moves money, changes campaigns or publishes. Its judgment points end at the marketer:

  • Which story to run the business on when platform and blended disagree.
  • Whether a messy test result is enough to act on, or the test runs again.
  • Learnings are written only from the marketer's own words after they have seen them.
  • Kill/scale recommendations become real only when run-paid-campaigns decides on them, behind its money gate.
  • Scheduling the report or pulse is offered once โ€” a scheduled run uses credits, runs claims-only u

Truncated for display โ€” read the full file on GitHub.

Related Skills

View on GitHub
GitHub Stars1.2k
CategoryAutomation
Updated1mo ago
Forks208

Languages

Python

Trust signals

100/100

From repository metadata: license, adoption, age and documentation. Not a code audit โ€” see the Safety scan above for what the skill file itself contains.

No cautions
analyze-performance โ€” Universal Skill: Install & Safety Check | SkillAgent