← back to Cli Printing Press
chore(skills): re-add context: fork to polish and output-review (#473)
20ffaaa48747044a72e1e8b7f275b31bbbe22b45 · 2026-05-01 19:42:22 -0700 · Trevin Chow
Reverts the workaround in #410 and #417 that dropped context: fork from
the polish and output-review skills. Upstream Claude Code bug
anthropics/claude-code#54892 (regression of #46654, blocking
AskUserQuestion in forked contexts) is fixed as of Claude Code 2.1.126,
so the fork-context isolation can come back.
Restores the per-skill frontmatter, the polish prose paragraph
explaining the forked-context isolation, the Phase 4.85 explanation in
the main printing-press skill, and the polish reference in
docs/SKILLS.md's self-contained-skill example list. Drops the workaround
guidance in docs/SKILLS.md that warned against forking skills with
AskUserQuestion sites — the warning no longer reflects how the runtime
behaves.
The AskUserQuestion-loader prose in polish (the "load the schema with
ToolSearch select:AskUserQuestion before first use" paragraph) is
intentionally not restored: it was a workaround instruction, not a
contract worth preserving once the upstream is fixed.
Closes #409.
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Files touched
M docs/SKILLS.mdM skills/printing-press-output-review/SKILL.mdM skills/printing-press-polish/SKILL.mdM skills/printing-press/SKILL.md
Diff
commit 20ffaaa48747044a72e1e8b7f275b31bbbe22b45
Author: Trevin Chow <trevin@trevinchow.com>
Date: Fri May 1 19:42:22 2026 -0700
chore(skills): re-add context: fork to polish and output-review (#473)
Reverts the workaround in #410 and #417 that dropped context: fork from
the polish and output-review skills. Upstream Claude Code bug
anthropics/claude-code#54892 (regression of #46654, blocking
AskUserQuestion in forked contexts) is fixed as of Claude Code 2.1.126,
so the fork-context isolation can come back.
Restores the per-skill frontmatter, the polish prose paragraph
explaining the forked-context isolation, the Phase 4.85 explanation in
the main printing-press skill, and the polish reference in
docs/SKILLS.md's self-contained-skill example list. Drops the workaround
guidance in docs/SKILLS.md that warned against forking skills with
AskUserQuestion sites — the warning no longer reflects how the runtime
behaves.
The AskUserQuestion-loader prose in polish (the "load the schema with
ToolSearch select:AskUserQuestion before first use" paragraph) is
intentionally not restored: it was a workaround instruction, not a
contract worth preserving once the upstream is fixed.
Closes #409.
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
---
docs/SKILLS.md | 2 +-
skills/printing-press-output-review/SKILL.md | 1 +
skills/printing-press-polish/SKILL.md | 11 ++++++++++-
skills/printing-press/SKILL.md | 2 +-
4 files changed, 13 insertions(+), 3 deletions(-)
diff --git a/docs/SKILLS.md b/docs/SKILLS.md
index 7ffdba6c..0f8cecc1 100644
--- a/docs/SKILLS.md
+++ b/docs/SKILLS.md
@@ -39,7 +39,7 @@ Default: skills run in the caller's context. The skill sees the full parent conv
- **Benefit:** the skill starts with a fresh, dedicated context — its full window is available for its own work (multi-step loops, sub-agent transcripts, large reads) rather than competing with whatever the parent has already accumulated.
- **Cost:** the skill can't see anything from the parent's conversation. Everything it needs must come through `args`, be readable from disk, or be hardcoded.
-The decision rule is whether the skill is **self-contained** given its declared inputs. If args plus the filesystem cover everything the skill needs (e.g., `printing-press-output-review` takes a CLI dir and runs `scorecard --live-check` to gather data), `context: fork` is a clear win. If the skill needs prior tool output, conversation history, or anything else the parent has accumulated, don't fork — the skill won't have access to it and you'll end up plumbing context through args anyway. Skills with interactive question sites (AskUserQuestion calls in the middle of the workflow) should usually NOT fork: deferred-tool reliability is weaker in forked contexts and a missed prompt loop stalls the whole run. Polish hit this and ran in the parent instead.
+The decision rule is whether the skill is **self-contained** given its declared inputs. If args plus the filesystem cover everything the skill needs (e.g., `printing-press-polish` takes a CLI dir and reads the rest from the repo and manuscripts; `printing-press-output-review` takes a CLI dir and runs `scorecard --live-check` to gather data), `context: fork` is a clear win. If the skill needs prior tool output, conversation history, or anything else the parent has accumulated, don't fork — the skill won't have access to it and you'll end up plumbing context through args anyway.
### `user-invocable`
diff --git a/skills/printing-press-output-review/SKILL.md b/skills/printing-press-output-review/SKILL.md
index 5daa4ea1..73007c09 100644
--- a/skills/printing-press-output-review/SKILL.md
+++ b/skills/printing-press-output-review/SKILL.md
@@ -7,6 +7,7 @@ description: >
Skill tool by main printing-press SKILL.md (Phase 4.85) and printing-press-polish
SKILL.md during the diagnostic loop. Not for direct user invocation — its
actionable wrappers are /printing-press and /printing-press-polish.
+context: fork
user-invocable: false
allowed-tools:
- Bash
diff --git a/skills/printing-press-polish/SKILL.md b/skills/printing-press-polish/SKILL.md
index c29b3cec..6d700db9 100644
--- a/skills/printing-press-polish/SKILL.md
+++ b/skills/printing-press-polish/SKILL.md
@@ -8,13 +8,22 @@ description: >
/printing-press run, or on any CLI in ~/printing-press/library/. Trigger
phrases: "polish", "improve the CLI", "fix verify", "make it publish-ready",
"clean up the CLI", "get this ready to ship".
+context: fork
+allowed-tools:
+ - Bash
+ - Read
+ - Glob
+ - Grep
+ - Write
+ - Edit
+ - AskUserQuestion
---
# /printing-press-polish
Polish a generated CLI so it passes verification and is ready to publish.
-The retro improves the Printing Press. Polish improves the generated CLI.
+The retro improves the Printing Press. Polish improves the generated CLI. This skill runs in a forked context (`context: fork`) so its diagnostic and fix loop doesn't pollute the caller — the diagnostic spam, fix iterations, and re-diagnose noise stay scoped to the polish session, and the caller receives a clean summary.
```bash
/printing-press-polish redfin
diff --git a/skills/printing-press/SKILL.md b/skills/printing-press/SKILL.md
index 1441f3d2..7094bcdf 100644
--- a/skills/printing-press/SKILL.md
+++ b/skills/printing-press/SKILL.md
@@ -2188,7 +2188,7 @@ Skill(
)
```
-The sub-skill returns a `---OUTPUT-REVIEW-RESULT---` block with `status: PASS|WARN|SKIP` and a list of findings.
+The sub-skill carries `context: fork` so the reviewer agent's diagnostic chatter stays isolated from this generation flow. It returns a `---OUTPUT-REVIEW-RESULT---` block with `status: PASS|WARN|SKIP` and a list of findings.
**Wave B rollout policy:** all findings surface as **warnings**, not blockers. Shipcheck does not fail on Phase 4.85 findings. Log the findings to `manuscripts/<api>/<run>/proofs/phase-4.85-findings.md` and surface them to the user. The user decides case by case whether to fix before shipping. Wave B calibrates false-positive rates before Wave C flips errors to blocking.
← d1a8a467 feat(generator): owner precedence chain — preserve attributi
·
back to Cli Printing Press
·
fix(regenmerge): correct owner rewrite + skip injection on p 6d45d228 →