Scaffold a Jarvis OS station (universal or dedicated) with its own CLAUDE.md and P06/P23/P24-compliant structure; missing-only, never clobbers local edits.
Turn an intent ("set up a station for X") into a placed, governance-compliant
station skeleton: its folder, its own CLAUDE.md, and the structure required by
the P06/P23/P24 protocols. One job — scaffolding. Anything past placement
(routing, cadences, execution, reporting) belongs to downstream skills. [DOC]
A station is a long-lived operating surface, not a one-off project: it either is universal (shared, cross-cutting capability) or dedicated (bound to a single sector/domain). Choosing that type is the first real decision this skill makes. [INFERENCE]
jarvis-os routing or directly via trigger. [DOC]Do NOT use when — the station already exists (route to its cadence/skill,
never re-scaffold); the target is a project (use project-create) or a sector;
or the request is a one-off task inside an existing surface (use the task
scaffolder). [DOC]
| Input | Required | Default if absent |
|---|---|---|
| Station name / intent | Yes | {VACIO_CRITICO} → stop, ask |
| Type: universal | dedicated | Yes | {POR_CONFIRMAR} → ask; never guess [INFERENCE] |
| Slug | No | Derive kebab-case from name [INFERENCE] |
| Bound sector (dedicated only) | Cond. | Required iff type=dedicated; else N/A [DOC] |
| One-line purpose | No | Mark {POR_CONFIRMAR} in CLAUDE.md |
<station-path>/CLAUDE.md — station memory, ≤70 lines (Rule-9); links
out rather than inlining. [DOC]station ↔ slug ↔ type ↔ path. [INFERENCE]Resolve name → slug (kebab-case ^[a-z0-9]+(-[a-z0-9]+)*$, per naming policy)
and confirm the type. Read the station registry and the parent context
(CLAUDE.md) before writing. [CONFIG]
Universal → shared placement, no sector binding. Dedicated → requires a bound sector; if absent, stop and ask. The type drives which P06/P23/P24 structure is materialized. [SUPUESTO]
Check the target path does not exist. If it does → stop, report the path, route to its cadence. Never overwrite. [DOC]
Write files only where absent; existing files stay byte-for-byte intact unless
--force is passed after a reviewed diff. CLAUDE.md must fit Rule-9 (≤70
lines) by construction. [DOC]
Add/confirm the station ↔ slug ↔ type ↔ path entry. Idempotent: re-running
changes nothing if the entry already matches. [INFERENCE]
Run the acceptance gate below before declaring done. [DOC]
CLAUDE.md exists and is ≤ 70 lines (Rule-9). [DOC]--force. [DOC]station ↔ slug ↔ type ↔ path, no duplicate slug/path. [INFERENCE]{VACIO_CRITICO}: stop and ask; never auto-name. [DOC]{POR_CONFIRMAR}: ask; do not default to universal. [INFERENCE]{POR_CONFIRMAR} against the governing ontology; do not invent structure. [SUPUESTO]{POR_CONFIRMAR}. [INFERENCE]{MEMORIA} + [DOC]) in one file — pick Alfa core here. [DOC]jarvis-os — routes intents here and consumes the scaffold. [DOC]project-create — sibling scaffolder for projects, not stations. [DOC]claude-md-architecture — Rule-9 sizing and CLAUDE.md structure. [DOC][CÓDIGO]/[CONFIG]/[DOC]/[INFERENCIA]/[SUPUESTO]); see
references/verification-tags.md. [DOC]--force only after a
reviewed diff. No prices, single-brand (JM Labs) discipline. [DOC]assets/quality-rubric.json (see the
assets/ bundle); pass requires all criteria met. [DOC]fdad39c
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.