printing-press-reprint
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
Chinese/printing-press-reprint
/printing-press-reprint
Regenerate an existing printed CLI under the current machine. The user gives
a CLI name and (optionally) reasons for the reprint. This skill ensures the
prior CLI is locally present, recommends whether to reuse or redo prior
research, and hands off to with the context the
novel-features subagent needs to reconcile prior features against the
current machine — keep, reframe, or drop with reasons, never silent.
/printing-pressbash
/printing-press-reprint notion
/printing-press-reprint cal.com the new MCP intent surface landed and the prior CLI ships endpoint-mirror only
/printing-press-reprint allrecipes在当前机器环境下重新生成已有的已发布CLI。用户提供CLI名称以及(可选的)重印理由。此技能确保先前的CLI已存在于本地,建议是否复用或重做先前的研究,并将上下文传递给,以便新增特性子代理能够根据当前机器环境协调先前的特性——保留、重构或给出理由后丢弃,绝不静默处理。
/printing-pressbash
/printing-press-reprint notion
/printing-press-reprint cal.com the new MCP intent surface landed and the prior CLI ships endpoint-mirror only
/printing-press-reprint allrecipesWhen to run
运行时机
- A significant Printing Press upgrade (new MCP surface, new auth modes, new transport, scoring rubric changes) would lift this CLI more than manual polish.
- The published CLI ships with a known systemic gap a reprint would fix.
- The user wants prior novel features re-evaluated against the current machine and current personas, not carried forward verbatim.
For one-off code-quality fixes, prefer — it doesn't
redo research or rebuild the manuscript.
/printing-press-polish- 当Printing Press的重大升级(新的MCP界面、新的认证模式、新的传输方式、评分规则变更)对该CLI的提升效果优于手动优化时。
- 已发布的CLI存在已知的系统性缺陷,而重印可以修复该缺陷时。
- 用户希望根据当前机器环境和用户角色重新评估先前的新增特性,而非直接沿用原有时。
对于一次性的代码质量修复,建议使用——该功能不会重做研究或重建手稿。
/printing-press-polishSetup
设置
bash
PRESS_HOME="$HOME/printing-press"
PRESS_LIBRARY="$PRESS_HOME/library"
PRESS_MANUSCRIPTS="$PRESS_HOME/manuscripts"bash
PRESS_HOME="$HOME/printing-press"
PRESS_LIBRARY="$PRESS_HOME/library"
PRESS_MANUSCRIPTS="$PRESS_HOME/manuscripts"Phase A — Resolve and reconcile presence
阶段A — 解析并协调存在性
Resolve the user's argument the same way does:
fetch the public library once, then exact → normalized →
fuzzy match. The argument can be an API slug (), a brand name
(), an old form, or close enough.
/printing-press-importregistry.jsonnotioncal.com<api>-pp-cliThen check what exists locally and reconcile against the public library by
reading both provenance manifests' and :
run_idgenerated_at| Local | Public registry | Action |
|---|---|---|
| absent | absent | STOP — nothing to reprint; suggest |
| absent | present | invoke |
| present | absent | continue — never-published local CLI; skip import |
present, same | present | continue without import |
present, public newer | present | offer import via |
present, local newer | present | STOP — local has unpublished work; tell user to publish or discard first |
When invoking , let it own backup, overwrite,
build-verify, and module-path-rewrite. Wait for it to return clean before
continuing.
/printing-press-import以与相同的方式解析用户参数:先获取公共库的,然后依次进行精确匹配→标准化匹配→模糊匹配。参数可以是API别名()、品牌名称()、旧的格式,或近似名称。
/printing-press-importregistry.jsonnotioncal.com<api>-pp-cli然后通过读取本地和公共库的来源清单中的和字段,检查本地是否存在该CLI并与公共库进行协调:
run_idgenerated_at| 本地状态 | 公共注册表状态 | 操作 |
|---|---|---|
| 不存在 | 不存在 | 终止——无可重印内容;建议使用 |
| 不存在 | 存在 | 调用 |
| 存在 | 不存在 | 继续——未发布的本地CLI;跳过导入 |
存在, | 存在 | 无需导入,直接继续 |
存在,公共库版本的 | 存在 | 通过 |
存在,本地版本的 | 存在 | 终止——本地存在未发布的工作;告知用户先发布或丢弃该内容 |
调用时,由该功能负责备份、覆盖、构建验证和模块路径重写。等待其执行完成后再继续后续流程。
/printing-press-importPhase B — Verify prior research is reconcilable
阶段B — 验证先前研究成果可协调
Confirm the two paths the novel-features subagent checks for prior research
are populated:
bash
LIB_TARGET="$PRESS_LIBRARY/$API_SLUG"
LIB_RESEARCH="$LIB_TARGET/research.json"
MAN_RESEARCH=$(ls -1t "$PRESS_MANUSCRIPTS/$API_SLUG"/*/research.json 2>/dev/null | head -1)If neither exists, the published CLI predates provenance.
The subagent will treat the run as a first print and Pass 2(d) reprint
reconciliation will not fire — there is nothing for it to read. Surface
this and ask:
research.jsonPublishedwas built before<api>provenance landed. Without it, the novel-features subagent will treat this as a first print — there is nothing to reconcile against. Continue as a degraded reprint (essentially a fresh print with a kept binary name)?research.json
If the user declines, exit. If they continue, record the absence so the
hand-off prompt notes that this is a degraded reprint.
确认新增特性子代理检查的两个先前研究成果路径已填充:
bash
LIB_TARGET="$PRESS_LIBRARY/$API_SLUG"
LIB_RESEARCH="$LIB_TARGET/research.json"
MAN_RESEARCH=$(ls -1t "$PRESS_MANUSCRIPTS/$API_SLUG"/*/research.json 2>/dev/null | head -1)如果两者都不存在,则说明已发布的CLI早于来源记录的引入。子代理会将此次运行视为首次生成,且阶段2(d)的重印协调流程不会触发——因为没有可读取的内容。此时需向用户说明情况并询问:
research.json已发布的是在<api>来源记录引入之前构建的。没有该记录,新增特性子代理会将此次运行视为首次生成——无内容可协调。是否继续进行降级重印(本质上是保留二进制名称的全新生成)?research.json
如果用户拒绝,则退出流程。如果用户同意继续,则记录该缺失情况,以便传递提示时注明此次为降级重印。
Phase C — Recency recommendation
阶段C — 时效性建议
Pull from the most-recent prior and
+ from :
researched_atresearch.jsonprinting_press_versiongenerated_at.printing-press.jsonbash
RESEARCHED_AT=$(jq -r '.researched_at // empty' "$MAN_RESEARCH" 2>/dev/null)
PRESS_VERSION=$(jq -r '.printing_press_version // empty' "$LIB_TARGET/.printing-press.json" 2>/dev/null)
GENERATED_AT=$(jq -r '.generated_at // empty' "$LIB_TARGET/.printing-press.json" 2>/dev/null)Compute the calendar age of the research with so it stays portable
across macOS/Linux and tolerates the microsecond precision that
carries (BSD rejects fractional seconds;
is on every supported platform):
python3generated_atdate -fpython3bash
AGE_DAYS=$(python3 -c "
from datetime import datetime, timezone
ts = '$RESEARCHED_AT'.replace('Z', '+00:00')
print(int((datetime.now(timezone.utc) - datetime.fromisoformat(ts)).total_seconds() // 86400))
" 2>/dev/null)Surface both signals to the user — research age and prior machine version.
Age thresholds are rules of thumb, not gates:
- under 30 days → reuse looks safe
- 30–120 days → reuse plausible; the user should mention any known API churn in their reprint reason so the subagent's Pass 2 picks it up
- over 120 days → redo recommended
Don't predict API churn from age alone — describe the signals and let the
user override. The Phase 0 binary-version-bump revalidation in
handles the machine-delta side independently; don't
duplicate it here.
/printing-pressAsk via :
AskUserQuestion- Reuse prior research — keep the prior brief; the subagent re-scores prior novel features against current personas
- Redo research — re-run Phase 1 from scratch; the subagent still ingests prior novel features as Pass 2(d) input
- Show me first — display the prior brief's headline + novel-features list, then re-ask between options 1 and 2
从最新的先前中提取字段,并从中提取和字段:
research.jsonresearched_at.printing-press.jsonprinting_press_versiongenerated_atbash
RESEARCHED_AT=$(jq -r '.researched_at // empty' "$MAN_RESEARCH" 2>/dev/null)
PRESS_VERSION=$(jq -r '.printing_press_version // empty' "$LIB_TARGET/.printing-press.json" 2>/dev/null)
GENERATED_AT=$(jq -r '.generated_at // empty' "$LIB_TARGET/.printing-press.json" 2>/dev/null)使用计算研究成果的日历天数,以确保在macOS/Linux上的可移植性,并兼容携带的微秒精度(BSD的不支持小数秒;而在所有支持的平台上都可用):
python3generated_atdate -fpython3bash
AGE_DAYS=$(python3 -c "
from datetime import datetime, timezone
ts = '$RESEARCHED_AT'.replace('Z', '+00:00')
print(int((datetime.now(timezone.utc) - datetime.fromisoformat(ts)).total_seconds() // 86400))
" 2>/dev/null)向用户展示两个信号:研究成果的时长和先前的机器版本。时长阈值是经验法则,而非强制要求:
- 少于30天 → 复用看起来是安全的
- 30–120天 → 复用可行;用户应在重印理由中提及任何已知的API变动,以便子代理在阶段2中处理
- 超过120天 → 建议重做
不要仅根据时长预测API变动——展示信号并让用户自行决定。中的阶段0二进制版本更新验证会独立处理机器差异;此处无需重复该逻辑。
/printing-press通过询问用户:
AskUserQuestion- 复用先前研究成果 — 保留先前的概要;子代理会根据当前用户角色重新评估先前的新增特性
- 重做研究 — 从头重新运行阶段1;子代理仍会将先前的新增特性作为阶段2(d)的输入
- 先查看内容 — 显示先前概要的标题+新增特性列表,然后再次询问用户选择选项1或2
Phase D — Hand off to /printing-press
/printing-press阶段D — 传递给/printing-press
/printing-pressInvoke and bundle three things into the prompt:
/printing-press <api>- A header line stating the user already chose to regenerate, so Phase 0's library-check should select "Generate a fresh CLI" and not re-prompt fresh-vs-improve.
- Research mode from Phase C (or
reuse). Phase 0's existing reuse logic consumes this.redo - The user's freeform reprint reason, verbatim, in a block. This propagates into the brief as
User contextand becomes Pass 2(e) input to the novel-features subagent — the right hook for "I want better MCP support" → bias the brainstorm accordingly.## User Vision
Do not pass a separate "this is a reprint" marker. The novel-features
subagent runs unconditionally on every print and discovers prior research
via its own discovery snippet (see
). The paths
import populated in Phase A are exactly the paths it checks; Pass 2(d)
fires whenever prior exists.
skills/printing-press/references/novel-features-subagent.mdresearch.json调用并将以下三项内容打包到提示中:
/printing-press <api>- 标题行:说明用户已选择重新生成,因此阶段0的库检查应选择“Generate a fresh CLI”,而非重新提示用户选择全新生成还是优化现有CLI。
- 研究模式:来自阶段C的选择(或
reuse)。阶段0现有的复用逻辑会使用此参数。redo - 用户的自由格式重印理由:原样包含在块中。此内容会作为
User context纳入概要,并成为新增特性子代理阶段2(e)的输入——例如,当用户提出“I want better MCP support”时,可据此调整头脑风暴方向。## User Vision
不要传递单独的“此为重印”标记。新增特性子代理会在每次生成时无条件运行,并通过自身的发现代码片段查找先前的研究成果(参见)。阶段A中填充的路径正是子代理检查的路径;只要存在先前的,阶段2(d)就会触发。
skills/printing-press/references/novel-features-subagent.mdresearch.jsonAfter hand-off
传递后
The printing-press flow drives the rest. Don't summarize its work — let
the user see the live phases.
If halts with the subagent's pre-flight HALT (brief
lacks concrete / content), the reused prior brief
predates the subagent's required schema. Recommend re-running with Redo
research selected at Phase C.
/printing-pressUsersTop Workflows后续流程由printing-press驱动。无需总结其工作——让用户查看实时阶段。
如果因子代理的预检查终止(概要缺少具体的 / 内容)而停止,则说明复用的先前概要早于子代理要求的架构。建议用户在阶段C选择Redo research后重新运行流程。
/printing-pressUsersTop Workflows