From example-skills
Translates internal Markdown artifacts (pitch decks, business plans) into per-persona client-facing storefronts in domain language with ELI5/TLDR layers and voice enforcement. Triggers on client render or translation requests.
How this skill is triggered — by the user, by Claude, or both
Slash command
/example-skills:personalized-storefront-renderThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
> Translate internal artifacts into client-facing surfaces in the client's domain language. Substrate, not bespoke build.
Translate internal artifacts into client-facing surfaces in the client's domain language. Substrate, not bespoke build.
audiences: frontmatter and the storefront has not been regenerated.audiences: [internal] or unmtagged).LAYER 0 — PERSONA CORPUS (~/Documents/personas/)
{id}.md ← prose source-of-truth (untouched by this skill)
{id}.lexicon.yaml ← machine-readable translation table (this skill consumes)
LAYER 1 — INTERNAL ARTIFACTS (per client repo, /docs/**)
Existing artifacts, optionally extended with YAML frontmatter:
audiences[], tldr, strata, client_render_mode
LAYER 2 — TRANSLATION ENGINE (this skill)
Composes:
Product Domain Engine (Phase 4 logos→pathos rendering)
8-Strata Domain Ideal-Whole (gap-map / coverage detection)
voice-enforcement (constitution check vs persona register)
lexicon-substitution (forbidden-terms removal, analogy mapping, ELI5/TLDR shaping)
Output: docs/storefront/_generated/<artifact>.<persona>.client.md
then: docs/storefront/_curated/<artifact>.<persona>.client.md (after human ratify)
LAYER 3 — DEPLOY SURFACE (per-repo, per-stack adapter)
Hokage: /storefront/[...slug] via Next.js → rob.<domain> (link-gated)
Spiral: /storefront/[...slug] via Astro → maddie.<domain> (link-gated)
Future: static adapter ships plain HTML
The skill is callable from any agent; the operator-facing form is the organvm storefront subcommand:
| Command | Purpose |
|---|---|
organvm storefront sync --repo <path> | Walk source.globs, read audiences frontmatter, render per-persona drafts to _generated/. Idempotent. |
organvm storefront audit [--persona <id>] [--unmtagged] | Report: lexicons stale (>90d behind prose), unmtagged client-relevant artifacts, orphan curated files (no source), forbidden-term hits in any draft. |
organvm storefront ratify <artifact-slug> [--persona <id>] | Move _generated/...client.md → _curated/...client.md after human read. Records voice-scorer score in artifact metadata. |
organvm storefront status | One-line: <n> drafts unratified · <m> internal artifacts changed since last sync · <k> forbidden-term hits. |
organvm storefront feedback add --persona <id> --note "..." | Append client feedback to ~/Documents/personas/{id}.feedback.md and create an IRF.STO-FEEDBACK-* item. |
Invocation by agents: prefer the skill protocol (this document) over re-implementing; call the CLI for actual rendering.
This skill is a conductor. It invokes existing skills/tools rather than re-implementing them:
internal-magnet rules are read to determine which source globs are eligible for client projection. The gap-map stratum surfaces audit findings.voice_constitution field names a rule pack that voice-scorer uses to score every draft pre-ratify.Do not re-implement what these skills already do. Substrate failure modes flow downstream from substrate violations.
Every storefront-rendered artifact MUST trace bridge_to: lineage to a real internal artifact. The substrate refuses to emit _generated/*.client.md for any input where:
bridge_to: references a domain handle not present in the persona's lexicon, ORaudiences[].id references a persona without a {id}.lexicon.yaml file in ~/Documents/personas/.This rule prevents personalization theatre — making something sound like the persona without saying anything they would actually care about. Density-of-real-content is the gravity.
internal artifact created/updated
→ audiences frontmatter present? if no → skip (default [internal])
→ operator runs `organvm storefront sync` (on demand, no daemon — Universal Rule #55)
→ render pipeline emits _generated/<artifact>.<persona>.client.md per audience entry
→ voice-scorer scores draft against persona.voice_constitution
→ IRF auto-issues STO-DRAFT-* item per unratified draft
→ operator reads + ratifies → _curated/
→ repo-native build (npm run build for Next.js, etc.) ships /storefront/* routes
→ client receives URL; reads in their language
→ client feedback enters via mailto + `storefront feedback add` → STO-FEEDBACK-* IRF items
→ next sync regenerates from updated source + lexicon
No daemons. No LaunchAgents. Pre-push git hook in opt-in repos may warn (exit 0) when client-relevant files changed without a regenerate; the warning surfaces the exact storefront sync command to run.
| Slice | Scope | Status (2026-04-25) |
|---|---|---|
| 1 — Rob storefront | Schema, Rob lexicon, hokage-chess config, frontmatter on 1+ canonical artifact, hand-curated drafts | scaffolded; route + deploy deferred (hokage Next.js has breaking changes per AGENTS.md) |
| 2 — Maddie storefront | Astro adapter, Maddie lexicon, spiral config, frontmatter on 5 spiral artifacts | pending |
| 3 — Full substrate | Auto-draft generator, pre-push hook, IRF wiring, mailto backfeed, static adapter, audit --unmtagged baseline | pending |
~/.claude/plans/2026-04-25-personalized-client-storefront-substrate.md~/Workspace/organvm/schema-definitions/schemas/storefront-v1.schema.json~/Workspace/organvm/schema-definitions/examples/storefront-frontmatter-rob.yaml~/Documents/personas/rob-bonavoglia.lexicon.yaml~/Workspace/4444J99/hokage-chess/storefront.config.yamlproduct-domain-engine (PDE Phase 4 invocation), domain-ideal-whole-substrate (8-strata gap-map), voice-enforcement (per-persona constitution checks)npx claudepluginhub a-organvm/a-i--skills --plugin document-skillsProvides a checklist for code reviews covering functionality, security, performance, maintainability, tests, and quality. Use for pull requests, audits, team standards, and developer training.