← ClaudeAtlas

compose-frozen-templatelisted

Add a whole STRUCTURE to the site (a news feed, a blog, a documentation tree, a catalogue) by COMPOSING it from the Frozen Template Constructor — vetted frozen bricks assembled by file copy + token substitution, with ZERO code generation, so any model gives the identical result. Use when the owner says "make me a news page", "add a blog", "I want documentation", "add a catalogue". The composer (compose-frozen-template.mjs / the owner_template_compose_structure MCP tool) MATCHES the request to a primitive by its envelope (100%-fit on every axis or it is NOT that primitive), installs the shared engine if absent, and composes the router + placeholder documents through two seams (list provider + uniform aspects). If nothing fits, REFUSE HONESTLY naming the failing axis and offer to harvest a new brick or use classic development — never force a bad fit, never generate code. Also composes a PROJECT PAGE (the Projects layer starter interface: description + react-flow process diagram + cron-queue and results tables +
Fractera/Agent-Engineering-Infrastructure · ★ 37 · AI & Automation · score 76
Install: claude install-skill Fractera/Agent-Engineering-Infrastructure
# compose-frozen-template Stand up an entire structure by **composing** it from the Frozen Template Constructor — a small basis of vetted frozen bricks, assembled by **file copy + token substitution, no code generation**, so any model produces the same result in seconds. Full strategy: `CRUD-DOCS/workspace-standards/frozen-template-constructor.md`. This skill is **self-sufficient**: plain file operations plus one HTTP GET. It does NOT depend on Hermes, memory, or any other agent. ## The mental model (read this before acting) - The constructor is a **composer over a basis of primitives** — not a catalogue of finished templates, and not a code generator. - **Two-Slot Law:** every property is either a **list provider** (where the children come from — Slot A) or a **uniform aspect** (a rule applied identically at every level — Slot B). Nothing else. They never interact. - **Base axes select a primitive:** `source` (files | db-at-build | runtime) × `depth` (1–4) × `rendering` (static | dynamic-descriptor). **Aspect axes** are toggles a primitive supports: `i18n`, `roles`. - Today the basis has **one** harvested brick: `files-depth1` (a flat, file-backed, multilingual list — news / blog / docs feed). Everything else is roadmap. ## Decision flow (do exactly this) 1. **Project the request onto the envelope axes.** What is the data source? how deep is the structure? static or inherently dynamic? which roles? which languages? 2. **Match by 100%-fit.** Call `owner_t