.claude/skills/release/SKILL.md
Guide the GitHub Actions release flow — version bump, tag push, verify CI, publish draft
npx skillsauth add jrmatherly/1dev releaseInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Walk through each step, verifying success before proceeding. The canonical release documentation is at docs/operations/release.md.
npm version patch --no-git-tag-version # or minor / major
Read package.json to confirm the new version number.
git add package.json bun.lock
git commit -m "chore: bump version to v0.0.XX"
git tag -a v0.0.XX -m "v0.0.XX" # annotated tag (required for --follow-tags)
git push origin main v0.0.XX # push branch AND tag explicitly
The push: tags: ['v*'] trigger in .github/workflows/release.yml fires automatically.
Gotcha — lightweight tags vs --follow-tags: git tag v0.0.XX (no -a) creates a lightweight tag. git push --follow-tags only pushes annotated tags, so lightweight tags get left behind locally — the commit hits main, but the workflow never fires because the tag isn't on the remote. Two safe patterns:
git tag -a v0.0.XX -m "v0.0.XX" to create an annotated tag, ORgit push origin main v0.0.XXIf you accidentally run git push --follow-tags with a lightweight tag, fix it with git push origin v0.0.XX — the workflow picks it up as soon as the tag lands on the remote.
Verify the tag hit the remote before assuming CI fired:
git ls-remote --tags origin v0.0.XX # should print the SHA + refs/tags/v0.0.XX
gh run list --workflow=release.yml --limit 1 # should show the queued run
gh run list --workflow=release.yml --limit 3
gh run watch <run-id> --exit-status
The workflow builds installers on macos-15, Ubuntu, and Windows in parallel, then publishes a draft GitHub Release with all artifacts.
Go to Releases, find the draft, review the artifacts and auto-generated notes, then click Publish release (or use CLI):
gh release edit v0.0.XX --draft=false
Once published, electron-updater's GitHub provider will see the release and offer auto-updates to installed users.
gh workflow run release.yml --ref main --field version=v0.0.XX
The tag must already exist.
xattr -rd com.apple.quarantine /Applications/1Code.app after install. Code signing is tracked as a roadmap item.auto-updater.ts is locked to "latest" channel. Beta support requires generateUpdatesFilesForAllChannels: true in the electron-builder config.See docs/operations/release.md for the full runbook including troubleshooting, code-signing plan, and the complete artifact table.
development
Background knowledge for AI agents before editing any file that handles authentication tokens or spawn environment variables in the 1Code enterprise fork. Triggers when touching src/main/lib/trpc/routers/claude.ts, claude-code.ts, claude/env.ts, feature-flags.ts, or claude-token.ts. Reminds the agent to consult the frozen Envoy Gateway strategy doc (auth-strategy-envoy-gateway.md v2.1) sections that impose hard rules on credential handling.
tools
Background knowledge for safely bumping the pinned versions of Claude CLI binary, Codex CLI binary, Electron, Vite, Tailwind, or Shiki in this repo. Each pin is load-bearing for a different reason — this skill encodes the per-pin rationale and the regression test that must pass before the bump can land. Use proactively whenever editing package.json, scripts/download-claude-binary.mjs, scripts/download-codex-binary.mjs, or any file that mentions these versions. Claude-only (background knowledge, not user-invocable).
development
Use when reading or writing any file under src/renderer/ that calls remoteTrpc.* or fetch(${apiUrl}/...). Verifies the call site is documented in docs/enterprise/upstream-features.md and warns if a new upstream-backend dependency is being introduced without a corresponding F-entry. This skill enforces the enterprise-fork posture documented in CLAUDE.md.
development
End-of-task sync — update CLAUDE.md, rebuild code graph, sync Serena memories, check roadmap drift, and commit. Run after completing any significant work to ensure all drift surfaces are current.