为Paperclip新增或扩展贯穿真实浏览器、服务器、数据库和runner的端到端评估,整理测试数据、判定条件与证据,并在现有报告中查看操作结果。
- 新增完整用户操作流程的评估
- 更新测试数据与判定条件
- 在评估报告中加入截图和产物
统筹Paperclip发布流程,从候选版本验证、npm发布到GitHub Release创建及公告后续工作,并支持将已验证的canary测试版升级为稳定版。
Coordinate a full Paperclip release across engineering verification, npm, GitHub, smoke testing, and announcement follow-up. Use when leadership asks to ship a release, not merely to discuss versioning.
统筹Paperclip从候选版本选择、验证到npm发布、GitHub Release创建及公告后续工作的全过程。结合release-changelog起草变更日志,执行类型检查、测试和构建,并通过Docker确认主要功能,报告各阶段状态。
适合实际发布版本,或将已验证的canary测试版升级为稳定版时使用。还会检查网站变更日志和社交媒体公告的后续工作。启用Cases时,会创建整体发布案例及博客文章、系列帖子的子案例,将相关工作关联起来。
需要可用的release-changelog、包含未跟踪文件在内的干净工作区,以及npm发布权限等前提。变更日志须在发布前由人工审核。稳定版从选定且已验证的提交手动升级;canary功能检查失败时停止发布。若因Cases被禁用而拒绝操作,需要运维人员修改配置。
本介绍由 AI(OpenAI Codex)根据公开的 SKILL.md 撰写。准确的规格请查看下方原文。
AI 仅根据 SKILL.md 的内容,从 4 个方面进行了评估。星标数和热度不计入评估。
总分按每项 A=25 分、B=15 分、C=5 分相加。 由 AI(OpenAI Codex)于 2026年10月20日 评估。仅供参考,安装前请同时查看原文。
安装前可以查看交给 AI 代理的指令内容。
Run the full Paperclip maintainer release workflow, not just an npm publish.
This skill coordinates:
release-changelogmasterscripts/docker-onboard-smoke.shrelease case with child
blog_post and tweet_storm cases, all linked to the release issue/runUse this skill when leadership asks for:
Before proceeding, verify all of the following:
.agents/skills/release-changelog/SKILL.md exists and is usable.pnpm-lock.yaml refresh is already merged on master.If any precondition fails, stop and report the blocker.
Collect these inputs up front:
source_ref for stablePaperclip now uses a commit-driven release model:
master publishes a canary automaticallyYYYY.MDD.P-canary.NYYYY.MDD.PMDD, where M is the UTC month and DD is the zero-padded UTC dayreleases/vYYYY.MDD.P.md, git tag vYYYY.MDD.P, and a GitHub ReleaseCritical consequences:
For canary validation:
masterFor stable promotion:
./scripts/release.sh stable --date YYYY-MM-DD --print-versionUseful commands:
git tag --list 'v*' --sort=-version:refname | head -1
git log --oneline --no-merges
npm view paperclipai@canary version
Stable changelog files live at:
releases/vYYYY.MDD.P.mdInvoke release-changelog and generate or update the stable notes only.
Rules:
Run the standard gate:
pnpm -r typecheck
pnpm test:run
pnpm build
If the GitHub release workflow will run the publish, it can rerun this gate. Still report local status if you checked it.
For PRs that touch release logic, the repo also runs a canary release dry-run in CI. That is a release-specific guard, not a substitute for the standard gate.
The normal canary path is automatic from master via:
.github/workflows/release.ymlConfirm:
canary/vYYYY.MDD.P-canary.N existsUseful checks:
npm view paperclipai@canary version
git tag --list 'canary/v*' --sort=-version:refname | head -5
Run:
PAPERCLIPAI_VERSION=canary ./scripts/docker-onboard-smoke.sh
Useful isolated variant:
HOST_PORT=3232 DATA_DIR=./data/release-smoke-canary PAPERCLIPAI_VERSION=canary ./scripts/docker-onboard-smoke.sh
Confirm:
If smoke testing fails:
masterThe normal stable path is manual workflow_dispatch on:
.github/workflows/release.ymlInputs:
source_refstable_datedry_runBefore live stable:
./scripts/release.sh stable --date YYYY-MM-DD --print-versionreleases/vYYYY.MDD.P.md exists on the source refThe stable workflow:
YYYY.MDD.P under dist-tag latestvYYYY.MDD.Preleases/vYYYY.MDD.P.mdLocal emergency/manual commands:
./scripts/release.sh stable --dry-run
./scripts/release.sh stable
git push public-gh refs/tags/vYYYY.MDD.P
./scripts/create-github-release.sh YYYY.MDD.P
Create or verify follow-up work for:
These should reference the stable release, not the canary.
When Cases are enabled, every stable release-content run must materialize a
deterministic case tree. This is part of the release dogfood path, not an
optional artifact. If the API returns 403 Cases are disabled, stop and report
that the operator must enable experimental.enableCases.
Use the current release issue's PAPERCLIP_COMPANY_ID, PAPERCLIP_API_URL,
PAPERCLIP_API_KEY, and PAPERCLIP_RUN_ID. Include X-Paperclip-Run-Id on
all writes so the case activity feed can attribute the run back to the issue.
Create or upsert the parent release case first:
POST /api/companies/:companyId/cases
{
"caseType": "release",
"key": "paperclip-release:vYYYY.MDD.P",
"title": "Paperclip vYYYY.MDD.P release",
"summary": "Stable release content package for Paperclip vYYYY.MDD.P.",
"status": "in_progress",
"fields": {
"schema_version": 1,
"version": "vYYYY.MDD.P",
"release_date": "YYYY-MM-DD",
"source_ref": "git-sha-or-ref",
"stable": true,
"channels": ["changelog", "blog_post", "tweet_storm"],
"artifacts": {
"changelog_path": "releases/vYYYY.MDD.P.md",
"github_release_url": null
},
"verification": {
"typecheck": "unknown",
"tests": "unknown",
"build": "unknown",
"smoke": "unknown"
},
"notes": null
}
}
The fields schema intentionally uses all generic JSON value types: strings,
numbers, booleans, arrays, objects, and nulls. Send the complete fields object on
each upsert because case fields replace as a whole object.
Write the parent body document immediately after the upsert:
PUT /api/cases/:releaseCaseId/documents/body
{
"title": "Paperclip vYYYY.MDD.P release body",
"format": "markdown",
"body": "# Paperclip vYYYY.MDD.P\n\nRelease summary and links...",
"changeSummary": "Initial release case body"
}
Then create or upsert these child cases with parentCaseId set to the release
case id:
blog_post, key paperclip-release:vYYYY.MDD.P:blog-post, status
in_progress, body document key bodytweet_storm, key paperclip-release:vYYYY.MDD.P:tweet-storm, status
in_progress, body document key bodyUse deterministic keys exactly so rerunning the release-content flow upserts the same three cases instead of duplicating them. After the child body documents are written, list the resulting case identifiers and links in the release issue and in the parent acceptance issue when one exists.
If the canary is bad:
If stable npm publish succeeds but tag push or GitHub release creation fails:
If latest is bad after stable publish:
./scripts/rollback-latest.sh <last-good-version>
Then fix forward with a new stable release.
When the skill completes, provide:
release case plus blog_post and
tweet_storm children还没有评价。欢迎分享你的使用感受。
无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。
还没有评论。来写第一条吧。
为Paperclip新增或扩展贯穿真实浏览器、服务器、数据库和runner的端到端评估,整理测试数据、判定条件与证据,并在现有报告中查看操作结果。
为Paperclip Runner添加或扩展行为评估,定义判定条件、执行目标和报告验证数据,利用正常及异常证据验证结果,并保留执行记录与费用。
通过实际浏览器操作网页和应用,检查界面显示与运行情况。结合截图、简单表单填写、错误及网络请求记录,帮助复现问题并确认操作结果。
通过 Paperclip 分配的 AgentMail 收件箱,查看任务关联邮件、发送新邮件或回复,并核查投递结果;重试时保留相同标识,避免重复发送。
检查GitHub、GitLab和Perforce变更中的评审意见、自动检查失败及说明缺漏,整理待办事项,并按请求协助修改和解决已处理的讨论。
根据构想或现有代码仓库,梳理AI智能体的职责、汇报关系与工作交接,生成符合规范的公司或团队文件包,供组织协作和导入Paperclip使用。