Skip to content

Conversation

@charlesvien
Copy link

@charlesvien charlesvien commented Dec 17, 2025

This still needs work! We should also consider some way to detect if they have linting, formatting, etc in their project so we can hook into that and get into a validation loop with the changes the agent makes against their codebase. The migration guides can be a bit more inclusive as well.


I had this idea at lunch today, this seems like such an obvious win. Had to scratch the itch and see how easy it would be.

Arch'd it to be provider abstract so we can easily implement other SDKs migrations as well.

Tested on their example react app, it one shot converted it with no errors.
https://github.com/amplitude/ampli-examples/tree/main/browser/typescript/v2/react-app


Screenshot 2025-12-17 at 12 10 30 AM Screenshot 2025-12-17 at 12 18 37 AM Screenshot 2025-12-17 at 12 19 52 AM Screenshot 2025-12-17 at 12 22 03 AM

@daniloc
Copy link
Collaborator

daniloc commented Dec 17, 2025

Hell yeah, thanks for diving in with this! love that we have an example to test against.

A couple things:

  • we want to get away from massive strings in typescript files. This ended up being really rough to maintain, and so all the future wizard stuff is designed to avoid it. We want the wizard to be basically a skinsuit around the agent and the MCP. This relates to...
  • new wizard features are architected such that they can also be delivered by /commands in the MCP. this way we can keep serving folks further along on their journey. MCP also acts as our context delivery vehicle for the wizard itself.

Have a look at the examples repo for some thoughts on how we do this:

https://github.com/PostHog/examples

The examples project turns into a zip file that the MCP ingests and reflects as resources and prompts.

of note:

https://github.com/PostHog/examples/tree/main/llm-prompts

These are the high level prompts that drive wizard runs, stored as markdown.

https://github.com/PostHog/examples/tree/main/mcp-commands

These define the slash commands delivered to Claude Code, Cursor, etc

Your prompt uses a ton of string interpolation, which is fine: we'd probably have a runtime-generated, thin base prompt that plugs in all the variables, then appends the bulky stuff by calling an MCP URI. Check out how nextjs-wizard-agent.js and agent-runner.js work together.

@daniloc
Copy link
Collaborator

daniloc commented Dec 17, 2025

The wizard workbench can get the full set of wizard > MCP > examples working together as well:

https://github.com/PostHog/wizard-workbench

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants