Publish a finished unit to the library
SkillDev toolsPublish a finished Ralphy unit and its reusable blocks to the public library. Use when the user asks to publish a template, unit, style, recipe, or asset to the library. The CLI prepares the entity bundle; the sibling ralphy-web repository owns the committed library and upload script.
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the Publish a finished unit to the library skill
What this skill tells your AI
The instructions your AI receives, as published by alecs5am/ralphy in .agents/skills/dev-publish-template/SKILL.md and read by ahel’s review.
This skill bridges two repositories without mixing their responsibilities:
- The current
ralphyrepository owns projects, Units, provenance, extraction, and validation. ../ralphy-webownslib/library-v2/library.json, public media upload, and the/libraryUI.
Read the templater skill first. It owns extraction, classification,
blueprints, and de-duplication.
Hard rules
- Do not publish before the unit passes its project and workspace evaluators.
- De-duplicate every proposed Template, Style, Recipe, and Asset against the current library before creating a new block.
- Run the web publisher in dry-run mode first.
--pushrequires explicit user approval of the entity list and files. - Keep source project artifacts append-only. Publishing reads them; it never moves, rewrites, or deletes them.
- Commit and push the
ralphy-webrepository, not the CLI repository, for library changes. Heavy reusable media belongs in siblingralphy-assets. - All committed text and commit messages are English-only.
Procedure
-
Resolve the active workspace, project, and unit slug. Read
unit.json, the postmortem, eval output, generation log, and referenced artifacts. -
Run the
templaterclassification and emit block specs plus any blueprint. -
Compare candidates with
../ralphy-web/lib/library-v2/library.json; reuse existing ids whenever semantics match. -
From
../ralphy-web, run the generated publish commands without--push:bun run scripts/publish-entity.ts --block-file <block.json> bun run scripts/publish-entity.ts --unit <absolute-unit-dir> bun run scripts/publish-entity.ts --blueprint <absolute-blueprint-dir> -
Show the user the dry-run entity list, uploaded-media plan, and exact files that will change. Wait for explicit approval.
-
Repeat the commands with
--pushin dependency order: blocks, unit, then blueprint. -
In
ralphy-web, run its documented lint, typecheck, tests, and build checks; rungitleaks protect --staged --redact; then commit and push the library change. -
If media moved to
ralphy-assets, verify and commit that repository separately. Never combine repositories in one commit. -
Report the published unit id, reused and new block ids, and live
/libraryURL.
Stop conditions
Stop when the unit has no shippable output, the evaluator has unresolved hard failures, the library contains an unresolved id collision, dry-run differs from the proposed entity set, or approval to push is absent.
Signals
- GitHub stars
- 133
- Forks
- 13
- Last commit
- Sep 2026
Advanced
- Catalog kind
- skill
- Gateway key
dev-publish-template- Source
- github.com/alecs5am/ralphy