Skip to main content

push

Finalize the local feature branch and create or update a local PR record on

Source facts

Repository
EveryInc/symphony-thumbtack
Last source activity
May 6, 2026 at 00:43
Detected SKILL.md language
English
Stars
4
Forks
4

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

Showing SKILL.md

SKILL.md
Source instructions · Read-only preview
name
push
description
Finalize the local feature branch and create or update a local PR record on
# Push (offline-demo) There is no `origin` remote in this demo. "Push" means: make sure the branch is in a clean reviewable state and record a local PR entry on the issue via the `tasks` CLI so the human reviewer can drag the issue to `Merging` when ready. ## Prerequisites - Working tree is clean (everything committed via the `commit` skill). - You know the issue identifier (it's in the prompt as `{{ issue.identifier }}` for the agent that invoked you, but you can also re-read it from the workpad). - The branch you're on is `symphony/<identifier>` — that's what the `after_create` hook set up. ## Steps 1. Identify branch: `branch=$(git branch --show-current)`. 2. Verify the working tree is clean and committed: ```sh git status --porcelain ``` If anything is unstaged, commit it first via the `commit` skill. 3. Resolve the issue identifier. If your branch is named `symphony/eng-3`, the identifier is the suffix uppercased: `ENG-3`. If you're unsure, check the workpad header you stamped earlier. 4. Build the PR body. If the workpad has a clean summary, reuse it; otherwise write a concise outcome-focused note covering: - **What** — short summary of the change - **Why** — link back to the issue (`tasks://{{ issue.identifier }}`) - **How** — implementation notes - **Validation** — how you verified it works Write it to a file: ```sh cat > /tmp/pr_body.md <<'EOF' ## What ... ## Why tasks://IDENT — see issue body. ## How ... ## Validation ... EOF ``` 5. Check whether a local PR already exists for this issue: ```sh tasks pr-view IDENT --json ``` - If output is `null` or `(no PR)` — create one: ```sh tasks pr-create IDENT \ --branch "$branch" \ --title "<clear PR title>" \ --body-file /tmp/pr_body.md \ --label symphony ``` - If state is `OPEN` — update it in place: ```sh tasks pr-update IDENT \ --title "<clear PR title>" \ --body-file /tmp/pr_body.md \ --label symphony ``` - If state is `MERGED` or `CLOSED` — that PR is final. Create a fresh one (the `tasks` CLI will refuse to create over an OPEN PR but accepts a new one over a closed/merged one): ```sh tasks pr-create IDENT \ --branch "$branch" \ --title "<clear PR title>" \ --body-file /tmp/pr_body.md \ --label symphony ``` 6. Confirm the local PR is recorded: ```sh tasks pr-view IDENT ``` Capture the PR number — it's `pr.number` in the JSON output. 7. The branch lives only on this machine. Do NOT call `git push` and do NOT call `gh` — neither will work. The branch is the artifact; the local PR record points at it. ## Guardrails - Never call `git push`, `gh pr ...`, or any remote-touching command. There is no remote. - Never `--force` anything; there's nothing to force against. - Never paste the local PR record into the workpad — the issue's `pr` field is the canonical view, accessible via `tasks pr-view IDENT`.
View on GitHub