publish_bundle
Packs a CE_RD_OS workstream output into the dual-track delivery format.
Two artifacts from one source of truth
The repo IS the source of truth. The zip is generated from the repo.
Track A1: GitHub repo
- The repo at the user's GitHub remote (default
https://github.com/<handle>/ce-rd-os).
- AGENTS.md at root, conformant to the AGENTS.md spec.
- 6 SKILL.md files under
skills/, each conformant to agentskills.io.
- references/ folder with the 10 supporting documents.
- LICENSE (Apache-2.0), LICENSE-DOCS (CC-BY-4.0), CHANGELOG.md (Keep
a Changelog 1.1.0), NOTICES.md, CONTRIBUTING.md.
- Makefile, registry.yaml, authors.yaml, .gitignore.
- .github/workflows/{verify.yml, release.yml}.
- packets/ for vendored release artifacts and PROCEED.md.
- scripts/ for verify_self.sh and pack_text_bundle.sh.
Track A2: 10-file text zip
Generated by scripts/pack_text_bundle.sh. Contents:
- AGENTS.md
- README.md
- SETUP.md
- system_directive.md (extracted from skills/system_directive/SKILL.md)
- setup_intake.md
- source_ingestion.md
- trinity_rubric.md
- workstream_creator.md
- publish_bundle.md
- PROCEED.md
The zip drops into NotebookLM, Claude project, custom Gem, custom GPT.
The host reads AGENTS.md first, then runs setup_intake from
setup_intake.md, then proceeds through the workstreams.
Publish-readiness rubric (15 row matrix)
The publish_bundle skill maintains a 15-row publish-readiness matrix
that scripts/verify_self.sh executes mechanically.
| # |
Tag |
Check |
| 1 |
Essential |
AGENTS.md exists at repo root |
| 2 |
Essential |
each SKILL.md frontmatter validates |
| 3 |
Essential |
skill name field equals parent directory name |
| 4 |
Essential |
description length 1 to 1024 |
| 5 |
Essential |
LICENSE recognized header (Apache-2.0) |
| 6 |
Essential |
no em or en dashes anywhere |
| 7 |
Essential |
no privacy blocklist hits |
| 8 |
Important |
CLAUDE.md and GEMINI.md are 3-line pointers |
| 9 |
Important |
CHANGELOG.md has [Unreleased] and [0.X.Y] sections |
| 10 |
Important |
registry.yaml rows match skills tree |
| 11 |
Important |
git config user.email is not a system default |
| 12 |
Optional |
compatibility lists 3 or more host envs |
| 13 |
Optional |
reference docs follow progressive disclosure |
| 14 |
Pitfall |
no eager multi-body load (no skill imports another's body) |
| 15 |
Pitfall |
no reference doc body over 5000 lines |
verdict: PROMOTE if all Essential pass and no Pitfall fails.
verdict: HOLD otherwise.
Procedure
The skill walks these steps in order. Steps stop on first failure.
- Read setup configuration from the active workstream.
- Run verify_self.sh. If exit non-zero, surface failures to the
architect, do not proceed.
- Run pack_text_bundle.sh. Produces
dist/ce-rd-os-vX.Y.Z-text-bundle.zip.
- Generate SHA-256 sidecar for the zip.
- Fill approval_gate template at
build/APPROVAL_GATE_TEMPLATE.md.
Sections 1 through 5 are filled by the agent honestly. Section 6
(architect verdict) is left blank.
- Surface to architect. Wait for verdict.
- On APPROVED verdict only: tag the release (
git tag -a vX.Y.Z),
push, run gh release create (or rely on the release.yml workflow
triggered by the tag).
- On REVISIONS verdict: implement fixes, return to step 2.
- On REJECTED verdict: package state into HANDOFF_PACKET_v2.md,
surface to architect, stop.
Architect-only verdict
The agent fills the approval gate but does not issue the verdict. The
architect issues the verdict via the section 6 / 7 of the template at
build/APPROVAL_GATE_TEMPLATE.md.
This is a hard rule. No agent ever auto-promotes a release.
Multi-bundle reuse
This skill works for any CE_RD_OS-shaped bundle, not just CE_RD_OS
itself. The Makefile and scripts can be vendored into adjacent
bundles (the user's other product tracks) by:
- Copying the bundle skeleton (AGENTS.md, registry.yaml,
authors.yaml, Makefile, scripts/, .github/workflows/).
- Replacing skill bodies with the new bundle's skills.
- Updating registry.yaml entries.
- Updating CHANGELOG.md, NOTICES.md, README.md.
- Running verify_self.sh against the new bundle.
The user has indicated other product tracks will use this same
publish flow. The skill is built for that.
Citations
- AGENTS.md spec, Linux Foundation Agentic AI Foundation.
- Agent Skills spec, Anthropic, agentskills.io.
- Keep a Changelog 1.1.0, keepachangelog.com.
- Conventional Commits 1.0, conventionalcommits.org.
- SemVer 2.0.0, semver.org.
- The vercel-labs zip-filename-equals-directory-name convention.
- The openai-cookbook and anthropics/claude-cookbooks registry.yaml
schema.
End publish_bundle.
1---2name: publish-bundle3description: Use this skill to package a CE_RD_OS workstream output into the dual-track delivery format: GitHub repo plus 10-file text zip. Trigger when the user says "ship it", "package this", "publish v0.X.Y", "make me a release", "pack the bundle", or when a workstream reaches its termination criteria. Runs verify_self.sh as the privacy and conformance gate, runs pack_text_bundle.sh to produce the zip, fills the approval_gate template honestly, and surfaces to the architect for verdict. Never self-issues the release verdict.4license: Apache-2.05---67# publish_bundle89Packs a CE_RD_OS workstream output into the dual-track delivery format.1011## Two artifacts from one source of truth1213The repo IS the source of truth. The zip is generated from the repo.1415### Track A1: GitHub repo1617- The repo at the user's GitHub remote (default18 `https://github.com/<handle>/ce-rd-os`).19- AGENTS.md at root, conformant to the AGENTS.md spec.20- 6 SKILL.md files under `skills/`, each conformant to agentskills.io.21- references/ folder with the 10 supporting documents.22- LICENSE (Apache-2.0), LICENSE-DOCS (CC-BY-4.0), CHANGELOG.md (Keep23 a Changelog 1.1.0), NOTICES.md, CONTRIBUTING.md.24- Makefile, registry.yaml, authors.yaml, .gitignore.25- .github/workflows/{verify.yml, release.yml}.26- packets/ for vendored release artifacts and PROCEED.md.27- scripts/ for verify_self.sh and pack_text_bundle.sh.2829### Track A2: 10-file text zip3031Generated by `scripts/pack_text_bundle.sh`. Contents:32331. AGENTS.md342. README.md353. SETUP.md364. system_directive.md (extracted from skills/system_directive/SKILL.md)375. setup_intake.md386. source_ingestion.md397. trinity_rubric.md408. workstream_creator.md419. publish_bundle.md4210. PROCEED.md4344The zip drops into NotebookLM, Claude project, custom Gem, custom GPT.45The host reads AGENTS.md first, then runs setup_intake from46setup_intake.md, then proceeds through the workstreams.4748## Publish-readiness rubric (15 row matrix)4950The publish_bundle skill maintains a 15-row publish-readiness matrix51that scripts/verify_self.sh executes mechanically.5253| # | Tag | Check |54|---|---|---|55| 1 | Essential | AGENTS.md exists at repo root |56| 2 | Essential | each SKILL.md frontmatter validates |57| 3 | Essential | skill name field equals parent directory name |58| 4 | Essential | description length 1 to 1024 |59| 5 | Essential | LICENSE recognized header (Apache-2.0) |60| 6 | Essential | no em or en dashes anywhere |61| 7 | Essential | no privacy blocklist hits |62| 8 | Important | CLAUDE.md and GEMINI.md are 3-line pointers |63| 9 | Important | CHANGELOG.md has [Unreleased] and [0.X.Y] sections |64| 10 | Important | registry.yaml rows match skills tree |65| 11 | Important | git config user.email is not a system default |66| 12 | Optional | compatibility lists 3 or more host envs |67| 13 | Optional | reference docs follow progressive disclosure |68| 14 | Pitfall | no eager multi-body load (no skill imports another's body) |69| 15 | Pitfall | no reference doc body over 5000 lines |7071verdict: PROMOTE if all Essential pass and no Pitfall fails.72verdict: HOLD otherwise.7374## Procedure7576The skill walks these steps in order. Steps stop on first failure.77781. **Read setup configuration** from the active workstream.792. **Run verify_self.sh.** If exit non-zero, surface failures to the80 architect, do not proceed.813. **Run pack_text_bundle.sh.** Produces `dist/ce-rd-os-vX.Y.Z-text-bundle.zip`.824. **Generate SHA-256 sidecar** for the zip.835. **Fill approval_gate template** at `build/APPROVAL_GATE_TEMPLATE.md`.84 Sections 1 through 5 are filled by the agent honestly. Section 685 (architect verdict) is left blank.866. **Surface to architect.** Wait for verdict.877. **On APPROVED verdict only**: tag the release (`git tag -a vX.Y.Z`),88 push, run `gh release create` (or rely on the release.yml workflow89 triggered by the tag).908. **On REVISIONS verdict**: implement fixes, return to step 2.919. **On REJECTED verdict**: package state into HANDOFF_PACKET_v2.md,92 surface to architect, stop.9394## Architect-only verdict9596The agent fills the approval gate but does not issue the verdict. The97architect issues the verdict via the section 6 / 7 of the template at98`build/APPROVAL_GATE_TEMPLATE.md`.99100This is a hard rule. No agent ever auto-promotes a release.101102## Multi-bundle reuse103104This skill works for any CE_RD_OS-shaped bundle, not just CE_RD_OS105itself. The Makefile and scripts can be vendored into adjacent106bundles (the user's other product tracks) by:1071081. Copying the bundle skeleton (AGENTS.md, registry.yaml,109 authors.yaml, Makefile, scripts/, .github/workflows/).1102. Replacing skill bodies with the new bundle's skills.1113. Updating registry.yaml entries.1124. Updating CHANGELOG.md, NOTICES.md, README.md.1135. Running verify_self.sh against the new bundle.114115The user has indicated other product tracks will use this same116publish flow. The skill is built for that.117118## Citations119120- AGENTS.md spec, Linux Foundation Agentic AI Foundation.121- Agent Skills spec, Anthropic, agentskills.io.122- Keep a Changelog 1.1.0, keepachangelog.com.123- Conventional Commits 1.0, conventionalcommits.org.124- SemVer 2.0.0, semver.org.125- The vercel-labs zip-filename-equals-directory-name convention.126- The openai-cookbook and anthropics/claude-cookbooks registry.yaml127 schema.128129End publish_bundle.