Sets commit, branch, conflict, pull-request, version-bump, and changelog steps for code changes.

How it works

Foe: Gate Warden, the release gate: deploys, app stores, pull requests.

Foes

  • Gate Warden

Party · Context

  • InquisitorYour agent100/100
  1. Gate Warden

    The Gate Warden blocks the way.

    What really happensIt stands for the release gate: deploys, app stores, pull requests.

    Inquisitor: Context 100/100.

  2. Bar the gate

    The Gate Warden uses Bar the gate.

    What really happensA release waits until tests, builds and reviews pass.

    Inquisitor takes 9. Inquisitor: Context 91/100.

  3. Addy Osmani Git Workflow and Versioning

    The hero reads the git scroll before the gate will open.

    What really happensThe agent loads git-workflow-and-versioning for commits, branches, conflicts, pull requests, and releases.

    Gate Warden takes 15.

  4. Addy Osmani Git Workflow and Versioning

    Each passing slice is stamped as its own save point.

    What really happensOne logical change per commit, with a type prefix such as feat, fix, or refactor, and a message that says why.

    Gate Warden takes 30.

  5. Bar the gate

    The Gate Warden uses Bar the gate.

    Inquisitor takes 9. Inquisitor: Context 82/100.

  6. Addy Osmani Git Workflow and Versioning

    The staged diff is searched for secrets before the stamp.

    What really happensBefore commit: git diff --staged, a grep for password, secret, api_key, or token, then npm test, npm run lint, and npx tsc --noEmit.

    Gate Warden takes 12.

  7. Addy Osmani Git Workflow and Versioning

    Short-lived branches keep main fit to deploy.

    What really happensBranch from main, merge within 1-3 days, and delete after merge. Names look like feature/task-creation or fix/duplicate-tasks.

    Gate Warden takes 19.

  8. Addy Osmani Git Workflow and Versioning

    A tagged release and a human changelog clear the gate.

    What really happensConsumers get a MAJOR.MINOR.PATCH bump, an annotated git tag, and a changelog grouped by user impact, newest on top.

    Gate Warden takes 24. Gate Warden falls.

  9. Victory

    The Gate Warden falls.

Learn this spell

Claude Code and Codex

npx skills add addyosmani/agent-skills --skill git-workflow-and-versioning

Notes

For commits, branches, conflicts, pull requests, and releases. Short-lived branches off main, merged within 1-3 days. One logical change per commit, message type such as feat or fix. Before commit, the examples run git diff --staged, grep for password, secret, api_key, or token, then npm test, npm run lint, and npx tsc --noEmit. Consumers get MAJOR.MINOR.PATCH, an annotated tag, and a changelog. Deploy itself belongs to shipping-and-launch. A per-skill install copies only this skill folder, not repo-level references/. All 25 skills: npx skills add addyosmani/agent-skills.

Proving Grounds record

Controlled quest results, separate from recorded usage. Each setup pools runs across its quests. The per-quest table below has casts, cast time, mana, incantation and runes; medians are not pooled.

Hero: Claude Code 2.1.305; weapon (model): claude-haiku-5-5; charge (effort): low; arena: sealed; invoked cast (the prompt named the skill). macOS 27.0.1, arm64. Curator.

Clear rate33%1 of 3 runs passed every check; Unarmed: 2 of 3 (matched quests)
Steadiness6%reliability: Wilson 95% lower bound
Buff-33 pp debuffvs Unarmed, only matched quests (3 equipped runs; 3 control runs)
Instant casts1 of 3runs cleared on the first prompt; Unarmed: 0 of 3 (matched quests)
Attunement100%3 of 3 runs opened an equipped skill
Upkeep+7% manaextra mana per run vs Unarmed, median of 1 quest
IncantationNot measuredoutput tokens per run vs Unarmed
Runes+0%lines added per run vs Unarmed, median of 1 quest

Hero: Claude Code 2.1.305; weapon (model): claude-opus-5-5; charge (effort): high; arena: sealed; invoked cast (the prompt named the skill). macOS 27.0.1, arm64. Curator.

