Agent skill

Always Compare

by ai-analyst-lab in ai-analyst-lab/ai-analyst

Never present a metric or number in isolation; anchor every number to a comparison (prior period, benchmark, or another segment) or state that none is available.

MITAuto-check passedSales & Support

Install Always Compare

skills CLI
$ npx skills add ai-analyst-lab/ai-analyst --skill always-compare -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install ai-analyst-lab/ai-analyst always-compare --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/ai-analyst-lab/ai-analyst.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/always-compare .claude/skills/always-compare && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
always-compare
GitHub stars
304
Token cost
~1.4k tokens
SKILL.md length
814 words
Files
1
Skills in repo
43
Repo updated
First seen
Licence
MIT

At a glance

Never present a metric or number in isolation; anchor every number to a comparison (prior period, benchmark, or another segment) or state that none is available.

  • Works in 4 steps: Find every number in your draft output → Attach a comparison to each one → State the delta, not just both numbers → …
  • Output containing the rate is
  • SKILL.md covers Purpose, When to Use, The Rule and Instructions, plus 2 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Always Compare is an agent skill from ai-analyst-lab/ai-analyst. Never present a metric or number in isolation; anchor every number to a comparison (prior period, benchmark, or another segment) or state that none is available. Use every time you show a number: rates, counts, revenue, averages, query results, chart labels, summary stats. Trigger on output containing "the rate is", "we saw", "total", "average", "conversion", "revenue", "users", "sessions", "churn", "AOV", "NPS", or any figure pulled from data.

Its SKILL.md is about 1.4k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Sales & Support, covering Customer feedback analysis. The repository describes itself as: AI Product Analyst — Claude Code-powered data analysis toolkit. The licence is MIT.

When your agent uses it

  • Output containing the rate is
  • Any figure pulled from data

Example prompts

  • “the rate is”
  • “we saw”
  • “average”
  • “/always-compare”

Workflow steps

4 steps, taken from the step headings in SKILL.md.

  1. Find every number in your draft output
  2. Attach a comparison to each one
  3. State the delta, not just both numbers
  4. If you have no comparison data, SAY SO

What it can do on your machine

Read from SKILL.md and the folder at commit 52c0744. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md.

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Always Compare loads about 1.4k tokens when it runs. Until then it costs about 116 tokens; SKILL.md has 814 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~116
When it runs · the whole SKILL.md, loaded when a task matches
~1.4k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from ai-analyst-lab/ai-analyst at commit 52c0744, republished under its MIT licence (© ai-analyst-lab). 814 words, ~1,428 tokens.

