Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add ace3000chao/book2startup --skill 008-reject-vanity-metricsgit clone --depth 1 https://github.com/ace3000chao/book2startupWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/ace3000chao/book2startup/008-reject-vanity-metrics)<a href="https://agentmods.dev/skills/ace3000chao/book2startup/008-reject-vanity-metrics"><img src="https://agentmods.dev/badge/skills/ace3000chao/book2startup/008-reject-vanity-metrics/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/ace3000chao/book2startup/008-reject-vanity-metrics"><img src="https://agentmods.dev/badge/skills/ace3000chao/book2startup/008-reject-vanity-metrics.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00059 | $0.01274 |
| Opus 5 | $0.00030 | $0.00637 |
| Sonnet 5 | $0.00012 | $0.00255 |
| Haiku 4.5 | $0.00006 | $0.00127 |
Grade A, and why
reject-vanity-metrics scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 9d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
What it actually says
Skill: 拒绝虚荣指标
Metadata
- ID: leanstartup-008
- 类型: principle
- 来源: 《精益创业》第七章
- 验证状态: ✅ 三重验证通过(V1: 3章以上论证, V2: 团队日常决策, V3: 极反直觉)
R — Reading(原文引用)
"虚荣指标是指那些让人感觉良好但无法指导行动的数据。如果我们被这些'总顾客数量'等等的虚荣指标误导,那么创新核算就无从谈起。"
"在会议上争论报告中测量单位的人都会发现这个问题。新创企业被虚荣指标误导非常危险。"
I — Interpretation(方法论骨架)
虚荣指标的核心特征:让人感觉良好,但无法告诉你该做什么。
常见虚荣指标:
| 虚荣指标 | 听起来像什么 | 实际在说什么 |
|---|---|---|
| 总用户数 | "我们有100万用户" | 但不知道多少人还在用 |
| 总收入 | "年收入500万" | 但不知道获客成本是多少 |
| 页面浏览量 | "日PV50万" | 但不知道用户在做什么 |
| 粉丝/关注数 | "微博10万粉丝" | 但不知道转化了多少付费 |
可执行指标的核心:能回答"我下一步该做什么"。
A1 — Past Application(书中案例)
IMVU的虚荣指标陷阱:IMVU每月报"总注册用户XX万",团队士气高涨。但同一时期,同期群数据显示每个新用户群的收益从未提升。当团队最终面对真实数据时,发现增长引擎早已停滞,错过了最佳转型时机。
Grockit的对比测试教训:团队花了6个月优化各种"指标"(总用户数、答题总数),感觉在进步。但对比测试揭示,他们自认为有效的功能实际上对用户行为毫无影响。如果不是用同期群对比测试,他们会继续在错误的方向上投入。
A2 — Future Trigger(何时调用)
当你听到以下问题时,就应该调用这个Skill:
- "我们上周数据表现不错"——但说不清为什么好
- "用户数增长了"——但不知道是自然增长还是营销拉动
- "这个功能应该有效"——但没有数据支持
- 会议上只报"好消息",没人提"坏消息"
- 不知道下个月的优先级是什么
E — Execution(可执行步骤)
步骤1:列出你现在追踪的所有指标
列出团队目前追踪的TOP 10指标,逐个问:
步骤2:用三个问题验证每个指标
问题1:可执行吗?
"如果这个数字上升/下降,你知道下一步该做什么吗?"
- 如果不能回答,说明是虚荣指标
- 如果能回答"做X",继续问问题2
问题2:可使用吗?
"团队里的每个人都能理解这个数字的含义吗?"
- 如果需要专业知识才能解释,说明不够"可使用"
- 如果任何人都能理解,继续问问题3
问题3:可审查吗?
"任何人都能验证这个数字的真实性吗?"
- 如果数据来源不透明,说明不是"可审查"
- 如果来源透明、数据真实,这个指标通过了三重检验
步骤3:用可执行指标替换虚荣指标
| 虚荣 → 可执行 |
|---|
| 总用户数 → 同期群激活率 |
| 总收入 → 收入/同期群 |
| 页面浏览量 → 核心功能使用率 |
| 注册用户数 → 激活率+留存率 |
步骤4:建立指标仪表盘
原则:仪表盘只显示能指导行动的可执行指标,不超过5个核心指标。
让每个人都能看到:
- 我们在追踪什么
- 当前值是多少
- 趋势是升还是降
- 下一周优先做什么
B — Boundary(何时不适用)
| 不适用场景 | 原因 |
|---|---|
| 向外部(如媒体)展示品牌影响力 | 这时候虚荣指标是必要的品牌包装 |
| 成熟业务的董事会汇报 | 成熟业务的标准和早期创业不同 |
| 只需要展示"规模"给投资人时 | 但这不能代替内部决策用的可执行指标 |
作者盲点提醒:虚荣指标让人上瘾——因为它们总是看起来很好看。拒绝虚荣指标需要组织的勇气:愿意面对不好看的数字,愿意承认"我们以为在进步但实际上没有"。没有这种心理安全感的团队,会本能地选择相信虚荣指标。
关联Skills
- 创新核算三步骤 — 教你建立正确的衡量体系
- 三个"可"衡量指标 — 教你判断指标是否有效
- 同期群分析 — 拒绝虚荣指标的核心工具
What ships with it
1 file beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 9d ago First seen · 97 lines · 59 tokens per session scan A bd8b192e7b2c
reject-vanity-metrics is a skill published in the GitHub repository ace3000chao/book2startup (80 stars, last pushed 4mo ago), licensed MIT. It adds 59 tokens to every session and 1,274 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-03.
Other skills, from other repositories
systematic-debugging
Use when encountering any bug, test failure, or unexpected behavior, before proposing fixes.
local-ai-agents
Build local-first AI agents that run entirely on a developer workstation with Microsoft Foundry Local and Qwen function-calling models. Covers Small Language Models (SLMs), the OpenAI-compatible local endpoint, sandboxed local tools, local RAG with Chroma, local MCP servers, hybrid cloud/local routing, and the…
next-cache-components-adoption
Turn on Cache Components in a Next.js app and resolve the blocking routes it surfaces. Use when the user wants to enable, adopt, or migrate to Cache Components, flip the cacheComponents flag, work through a flood of blocking-prerender / instant validation errors, run the cache-components-instant-false codemod, or…
chat-pet-sprite-creation
Use when creating or changing VS Code chat pet sprite art, sprite sheets, state animations, eye treatments, Stable/Insiders variants, or pet transitions under src/vs/workbench/contrib/chat/browser/widget/media/chatPet.
cpu-profile-analysis
Analyze V8/Chrome CPU profiles (.cpuprofile) and DevTools trace files (Trace-.json). Use when: profiling performance, investigating slow functions, comparing code paths, finding bottlenecks, analyzing timeToRequest, understanding call trees from sampling profiler data, analyzing layout/paint/rendering, investigating…
insight-error-page
Write or audit an insight-kind error page for the Next.js dev overlay. Use when creating a new errors/ .mdx page, auditing an existing one, or checking that a page matches the framework fix cards. Covers page structure, title alignment, FixCard cards with Copy prompt button, code snippets, terminology verification…