Clear rate100%3 of 3 runs passed every check; Unarmed: 6 of 6 (matched quests)
Steadiness44%reliability: Wilson 95% lower bound
Buff+0 ppvs Unarmed, only matched quests (3 equipped runs; 6 control runs)
Instant casts0 of 3runs cleared on the first prompt; Unarmed: 2 of 6 (matched quests)
Attunement100%3 of 3 runs opened an equipped skill
Upkeep+78% manaextra mana per run vs Unarmed, median of 1 quest
IncantationNot measuredoutput tokens per run vs Unarmed
Runes+0%lines added per run vs Unarmed, median of 1 quest

Hero: Claude Code 2.1.305; weapon (model): claude-sonnet-5-5; charge (effort): medium; arena: sealed; invoked cast (the prompt named the skill). macOS 27.0.1, arm64. Curator.

Clear rate94%16 of 17 runs passed every check; Unarmed: 52 of 54 (matched quests)
Steadiness73%reliability: Wilson 95% lower bound
Buff-2 pp debuffvs Unarmed, only matched quests (17 equipped runs; 54 control runs)
Instant casts14 of 17runs cleared on the first prompt; Unarmed: 39 of 54 (matched quests)
Attunement47%8 of 17 runs opened an equipped skill
Upkeep+5% manaextra mana per run vs Unarmed, median of 4 quests
IncantationNot measuredoutput tokens per run vs Unarmed
Runes-2%lines added per run vs Unarmed, median of 4 quests

Hero: OMP 18.8.3; weapon (model): anthropic/claude-sonnet-5-5; charge (effort): medium; arena: warded; invoked cast (the prompt named the skill). macOS 27.0.1, arm64. Curator.

Clear rate100%3 of 3 runs passed every check; Unarmed: 2 of 3 (matched quests)
Steadiness44%reliability: Wilson 95% lower bound
Buff+33 ppvs Unarmed, only matched quests (3 equipped runs; 3 control runs)
Instant casts3 of 3runs cleared on the first prompt; Unarmed: 1 of 3 (matched quests)
Attunement100%3 of 3 runs opened an equipped skill
Upkeep-1% manaextra mana per run vs Unarmed, median of 1 quest
IncantationNot measuredoutput tokens per run vs Unarmed
Runes+0%lines added per run vs Unarmed, median of 1 quest

Hero: Claude Code 2.1.305; weapon (model): claude-sonnet-5-5; charge (effort): medium; arena: sealed; ambient cast (the agent chose). macOS 27.0.1, arm64. Curator.

Clear rate100%10 of 10 runs passed every check; Unarmed: 52 of 54 (matched quests)
Steadiness72%reliability: Wilson 95% lower bound
Buff+4 ppvs Unarmed, only matched quests (10 equipped runs; 54 control runs)
Instant casts6 of 10runs cleared on the first prompt; Unarmed: 39 of 54 (matched quests)
Attunement20%2 of 10 runs opened an equipped skill
Upkeep+1% manaextra mana per run vs Unarmed, median of 4 quests
IncantationNot measuredoutput tokens per run vs Unarmed
Runes+0%lines added per run vs Unarmed, median of 4 quests
Per-quest Proving Grounds record
QuestFixed taskClear ratePassed runsSteadinessReliability lower boundBuffClear-rate points vs UnarmedInstant castsFirst-prompt clearsCastsPrompts to clearCast timeAgent runtimeManaCost at API list pricesIncantationOutput tokensRunesLines added / removedAttunementSkills openedSetupApp, model, effort and sandbox
Inquisitor: missing-profile reviewQuest v2100%3 of 3Unarmed: 100% (12 of 12)44%+0 ppvs Unarmed3 of 3100%Unarmed: 12 of 1219sUnarmed: 7s538 Unarmed: 451Not reportedUnarmed: 394+1 / -0Unarmed: +1 / -00%Hero: Claude Code 2.1.305; weapon (model): claude-sonnet-5-5; charge (effort): medium; arena: sealed; invoked cast (the prompt named the skill).
macOS 27.0.1, arm64. Curator.
0 mishaps excluded. 2026-10-21 to 2026-10-21.Scrying (screenshot)
Try this loadout
node "<spell-report-skill-directory>/scripts/spell-report.mjs" trial --spell addy-git-workflow-and-versioning --quest inquisitor-null-guard --hero claude-code --weapon 'claude-sonnet-5-5' --charge medium --cast invoked --control

