Skip to content

chore: add changelog generation workflow and configuration#416

Draft
nir-singher-band wants to merge 5 commits into
mainfrom
claude/determined-cannon-b8z9pv
Draft

chore: add changelog generation workflow and configuration#416
nir-singher-band wants to merge 5 commits into
mainfrom
claude/determined-cannon-b8z9pv

Conversation

@nir-singher-band

Copy link
Copy Markdown
Collaborator

Summary

Adds automated changelog generation infrastructure for the Band Python SDK. This includes a GitHub Actions workflow that publishes release changelogs when a new release is created, and configuration files to support the changelog-generator skill.

Changes

  • .github/workflows/changelog.yml: New GitHub Actions workflow that:

    • Triggers on GitHub Release publication (or manual dispatch)
    • Generates a GitHub App token scoped to required repositories
    • Clones the private private-agent-skills marketplace repo using the App token
    • Invokes the changelog-generator skill via Claude Code Action
    • Passes necessary secrets (Linear API key, Slack webhook, Discord webhook) to the skill
    • The skill reads merged Linear issues, opens a PR to the Fern docs repo with auto-merge, posts announcements to Slack/Discord, and writes release notes to Linear
  • .band/changelog.yml: New configuration file for the changelog-generator skill:

    • Specifies the Fern docs repository (band-ai/fern) where changelog entries are published
    • Defines the changelog path within the Fern repo
    • Configures Linear integration with the SDK team key for issue tracking
    • Contains TODO placeholders for confirming Fern repo paths and Linear team key

Related Issues

N/A

Testing

No testing needed. This is infrastructure configuration that will be validated when the first release is published and the workflow executes.

Checklist

  • PR title follows Conventional Commits format
  • Configuration files are properly formatted and documented
  • Secrets and environment variables are correctly referenced

https://claude.ai/code/session_0149AsooRHGtpNo4NA5eNUwW

claude added 4 commits July 6, 2026 17:28
Fires on release:published (after release-please cuts a release) and runs the
shared changelog-generator plugin skill via the Claude Code Action. The skill
reads Linear issues, opens an auto-merging PR to the Fern docs repo, posts to
Slack, and drafts a Discord announcement into the private review channel.

Reuses the existing APP_CLIENT_ID/APP_PRIVATE_KEY GitHub App; the token is
scoped to the source, Fern docs, and (private) marketplace repos.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0149AsooRHGtpNo4NA5eNUwW
Use the private marketplace repo band-ai/private-agent-skills
(marketplace name private-agent-skills) and the Fern docs repo band-ai/fern.
Add .band/changelog.yml holding the non-secret per-repo config the skill reads
(Fern repo/path, Linear team filter).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0149AsooRHGtpNo4NA5eNUwW
The action clones band-ai/private-agent-skills to install the plugin; since that
repo is private, rewrite its URL to use the scoped App token so the clone works.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0149AsooRHGtpNo4NA5eNUwW
For the first iteration, the skill opens a draft PR to the Fern docs repo for a
human to review and merge, rather than enabling auto-merge. Drops the need for
"Allow auto-merge" and branch protection on the Fern repo.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0149AsooRHGtpNo4NA5eNUwW
Resolves the TODOs left in .band/changelog.yml: the docs entries live
under fern/changelog/sdks, and this repo's Linear team is INT.
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.

2 participants