release-topic

Claims a release component in the Marshall store and creates its topic branch.

Updated Jul 15, 2026
One-click install
npx skills add https://github.com/builtbyberry/marshall-claude-plugin --skill release-topic-builtbyberry
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: release-topic
Source: https://github.com/builtbyberry/marshall-claude-plugin/tree/main/marshall/skills/release-topic
Command: npx skills add https://github.com/builtbyberry/marshall-claude-plugin --skill release-topic-builtbyberry

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? When multiple people or AI agents work on the same release from different machines, two actors can unknowingly start the same component. This Skill prevents duplicate work by claiming the component in the shared Marshall store — an exclusive, cross-machine lock — before any branch is created. ## Core Features & Use Cases - Exclusive component claiming: Calls claim_component to take the cross-machine lock, with hard stops on claim_conflict (someone else holds it) and not_startable (blockers unmet or graph unverified). - Lease keepalive and recovery: Heartbeats the claim after each meaningful chunk of work, and recovers a lost claim id after context compaction via my_claims instead of re-claiming. - Work-state transitions: Marks components in_progress after claiming and merged when PRs land, including a batch set_component_states call for landing a whole wave at once. - Use Case: An agent is asked to start work on issue #142. It confirms the component is startable, claims it in the Marshall store, creates the branch feat/pay-142-retry-logic, heartbeats the claim during a long test run, and marks the component merged when the PR lands so dependent components unblock. ## Quick Start Start work on the payments retry component by claiming it in the Marshall store and creating its topic branch.

Frequently Asked Questions about release-topic

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I start work on a release component without conflicting with teammates?

Claim the component in the Marshall store with claim_component before creating any branch. The claim is an exclusive cross-machine lock; if it returns claim_conflict, the error names the current holder and you must stop rather than work around it.

What happens if I lose my claim id after context compaction?

Call my_claims to list every claim you still hold, then match the component to recover its id. Do not re-claim, since claim_component throws claim_conflict even for the same holder; heartbeat_claim and release_claim also accept the component id directly.

Does releasing the claim mark the component as merged?

No. Releasing the lock and marking the work-state are separate operations. You must call set_component_state with state merged when the PR lands, otherwise dependent components will not unblock.

Why does claim_component return not_startable?

The component has unmet blockers or the release graph is unverified. Stop and explain the blockers to the user; if the graph is unverified, run the release-graph skill first before attempting to claim again.

How do I mark several components merged at once?

Use the batch tool set_component_states with an array of component and state pairs. It is all-or-nothing: a failed item rolls back the whole batch with batch_item_failed naming the item by index, so fix that item and re-send the entire batch.