--- name: ship description: Finalize dev work on an issue branch — update docs, push, and open a PR. argument-hint: "" allowed-tools: Agent Bash(git *) Bash(gh *) Bash(cd *) Bash(cat *) Bash(ls *) Bash(wc *) Read Edit Write Grep Glob --- # Ship Issue Finalize development work on a feature branch: update documentation, push, and submit a pull request. ## Input `$ARGUMENTS` must be a GitHub issue number (e.g. `78`). If missing or non-numeric, ask the user for the issue number. ## Step 1: Verify Branch State Confirm that you are on a feature branch (not `main`). If on `main`, abort and tell the user to switch to the feature branch first. Run `git log main..HEAD --oneline` to see all commits on this branch. There must be at least one commit. Display the commit list to the user. Run `git status` to confirm the working tree is clean. If there are uncommitted changes, warn the user and ask how to proceed. ## Step 2: Fetch Issue Details Run `gh issue view $ARGUMENTS --json title,body,labels,number` to get the issue title and number. Also check if a matching markdown file exists under `tmp/issues/` by looking for files that start with a zero-padded version of the issue number (e.g. issue 78 maps to a file starting with `078-`). If the file exists, read it to understand the requirements for documentation updates. ## Step 3: Update Documentation Search for all `SPECIFICATIONS.md` files in the repository using Glob (`**/SPECIFICATIONS.md`). Update each relevant file with the latest design decisions from this branch's changes. Use `git diff main..HEAD` to understand what changed. Search for all `README.md` files in the repository using Glob (`**/README.md`). Update each relevant file with the latest implementation details. **Ensure no sensitive or account-specific information is included** — no ARNs, account IDs, tokens, secrets, or endpoint URLs. ## Step 4: Commit Documentation Updates Stage and commit all documentation changes: ``` git add -A git commit -m "docs: update specifications and readme for issue #$ARGUMENTS Co-Authored-By: Claude " ``` ## Step 5: Push and Create Pull Request Display the final commits with `git log main..HEAD --oneline` for the user to review. Push the branch to the remote: ``` git push -u origin HEAD ``` Create a pull request using `gh pr create`. Derive the PR title and body from the issue and the work done: ``` gh pr create --title ": " --body "$(cat <<'EOF' ## Summary <2-4 bullet points describing what this PR does> ## Test Plan Closes #$ARGUMENTS Co-Authored-By: Claude EOF )" ``` The PR body must include `Closes #` so the issue is automatically closed when the PR is merged. Display the PR URL to the user.