clone-anywebsite
Clone any website's landing page with pixel-perfect fidelity. Visual-first workflow: screenshot → sniper CSS extraction → deep…
Automate PostHog dashboard creation, sync, update, and export via API
$ npx -y skills add SylphAI-Inc/skills --skill posthog-analytics --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/posthog-analyticsContext preview
The summary Claude sees to decide when to auto-load this skill.
Automate PostHog dashboard creation, sync, update, and export via API
name: posthog-analytics description: Automate PostHog dashboard creation, sync, update, and export via API author: SylphAI-Inc version: 1.1.0
Automate PostHog dashboard creation, sync, update, and export via API.
1. Go to [PostHog Settings → Personal API Keys](https://us.posthog.com/settings/user-api-keys) 2. Create a new key with read/write access 3. Export it:
export POSTHOG_PERSONAL_API_KEY=phx_xxx
**Note**: The API key determines your organization and project. The script uses `@current` project context (your default project).
# Test your API key - should return your project info
curl -s -H "Authorization: Bearer $POSTHOG_PERSONAL_API_KEY" \
"https://us.i.posthog.com/api/projects/@current/" | jq '{id, name}'Expected output:
{
"id": 209268,
"name": "Default project"
}If you get an error, check your API key is correct and has proper permissions.
Create `blog_dashboard.json`:
{
"name": "Blog Analytics",
"description": "Track blog performance and reader engagement",
"filter": {"key": "source", "value": "blog"},
"dashboard_id": null,
"insights": [
{"name": "Blog Pageviews (Total)", "type": "pageviews_total"},
{"name": "Unique Blog Readers", "type": "unique_users"},
{"name": "Blog Traffic Trend", "type": "traffic_trend"},
{"name": "Top Blog Posts", "type": "top_pages"}
]
}**Note**: Set `dashboard_id: null` for new dashboards.
./scripts/posthog_sync.sh create blog_dashboard.json
**Output**:
Creating dashboard: Blog Analytics
Dashboard created: ID 1166599
Creating insight: Blog Pageviews (Total)
{id: 6520531, name: "Blog Pageviews (Total)"}
...
Dashboard URL: https://us.posthog.com/project/209268/dashboard/1166599The script:
Edit config to add new insights, then:
./scripts/posthog_sync.sh sync blog_dashboard.json
Only creates NEW insights. Existing ones (matched by name) are **skipped**.
Changed your filter? Edit config, then:
./scripts/posthog_sync.sh update blog_dashboard.json
Updates ALL insights with current config settings. Use when changing filters.
./scripts/posthog_sync.sh export 1166599 > exported_dashboard.json
| Field | Required | Description | |-------|----------|-------------| | `name` | Yes | Dashboard name | | `description` | No | Dashboard description | | `filter` | No* | Event property filter: `{"key": "source", "value": "blog"}` | | `domain_filter` | No* | URL filter fallback: `"blog.sylph.ai"` | | `dashboard_id` | No | Set to `null` for create, or existing ID for sync/update | | `insights` | Yes | Array of insight objects |
*At least one filter recommended. `filter` takes precedence over `domain_filter`.
| Type | Display | Description | |------|---------|-------------| | `pageviews_total` | BoldNumber | Total pageview count | | `unique_users` | BoldNumber | Unique visitors (DAU) | | `traffic_trend` | LineGraph | Traffic over time | | `top_pages` | Table | Top pages breakdown |
| Field | Default | Options | |-------|---------|---------| | `math` | `total` | `total`, `dau`, `weekly_active`, `monthly_active` | | `display` | Auto | `BoldNumber`, `ActionsLineGraph`, `ActionsTable` | | `date_range` | `-30d` | `-7d`, `-30d`, `-90d`, etc. |
| Variable | Required | Default | Description | |----------|----------|---------|-------------| | `POSTHOG_PERSONAL_API_KEY` | Yes | - | Your API key (determines org/project) | | `POSTHOG_HOST` | No | us.i.posthog.com | API host (EU: eu.i.posthog.com) | | `POSTHOG_UI_HOST` | No | us.posthog.com | UI host for dashboard URLs |
Essential skills for teams and developers building software with best engineering practices and 10x productivity. Compatible with AdaL CLI — the automation-first agent harness — and Claude Code.
Clone any website's landing page with pixel-perfect fidelity. Visual-first workflow: screenshot → sniper CSS extraction → deep…
Turn any codebase into an explorable interactive graph so a developer can understand it fast. Deterministic scan (files, imports,…
Guide users through creating AdaL skills by clarifying the skill type (personal, project, or public plugin) and scaffolding the…
Generate a finished cyberpunk-styled finger-frame effect video from a local clip using Gemini Omni restyling, MediaPipe hand…
Create premium animated technical diagrams as single self-contained HTML+SVG files — flowcharts whose connectors visibly flow and…
Launches "Model Office" — a live browser dashboard that visualizes multi-model job routing as a blocky Lego/Minecraft-style pixel…