Start working on a Marshroom cart issue — creates branch, injects context, updates status to running
Install
npx skills add https://github.com/vkehfdl1/marshroom --skill start-issueSKILL.md
Start working on a Marshroom cart issue in the current repository.
Critical Requirements
- state.json update is MANDATORY. After creating the branch, you MUST update the issue status to
runningin${MARSHROOM_STATE:-~/.config/marshroom/state.json}. If this fails, stop and report the error — do NOT silently continue. - Use
marsh startif available; otherwise fall back to directjqatomic write (see step 10).
Steps
- Read
${MARSHROOM_STATE:-~/.config/marshroom/state.json}and parse the JSON - Extract the
cartarray. If the cart is empty, tell the user to add issues in the Marshroom app - Run
git remote get-url originto get the current repo's remote URL - Extract
owner/repofrom the remote URL (handle both HTTPS and SSH formats) - Filter cart entries where
repoCloneURL(HTTPS) orrepoSSHURL(SSH) matches the current remote. Compare by extractingowner/repofrom each - If no matching cart entries, tell the user this repo has no cart issues
- If
$ARGUMENTScontains an issue number, find that entry; otherwise if multiple matches, list them and ask the user to pick one - Run
git checkout main && git pull origin mainto ensure main is up to date - Create and checkout the branch:
git checkout -b {branchName}The branch name should beFeature/#NorHotFix/#N.Nis issue number. - Update issue status (MANDATORY):
- First try:
marsh start #{issueNumber} - If
marshis not found in PATH, fall back to direct atomic update:STATE_FILE="${MARSHROOM_STATE:-~/.config/marshroom/state.json}" TMP="$(mktemp "${STATE_FILE}.XXXXXX")" jq --argjson n ISSUE_NUMBER '.cart |= map(if .issueNumber == $n then .status = "running" else . end)' \ "$STATE_FILE" > "$TMP" && mv -f "$TMP" "$STATE_FILE" - Verify the update succeeded by reading state.json and confirming status is
running
- First try:
- Inject issue context:
- Read the
issueBodyfield from the matched cart entry - If non-null, display it under a "## Issue Details" header
- This gives the agent full context about what needs to be done
- Read the
- Confirm the branch was created and display:
- Issue: #{issueNumber} {issueTitle}
- Branch: {branchName}
- Repository: {repoFullName}
- Status: running
- Ask the user permission to start planning to resolve issue. If the user allows it, starts planning using /plan mode.
Related skills
setup-matt-pocock-skillsmattpocock905KConfigure this repo for the engineering skills: set up its issue tracker, triage label vocabulary, and domain doc layout. Run once before first use of the other engineering skills.hyperframes-cliheygen-com714KUse the HyperFrames CLI development loop: init, add, catalog, capture, lint, check, snapshot, compare, grade-compare, preview, play, present, beats, keyframes, single or batch render, publish, cloud, cloudrun, feedback, lambda, doctor, browser, info, upgrade, skills, compositions, timeline, history, docs, benchmark, telemetry, transcribe, auth, tts, and remove-background. Also use when diagnosing build or render failures. validate, inspect, and layout are deprecated aliases; use check. Covers loimplementmattpocock627KImplement a piece of work based on a spec or set of tickets.ask-mattmattpocock626KAsk which skill or flow fits your situation. A router over the skills in this repo.
