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-performanceInstalls into whichever agent you are using.
SKILL.md
Installable skill definition
Quality Score
Category
AutomationSupported Platforms
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.
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.
| Skill | Score | Stars | Updated | Format |
|---|---|---|---|---|
| analyze-performance (this skill)by gooseworks-ai | 86 | 1.2k | 33d ago | SKILL.md |
| Agent-Reachby Panniantong | 100 | 102.4k | 1d ago | CLAUDE.md |
| Scraplingby D4Vinci | 100 | 89.7k | 3d ago | MCP Server |
| rufloby ruvnet | 100 | 79.3k | today | MCP Server |
| algorithmic-artby anthropics | 100 | 177.9k | 33d ago | SKILL.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.
Skill content
View source on GitHubname: 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>.mdand 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
- Setup first: do the
marketing-guideskill (../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. - Read the brain and the plan (free; local mode:
references/local-mode.mdinstead). 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_readsectionssummary, kit, products, learnings, onboarding, accounts, andknowledge_search["learning"]for past results. Thengooseworks: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(frontmattermeta_push_ids, health line, open recommendations) and the### YYYY-MM-DD โ <title>blocks ofdecisions.md(what was actually done โ written by run-paid-campaigns and the server), make-static-ads' batch filesads/batches/<YYYY-MM-DD>-<slug>.md(creative id โ angle, hook, test; picks),lifecycle/program.md(which flows exist), the newestresearch/competitors/watch/<YYYY-MM-DD>.md(line 2), and research-market's "What people are saying" section โ in the newestresearch/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). - Load the last runs โ the Start steps of the
run-memoryskill (../run-memory/SKILL.md) for this job (weekly performance read,monthly readordaily 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. - 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. - 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.
- Hygiene, maturity, coverage โ atom the
analyze-performance-intakeskill (../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) todefinitions.mdand register it as a brand document through thesave-to-brainskill (../save-to-brain/SKILL.md) (versioned: supersede); re-check the roster against the briefs andstate.mdand 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. - Business truth and the join โ atom the
analyze-performance-revenue-joinskill (../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. - Plumbing and the why โ atom the
analyze-performance-diagnoseskill (../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. - Creative ranking and channel reads โ atom the
analyze-performance-rank-and-readskill (../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. - Tests and recommendations โ atom the
analyze-performance-call-and-learnskill (../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. - Write and show the report โ through the
write-reportskill (../write-report/SKILL.md), inreferences/monday-report.md's shape (topicperformance-read; brand copyreports/performance/<YYYY-MM-DD>.md, titlePerformance 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. - 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 thesave-learningskill (../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). - Save the run โ the End steps of the
run-memoryskill (../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"). - Monthly read when routed above โ
references/monthly-and-pulse.md, with its ownmonthly readrecord (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
Agent-Reach
102.4kGive your AI agent eyes to see the entire internet. Read & search Twitter, Reddit, YouTube, GitHub, Bilibili, XiaoHongShu โ one CLI, zero API fees.
Scrapling
89.7k๐ท๏ธ A Web Scraping framework that handles everything from a single request to a full-scale crawl! Don't be shy, join here: https://discord.gg/EMgGbDceNQ and follow here for daily tips and tricks: https://x.com/Scrapling_dev
ruflo
79.3k๐ The original agent harness. Deploy intelligent multi-player swarms, coordinate autonomous workflows, and build conversational AI systems. Features adaptive memory, self-learning intelligence, federation, vector RAG integration, and native Claude Code / Codex / Hermes and many more Integrated
algorithmic-art
177.9kCreating algorithmic art using p5.js with seeded randomness and interactive parameter exploration. Use this when users request creating art using code, generative art, algorithmic art, flow fields, or particle systems.
Languages
Trust signals
From repository metadata: license, adoption, age and documentation. Not a code audit โ see the Safety scan above for what the skill file itself contains.
