
report-generator
Use when the user asks to "create a campaign report", "build an executive summary", or "deliver client results"; produces audience-tailored influencer marketing reports (executive, client, internal team) with data tables, narrative, key learnings, and recommendations. Not for raw metric computation — use performance-analyzer. 达人营销报告/结案汇报
- Installs
- 1K
- Last 24h
- —
- Trending rank
- —
- Security
- Not audited
Install
Works with every agent the skills CLI supports.
npx skills add https://github.com/aaron-he-zhu/aaron-marketing-skills --skill report-generator- 01
Install
Run the command in your project. The CLI asks which agents to install for.
- 02
Describe the task
Ask your agent for something this skill covers. It loads report-generator automatically when relevant.
- 03
Review the result
The agent follows the SKILL.md steps, scripts and references bundled with the skill.
SKILL.md
The instructions your agent reads when the skill is triggered.
Report Generator
This skill helps you create professional influencer marketing reports that tell the story of your campaign performance. It adapts content and depth based on the audience.
Cross-discipline (paid ads): this is also the paid-ads reporting surface — build exec/client/channel reports from RQS history (
memory/audits/ad/) and measurement-loop readback verdicts. It presents metrics; it does not compute them (return math stays in roi-calculator). Save paid runs undermemory/ad/report-generator/.
Quick Start
Shortest invocation:
Create a campaign report for [campaign name] for [audience: executive/client/team]
Common scenario:
Generate an executive summary for our Q3 influencer campaigns
Skill Contract
- Reads: campaign name, reporting period, target audience, opaque
client_ref,preparer_ref,contact_ref, andowner_refvalues when those roles appear, plus already-computed metrics with their provenance, window, target/comparator, and source artifact refs. ROI/ROAS/net-return values must come from roi-calculator, and performance deltas/rankings from performance-analyzer; raw spend plus revenue is not a computed ROI handoff. Reuse opaquecreator_refvalues from those artifacts, the optional tracker/stage, and an existing Campaign Retro Card. Raw client/staff/owner names, email addresses, and organization labels are transient resolver inputs only. - Writes: return the finished audience-appropriate report inline by default. Preserve only a current scope-bound Campaign Retro Card from
performance-analyzer; if it is absent or invalid, include anunknownplaceholder rather than deriving a decision. Save the report/card together tomemory/influencer/report-generator/YYYY-MM-DD-<topic>.mdonly with exact WARM-save authorization. Every saved report, template field, appendix, and handoff uses opaqueclient_ref,preparer_ref,contact_ref,owner_ref,creator_ref, and artifact/source refs—never resolved client/staff/owner/creator names, organization labels, contact emails, profile URLs, or provider IDs. Resolve those refs only in-memory for one explicitly named audience's transient render, discard the resolution afterward, and never save the mapping. Any external send/share/export requires a new exact authorization naming the report artifact/version, recipient audience, delivery channel, and identity/asset refs allowed for that audience; report creation or WARM save does not authorize distribution. - Promotes: only with separate exact authorization, promote durable evidence-backed facts (verified final ROI/ROAS, measured performance baselines, and headline learnings) to
memory/hot-cache.md. The Retro Card's qualitativerenew | retest | retire | unknowndecision, rationale, next hypothesis, and limitations remain WARM and are not creator-registry facts. This skill makes no creator-registry proposal: after a creator row is closed, only a separately authorized, evidence-backed actual rate, signed rights window/expiry, or measured performance baseline may be proposed by the owning workflow; creator-registry alone decides whether it becomes canonical. - Done when:
- The report matches the requested audience template (executive, client, team, or board).
- Every metric is paired with compatible source-dated context (target, benchmark, or prior period) or explicitly marked
Unknown/NEEDS_INPUT; the report does not manufacture context or recompute missing performance/return metrics. - The report ends with concrete recommendations and, where relevant, action items.
- When current tracker-state evidence proves
measuredorclosed, the report package preserves the matching performance-analyzer Retro Card with exact campaign/creator/state/measurement/decision-rule refs; a missing or invalid card produces anunknownplaceholder andNEEDS_INPUT, never a newly derived decision. - Saved/copyable output contains only opaque client/preparer/contact/owner/creator refs; any resolved labels/contact details exist only in a transient render for the declared audience, and external distribution is blocked without a fresh audience-scoped exact authorization.
- Primary next skill: content-quality-auditor
Handoff Summary
Emit the standard shape from skill-contract.md §Handoff Summary Format.
Data Sources
This family ships Tier 1: no live integration is required. Give it already-computed, provenance-labeled campaign metrics and it builds the report. If only raw observations are supplied, route metric analysis to performance-analyzer; if only spend/revenue/LTV inputs are supplied, route return math to roi-calculator before reporting.
Optional connectors that can pre-fill data where available:
~~social platform analytics— reach, impressions, engagement, video views per post~~influencer database— creator handles, tiers, fees, audience demographics~~analytics— link clicks, conversions, attributed revenue~~CRM— new-customer counts and downstream revenue
Without any of these, the skill asks for the existing computed artifacts/metrics. It may return a partial report shell, but any missing dependent claim remains Unknown/NEEDS_INPUT; it does not calculate ROI/ROAS, rankings, attribution, or causal drivers here. See CONNECTORS.md for the free/keyless data recipe per category.
Instructions
When a user requests a report:
-
Determine report parameters — set report type (post-campaign/monthly/quarterly/annual), campaign(s), period, one explicit audience, opaque
client_ref/preparer_ref/contact_ref/owner_refvalues where applicable, and supplied tracker stage when present. Match depth to the audience: executive wants ROI and strategy at a high level; client wants results and value; team wants detailed learnings and optimization; board wants business impact. Keep any raw identity/contact locator transient. See the audience-needs matrix in report-templates.md. -
Pick the audience template and fill it in — full executive, client, and internal-team templates live in report-templates.md. Pull performance metrics/deltas only from
performance-analyzeroutput and financial ratios only fromroi-calculatoroutput. If the required computed artifact is absent, return a partial shell plusNEEDS_INPUTand the exact handoff; do not recompute from raw numbers. Pair every metric with compatible source-dated context or mark the comparison pending. -
Apply visualization and writing guidance — choose the right chart per data point and per audience, and follow the lead-with-outcomes narrative arc. See the visualization recommendations and writing best practices in report-templates.md.
-
Close with recommendations and action items — end every report with concrete next steps; add an opaque
owner_ref/deadline action-items table for team and board audiences. -
Represent the measured cycle without re-deciding it — only preserve an existing Campaign Retro Card from
performance-analyzerwhen it explicitly binds the samecampaign_id, opaquecreator_ref, current non-forked measured/closed tracker-state ref, locked measurement contract, and precommitted decision-rule ref. Never derive or change the decision in this reporting skill. If the card is absent, mismatched, or stale, emit a bounddecision: unknownplaceholder plusNEEDS_INPUTfor the performance-analyzer artifact. Keep the card outside a client/board-facing copy unless the user requests it. -
Return, then offer persistence or distribution — return the ref-only report and any Retro Card inline. Offer
memory/influencer/report-generator/YYYY-MM-DD-<topic>.md(ormemory/ad/report-generator/for paid runs) for exact WARM-save authorization; the saved artifact keepsclient_ref,preparer_ref,contact_ref, andowner_refunresolved. If the user requests a human-readable audience copy, resolve only the approved refs in-memory for that one explicit audience and discard the mapping after rendering. Before any external send/share/export, require a new exact authorization naming the exact report artifact/version, recipient audience, delivery channel, and allowed identity/asset refs; never infer distribution authority from report generation, transient rendering, or WARM save. Request a separate authorization before promoting any eligible durable fact tomemory/hot-cache.md. After an authorized save, offer a handoff to campaign-planner to append the saved artifact reference to the relevant tracker row'sevidence_refs; that tracker edit needs a fresh path-and-operation-scoped exact WARM authorization, and this skill neither edits the tracker nor advances itsstage. -
Offer, do not launch, the next-cycle assessment — if the user wants to select the next roster, offer an explicit handoff to fit-scorer with the Retro Card's cited evidence and
next_campaign_hypothesis. Do not invoke it automatically and do not translate, invent, or carry forward a STAR/SQS verdict from the qualitative Retro decision.
Example
User: "Create an executive report for Holiday Campaign 2024. roi-ref-01 already reports $50K spend, $165K attributed revenue, 230% arithmetic ROI and 3.3:1 ROAS on its declared verified basis. performance-ref-01 reports 3.5M reach across 15 opaque creator refs and calculated target deltas. The preregistered targets were $100K attributed revenue, 2:1 ROAS, and 2M reach. No segmented breakdown or reallocation rule is included."
Output (excerpt — full template in report-templates.md):
# Holiday Campaign 2024: Executive Summary
## Bottom Line: Campaign Exceeded the Supplied Targets ✅
**ROI: 230% (`roi-ref-01`)** | **ROAS: 3.3:1 (`roi-ref-01`)** | **Attributed Revenue: $165,000**
Metric status: financial values and their calculation/provenance come from `roi-ref-01`; reach and target deltas come from `performance-ref-01`. This report formats those outputs and performs no return or attribution recomputation. No incremental-revenue claim is made.
| Metric | Target | Actual | Status |
|--------|--------|--------|--------|
| Attributed revenue | $100K | $165K | ✅ +65% |
| ROAS | 2:1 | 3.3:1 | ✅ +65% |
| Reach | 2M | 3.5M | ✅ +75% |
### Recommendation
The supplied overall figures clear the supplied targets. A platform, creator-tier, content-format, or budget-change recommendation is `NEEDS_INPUT` because no segmented results or decision rule was supplied; request that evidence before proposing a Q1 reallocation.
Reference Materials
- report-templates.md — full executive/client/team templates, visualization recs, writing best practices, worked example
- skill-contract.md — shared contract and handoff format
- state-model.md — memory tiers and save-path convention
- CONNECTORS.md — free/keyless data recipes per connector category
- performance-analyzer — generates the metrics this report consumes
- roi-calculator — supplies ROI/ROAS figures
- campaign-planner — original plan to compare results against
- content-amplifier — amplification results to report on
- content-quality-auditor — quality gate for the report itself
Next Best Skill
Primary: content-quality-auditor — run the finished report through the publish-readiness gate before it goes to a stakeholder.
Alternates (same report phase / influencer family):
- performance-analyzer — if the report exposes data gaps, re-analyze before re-reporting.
- roi-calculator — recompute return figures if the financial inputs changed.
Termination note (visited-set): if a recommended skill has already been invoked this session, stop and report the chain as complete instead of re-running it. Honor a max chain depth of 3 hops to avoid loops.
FAQ
What does the report-generator skill do?
Use when the user asks to "create a campaign report", "build an executive summary", or "deliver client results"; produces audience-tailored influencer marketing reports (executive, client, internal team) with data tables, narrative, key learnings, and recommendations. Not for raw metric computation — use performance-analyzer. 达人营销报告/结案汇报
How do I install report-generator?
Run npx skills add https://github.com/aaron-he-zhu/aaron-marketing-skills --skill report-generator in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/report-generator/ (personal) or .claude/skills/report-generator/ (project).
Which AI agents can use report-generator?
Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.
Is report-generator safe to install?
No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.
Who maintains report-generator?
It is published by aaron-he-zhu in aaron-he-zhu/aaron-marketing-skills. It has 1,027 recorded installs.
More from aaron-he-zhu/aaron-marketing-skills
keyword-research
aaron-he-zhu/aaron-marketing-skills
Use when the user asks to "find keywords", "挖词", or "搜什么词"; prioritizes search volume, keyword difficulty, intent, and topic clusters from provided or connected data. Not for competitor-relative coverage gaps — use content-gap-analysis. 关键词研究/内容选题
content-writer
aaron-he-zhu/aaron-marketing-skills
Use when the user asks to "write SEO content", "draft a blog post / landing page", "update outdated content", or "fix traffic/ranking decay"; two modes — new drafts pages with keywords, headers, snippets, and evidence boundaries; refresh scores decay, prioritizes update work, and produces a republish plan with GEO guidance. Not for AI-citation/GEO readiness scoring — use geo-content-optimizer; not for publish-gate scoring — use content-quality-auditor. SEO文章写作/内容更新/排名恢复
geo-content-optimizer
aaron-he-zhu/aaron-marketing-skills
Use when the user asks to "optimize for AI citations"; improves citation readiness for ChatGPT, Perplexity, AI Overviews, Gemini, and Claude. Not for structural on-page SEO — use on-page-seo-checker; not for net-new drafting — use content-writer. AI引用优化/GEO优化/AI搜索
content-quality-auditor
aaron-he-zhu/aaron-marketing-skills
Use when auditing content quality, E-E-A-T, or publish readiness; runs a typed 80-item CORE-EEAT profile with evidence coverage, veto checks, and a fix plan. Not for structural tags/headers alone — use on-page-seo-checker; not for domain/citation trust — use domain-authority-auditor. 内容质量/EEAT评分
competitor-analysis
aaron-he-zhu/aaron-marketing-skills
Use when the user asks to "analyze competitors" or "竞品分析"; benchmarks competitor keywords, content, backlinks, AI citations, and traffic share into strengths, weaknesses, and an action plan. Not for a pairwise topic-coverage gap map — use content-gap-analysis. 竞品分析/竞争对手
technical-seo-checker
aaron-he-zhu/aaron-marketing-skills
Use when the user asks to "check technical SEO"; audits crawlability, indexing, Core Web Vitals, robots.txt, sitemaps, canonicals, redirects, and migrations. Not for on-page tags or content — use on-page-seo-checker. 技术SEO/网站速度
Popular docs & writing skills
grill-with-docs
mattpocock/skills
A relentless interview to sharpen a plan or design, which also creates docs (ADR's and glossary) as we go.
lark-markdown
open.feishu.cn
飞书 Markdown:查看、创建、上传、编辑和比较飞书中的原生 Markdown 文件。当用户要操作飞书 Markdown 文件,或比较其远端版本及本地草稿时使用。纯本地 Markdown 文件操作不触发本 skill。不负责将 Markdown 导入为飞书在线文档,也不负责文件搜索、权限、评论、移动、删除等云空间管理操作。
writing-beats
mattpocock/skills
Writing, exploit; assemble raw material into a journey of beats, grounding each term before a beat leans on it.
writing-shape
mattpocock/skills
Writing, exploit: shape raw material into an article, paragraph by paragraph.
writing-fragments
mattpocock/skills
Writing, explore: mine raw fragments, no structure yet.
writing-for-agents
mattpocock/skills
Writing documents for agents. Use when creating or editing skills, or modifying AGENTS.md or CLAUDE.md.