Download SKILL.mdSave it as .claude/skills/always-compare/SKILL.md (or your agent's skills folder).
name
always-compare
description
Never present a metric or number in isolation; anchor every number to a comparison (prior period, benchmark, or another segment) or state that none is available. Use every time you show a number: rates, counts, revenue, averages, query results, chart labels, summary stats. Trigger on output containing "the rate is", "we saw", "total", "average", "conversion", "revenue", "users", "sessions", "churn", "AOV", "NPS", or any figure pulled from data.

Skill: Always Compare

Purpose

A number alone is not an insight. "Conversion rate is 3.2%" tells the reader nothing actionable — they cannot tell if that is a crisis or a record high. This skill enforces one rule: every metric ships with a comparison.

When to Use

Before presenting ANY number to the user — in chat, in a report, in a chart caption, in a Slack message, or on a slide. This runs on every analysis output, alongside question-framing (which runs at the start; this one runs at the end).

The Rule

Never show a number alone. Anchor it to at least one comparison.

Pick the comparison that best serves the decision. In priority order:

#Comparison TypeUse WhenExample
1vs. prior periodThe question is "is this changing?""down from 4.1% last month"
2vs. benchmark / averageThe question is "is this normal?""below the 3.8% site-wide average"
3vs. another segmentThe question is "who is affected?""vs. 5.4% on desktop"

Two comparisons beat one. A prior-period delta plus a benchmark tells the reader both the direction and the altitude. Use both when you have both.

Instructions

Step 1: Find every number in your draft output

Scan the response you are about to send. Every figure — headline stats, table cells, chart annotations, sentences in the narrative — is in scope.

Step 2: Attach a comparison to each one

For each metric, ask: compared to what? Then pull the comparison from the data:

  • Prior period: same metric, previous week / month / quarter (match the grain of the metric)
  • Benchmark: site-wide average, cohort average, target, or historical baseline
  • Segment: the same metric for a contrasting slice (mobile vs. desktop, new vs. returning, channel A vs. B)

Compute the comparison in the same query where practical — it is cheaper and less error-prone than a second round trip, and it guarantees the filters match.

Step 3: State the delta, not just both numbers

Do the subtraction for the reader. "3.2%, down from 4.1%" is better than "3.2% (last month: 4.1%)". Give direction (up/down) and magnitude (absolute points or relative %) — and be explicit about which you are using: "down 0.9pp (a 22% relative decline)".

Step 4: If you have no comparison data, SAY SO

Do not silently drop the comparison. An unanchored number must carry an explicit flag:

"Conversion rate is 3.2% (no prior period available for comparison)."

Other honest forms:

  • "(first month of data — no baseline yet)"
  • "(no site-wide benchmark defined; recommend establishing one)"
  • "(segment too small to compare — n=14)"

This is a standing obligation of the method (analyst-core): always flag when data is insufficient.

Examples

Bad -> Good
BadGood
"Conversion rate is 3.2%""Conversion rate is 3.2% — down from 4.1% last month, and below the 3.8% site-wide average."
"We had 12,400 orders in June.""We had 12,400 orders in June, up 8% from May (11,500) and the highest month of 2024 so far."
"AOV is $58.""AOV is $58, essentially flat vs. Q1 ($57), but members average $74 vs. $51 for non-members."
"Checkout drop-off is 34%.""Checkout drop-off is 34% on mobile vs. 19% on desktop — mobile accounts for 78% of all abandoned carts."
"NPS is 41.""NPS is 41 (no prior quarter available — this is the first survey wave, so treat as the baseline)."
Show full SKILL.md (272 more words)Show less
Example: a full finding, done right

Mobile conversion is the problem. Mobile converts at 2.1% vs. 5.4% on desktop — a 3.3pp gap (61% lower relative). The gap widened from 1.9pp in Q1, driven entirely by the payment step, where mobile drop-off is 44% vs. the 26% funnel-wide average. Source: sessions + events, Jan 1-Jun 30 2024, excludes bot traffic.

Every number has an anchor. The reader knows instantly what to do.

Anti-Patterns

  1. Never present a bare number. If you catch yourself writing "X is N", stop and add the comparison before sending.
  2. Never fabricate a comparison. If the prior-period data doesn't exist, say it doesn't exist — do not estimate, extrapolate, or reach for a plausible-sounding benchmark you didn't compute.
  3. Never compare across mismatched filters. The comparison must use the same definition, filters, and exclusions as the metric — otherwise the delta is an artifact. Re-check the WHERE clause on both sides.
  4. Never mix up percentage points and percent. 4.1% -> 3.2% is down 0.9pp, which is a 22% relative decline. Saying "down 22%" without the "relative" qualifier misleads; saying "down 0.9%" is simply wrong.
  5. Never compare against a period distorted by a known event without flagging it — a holiday spike, an outage, a launch, or a backfill. Check .knowledge/datasets/{active}/quirks.md before choosing a baseline period.
  6. Never bury the comparison in a footnote. It belongs in the same sentence as the metric — that is where the reader forms their judgment.
  7. Never let charts escape the rule. A bar chart of one period is a bare number in visual form. Show the prior period, a benchmark line, or a segment split.

© ai-analyst-lab, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .claude/skills/always-compare of ai-analyst-lab/ai-analyst.

Open the folder on GitHubat commit 52c0744

Compare with similar skills

Always Compare next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Always Compare compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Always Compare this skillai-analyst-lab/ai-analyst304—~1.4kAutomated safety check: PassMIT
Review Analysisliangdabiao/amazon-sorftime-research-MCP-skill9461 repos~2.5kAutomated safety check: PassNone
Bggg Data Amazonbinggandata/bggg-skills603—~1.4kAutomated safety check: PassMIT
Zsxqunnoo/zsxq-skill304—~3.8kAutomated safety check: PassMIT
Roadtrip NavigatorWaybox-AI/roadtrip-skill126—~3.4kAutomated safety check: PassMIT
Brand Monitoringnexscope-ai/eCommerce-Skills1.1k—~851Automated safety check: PassMIT

Similar skills

  • Review Analysis

    liangdabiao/amazon-sorftime-research-MCP-skill

    对亚马逊商品评论进行深度分析,自动识别产品痛点、分析退货原因,生成改进建议和客服回复模板。Invoke when user uses /review-analysis command with a product ASIN.

    946 GitHub starsUsed in 1 repo~2.5k tokens
    Sales & SupportAuto-check passed
  • Bggg Data Amazon

    binggandata/bggg-skills

    Collect Amazon.com written product reviews at scale through Woot's public review AJAX route, retain every attempt and error log, reconcile partial runs, and normalize exact review text into…

    603 GitHub stars~1.4k tokensUpdated 1 mo ago
    Sales & SupportAuto-check passed
  • Zsxq

    unnoo/zsxq-skill

    知识星球 CLI(zsxq-cli)与底层接口完整操作指南,涵盖星球和内容管理、Skill Pay 微信支付场景。当用户提到知识星球、zsxq、小密圈、星球、登录/认证、发帖、评论、回答、编辑、删除主题、定时发布/定时任务/定时回答、投票、问答主题、markdown 正文、AI…

    304 GitHub stars~3.8k tokensUpdated 17 days ago
    Sales & SupportAuto-check passed
  • Roadtrip Navigator

    Waybox-AI/roadtrip-skill

    Generate North American road-trip itineraries as a map-first, offline-friendly single-file HTML page.

    126 GitHub stars~3.4k tokensUpdated 29 days ago
    Sales & SupportAuto-check passed
  • Brand Monitoring

    nexscope-ai/eCommerce-Skills

    Brand monitoring tool for tracking mentions across social media platforms.

    1.1k GitHub stars~851 tokensUpdated 1 mo ago
    Sales & SupportAuto-check passed
  • Zsxq Shared

    itwanger/toBeBetterJavaer

    知识星球 CLI 共享基础:认证登录(auth login/logout/status)、配置诊断(doctor/config show)、通用 API 调用规范(api list/api call/api raw 调用底层接口或原始 HTTP 接口)、星球与主题分享链接拼接(电脑端 / 手机端)、写入与删除操作的安全规则、常见错误码处理(401 token…

    18k GitHub stars~1.3k tokensUpdated today
    Sales & SupportAuto-check passed

More from ai-analyst-lab/ai-analyst

All 43 skills in this repo
  • Archaeology

    ai-analyst-lab/ai-analyst

    Retrieve proven SQL patterns, table cheatsheets, and join patterns from .knowledge/query-archaeology/ so past work gets reused.

    304 GitHub stars~1.3k tokensUpdated 8 days ago
    Auto-check passed
  • Archive Analysis

    ai-analyst-lab/ai-analyst

    Save completed analyses to the knowledge system's analysis archive for future reference.

    304 GitHub stars~2.7k tokensUpdated 8 days ago
    Auto-check passed
  • Auth Preflight

    ai-analyst-lab/ai-analyst

    Verify Google Workspace MCP authentication at the start of any session that needs Google APIs (Docs, Slides, Drive).

    304 GitHub stars~3.1k tokensUpdated 8 days ago
    Auto-check passed
  • Causal

    ai-analyst-lab/ai-analyst

    Causal inference toolkit for when experiments are not possible: estimate treatment effects from observational data with assumption checks and mandatory caveats.

    304 GitHub stars~1.8k tokensUpdated 8 days ago
    Auto-check passed
  • Chart To Drive

    ai-analyst-lab/ai-analyst

    Standardized workflow for uploading local chart PNGs to Google Drive and making them available for insertion into Google Docs and Slides.

    304 GitHub stars~1.4k tokensUpdated 8 days ago
    Auto-check passed
  • Codex Review

    ai-analyst-lab/ai-analyst

    Independently validate the current analysis with a second model (OpenAI Codex).

    304 GitHub stars~3k tokensUpdated 8 days ago
    Auto-check passed

Categories

Questions about Always Compare

What does Always Compare do?

Never present a metric or number in isolation; anchor every number to a comparison (prior period, benchmark, or another segment) or state that none is available. Always Compare is an agent skill from ai-analyst-lab/ai-analyst. Never present a metric or number in isolation; anchor every number to a comparison (prior period, benchmark, or another segment) or state that none is available.

When should I use Always Compare?

Always Compare fits situations like: output containing the rate is; any figure pulled from data.

How do I install Always Compare in Claude Code?

Run `npx skills add ai-analyst-lab/ai-analyst --skill always-compare -a claude-code`. Or copy the skill folder (.claude/skills/always-compare in ai-analyst-lab/ai-analyst) into .claude/skills/always-compare in your project. Claude Code loads it when a task matches its description.

How do I install Always Compare in Codex?

Run `npx skills add ai-analyst-lab/ai-analyst --skill always-compare -a codex`. Or copy the skill folder (.claude/skills/always-compare in ai-analyst-lab/ai-analyst) into .agents/skills/always-compare in your project. Codex loads it when a task matches its description.

Can I use Always Compare in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add ai-analyst-lab/ai-analyst --skill always-compare -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/always-compare, .gemini/skills/always-compare, .github/skills/always-compare and .opencode/skills/always-compare in your project.

What does Always Compare need to run?

SKILL.md names no scripts, command-line tools or credentials: Always Compare is instructions for the agent only.

Does Always Compare access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Always Compare safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Always Compare use?

Always Compare is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Always Compare use?

About 1.4k tokens (SKILL.md is roughly 5.7k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Always Compare?

Skills that share tags, products or a category with Always Compare: Review Analysis (liangdabiao/amazon-sorftime-research-MCP-skill, 946 stars), Bggg Data Amazon (binggandata/bggg-skills, 603 stars), Zsxq (unnoo/zsxq-skill, 304 stars) and Roadtrip Navigator (Waybox-AI/roadtrip-skill, 126 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Always Compare?

ai-analyst-lab (a GitHub organization) maintains it in ai-analyst-lab/ai-analyst, which has 304 GitHub stars. The repository holds 43 skills in this directory. The repository was last updated on September 30, 2026.

Source: ai-analyst-lab/ai-analyst on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.