TEST: publish an explainer Claude wrote in claude-code-action

1 hour ago

This pull request lets the Claude Code Action write a pull request explainer, then hands the finished folder to a second job that narrates and publishes it. The action gains one new input, called presentation, that makes the publish possible without running any model. This repository's own workflow is the test of it.

Ask about this presentation

Chapters

  1. 0:00The explainer is written by Claude in one job and published by another
  2. 0:21Claude's session can't publish, so publishing moves to a second job
  3. 0:46Write job uploads a folder, publish job downloads it and runs the action
  4. 1:13With presentation set, no key proxy and no agent run
  5. 1:37The same branch also carries several unrelated changes, one of them breaking
  6. 2:12Review the action.yml changes; the workflow only runs for same-repository branches
Show transcript

The explainer is written by Claude in one job and published by another

PR 3 · 1

A pull request explainer, split across two jobs

Claude writes · a fresh runner publishes

This pull request lets the Claude Code Action write a pull request explainer, then hands the finished folder to a second job that narrates and publishes it. The action gains one new input, called presentation, that makes the publish possible without running any model. This repository's own workflow is the test of it.

Claude's session can't publish, so publishing moves to a second job

PR 3 · 2

Claude's session can't publish

claude-code-action removes the GitHub identity before Claude starts

The reason for two jobs is that claude-code-action strips the variables that mint the run's GitHub identity before Claude starts. Publishing as the repository needs that identity. So the first job only writes and checks the explainer. The second job, on a fresh runner, is the only one allowed to request an identity token, the same split that trusted publishing uses between building and releasing.

Write job uploads a folder, publish job downloads it and runs the action

PR 3 · 3

Two jobs, one folder

writeclaude-code-action + presenter plugin
artifact
publishuses: ./ with presentation: explainer

Here is the workflow. The write job checks out the repository and runs Claude Code Action with the presenter plugin. The prompt tells Claude to stop before publish, so it writes the slides and a context file, runs the plan and pronunciation checks, and uploads the folder as an artifact. The publish job downloads that artifact and calls the action from this repository, with source set to pull request and presentation pointing at the folder.

With presentation set, no key proxy and no agent run

PR 3 · 4

The new input skips the model

take-presentation.ts copies the folder to where the agent output would be

Start the key proxy
Author with the model
Take the presentation an earlier job wrote
Check, narrate, publish, comment

Inside the action, a presentation input turns off the key proxy and the authoring step. A new script checks that the folder exists and holds the slides, then copies it to where the agent's output would have been. After that the structure check and the narrate and publish steps run unchanged. So no provider key is needed in the publish job, and nothing Claude touched runs with the publishing identity.

The same branch also carries several unrelated changes, one of them breaking

PR 3 · 5

Also in this diff

Read these before approving

  • when: judged
  • missing-key setup note
  • private, not unlisted
  • retry once, best effort
  • bisque-api-key removed

The diff is bigger than the feature, because the commit copies the whole action from another branch. It adds a when input that lets a model judge whether a pull request is worth explaining, and a setup note when the provider key is missing. Private repositories now publish as private rather than unlisted. Publishing retries once, and a warning about the slides no longer stops it. And the two inputs that took a Bisque API key and user id are gone, so every run now publishes through GitHub identity. Anyone passing those inputs will be affected.

Review the action.yml changes; the workflow only runs for same-repository branches

PR 3 · 6

Review the action, not the copies

Fork pull requests run without secrets, so they are not explained

Start with the action's main definition file and the new script, which are the feature. The skill folders and the other action sources are copied in from another branch, so treat them as a sync. One limit: a pull request from a fork runs without secrets, so Claude cannot write anything for it. This pull request is a test, and it is closed after the run. That is the whole path: Claude writes, a second job publishes.

What happened in AI today, in your inbox

One short email each evening. Read it and you’re caught up.

Built in New York with ❤️