本文へ移動
cccskills
無料GitHub で公開

chronote-product-analytics

Analyze Chronote product adoption with PostHog and Langfuse, including active users, meetings, feature usage, AI telemetry, and privacy-safe resolution of active Discord guild IDs to live server names.

インストール方法を見る

含まれるファイル(3)

  • SKILL.md4.4 KB
  • agents/openai.yaml122 B
  • scripts/resolve-production-guilds.mjs4.5 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

Chronote Product Analytics

Use PostHog for product behavior and Langfuse for model telemetry. Keep website visitors, authenticated product users, guilds, and AI generations distinct.

Product metrics

  • Confirm the active PostHog project is Chronote before querying.
  • Read the live event schema before relying on event or property names.
  • Unless the user chooses another definition, count a product-active user as a unique person who emitted meeting_started, meeting_completed, or ask_question_asked. Report anonymous website visitors separately.
  • Use bounded UTC ranges. State whether the current day is partial.
  • Report meeting starts and completions separately. Equal totals are evidence of aggregate completion, not a proven one-to-one pairing.
  • Use the langfuse-metrics skill for aggregate model volume, cost, and latency. Do not treat healthy telemetry as output-quality evidence.
  • For the daily operating view, run its cost-report command over the same UTC window as PostHog. Supply completed meetings and transcribed minutes as denominators, and report fully-unpriced model groups alongside attributed cost. This is operational cost accounting, not an OpenAI invoice reconciliation.
  • Do not retrieve questions, answers, notes, transcripts, or identities when aggregate evidence answers the request.

Acquisition attribution

Prefer an explicit server_install_attributed event when it exists. Report only the sanitized source, medium, campaign, landing path, referrer domain, and CTA location; never expose a browser/session id, Discord user id, full URL or query string, raw user agent, or precise geography.

Older server_installed events are keyed to a guild while website activity is keyed to a browser or signed-in user, so they cannot be joined deterministically. For those installs, a bounded timestamp correlation can produce an inference:

  1. Read the guild's server_installed timestamp.
  2. In a short lookback before that timestamp, group $pageview and add_to_discord_clicked by landing path, referrer domain, UTM source, and CTA location.
  3. Call the source a strong inference only when there is one coherent path, no competing click path, and the final install click is within a few minutes of the install. Otherwise report acquisition as UNKNOWN.
  4. Use guild-scoped onboarding events only to validate subsequent activation; do not retrieve or report the acting person's identity.

Always label timestamp correlation as inferred rather than deterministic. A tight sequence such as one referral landing, one CTA path, an installation seconds later, completed onboarding, and immediate meeting usage is useful product evidence, but it is not a cryptographic join.

Resolve active guild names

PostHog intentionally stores guild_id, not the mutable guild name. Group the requested product events by guild_id first, including only the counts and time bounds needed for the question.

Resolve names in this order:

  1. Match IDs visible in the signed-in Chronote server picker when the operator already has access.

  2. For remaining IDs, run scripts/resolve-production-guilds.mjs with authorized production AWS access:

    node .codex/skills/chronote-product-analytics/scripts/resolve-production-guilds.mjs --guild-id <id> --guild-id <id>
    

    The helper reads meeting-notes-prod/discord-bot-token from Secrets Manager in us-east-1, verifies that Discord identifies it as the Chronote bot, and prints only the requested IDs and names. Override --secret-id, --region, or --expected-bot-id only when the target environment is explicitly different.

  3. If AWS authentication is unavailable, stop and request the appropriate read-only login. Do not substitute an unrelated local bot token, dispatch a workflow, expose a secret, or persist guild names into analytics.

Treat an ID absent from the bot guild list as unresolved; it may represent a removed installation or the wrong environment. Report that distinction rather than guessing a server name.

This skill is read-only. It does not authorize production configuration, analytics instrumentation, billing, deployment, or Discord mutations.

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

Use when a change affects user-visible behavior at docs.chronote.gg and needs public documentation. Covers where docs live (apps/docs-site vs docs/), authoring checklist, yarn docs:check, and Algolia config. Trigger when the user mentions docs, release notes, what's-new, or user-facing PR changes.

日本語の概要は準備中です。原文の説明を表示しています。

Chronote-gg/Chronote42026年10月12日 更新

Investigate errors, incidents, or product ideas using both internet research and repo-wide codebase research, then propose a concrete changeset plan with clarifying questions before any implementation. Use when a user asks to investigate, root-cause, or plan changes, or when an Issue or PR is referenced and needs a plan.

日本語の概要は準備中です。原文の説明を表示しています。

Chronote-gg/Chronote42026年10月12日 更新

Query aggregate Langfuse cost, volume, latency, and model telemetry efficiently with Metrics API v2. Use for dashboards, rollout checks, usage summaries, and cost or latency comparisons; use Observations API v2 instead when individual rows are actually required.

日本語の概要は準備中です。原文の説明を表示しています。

Chronote-gg/Chronote42026年10月12日 更新

Configure and debug MCP servers for OpenCode, Codex CLI, and Claude Code, including auth headers, scope, and validation checks. Use when MCP tools fail to connect or when adding a new MCP server.

日本語の概要は準備中です。原文の説明を表示しています。

Chronote-gg/Chronote42026年10月12日 更新

Configure and debug MCP servers for Claude Code, OpenCode, and Codex CLI, including auth headers, scope, and validation checks. Use when MCP tools fail to connect, when an MCP server returns 401/404/HTML, or when adding a new MCP server to this repo.

日本語の概要は準備中です。原文の説明を表示しています。

Chronote-gg/Chronote42026年10月12日 更新

Use every time you push a commit to an active pull request, to verify the PR is truly stable before reporting merge readiness. Covers the post-push wait window, AI review audit (Copilot/Greptile/Codex), and the gh commands to snapshot PR state. Trigger on "I pushed" or "is the PR ready to merge".

日本語の概要は準備中です。原文の説明を表示しています。

Chronote-gg/Chronote42026年10月12日 更新

Chronote-gg のスキルをすべて見る

このスキルの問題を報告する