onekeyhq/app-monorepo/1k-analytics

Trust tier 3
  • community
Source check pending

Checking that the SKILL.md file is still in the repository.

OneKey analytics and server event tracking with LogToServer, logger scopes/scenes, and business metrics. Use for 埋点, analytics, or tracking events.

Install

npx vskill@latest install onekeyhq/app-monorepo/1k-analytics

SKILL.md

Analytics Event Tracking

OneKey uses a decorator-based logger system to track user behavior events. Events are routed to the analytics server (Mixpanel) via @LogToServer() decorator on scene methods. NEVER call analytics.trackEvent() directly.

Quick Reference

TopicGuideKey Files
Adding eventsadding-events.mdpackages/shared/src/logger/scopes/
Architecturearchitecture.mdpackages/shared/src/logger/base/
Common pitfallspitfalls.md—

Critical Rules

  1. MUST use `@LogToServer()` decorator — never call analytics.trackEvent() directly
  2. Event method names use camelCase — the method name becomes the event name sent to Mixpanel
  3. Methods MUST return params synchronously — never return a Promise
  4. Deduplicate high-frequency events — prevent Mixpanel usage spikes (e.g., use in-memory Set for per-session dedup)
  5. Add events to existing scopes when possible — only create new scopes for entirely new feature domains

Adding a Server Event (Quick Steps)

1. Create or update a Scene class
typescript
// packages/shared/src/logger/scopes/{scope}/scenes/{scene}.ts
import { BaseScene } from '../../../base/baseScene';
import { LogToServer } from '../../../base/decorators';
export class MyScene extends BaseScene {
@LogToServer()
public myEventName(params: { key: string; value: string }) {
return params;
}
}
2. Register scene in scope index
typescript
// packages/shared/src/logger/scopes/{scope}/index.ts
import { MyScene } from './scenes/myScene';
export class MyScope extends BaseScope {
protected override scopeName = EScopeName.myScope;
myScene = this.createScene('myScene', MyScene);
}
3. Call from business code
typescript
import { defaultLogger } from '@onekeyhq/shared/src/logger/logger';
defaultLogger.myScope.myScene.myEventName({ key: 'foo', value: 'bar' });

Decorator Types

DecoratorDestinationUse Case
@LogToServer()Mixpanel analytics serverUser behavior tracking, business metrics
@LogToLocal()Device local log (React Native logger)Debugging, device-side diagnostics
@LogToConsole()Console onlyDev-time debugging

Stack decorators for dual logging: @LogToServer() + @LogToLocal().

Related Skills

  • /1k-architecture — Import hierarchy rules (logger is in @onekeyhq/shared)
  • /1k-coding-patterns — TypeScript and React conventions

Security

  • Security scanPassed, 90 of 100Pattern checks on the skill's files.
  • Model reviewPassed

Quality evaluation

  • Task evaluationNot runNo evaluation yet. Run one in Skill Studio.

Source

Popularity

Repository stars
2,370
Repository forks
516
7-day trend score
0

Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.

Works with

Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.

  • Claude Code
  • Cursor
  • GitHub Copilot
  • Windsurf
  • Codex
  • Gemini CLI
  • Cline
  • Amp
  • Roo Code
  • Goose
  • Continue
  • Kilo Code
  • Junie
  • Trae
  • OpenHands
  • Qwen Code
  • AI Agent
  • Tabnine Chat
  • Sourcegraph Cody
  • Amazon Q
  • Firebase Genkit
  • Sweep
  • Devin
  • Phind
  • Mentat
  • Claude Desktop
  • Aider
  • GPT Pilot
  • Plandex
  • bolt.new
  • v0
  • Replit Agent
  • Anse
  • TypingMind
  • BetterChatGPT
  • LibreChat
  • Warp AI
  • Pieces
  • Fig AI
Embed badge
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/onekeyhq/app-monorepo/1k-analytics/badge)](https://verified-skill.com/skills/onekeyhq/app-monorepo/1k-analytics)

Something wrong with this skill or its page? Tell us.