From magic-powers
Build Amplitude charts from natural language descriptions. Uses mcp__Amplitude__get_event_properties, mcp__Amplitude__get_context, mcp__Amplitude__get_charts.
npx claudepluginhub kienbui1995/magic-powers --plugin magic-powersThis skill uses the workspace's default tool permissions.
- A user describes a metric or question in plain language and wants a chart built
Generates design tokens/docs from CSS/Tailwind/styled-components codebases, audits visual consistency across 10 dimensions, detects AI slop in UI.
Records polished WebM UI demo videos of web apps using Playwright with cursor overlay, natural pacing, and three-phase scripting. Activates for demo, walkthrough, screen recording, or tutorial requests.
Delivers idiomatic Kotlin patterns for null safety, immutability, sealed classes, coroutines, Flows, extensions, DSL builders, and Gradle DSL. Use when writing, reviewing, refactoring, or designing Kotlin code.
Call mcp__Amplitude__get_context to understand the user's organization, active project, and available projects. This returns the projectId (appId) you will need for all subsequent calls. Never guess or hardcode a projectId.
Break the natural language request into structured chart components before touching any tool:
Use mcp__Amplitude__get_event_properties to discover valid event and property names. Search broadly — do not assume exact event names. Try multiple search terms if the first attempt returns no results. Event names are project-specific and must be discovered, never guessed.
Examine all returned events and properties. Look for naming conventions (snake_case, camelCase, verb-noun patterns). Understand the data model before selecting specific events.
Choose the most semantically appropriate events for the chart. If multiple candidates exist, select the one most likely to capture the user's intent. Document your selection rationale in the output so the user can validate.
Use mcp__Amplitude__get_charts to search for existing charts similar to what you are about to build. This serves two purposes: (a) avoid duplicating an existing chart, and (b) use an existing chart's structure as a template to ensure correctness.
Construct the chart definition object with all required fields based on the chart type. Use the existing chart structure as reference if found in step 6.
Execute the chart query to fetch real data and validate that the chart produces meaningful results. If the result is empty, revisit your event selection and filters.
Use the appropriate save tool to persist the chart. Return the chart URL so the user can view and share it.
mcp__Amplitude__get_context — get organization and project context (call first, always)mcp__Amplitude__get_event_properties — discover valid event and property names for the projectmcp__Amplitude__get_charts — search for existing charts to use as templates or to avoid duplicationmcp__Amplitude__query_chart — execute a chart query to preview data before savingmcp__Amplitude__save_chart_edits — persist the final chart definitionget_context.plan_type = "pro").The output includes:
If the chart could not be built (e.g., no matching events found), the output explains what was searched, what was found, and what the user should do next (e.g., verify event names with their analytics team).