Recorded with quest v2 and spell commits addy-git-workflow-and-versioning@aeac41d4d005999432bb7312f7ff06383a91d59d. How to run it

Inquisitor: missing-profile reviewQuest v2100%2 of 2Unarmed: 100% (12 of 12)34%+0 ppvs Unarmed2 of 2100%Unarmed: 12 of 12117sUnarmed: 7s460 Unarmed: 451Not reportedUnarmed: 394+1 / -0Unarmed: +1 / -00%Hero: Claude Code 2.1.305; weapon (model): claude-sonnet-5-5; charge (effort): medium; arena: sealed; ambient cast (the agent chose).
macOS 27.0.1, arm64. Curator.
0 mishaps excluded. 2026-10-21 to 2026-10-21.Scrying (screenshot)
Try this loadout
node "<spell-report-skill-directory>/scripts/spell-report.mjs" trial --spell addy-git-workflow-and-versioning --quest inquisitor-null-guard --hero claude-code --weapon 'claude-sonnet-5-5' --charge medium --cast ambient --control

Recorded with quest v2 and spell commits addy-git-workflow-and-versioning@aeac41d4d005999432bb7312f7ff06383a91d59d. How to run it

Inquisitor: queue component reviewQuest v2100%3 of 3Unarmed: 100% (12 of 12)44%+0 ppvs Unarmed3 of 3100%Unarmed: 12 of 12120sUnarmed: 14s630 Unarmed: 616Not reportedUnarmed: 1.1k+5 / -0Unarmed: +5 / -00%Hero: Claude Code 2.1.305; weapon (model): claude-sonnet-5-5; charge (effort): medium; arena: sealed; invoked cast (the prompt named the skill).
macOS 27.0.1, arm64. Curator.
0 mishaps excluded. 2026-10-21 to 2026-10-21.Scrying (screenshot)
Try this loadout
node "<spell-report-skill-directory>/scripts/spell-report.mjs" trial --spell addy-git-workflow-and-versioning --quest inquisitor-react-list --hero claude-code --weapon 'claude-sonnet-5-5' --charge medium --cast invoked --control

Recorded with quest v2 and spell commits addy-git-workflow-and-versioning@aeac41d4d005999432bb7312f7ff06383a91d59d. How to run it

Inquisitor: queue component reviewQuest v2100%2 of 2Unarmed: 100% (12 of 12)34%+0 ppvs Unarmed2 of 2100%Unarmed: 12 of 12122sUnarmed: 14s625 Unarmed: 616Not reportedUnarmed: 1.1k+5 / -0Unarmed: +5 / -00%Hero: Claude Code 2.1.305; weapon (model): claude-sonnet-5-5; charge (effort): medium; arena: sealed; ambient cast (the agent chose).
macOS 27.0.1, arm64. Curator.
0 mishaps excluded. 2026-10-21 to 2026-10-21.Scrying (screenshot)
Try this loadout
node "<spell-report-skill-directory>/scripts/spell-report.mjs" trial --spell addy-git-workflow-and-versioning --quest inquisitor-react-list --hero claude-code --weapon 'claude-sonnet-5-5' --charge medium --cast ambient --control

Recorded with quest v2 and spell commits addy-git-workflow-and-versioning@aeac41d4d005999432bb7312f7ff06383a91d59d. How to run it

