算法艺术创作
algorithmic-art
通过代码和可调参数创作生成艺术与交互式视觉效果。
kpi-review【设计与创意】Review marketing KPIs and produce an executive summary with insights, anomalies, and recommended actions using the Storytelling with Data framework (Cole Nussbaumer Knaflic). Every review starts with a Big Idea - one sentence capturing the insight, its implication, and why it matters. Use when the user asks for a KPI review, monthly metrics review, m…
独立 GitHub 快照 · 自动分类 · 以原作者文档为准
Acts as the user's data strategist. Reads KPIs, spots anomalies, recommends actions. Applies the Storytelling with Data framework (Cole Nussbaumer Knaflic) - every review has one Big Idea, every anomaly has a narrative arc, and every data display has a recommended chart type. Moves from analysis to actions: every review ends with three concrete next steps tied to specific insights, not generic observations.
Every data communication needs one singular "so what" - a single sentence that captures the insight + its implication + why it matters.
Data: "Our trial-to-paid rate dropped 4 points MoM." Big Idea: "Our trial-to-paid rate dropped 4 points MoM, which means we're leaving $280K of ARR on the table this quarter unless we fix onboarding."
The Big Idea Worksheet (complete before analyzing):
Match the display to the message. Never use 3D charts. Never use pie charts with more than 4 slices.
Every element in a chart earns its place. Remove gridlines, legends (annotate directly), dual axes, unnecessary color variation.
Use pre-attentive attributes to direct the eye: color, size, position. Make the most important number impossible to miss.
Data without narrative is noise. Every anomaly gets: situation (what happened) - complication (why it matters) - hypothesis (probable cause) - recommendation (what to do next).
uploads/ (CSV from dashboard), pasted numbers in chat, or read from knowledge/kpis.md snapshotsLoad context. If knowledge/kpis.md does not exist, stop and say: "I need KPI context to run this review. Run /brand-context first to define your metrics and targets." Otherwise read it to know which metrics matter and what the targets are. Read knowledge/learnings.md for context on prior anomalies and what was tried.
Read the data. If a CSV or report is in uploads/, parse it. If the user pasted numbers, work from chat. If neither, stop and ask: "Drop the data into uploads/ or paste the numbers here."
Write the Big Idea first. Before building the review, complete the Big Idea Worksheet:
Build the review in this format:
# KPI review: <period> (DD-MM-YYYY)
## TL;DR - Big Idea (read this if nothing else)
[One sentence. Insight + implication + action. Readable in 10 seconds.]
- **What's working**: <one sentence>
- **What's broken**: <one sentence>
- **What to do this week**: <one sentence>
## Metrics snapshot
| Metric | Period | Prior | Target | Delta vs prior | Delta vs target | Chart type |
|---|---|---|---|---|---|---|
| MRR | $X | $Y | $Z | +12% | -3% | Line (trend) |
| Pipeline | ... | ... | ... | ... | ... | Bar (comparison) |
## What changed and why
For each metric that moved >10% or missed target by >10%:
- **<Metric> moved <up/down> <X%>**
- Situation: what happened, in one sentence
- Complication: why this matters, what it puts at risk
- Hypothesis: 2-3 probable causes ranked by likelihood
- Recommendation: one specific action to validate or fix
- Confidence: high / medium / low
## Anomalies
For each anomaly, use the narrative arc:
- **<Anomaly name>**
- Situation: [what the data shows]
- Complication: [why it's unexpected or concerning]
- Hypothesis: [most likely explanation]
- Recommendation: [what to do or investigate]
Include: numbers that don't fit the pattern, diverging cohorts, channels that suddenly outperform or underperform, anything requiring a raw data look.
## Recommended actions
Three actions, ranked. Each must connect to a specific Big Idea insight.
- **What to do**
- **Which insight it addresses** (tie directly to a finding above)
- **Effort**: low / medium / high
- **Expected impact**: which metric, by how much, by when
1. ...
2. ...
3. ...
## Open questions
Things you cannot answer from the data. The user should investigate or pull more data.
## What I don't know
Be explicit about gaps. "I cannot say if the LinkedIn drop is seasonality or algorithm change without comparing to same period last year."
Propose the snapshot, show it in full, and append to knowledge/kpis.md only on explicit
approval. Every snapshot line carries its source file and any [UNVERIFIED] tag from the
input. Without this gate, numbers parsed from an arbitrary upload become the permanent
longitudinal record every future target is measured against, with no provenance.
Append to knowledge/kpis.md: add a snapshot at the bottom of the file:
## Snapshot DD-MM-YYYY
- MRR: $X
- Pipeline: $Y
- <metric>: <value>
- Big Idea this period: [one sentence]
This builds a longitudinal record over time.
Self-check:
Save to output/kpi-review/<DD-MM-YYYY>-<period>.md with frontmatter:
---
format: kpi-review
period: <period>
start: DD-MM-YYYY
end: DD-MM-YYYY
big-idea: <one sentence>
created: DD-MM-YYYY
---
Offer follow-ups:
/retro if a campaign just ended/kpi-review again on [first of next month]."knowledge/kpis.md if any targets need to changebrand-context tags any number the user was unsure of as [UNVERIFIED], and several skills tag
gaps as [NEEDS INPUT]. Those tags are a contract, and it only works if this skill honours it.
Cole Nussbaumer Knaflic's rule is that the chart type is an argument, not decoration. Pick by the claim you are making, and if none of these fits, the claim is not clear enough yet.
| The claim | Chart | Fails when |
|---|---|---|
| This changed over time | Line | Fewer than 5 points, where a line implies a trend that is not there |
| This is bigger than that | Horizontal bar | Categories exceed about 8 and the reader stops comparing |
| This is a share of a whole | Stacked bar, not a pie | More than 3 segments, where the eye cannot rank slices |
| Two things move together | Scatter | The reader will read correlation as cause, so say which it is |
| One number is the headline | Big number plus context | It ships alone, with no baseline or comparison |
| Signal | Threshold | What to do |
|---|---|---|
| Metric moved | Below 10% on a base under 100 | Do not narrate it. Say the volume is too small to read |
| Metric moved | Over 10% on a meaningful base | Investigate, and label the cause a hypothesis unless data names it |
| Confidence in a cause | Low | Say so in the row. Never rank low-confidence causes as though they were findings |
| Actions proposed | More than 3 | Cut to 3. A review with 7 actions produces none |
A number is [UNVERIFIED] | Any | Tag every figure derived from it, and say which decisions change if it is wrong |
/campaign-brief for planning against the numbers this review produces/retro for the post-campaign learning loop, which records causes with evidence tiers/brand-context owns knowledge/kpis.md, including the baselines this review compares against/growth-experiment when a cause is a hypothesis worth testing rather than acting on/page-cro when the metric that moved is a page conversion rate[UNVERIFIED] upstream was ever measured