[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-f48cc770-0637-467a-a09e-936c5bf0d80e":3,"$fviJtaF99WPl5gAZ7HQo4nHPGty6H4glv_hYjSxy98r4":43},{"id":4,"title":5,"description":6,"categoryId":7,"moduleId":8,"tags":9,"prompt":10,"icon":11,"source":12,"sourceUrl":13,"authorId":14,"authorName":15,"isPublic":16,"stars":17,"runs":18,"createdAt":19,"updatedAt":19,"module":20,"category":27,"packages":34},"f48cc770-0637-467a-a09e-936c5bf0d80e","posthog-automation","通过Rube MCP（Composio）自动化PostHog任务：事件、功能标志、项目、用户资料、注释。始终首先搜索当前架构的工具。","cat_prod_automation","mod_productivity","sickn33,productivity","---\nname: posthog-automation\ndescription: \"Automate PostHog tasks via Rube MCP (Composio): events, feature flags, projects, user profiles, annotations. Always search tools first for current schemas.\"\nrisk: critical\nsource: community\ndate_added: \"2026-02-27\"\n---\n\n# PostHog Automation via Rube MCP\n\nAutomate PostHog product analytics and feature flag management through Composio's PostHog toolkit via Rube MCP.\n\n## Prerequisites\n\n- Rube MCP must be connected (RUBE_SEARCH_TOOLS available)\n- Active PostHog connection via `RUBE_MANAGE_CONNECTIONS` with toolkit `posthog`\n- Always call `RUBE_SEARCH_TOOLS` first to get current tool schemas\n\n## Setup\n\n**Get Rube MCP**: Add `https:\u002F\u002Frube.app\u002Fmcp` as an MCP server in your client configuration. No API keys needed — just add the endpoint and it works.\n\n\n1. Verify Rube MCP is available by confirming `RUBE_SEARCH_TOOLS` responds\n2. Call `RUBE_MANAGE_CONNECTIONS` with toolkit `posthog`\n3. If connection is not ACTIVE, follow the returned auth link to complete PostHog authentication\n4. Confirm connection status shows ACTIVE before running any workflows\n\n## Core Workflows\n\n### 1. Capture Events\n\n**When to use**: User wants to send event data to PostHog for analytics tracking\n\n**Tool sequence**:\n1. `POSTHOG_CAPTURE_EVENT` - Send one or more events to PostHog [Required]\n\n**Key parameters**:\n- `event`: Event name (e.g., '$pageview', 'user_signed_up', 'purchase_completed')\n- `distinct_id`: Unique user identifier (required)\n- `properties`: Object with event-specific properties\n- `timestamp`: ISO 8601 timestamp (optional; defaults to server time)\n\n**Pitfalls**:\n- `distinct_id` is required for every event; identifies the user\u002Fdevice\n- PostHog system events use `$` prefix (e.g., '$pageview', '$identify')\n- Custom events should NOT use the `$` prefix\n- Properties are freeform; maintain consistent schemas across events\n- Events are processed asynchronously; ingestion delay is typically seconds\n\n### 2. List and Filter Events\n\n**When to use**: User wants to browse or search through captured events\n\n**Tool sequence**:\n1. `POSTHOG_LIST_AND_FILTER_PROJECT_EVENTS` - Query events with filters [Required]\n\n**Key parameters**:\n- `project_id`: PostHog project ID (required)\n- `event`: Filter by event name\n- `person_id`: Filter by person ID\n- `after`: Events after this ISO 8601 timestamp\n- `before`: Events before this ISO 8601 timestamp\n- `limit`: Maximum events to return\n- `offset`: Pagination offset\n\n**Pitfalls**:\n- `project_id` is required; resolve via LIST_PROJECTS first\n- Date filters use ISO 8601 format (e.g., '2024-01-15T00:00:00Z')\n- Large event volumes require pagination; use `offset` and `limit`\n- Results are returned in reverse chronological order by default\n- Event properties are nested; parse carefully\n\n### 3. Manage Feature Flags\n\n**When to use**: User wants to create, view, or manage feature flags\n\n**Tool sequence**:\n1. `POSTHOG_LIST_AND_MANAGE_PROJECT_FEATURE_FLAGS` - List existing feature flags [Required]\n2. `POSTHOG_RETRIEVE_FEATURE_FLAG_DETAILS` - Get detailed flag configuration [Optional]\n3. `POSTHOG_CREATE_FEATURE_FLAGS_FOR_PROJECT` - Create a new feature flag [Optional]\n\n**Key parameters**:\n- For listing: `project_id` (required)\n- For details: `project_id`, `id` (feature flag ID)\n- For creation:\n  - `project_id`: Target project\n  - `key`: Flag key (e.g., 'new-dashboard-beta')\n  - `name`: Human-readable name\n  - `filters`: Targeting rules and rollout percentage\n  - `active`: Whether the flag is enabled\n\n**Pitfalls**:\n- Feature flag `key` must be unique within a project\n- Flag keys should use kebab-case (e.g., 'my-feature-flag')\n- `filters` define targeting groups with properties and rollout percentages\n- Creating a flag with `active: true` immediately enables it for matching users\n- Flag changes take effect within seconds due to PostHog's polling mechanism\n\n### 4. Manage Projects\n\n**When to use**: User wants to list or inspect PostHog projects and organizations\n\n**Tool sequence**:\n1. `POSTHOG_LIST_PROJECTS_IN_ORGANIZATION_WITH_PAGINATION` - List all projects [Required]\n\n**Key parameters**:\n- `organization_id`: Organization identifier (may be optional depending on auth)\n- `limit`: Number of results per page\n- `offset`: Pagination offset\n\n**Pitfalls**:\n- Project IDs are numeric; used as parameters in most other endpoints\n- Organization ID may be required; check your PostHog setup\n- Pagination is offset-based; iterate until results are empty\n- Project settings include API keys and configuration details\n\n### 5. User Profile and Authentication\n\n**When to use**: User wants to check current user details or verify API access\n\n**Tool sequence**:\n1. `POSTHOG_WHOAMI` - Get current API user information [Optional]\n2. `POSTHOG_RETRIEVE_CURRENT_USER_PROFILE` - Get detailed user profile [Optional]\n\n**Key parameters**:\n- No required parameters for either call\n- Returns current authenticated user's details, permissions, and organization info\n\n**Pitfalls**:\n- WHOAMI is a lightweight check; use for verifying API connectivity\n- User profile includes organization membership and permissions\n- These endpoints confirm the API key's access level and scope\n\n## Common Patterns\n\n### ID Resolution\n\n**Organization -> Project ID**:\n```\n1. Call POSTHOG_LIST_PROJECTS_IN_ORGANIZATION_WITH_PAGINATION\n2. Find project by name in results\n3. Extract id (numeric) for use in other endpoints\n```\n\n**Feature flag name -> Flag ID**:\n```\n1. Call POSTHOG_LIST_AND_MANAGE_PROJECT_FEATURE_FLAGS with project_id\n2. Find flag by key or name\n3. Extract id for detailed operations\n```\n\n### Feature Flag Targeting\n\nFeature flags support sophisticated targeting:\n```json\n{\n  \"filters\": {\n    \"groups\": [\n      {\n        \"properties\": [\n          {\"key\": \"email\", \"value\": \"@company.com\", \"operator\": \"icontains\"}\n        ],\n        \"rollout_percentage\": 100\n      },\n      {\n        \"properties\": [],\n        \"rollout_percentage\": 10\n      }\n    ]\n  }\n}\n```\n- Groups are evaluated in order; first matching group determines the rollout\n- Properties filter users by their traits\n- Rollout percentage determines what fraction of matching users see the flag\n\n### Pagination\n\n- Events: Use `offset` and `limit` (offset-based)\n- Feature flags: Use `offset` and `limit` (offset-based)\n- Projects: Use `offset` and `limit` (offset-based)\n- Continue until results array is empty or smaller than `limit`\n\n## Known Pitfalls\n\n**Project IDs**:\n- Required for most API endpoints\n- Always resolve project names to numeric IDs first\n- Multiple projects can exist in one organization\n\n**Event Naming**:\n- System events use `$` prefix ($pageview, $identify, $autocapture)\n- Custom events should NOT use `$` prefix\n- Event names are case-sensitive; maintain consistency\n\n**Feature Flags**:\n- Flag keys must be unique within a project\n- Use kebab-case for flag keys\n- Changes propagate within seconds\n- Deleting a flag is permanent; consider disabling instead\n\n**Rate Limits**:\n- Event ingestion has throughput limits\n- Batch events where possible for efficiency\n- API endpoints have per-minute rate limits\n\n**Response Parsing**:\n- Response data may be nested under `data` or `results` key\n- Paginated responses include `count`, `next`, `previous` fields\n- Event properties are nested objects; access carefully\n- Parse defensively with fallbacks for optional fields\n\n## Quick Reference\n\n| Task | Tool Slug | Key Params |\n|------|-----------|------------|\n| Capture event | POSTHOG_CAPTURE_EVENT | event, distinct_id, properties |\n| List events | POSTHOG_LIST_AND_FILTER_PROJECT_EVENTS | project_id, event, after, before |\n| List feature flags | POSTHOG_LIST_AND_MANAGE_PROJECT_FEATURE_FLAGS | project_id |\n| Get flag details | POSTHOG_RETRIEVE_FEATURE_FLAG_DETAILS | project_id, id |\n| Create flag | POSTHOG_CREATE_FEATURE_FLAGS_FOR_PROJECT | project_id, key, filters |\n| List projects | POSTHOG_LIST_PROJECTS_IN_ORGANIZATION_WITH_PAGINATION | organization_id |\n| Who am I | POSTHOG_WHOAMI | (none) |\n| User profile | POSTHOG_RETRIEVE_CURRENT_USER_PROFILE | (none) |\n\n## When to Use\nThis skill is applicable to execute the workflow or actions described in the overview.\n\n## Limitations\n- Use this skill only when the task clearly matches the scope described above.\n- Do not treat the output as a substitute for environment-specific validation, testing, or expert review.\n- Stop and ask for clarification if required inputs, permissions, safety boundaries, or success criteria are missing.\n","","imported","https:\u002F\u002Fgithub.com\u002Fsickn33\u002Fantigravity-awesome-skills","user_system_seed","SkillOPIC",true,243,1928,"2026-05-16 13:34:29",{"id":8,"name":21,"slug":22,"icon":23,"description":24,"sort":25,"createdAt":26},"效率工具","productivity","mdi-lightning-bolt-outline","文档处理、数据分析、自动化工作流",4,"2026-05-16 12:53:40",{"id":7,"name":28,"slug":29,"icon":30,"description":31,"moduleId":8,"sort":32,"skillCount":33,"createdAt":26},"自动化","automation","mdi-robot-outline","工作流自动化、批处理",3,101,[35],{"id":36,"skillId":4,"version":37,"fileName":38,"fileSize":39,"filePath":40,"fileHash":41,"manifest":42,"createdAt":19},"6ac77d43-7ba7-47d8-8411-d085a7ac08cd","1.0.0","posthog-automation.zip",3423,"uploads\u002Fskills\u002Ff48cc770-0637-467a-a09e-936c5bf0d80e\u002Fposthog-automation.zip","49f900247eb56b515cc3c223815755c12eeabe6256fe130867cd75f5d2e658d6","[{\"path\":\"SKILL.md\",\"isDirectory\":false,\"size\":8444}]",{"code":44,"message":45,"data":46},200,"success",{"items":47,"stats":48,"page":51},[],{"averageRating":49,"totalRatings":49,"ratingCounts":50},0,[49,49,49,49,49],{"limit":52,"offset":49,"hasMore":53,"nextOffset":52,"ratedOnly":16},15,false]