Inquisitor: cut the next releaseQuest v333%1 of 3Unarmed: 67% (2 of 3)6%-33 pp debuffvs Unarmed1 of 333%Unarmed: 0 of 311m 7sUnarmed: 1m 12s161 Unarmed: 150Not reportedUnarmed: Not reported+27 / -4Unarmed: +27 / -4100%Hero: Claude Code 2.1.305; weapon (model): claude-haiku-5-5; charge (effort): low; arena: sealed; invoked cast (the prompt named the skill).
macOS 27.0.1, arm64. Curator.
0 mishaps excluded. 2026-10-21 to 2026-10-21.Scrying (screenshot)
Try this loadout
node "<spell-report-skill-directory>/scripts/spell-report.mjs" trial --spell addy-git-workflow-and-versioning --quest inquisitor-release-cut --hero claude-code --weapon 'claude-haiku-5-5' --charge low --cast invoked --control

Recorded with quest v3 and spell commits addy-git-workflow-and-versioning@aeac41d4d005999432bb7312f7ff06383a91d59d. How to run it

Inquisitor: cut the next releaseQuest v3100%3 of 3Unarmed: 100% (6 of 6)44%+0 ppvs Unarmed0 of 30%Unarmed: 2 of 622m 4sUnarmed: 1m 11s5,641 Unarmed: 3,177Not reportedUnarmed: Not reported+28 / -4Unarmed: +28 / -4100%Hero: Claude Code 2.1.305; weapon (model): claude-opus-5-5; charge (effort): high; arena: sealed; invoked cast (the prompt named the skill).
macOS 27.0.1, arm64. Curator.
0 mishaps excluded. 2026-10-21 to 2026-10-21.Scrying (screenshot)
Try this loadout
node "<spell-report-skill-directory>/scripts/spell-report.mjs" trial --spell addy-git-workflow-and-versioning --quest inquisitor-release-cut --hero claude-code --weapon 'claude-opus-5-5' --charge high --cast invoked --control

Recorded with quest v3 and spell commits addy-git-workflow-and-versioning@aeac41d4d005999432bb7312f7ff06383a91d59d. How to run it

Inquisitor: cut the next releaseQuest v388%7 of 8Unarmed: 89% (16 of 18)53%-1 pp debuffvs Unarmed5 of 863%Unarmed: 4 of 18135sUnarmed: 43s1,366 Unarmed: 1,274Not reportedUnarmed: 2.1k+27 / -4Unarmed: +28 / -4100%Hero: Claude Code 2.1.305; weapon (model): claude-sonnet-5-5; charge (effort): medium; arena: sealed; invoked cast (the prompt named the skill).
macOS 27.0.1, arm64. Curator.
0 mishaps excluded. 2026-10-21 to 2026-10-21.Scrying (screenshot)
Try this loadout
node "<spell-report-skill-directory>/scripts/spell-report.mjs" trial --spell addy-git-workflow-and-versioning --quest inquisitor-release-cut --hero claude-code --weapon 'claude-sonnet-5-5' --charge medium --cast invoked --control

Recorded with quest v3 and spell commits addy-git-workflow-and-versioning@aeac41d4d005999432bb7312f7ff06383a91d59d. How to run it

Inquisitor: cut the next releaseQuest v3100%4 of 4Unarmed: 89% (16 of 18)51%+11 ppvs Unarmed0 of 40%Unarmed: 4 of 18240sUnarmed: 43s1,176 Unarmed: 1,274Not reportedUnarmed: 2.1k+28 / -4Unarmed: +28 / -450%Hero: Claude Code 2.1.305; weapon (model): claude-sonnet-5-5; charge (effort): medium; arena: sealed; ambient cast (the agent chose).
macOS 27.0.1, arm64. Curator.
0 mishaps excluded. 2026-10-21 to 2026-10-21.Scrying (screenshot)
Try this loadout
node "<spell-report-skill-directory>/scripts/spell-report.mjs" trial --spell addy-git-workflow-and-versioning --quest inquisitor-release-cut --hero claude-code --weapon 'claude-sonnet-5-5' --charge medium --cast ambient --control

Recorded with quest v3 and spell commits addy-git-workflow-and-versioning@aeac41d4d005999432bb7312f7ff06383a91d59d. How to run it

