Skip to content

feat(skills): publish every report through publish_handoff, no local files - #306

Draft
gewenyu99 wants to merge 1 commit into
posthog-code/publish-handoff-skillfrom
posthog-code/publish-handoff-all-programs
Draft

feat(skills): publish every report through publish_handoff, no local files#306
gewenyu99 wants to merge 1 commit into
posthog-code/publish-handoff-skillfrom
posthog-code/publish-handoff-all-programs

Conversation

@gewenyu99

Copy link
Copy Markdown
Collaborator

Stacked on #303. Pairs with wizard#1047, which makes publish_handoff create the notebook.

Every skill that produced a human-facing report now publishes it in one publish_handoff call. No notebooks-create, no [NOTEBOOK_URL] marker (the wizard deleted it), no .md dropped in the user's project.

Migrated: audit and its six leaf variants, events-audit, migrate, self-driving, web-analytics, data-warehouse-source, plus the v1 conclude and v2 report steps that were still making the notebook call themselves.

Two things worth reviewing

The incremental builds are kept, redirected to scratch. audit and events-audit deliberately compose their report with Write + Edit per section, because "a single sustained generation of the full document routinely drops the LLM streaming connection around the 10-minute mark". publish_handoff needs the whole document in one argument, so those skills now build into .posthog-wizard-cache/<name>-report.md, publish from it, and delete it. That directory is the wizard's own scratch space, not something the user reads.

events-audit publishes in step 6, not step 5. Step 6 fills {{dashboard_callout}} in the report after the dashboard exists, so publishing at the end of step 5 would have shipped an unsubstituted placeholder to the reader.

Kept on purpose

posthog-web-analytics-findings.json is still written — it's explicitly machine-readable, not a report. Same for .posthog-audit-checks.json, .posthog-events-inventory*.json, .posthog-events.json and the .posthog-wizard-cache/ inputs.

Both audit ledger ids (write-report, upload-notebook) are still resolved, because the wizard seeds both and audit_resolve_checks errors on an unknown id — that keeps the released skills working while wizard#1047 ships first.

Removed

integration-v2/notebook — creating the notebook was its only job. Dropped from the report agent's skills list too.

Checks

npm run test 18 files / 137 tests pass. npm run build clean, 8 plugins / 118 skills. Net −474 lines, mostly the notebooks-create + 9×notebook-edit + verify dance in events-audit that the tool replaces.


Created with PostHog Code

…files

The wizard's publish_handoff tool now creates the PostHog notebook itself, so
skills stop doing it: no notebooks-create call, no [NOTEBOOK_URL] marker, and no
human-facing report file dropped in the project. Every report goes out in one
publish_handoff call.

The two skills that build their report incrementally — audit and events-audit —
keep doing so, into the wizard's scratch directory rather than the project root.
That chunking exists because a single sustained generation of a full report drops
the streaming connection around the ten-minute mark, and publishing needs the
whole document in one argument. events-audit publishes in step 6 rather than
step 5, since step 6 is what fills the dashboard callout.

The integration-v2 notebook skill goes away — creating the notebook was its only
job.

Generated-By: PostHog Code
Task-Id: 3ab3f6ae-5b80-45a2-849d-ac6efdff3505
@gewenyu99
gewenyu99 requested review from a team as code owners July 31, 2026 03:17
@github-actions

Copy link
Copy Markdown

🧙 Wizard CI

Run the Wizard CI and test your changes against wizard-workbench example apps by replying with a GitHub comment using one of the following commands:

Test all apps:

  • /wizard-ci all

Test all apps in a directory:

  • /wizard-ci basic-integration
  • /wizard-ci mcp-analytics
  • /wizard-ci revenue
  • /wizard-ci self-driving

Test an individual app:

  • /wizard-ci basic-integration/android
  • /wizard-ci basic-integration/angular
  • /wizard-ci basic-integration/astro
Show more apps
  • /wizard-ci basic-integration/django
  • /wizard-ci basic-integration/fastapi
  • /wizard-ci basic-integration/flask
  • /wizard-ci basic-integration/javascript-node
  • /wizard-ci basic-integration/javascript-web
  • /wizard-ci basic-integration/laravel
  • /wizard-ci basic-integration/next-js
  • /wizard-ci basic-integration/nuxt
  • /wizard-ci basic-integration/python
  • /wizard-ci basic-integration/rails
  • /wizard-ci basic-integration/react-native
  • /wizard-ci basic-integration/react-router
  • /wizard-ci basic-integration/sveltekit
  • /wizard-ci basic-integration/swift
  • /wizard-ci basic-integration/tanstack-router
  • /wizard-ci basic-integration/tanstack-start
  • /wizard-ci basic-integration/vue
  • /wizard-ci mcp-analytics/custom-dispatcher
  • /wizard-ci mcp-analytics/typescript-sdk
  • /wizard-ci revenue/stripe
  • /wizard-ci self-driving/astro
  • /wizard-ci self-driving/fastapi
  • /wizard-ci self-driving/nuxt
  • /wizard-ci self-driving/react-router
  • /wizard-ci self-driving/sveltekit

Results will be posted here when complete.

@gewenyu99
gewenyu99 marked this pull request as draft July 31, 2026 03:34
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.

1 participant