cellm/skills/board/SKILL.md
CELLM deep-onboarding mission orchestrator. Runs a contracted workflow over an external project and produces five required artifacts (JOURNAL, DSE, atoms seed, direction, boundary-status) with mandatory human gates, deterministic DSE fallback, and Oracle persistence. Use when: 'onboard this project deeply', 'run cellm board', 'deep onboarding mission', 'board on /path/to/repo', 'mission onboarding'. Not for shallow setup (use cellm:bootstrap) or single-doc generation (use docops:journal).
npx skillsauth add murillodutt/cellm cellm/skills/boardInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Mission-oriented orchestrator that turns an unknown external project into a complete, auditable CELLM onboarding pack. board does not invent analysis — it sequences existing CELLM capabilities behind explicit human gates and a strict artifact contract.
| In scope | Out of scope | |---|---| | Deep onboarding of a single external project | Generic project scaffolding | | Sequencing existing skills and tools | Reimplementing journal/DSE/knowledge logic | | Mandatory gates and fallback protocol | Headless end-to-end without human confirmation | | Run manifest and outcome record | Replacing collaborative technical review |
Only assist is supported in v1. Both gates (S4 Tribal, S6 Direction) are mandatory. guided-headless and manual-recovery are reserved for later phases and MUST NOT be honored if requested in v1 — fall back to assist and tell the operator why.
| Input | Required | Notes |
|---|---|---|
| Absolute project path | yes | Must be readable; reject relative paths |
| Mode | no | Default assist; only mode honored in v1 |
| Project slug | no | Defaults to last path segment; used for Oracle scope |
MUST: mandatory requirement.SHOULD: strongly recommended unless a recorded exception exists.MAY: optional behavior.OK, PARTIAL, FAILED.Each stage MUST end with explicit status (OK, PARTIAL, or FAILED). Never mark a stage OK with missing, placeholder, or unverifiable output.
Bash(test *)).Glob, Read on package.json, nuxt.config.*, pyproject.toml, etc.).context_preflight with flow='board' and consume policy envelope.board-preflight record with detected profile and stack hints.git_context: missing in notes.Failure: any unreadable path → abort run with FAILED, do not proceed. Missing git context is PARTIAL in preflight notes, but mission may continue.
JOURNAL.md generation to docops:journal for the target path.TODO: describe placeholders in critical sections (project type, entry points, stack).PARTIAL and record the reason.Hard rule: Mission MUST NOT proceed past S1 if JOURNAL.md is absent. If present but partial, mission MAY continue with artifact status PARTIAL.
Primary path:
dse_get or local file under .cellm/dse/).Fallback triggers (any one is sufficient):
Fallback protocol:
tailwind.config.*, app.config.*, nuxt.config.*, theme.*, primary CSS files, package.json UI dependencies..cellm/dse/DSE.md with explicit Source: fallback and per-section evidence references.OK (fallback) in the matrix.Hard rule: Mission MUST NOT proceed past S2 without a valid DSE.md. "Valid" means: evidence-backed sections, explicit confidence, and no placeholder tokens. If neither primary nor fallback can produce a valid DSE, abort with FAILED.
knowledge_add with source: "board" and project: <slug>..cellm/knowledge/atoms-seed.md (human-readable).Hard rule: Reconciliation mismatch → mark artifact FAILED and abort the run before S4. Persistence in v1 is synchronous; there is no decoupled retry path.
Mandatory AskUserQuestion with the operator. Validate domain invariants the model cannot infer from code:
Record answers verbatim into the run manifest. Unresolved ambiguity MUST be marked explicitly — never silently assumed. If the operator does not answer, Gate 1 status MUST be FAILED.
.cellm/direction.md from S1+S2+S3+S4 evidence (focus, current target, blockers, confidence)..cellm/boundary-status.md (allowed surface, forbidden zones, escalation rules).Mandatory AskUserQuestion. Confirm with the operator that focus, blockers, and next steps are evidence-backed and acceptable. Record the verdict in the manifest.
If the operator rejects: mark direction artifacts PARTIAL, capture rejection reason, and continue to S7 to persist manifest + outcome with PARTIAL status — do not silently retry. If the operator is unavailable, Gate 2 status MUST be FAILED.
.cellm/board/ exists before writing the manifest..cellm/board/run-<timestamp>.json.context_record_outcome with run summary, durations, gate verdicts, and matrix.context_record_outcome fails, the local run manifest MUST include outcome_record: failed and the run outcome cannot be OK.Five artifacts are required per run. The mission is OK only when all five are OK or OK (fallback). Any FAILED makes the run FAILED. Any PARTIAL makes the run PARTIAL.
| # | Artifact | Path | Source |
|---|---|---|---|
| 1 | Project journal | JOURNAL.md | docops:journal |
| 2 | Design system | .cellm/dse/DSE.md | cellm:dse-discover or fallback |
| 3 | Knowledge seed | .cellm/knowledge/atoms-seed.md | board (mirrors Oracle atoms) |
| 4 | Direction | .cellm/direction.md | board (synthesis) |
| 5 | Boundary status | .cellm/boundary-status.md | board (synthesis) |
Quality rules:
TODO tags outside an explicit Open Questions section.reason for every PARTIAL or FAILED status..cellm/board/run-<timestamp>.json schema (machine-readable, used for replay auditing):
{
"version": 1,
"project": "<slug>",
"path": "<absolute>",
"mode": "assist",
"started_at": "<iso>",
"ended_at": "<iso>",
"duration_seconds": <int>,
"stages": [
{ "id": "S0", "status": "OK|PARTIAL|FAILED", "duration_seconds": <int>, "notes": "" }
],
"gates": [
{ "id": "G1", "stage": "S4", "verdict": "approved|rejected", "answers": [] },
{ "id": "G2", "stage": "S6", "verdict": "approved|rejected", "answers": [] }
],
"artifacts": [
{ "name": "JOURNAL.md", "status": "OK", "path": "JOURNAL.md", "reason": "" }
],
"fallbacks": [ "S2:dse-empty" ],
"interventions": <int>,
"outcome": "OK|PARTIAL|FAILED"
}
S0 preflight -> context_preflight + bash/glob
S1 journal -> delegate docops:journal
S2 dse -> delegate cellm:dse-discover, fallback inline if invalid
S3 knowledge -> knowledge_add (sync) + Write local mirror, reconcile
S4 gate-1 -> AskUserQuestion (tribal invariants)
S5 direction -> Write direction.md + boundary-status.md
S6 gate-2 -> AskUserQuestion (final validation)
S7 outcome -> context_record_outcome + Write run manifest
These resolve the spec's open questions for v1. Revisit at the M1 pilot.
assist. No profile-based bypass.FAILED runs, for audit replay.OK with any artifact in PARTIAL or FAILED.JOURNAL.md, past S2 without DSE.md, or past S3 with reconciliation mismatch.guided-headless or manual-recovery in v1; fall back to assist and explain.data-ai
Prose override — temporarily disable quantization and respond in readable prose. Use when relational density matters, for safety-critical explanations, onboarding handoffs, or when token economy is not the priority.
development
Govern explicit weekly Super PRs or maintainer-requested PR merges. Evaluates a 10-criterion readiness checklist and performs governed merge only when a user-requested PR is READY. Never creates or keeps permanent PRs. Use when: 'pr-check', 'pr-merge', 'merge this PR safely', 'is PR ready', 'guard merge', or /sk-git delegates pr-merge.
data-ai
Operational surface for the compress-llm Layer-1 token I/O compressor. Enable, disable, switch mode, and inspect status without editing config files. Use when tuning compression pressure for the current session or project.
tools
Generate structured upstream feedback for the CELLM engineering team. Produces evidence-first Markdown at docs/evidence/<date>-cellm-feedback-*.md for bugs, anti-patterns, deprecation gaps, and harness surprises, with optional atom registration via knowledge_ops. Use when: 'feedback for CELLM', 'send to CELLM team', 'register this as atom', 'document this anti-pattern', 'report this bug upstream'. Trigger proactively on MCP schema/runtime mismatches, mechanical edit loops (>=3 sequential edits), short deprecation windows (<6 weeks), or reusable harness surprises. Do NOT trigger for routine feature work or project-local bugs.