Skip to content
Back to skills

Done

ASecurity

> **Status:** done — 2026-06-05 (shipped as the `dev-publish-template` skill) > **Filed:** 2026-05-30 > **Folder:** issues > **Severity:** medium > **Category:** skills / cli

  • 136 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added September 5, 2026
ai-agentsrustgosql

Works with

  • cli

Security analysis

A100/100

Pro scans all 21 files and shows the line behind each finding

Scanned September 5, 2026

npx -y skills add alecs5am/ralphy --skill done --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Done?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Done
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/alecs5am-done/badge)](https://www.skillsdirectory.com/skills/alecs5am-done)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
# Extract-and-publish-template skill (one-shot, like /release)

> **Status:** done — 2026-06-05 (shipped as the `dev-publish-template` skill)
> **Filed:** 2026-05-30
> **Folder:** issues
> **Severity:** medium
> **Category:** skills / cli

## Context

`033` is done — `ralphy template extract <project-id>` exists. What is missing is
the `/release`-style one-shot: while chatting about a finished project, the user
says one phrase and a template is built, slotted into the library taxonomy, and
pushed — no manual category/slug/commit dance.

## What

A skill (e.g. `/publish-template`) that, from the active project context,
**decomposes the finished project into the #063 entity set** and publishes them:

1. **Factor the project into entities** (#063): the project's `units/*/unit.json` (#069)
   → **Units**; the beat structure → a **Template**; the look + its anchor refs → a
   **Style**; the VFX / encode / overlay recipes → **Recipes**; the locked character/
   location/prop/music refs → **Assets**. Match each against existing blocks first; only
   propose a NEW block for a genuine gap. Confirm format + placement with the user.
2. Fills each entity's metadata (slots, tags, model stack, cost rollup, lessons from the
   postmortem; Style/Asset/Recipe example refs) and links the Units to their provenance
   blocks (#063).
3. **Publish, two separable targets** (the user wants both): **(a) publish blocks** on
   their own (a Style / Recipe / Asset can be pushed to the library without a Unit), and
   **(b) publish units** separately (a Unit + its provenance links). Both write to our
   **Supabase** project — DB rows + Storage media — via the existing `landing/scripts/
   seed-supabase.ts` infra (S3 upload + idempotent seed SQL applied over the pooled
   Postgres in `.env.local`); then the data surfaces in the site library. Heavy refs
   also mirror to `ralphy-assets/pool/` + the committed open-source catalog (so the
   library stays downloadable — two-store model, #064).
4. Idempotent + append-only: re-publishing upserts rows / versions media, never clobbers.
   Reports the live `/library` URL(s) for what was pushed.

## Scope / acceptance

- New skill under `.agents/skills/` (de-prefixed per `053`), with ALSO FIRE /
  DO NOT FIRE / HARD INVARIANTS sections; `lint:skills` green.
- Idempotent: re-running on the same project versions the showcase, never
  clobbers the template (append-only invariant #14).
- English-only on disk; runs the pre-commit Cyrillic gate.
- Smoke: extract a real recent project end-to-end into `templates/<format>/...`.

## Why it matters

Makes templates compound automatically. The whole library grows from "say one
phrase in the project chat" instead of a manual multi-step extraction.

## Notes

- Depends on `063` (entity set) + `069` (units source) + `064` (Supabase — now LIVE:
  schema + seed-supabase.ts + creds in `.env.local`) + reuses the extract verb (`062`).
- Two publish modes are first-class and independent: **publish-blocks** and
  **publish-units** (the user explicitly wants to push blocks on their own, units apart).
- This is the maintainer-internal contribute flow; `067` is the untrusted-user variant —
  share the decomposition + validation logic.
- Model it on `/dev-release` (3-channel publish discipline) + the Supabase seed path.

Files in this skill

  • 001-cli-pretty-mode-untested.md7.3 KB
  • 002-bun-bytecode-crash.md5.6 KB
  • 004-auto-version-on-generate-overwrite.md3.9 KB
  • 005-provider-transient-errors-no-retry.md2.7 KB
  • 006-elevenlabs-music-tos-no-auto-resubmit.md2 KB
  • 007-provider-concurrency-not-self-throttled.md2.4 KB
  • 008-kling-multiframe-base64-broken.md2 KB
  • 009-ralphy-render-no-hyperframes-route.md3.4 KB
  • 010-generate-captions-clobbers-and-throws.md2 KB
  • 011-audio-sidechain-filter-label-bug.md1.4 KB
  • 012-no-frame-extract-or-i2v-extend-verbs.md2 KB
  • 013-no-compose-timeline-verb.md1.9 KB
  • 014-no-site-grounding-pull-site-verb.md2.4 KB
  • 015-invariants-not-tested-in-ci.md2.8 KB
  • 016-art-director-soft-self-review.md1.9 KB
  • 017-art-director-register-and-character-fit-gaps.md2.6 KB
  • 018-location-master-plate-rule-missing.md1.7 KB
  • 019-scribe-first-and-captions-first-discipline.md2.2 KB
  • 020-static-root-and-composition-props-undocumented.md2 KB
  • 021-auto-strip-c2pa-and-resize-png-anchors.md1.7 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.