一键导入
telemetry-aggregator
Pull metrics across all products into a single view. Powers the dashboard and the daily/weekly briefings.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Pull metrics across all products into a single view. Powers the dashboard and the daily/weekly briefings.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Slice a goal into the smallest feature slices that can each be PROVEN — every slice ships with a named eval and an end-to-end test, and a slice you can't evaluate or test doesn't get selected. Use after the goal is set and before the spec, so only provable features make the build.
Guided, stateful provisioning of a product's production stack — deep-links, key-format validation, a secrets backend (fnox recommended, or user-touched .env.local), a resumable ledger, CLI automation after signup, and a blocking A1–A10 live gate. Hands off to /security-check → /ship. The walked version of SETUP.md.
Creates specs before coding. Use when starting a new project, feature, or significant change and no specification exists yet. Use when requirements are unclear, ambiguous, or only exist as a vague idea.
Launch the factory's control plane — scaffold and fill FACTORY-ORDERS (weekly mandate + hard budget), STANDING-ORDERS (autonomous-program authority), HEARTBEAT (weekly pulse), and write lifecycle gates for every registered product. A deliberate one-time ritual (re-run to audit); invoke as /factory-launch, not auto-triggered.
One-shot a new product — folders, Next.js starter, product.config.json, CLAUDE.md, scope.md, PRD skeleton, SETUP.md checklist. The Lovable-like ignition.
Breaks work into ordered tasks. Use when you have a spec or clear requirements and need to break work into implementable tasks. Use when a task feels too large to start, when you need to estimate scope, or when parallel work is possible.
| name | telemetry-aggregator |
| description | Pull metrics across all products into a single view. Powers the dashboard and the daily/weekly briefings. |
| model_tier | haiku |
dashboard/ rendering/portfolio-pulse skillA normalized telemetry payload — usable by the dashboard's renderer or any downstream agent:
{
"as_of": "2026-05-19T14:32:00Z",
"totals": {
"mrr_usd": 0,
"paying_customers": 0,
"active_users_7d": 0,
"errors_24h": 0,
"search_impressions_7d": 0
},
"products": [
{
"slug": "linkedup",
"stage": "mvp",
"metrics": {
"mrr_usd": 0,
"paying_customers": 0,
"active_users_7d": 0,
"signups_7d": 0,
"errors_24h": 0,
"top_queries_7d": [{"query": "...", "clicks": 0, "impressions": 0, "position": 0}],
"health_score": 0.0
},
"connectors_status": {
"stripe": "connected | not_connected | error",
"posthog": "connected | not_connected | error",
"sentry": "connected | not_connected | error",
"gsc": "connected | not_connected | error"
}
}
]
}
products/*/product.config.json.not_connected, an erroring one returns error with a brief reason in the dashboard, not a crash.health_score per product:
health = w_retention * D7_retention + w_revenue * MRR_growth + w_errors * (1 - error_rate_normalized)
weights default: 0.4 / 0.3 / 0.3. Tune per product type.All in dashboard/lib/connectors/:
stripe.ts — fetchStripeMetrics(account_id)posthog.ts — fetchPostHogMetrics(project_id)sentry.ts — fetchSentryMetrics(org, project)gsc.ts — fetchGSCMetrics(property)plausible.ts — fetchPlausibleMetrics(domain)ga4.ts — fetchGA4Metrics(measurement_id)Each returns a normalized shape: { status: 'ok' | 'error', data?: {...}, error?: string }.
stack/analytics-stack.md (for the connector list)dashboard/lib/connectors/*.ts (the actual implementations)product.config.json — only references.