Inquisitor: cut the next releaseQuest v3100%3 of 3Unarmed: 67% (2 of 3)44%+33 ppvs Unarmed3 of 3100%Unarmed: 1 of 3132sUnarmed: 41s1,127 Unarmed: 1,141Not reportedUnarmed: Not reported+28 / -4Unarmed: +28 / -4100%Hero: OMP 18.8.3; weapon (model): anthropic/claude-sonnet-5-5; charge (effort): medium; arena: warded; invoked cast (the prompt named the skill).
macOS 27.0.1, arm64. Curator.
0 mishaps excluded. 2026-10-21 to 2026-10-21.Scrying (screenshot)
Try this loadout
node "<spell-report-skill-directory>/scripts/spell-report.mjs" trial --spell addy-git-workflow-and-versioning --quest inquisitor-release-cut --hero omp --weapon 'anthropic/claude-sonnet-5-5' --charge medium --cast invoked --control

Recorded with quest v3 and spell commits addy-git-workflow-and-versioning@aeac41d4d005999432bb7312f7ff06383a91d59d. How to run it

Inquisitor: receipts security reviewQuest v2100%3 of 3Unarmed: 100% (12 of 12)44%+0 ppvs Unarmed3 of 3100%Unarmed: 11 of 12124sUnarmed: 19s693 Unarmed: 721Not reportedUnarmed: 1.7k+6 / -0Unarmed: +7 / -00%Hero: Claude Code 2.1.305; weapon (model): claude-sonnet-5-5; charge (effort): medium; arena: sealed; invoked cast (the prompt named the skill).
macOS 27.0.1, arm64. Curator.
0 mishaps excluded. 2026-10-21 to 2026-10-21.Scrying (screenshot)
Try this loadout
node "<spell-report-skill-directory>/scripts/spell-report.mjs" trial --spell addy-git-workflow-and-versioning --quest inquisitor-sql-handler --hero claude-code --weapon 'claude-sonnet-5-5' --charge medium --cast invoked --control

Recorded with quest v2 and spell commits addy-git-workflow-and-versioning@aeac41d4d005999432bb7312f7ff06383a91d59d. How to run it

Inquisitor: receipts security reviewQuest v2100%2 of 2Unarmed: 100% (12 of 12)34%+0 ppvs Unarmed2 of 2100%Unarmed: 11 of 12123sUnarmed: 19s726 Unarmed: 721Not reportedUnarmed: 1.7k+7 / -0Unarmed: +7 / -00%Hero: Claude Code 2.1.305; weapon (model): claude-sonnet-5-5; charge (effort): medium; arena: sealed; ambient cast (the agent chose).
macOS 27.0.1, arm64. Curator.
0 mishaps excluded. 2026-10-21 to 2026-10-21.Scrying (screenshot)
Try this loadout
node "<spell-report-skill-directory>/scripts/spell-report.mjs" trial --spell addy-git-workflow-and-versioning --quest inquisitor-sql-handler --hero claude-code --weapon 'claude-sonnet-5-5' --charge medium --cast ambient --control

Recorded with quest v2 and spell commits addy-git-workflow-and-versioning@aeac41d4d005999432bb7312f7ff06383a91d59d. How to run it

Scrying (screenshots of runs)

The latest run of each setup. Local paths, names and ids are blurred; credentials are removed.

Scrying (screenshot) of a cleared run of Inquisitor: missing-profile review with Addy Osmani Git Workflow and Versioning, Claude CodeScrying (screenshot) of a cleared run of Inquisitor: missing-profile review with Addy Osmani Git Workflow and Versioning, Claude CodeScrying (screenshot) of a cleared run of Inquisitor: queue component review with Addy Osmani Git Workflow and Versioning, Claude CodeScrying (screenshot) of a cleared run of Inquisitor: queue component review with Addy Osmani Git Workflow and Versioning, Claude Code
Explore the quests, full results and trial method

This spell has no recorded sessions in the curator's logs. Tried it? Send a spell report.