← ClaudeAtlas

manage-content-collectionslisted

Create, edit or delete CONTENT in the site's collections — a whole GROUP (a tab: news / blog / documentation) or a single PAGE (a post inside a tab). Use when the owner says "add a news article", "add a page to the blog", "edit this post", "translate this article", "delete that page", "remove the news section", or "rename the blog section". You pass the CONTENT (a structured data object — describing content is NOT programming); the tool writes the files, by construction, with ZERO code generation, so any model gives the identical result. ANTI-DESTRUCTIVE: if a collection already exists you ADD a page or EDIT it — never recreate, never offer to "rewrite all". Integrity is enforced (folder===slug, only the app's languages, no foreign-script junk, founder block last, a required root anchor). Self-sufficient: no Hermes, no other agent.
Fractera/Agent-Engineering-Infrastructure · ★ 29 · AI & Automation · score 75
Install: claude install-skill Fractera/Agent-Engineering-Infrastructure
# manage-content-collections The ONE way to do content CRUD over the site's co-located collections — **deterministic file operations, NO code generation.** You supply DATA (a content object); the tool writes the `_data/*` files, copies the thin route skeleton, and regenerates the post list. Scenario #1 of 8 (4 file-system + 4 database); the file-system set is here. This skill is **self-sufficient**: plain file operations through one tool. It does NOT depend on Hermes, on memory, or on any other agent. ## The mental model (read before acting) - A **group** = a tab/collection (`app/[lang]/<tab>/` — news, blog, documentation). A **page** = one post in a tab (`app/[lang]/<tab>/<slug>/`). Both are **co-located static folders**; the post list (`_list.generated.ts`) is auto-derived, never hand-written. - **🧊 Phase 1: structure is TAKEN, never generated.** A page is a **CLONE of a frozen stub** (a `compose --samples` post that already has the vetted block structure). You do **NOT** build the body. You pass only **light metadata** — `slug` + optional `title`/`date`/`tags` — and the tool clones the stub under the new slug. **Passing a body (`blocks`) is REFUSED.** Authoring real text into the frozen slots is **Phase 2 (step 155)**, a later step — not here. - **6 operations = one tool**, discriminated by `operation × target`: | operation | target | what you pass | what happens | |---|---|---|---| | create | group | `tab`, `labels`, `format?`, `languages?`, `sampl