一键导入
cli-forge-publish
Publish stage for the cli-forge skill family: manage the GitHub Release and multi-package npm publication automation for a generated skill.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Publish stage for the cli-forge skill family: manage the GitHub Release and multi-package npm publication automation for a generated skill.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
| name | cli-forge-publish |
| description | Publish stage for the cli-forge skill family: manage the GitHub Release and multi-package npm publication automation for a generated skill. |
Use this stage when a compliant generated CLI skill needs to adopt standard release automation, prepare a new version, or execute the paired GitHub Release + multi-package npm publication flow.
Manage the release pipeline for a generated cli-forge skill.
This stage owns the bootstrap + production publication flow:
One production release produces:
v<version> + GitHub Release (archive + sha256 per target)<pkg>-darwin-arm64 / -darwin-x64 /
-linux-arm64 / -linux-x64 / -win32-arm64 / -win32-x64) carrying the
native binariesoptionalDependencies pinned to the same
version)CHANGELOG.md entry + chore(release): <version> [skip ci] commitAll npm packages publish in one semantic-release run and share the
version with the git tag + GitHub Release. The total count is
1 + config.targets.length (default: 7).
./instructions/release/skill-release-runbook.md./planning-brief.md./shared-planning-brief.md./contracts/release-receipt.yml.tpl./templates/| # | Check | Source |
|---|---|---|
| 1 | validation-report.yml exists, is fresh, and result == compliant or warning | Validate |
| 2 | Target repository path is explicitly known | Router / User |
| 3 | Requested publish mode is explicit | Router / User |
| 4 | npm package naming contract, CLI name, and scope decisions are explicit | User |
Scope decisions are required inputs at this stage. Collect the main package
name plus the scope policy for both the main package and the platform
packages. The main package and platform packages may use different scopes, but
platform names must still derive from the main package body plus
-<target-suffix>.
non_compliant, stale, or provenance-mismatched)report_only, dry_run, prepublish, or live_releasecliName — the CLI binary namemainPackageName — the main npm package name (with scope prefix if scoped)mainNpmScope — null for unscoped, or the scope string for the main packageplatformNpmScope — null for unscoped platform packages, or a separate scope stringsourceRepository — owner/repo on GitHub./planning-brief.md for publish-specific
planning constraints.validation-report.yml. Refuse to proceed if validation
failed; do not re-run validation here..cli-forge/design-contract.yml,
.cli-forge/cli-plan.yml, baseline receipt (scaffold-receipt.yml or
takeover-receipt.yml), and optional extend-receipt.yml against the
provenance snapshot recorded in validation-report.ymlreport_only, skip to step 7../templates/ to the project root while restoring
the install-safe dot-* resource aliases to their real dot-prefixed target
paths (dot-releaserc.json -> .releaserc.json,
dot-github/ -> .github/, npm/platforms/dot-gitkeep -> .gitkeep). The
adopted asset pack does NOT contain Scaffold-stage source templates
(*.tpl).release/config.json and npm/main/package.json with the collected
inputs. release/config.json must explicitly record mainPackageName,
mainNpmScope, and platformNpmScope.id-token: writerelease.yml./instructions/release/skill-release-runbook.md:
report_only: audit readiness only. Read config and repository state,
report blockers and next actions. Do NOT copy files, fill placeholders,
or alter the repository in any way.dry_run: run npm run release:rehearse locally. This builds every
target, syncs platform packages, and runs npm publish --dry-run for
each. No tag, no GitHub Release, no real npm publication.prepublish: run npm run release:prepublish locally. This performs a
real public npm bootstrap publish for every platform package and the main
package using a dedicated bootstrap prerelease version. If local auth is
missing, pause for interactive npm login, surface the verification URL,
and continue only after the user completes browser verification.live_release: push to main (or workflow_dispatch) so the target
repository's .github/workflows/release.yml, restored from the
installer-safe asset-pack resource
dot-github/workflows/release.yml, drives the end-to-end run. Do not
proceed to live_release until prepublish bootstrap has completed for the
configured package set..cli-forge/release-receipt.yml from the template at
./contracts/release-receipt.yml.tpl.prepublish)live_release)live_release)CHANGELOG.md and release commit on main.cli-forge/release-receipt.yml| # | Check |
|---|---|
| 1 | The requested mode was executed |
| 2 | For report_only: no files were written to the target repository |
| 3 | For dry_run / prepublish / live_release: asset pack adopted and filled |
| 4 | For prepublish: the bootstrap npm prerelease completed without creating a tag or GitHub Release |
| 5 | For live_release: version, tag, main package, platform packages agree |
| 6 | release-receipt.yml generated |
${nextRelease.version} from semantic-release hooks.0.0.0-prepublish.N. It is not a production release.validation-report.yml
aggregate status or timestamp.npm/main/package.json#version, hand-edit CHANGELOG.md
release entries, or create tags outside semantic-release.npm login guidance belongs only to local prepublish.
Production CI publication must continue to rely on trusted publishing.dot-* alias names in the target repository. Those names exist
only inside this skill package so .agents installers preserve the assets.npm/platforms/ directory is generated at release time.
Do not check generated platform package directories into source control
beyond the .gitkeep placeholder.This is a terminal stage.
Scaffold stage for the cli-forge skill family: create a new Rust CLI Skill project from the authoritative templates and prepare it for validation.
Plan stage for the cli-forge skill family: define the detailed CLI contract including commands, flags, output formats, stream/repl/daemon capability scope, the daemon app-server contract, and runtime behavior before scaffold or extend stages proceed.
Design stage for the cli-forge skill family: define or refresh the generated skill's high-level identity, purpose, positioning, and description contract before downstream stages proceed.
Router for the cli-forge skill family: classify the request, detect missing contract baselines, check filesystem state, and route to the earliest incomplete or takeover stage.
Validate stage for the cli-forge skill family: run the 47-check compliance ruleset against a scaffolded, takeover-adopted, or extended skill project and compare any daemon surface against the declared CLI plan.
Extend stage for the cli-forge skill family: add stream or repl features to an existing scaffolded skill project or to a takeover-adopted project that already matches the scaffold-compatible layout.