Skip to main content

installing-posthog-from-chat

Set up PostHog in a user's GitHub repository from a chat, without a terminal. Wizard, PostHog's setup agent, runs in the cloud, adds the SDK and first events, and opens a pull request. Use when a user in ChatGPT, Claude, or another chat client asks to install, add, or set up PostHog in their app or repository, or asks for a pull request that adds PostHog. Covers connecting GitHub, picking the repository, starting the run, polling it, and sharing the pull request.

معلومات المصدر

المستودع
PostHog/ai-plugin
آخر نشاط في المصدر
٢١ أكتوبر ٢٠٢٦ في ١٢:٠٨
لغة SKILL.md المكتشفة
الإنجليزية
النجوم
٩٥
التفرعات
٢٠

خيارات التثبيت

يُحدَّد Prompt الذي يراجع المصدر أولًا بشكل افتراضي. يمكنك التبديل إلى أمر مباشر أو تنزيل نسخة محلية.

مراجعة ملفات المصدر

اقرأ SKILL.md وأي ملفات مرافقة يعرضها SkillsMP قبل أن تقرر التثبيت.

عرض SKILL.md

SKILL.md
تعليمات المصدر · معاينة للقراءة فقط
name
installing-posthog-from-chat
description
Set up PostHog in a user's GitHub repository from a chat, without a terminal. Wizard, PostHog's setup agent, runs in the cloud, adds the SDK and first events, and opens a pull request. Use when a user in ChatGPT, Claude, or another chat client asks to install, add, or set up PostHog in their app or repository, or asks for a pull request that adds PostHog. Covers connecting GitHub, picking the repository, starting the run, polling it, and sharing the pull request.
# Installing PostHog from chat Wizard is PostHog's setup agent. With `wizard-install-start` it runs in a cloud workspace on a GitHub repository, makes the code changes, and opens a pull request. The user reviews and merges that pull request. Nothing changes on their default branch until they do. Work through the steps in order. Skip a step when its outcome is already known from the conversation. ## 1. Connect GitHub The run uses the project's GitHub connection, so the project needs one. 1. Call `integrations-list` and look for an integration with kind `github`. 2. When there is none, give the user this link, built from the base URL and project ID in your context: `<base URL>/integrations/connect/github/?project_id=<project id>&connect_from=mcp`. They install the PostHog GitHub App and choose which repositories it can access. Wait until they say they are done, then call `integrations-list` again. ## 2. Pick the repository Call `integrations-github-repos-retrieve` with the GitHub integration's ID. Use `search` when the user named the repository, and page with `offset` when `has_more` is true. - One clear match: confirm it with the user in one line. - Several matches: list them and ask which one. - No match: the GitHub App cannot access it. Ask the user to add the repository to the app's repository access in GitHub, then search again. Pass the repository as `full_name` (`owner/name`). The setup agent works at the repository root. If the user describes a monorepo where the app lives in a subdirectory, tell them the run may not find it, and offer to try anyway. ## 3. Start the run Call `wizard-install-start` with: - `repository`: the `owner/name` from step 2. - `branch`: only when the user wants a branch other than the default one. The pull request targets that branch. - `idempotency_key`: a fresh unique value for this request. Reuse the same value if you retry after a network error, so the retry returns the same run. Errors the user can act on: | Error code | What to do | | --------------------------- | -------------------------------------------------------------------------------------------------------- | | `github_not_connected` | Go back to step 1. | | `repository_not_accessible` | Ask the user to add the repository to the PostHog GitHub App, then retry with a new `idempotency_key`. | | `run_already_active` | The user already has a run in progress in this project. Ask them to wait for it, or check it in PostHog. | | HTTP 429 | The user reached the hourly or daily limit for setup runs. Relay the message. Don't retry right away. | Tell the user the run started and share the `url` from the response, where they can follow it in PostHog. ## 4. Poll the run Call `wizard-install-status` with the `run_id` about every 30 seconds while `status` is `created` or `running`. A run usually takes several minutes. - Relay `next_step` to the user when it changes. It is written to be passed on as is. - Mention progress from `tasks` when it helps, but don't send an update on every poll. - Stop polling when `status` is `completed`, `failed`, or `cancelled`. When the client cannot wait that long in one turn, tell the user the run is in progress and check again when they come back. ## 5. Share the result - `completed` with `pull_request_url`: share the link. Say the user should review the changes and merge the pull request to finish setting up PostHog. - `completed` without `pull_request_url`: the setup agent changed nothing, often because PostHog is already set up. Relay `next_step`. - `failed`: relay `next_step` and `error_message`. Offer to start a new run when `next_step` suggests one.
عرض على GitHub