[object Object]

← back to Cli Printing Press

fix(skills): tighten publish and polish workflows (#568)

847f7c5b31ef51b309eb9193a17aadada3063788 · 2026-05-03 22:43:55 -0700 · Trevin Chow

Files touched

Diff

commit 847f7c5b31ef51b309eb9193a17aadada3063788
Author: Trevin Chow <trevin@trevinchow.com>
Date:   Sun May 3 22:43:55 2026 -0700

    fix(skills): tighten publish and polish workflows (#568)
---
 skills/printing-press-polish/SKILL.md  | 10 ++++++++++
 skills/printing-press-publish/SKILL.md | 22 ++++++++++------------
 2 files changed, 20 insertions(+), 12 deletions(-)

diff --git a/skills/printing-press-polish/SKILL.md b/skills/printing-press-polish/SKILL.md
index 93c4c049..3ab22f8c 100644
--- a/skills/printing-press-polish/SKILL.md
+++ b/skills/printing-press-polish/SKILL.md
@@ -267,6 +267,16 @@ Fix in priority order. After each priority level, update the lock heartbeat:
 printing-press lock update --cli "$CLI_NAME" --phase polish 2>/dev/null
 ```
 
+### Runtime variant default checklist
+
+If a polish fix adds or changes a runtime mode, data-source option, auth tier, transport, or other user-visible default, document this short checklist before selecting the default:
+
+- **User-visible default:** which behavior users get without extra flags or config.
+- **Compatibility risk:** whether existing commands, scripts, MCP tools, or stored config change behavior.
+- **Verification command:** the exact command that proves the default and the non-default escape hatch both work.
+
+Keep the checklist in the polish notes or result block. Skip it for ordinary bug fixes that do not change runtime variants or defaults.
+
 ### Priority 0: MCP surface migration (legacy CLIs)
 
 If Phase 1's `dogfood` reported `MCP Surface: FAIL` with a parity mismatch, the CLI was generated before the runtime cobratree walker existed and is still on the static `internal/mcp/tools.go` surface. The fix is mechanical:
diff --git a/skills/printing-press-publish/SKILL.md b/skills/printing-press-publish/SKILL.md
index b868cb27..24ec368e 100644
--- a/skills/printing-press-publish/SKILL.md
+++ b/skills/printing-press-publish/SKILL.md
@@ -680,7 +680,7 @@ Read `access` and `gh_user` from `$PUBLISH_CONFIG`. These determine how `gh pr c
 
 **For fork-based PRs** (`access` is `fork`): use `--head <gh_user>:feat/<api-slug>` so GitHub creates a cross-repo PR from the fork to the upstream. Without `--head`, `gh pr create` would try to find the branch on the upstream repo (where the user can't push) and fail.
 
-**For push-access PRs** (`access` is `push`): no `--head` needed — the branch is on the same repo.
+**For push-access PRs** (`access` is `push`): use `--head feat/<api-slug>` so GitHub creates the PR from the branch this flow just pushed, even when the managed clone or shell session has other branches checked out.
 
 Build the PR description from:
 - The manifest (`description`, `api_name`, `category`, `printing_press_version`, `spec_url`)
@@ -764,19 +764,17 @@ ACCESS=$(jq -r .access "$PUBLISH_CONFIG")
 GH_USER=$(jq -r .gh_user "$PUBLISH_CONFIG")
 
 if [ "$ACCESS" = "fork" ]; then
-  gh pr create \
-    --repo mvanhorn/printing-press-library \
-    --head "$GH_USER:feat/<api-slug>" \
-    --base main \
-    --title "feat(<api-slug>): add <api-slug>" \
-    --body "<constructed PR body>"
+  PR_HEAD_REF="$GH_USER:feat/<api-slug>"
 else
-  gh pr create \
-    --repo mvanhorn/printing-press-library \
-    --base main \
-    --title "feat(<api-slug>): add <api-slug>" \
-    --body "<constructed PR body>"
+  PR_HEAD_REF="feat/<api-slug>"
 fi
+
+gh pr create \
+  --repo mvanhorn/printing-press-library \
+  --head "$PR_HEAD_REF" \
+  --base main \
+  --title "feat(<api-slug>): add <api-slug>" \
+  --body "<constructed PR body>"
 ```
 
 Display the full PR URL (e.g., `https://github.com/mvanhorn/printing-press-library/pull/10`), not the shorthand `org/repo#N` format. The full URL is clickable in all terminals and contexts.

← 18542129 fix(cli): preserve operation-routing path params (#567)  ·  back to Cli Printing Press  ·  feat(cli): compact repeated MCP parameter descriptions (#569 314b5650 →