init
First-time Archcore setup. Wires the host (MCP config, hooks, CLAUDE.md/AGENTS.md managed block), measures the authored context…
Record a decision, document existing code, or file a supplied research material, in free text; no first word is a mode. Use for 'we decided', 'record this decision', 'document why we chose X', 'make it our standard', 'draft an RFC', 'should we switch to Y' proposals, 'resolve
Claude Code
$ npx -y skills add archcore-ai/archcore --skill document --agent claude-code
Codex
$ npx skills add archcore-ai/archcore --skill document -a codex -y
Cursor
$ npx skills add archcore-ai/archcore --skill document -a cursor -y
Gemini CLI
$ npx skills add archcore-ai/archcore --skill document -a gemini-cli -y
GitHub Copilot
$ npx skills add archcore-ai/archcore --skill document -a github-copilot -y
OpenCode
$ npx skills add archcore-ai/archcore --skill document -a opencode -y
Windsurf
$ npx skills add archcore-ai/archcore --skill document -a windsurf -y
name: document
argument-hint: "[subject]"
description: "Record a decision, document existing code, or file a supplied research material, in free text; no first word is a mode. Use for 'we decided', 'record this decision', 'document why we chose X', 'make it our standard', 'draft an RFC', 'should we switch to Y' proposals, 'resolve the RFC', 'we accepted the proposal', 'document the auth module', 'capture how the payment system works', reference material, how-to instructions, a repeated agent procedure, a user flow with examples over an existing spec, or a finished report or one external material already in hand. Name any document type inside the subject — journey, prd, idea, or cpat included — to get exactly that type. Planning a feature, an investigation not yet done, or an intended user journey the request asks to plan ('plan the onboarding journey') → /archcore:plan. Checking docs against code or docs health → /archcore:review."Record the present state: a technical decision, existing code, or a supplied research material. Context resolution (`skills/_shared/gate-contract.md`, section Context resolution) classifies the request and finds the present owner; a gate inside the selected track selects the document type. Write affinity: knowledge types; a filed `research` and the decision cascade's `plan` belong to vision. The standard cascade can add a `cpat` (experience). A type the user names explicitly keeps its own category (Named type below).
Command tense: `/archcore:plan` declares a future canon delta, `/archcore:document` records the present state — including work that shipped without a plan — and `/archcore:review` reconciles a past declared delta. Claim vocabulary: `skills/_shared/delta-routing.md`.
Load `skills/_shared/gate-contract.md` and `skills/_shared/elicitation-contract.md` before executing any gate.
| Classification | Track and entry | Types the entry gate selects | |---|---|---| | decision | `skills/_shared/tracks/decision.md`, `decision.classify` | `adr`, `rfc`; `rule` through the standard cascade; an existing `rfc` draft on the topic → `decision.resolve`, which records an `adr` on an accepted verdict | | code-doc | `skills/_shared/tracks/describe.md`, `describe.read` | `spec`, `guide`, `task-type`, `scenario`, `doc` | | research material | `skills/_shared/tracks/research.md`, `research.frame` | `research`, `rnd` by the closing test; one external material → `evidence` |
No first word is a mode. When the subject text names a type (`skills/_shared/gate-contract.md`, Entry terms) that the selected track produces, the selecting gate treats that type as settled and asks no type question: `record an rfc for gRPC` reaches the RFC branch; a leading type slug takes the Named type path. No track produces a `journey`; a `journey` comes from `/archcore:plan` or from the named-type path below.
WHEN the first word of the subject is a kernel document type slug, or the subject writes a slug in backticks, the named type wins over routing (`explicit-type-request-wins.adr`). A slug elsewhere in plain topic text names no type here; inside a track the gate contract's naming rule still applies. When two slugs qualify, the first one wins.
1. IF a document track produces the named type as its own product, THEN enter that track with the type settled: `adr`, `rfc` → decision; `spec`, `doc`, `guide`, `scenario` → describe; `research`, `rnd`, `evidence` → research. 2. IF no document track produces it as its own product — `rule`, `journey`, `prd`, `idea`, `plan`, `cpat`, `task-type`, `mrd`, `brd`, `urd`, `brs`, `strs`, `syrs`, `srs` — THEN compose it directly per the steps below. A `rule` comes from the decision track only as a cascade member behind an `adr`; a named `rule` needs neither. 3. Apply the compatibility file for the type before the first MCP call that names it. 4. Search `.archcore/` for a local document of that type on the topic; when one exists, offer to update it instead. 5. Load `skills/_shared/<type>-contract.md` when that file exists, and `skills/_shared/precision-rules.md`. 6. WHEN no contract file exists, compose the sections of the `create_document` template for that type. 7. Create the document with `status: draft` through `create_document`. 8. Evaluate relations through `skills/_shared/relation-authoring.md`. 9. WHEN the type's routing condition fails, report it in one result line naming the better-fitting type; ask no question.
Examples of a failed routing condition: a `journey` where a covering `spec` exists (`scenario` fits), a `plan` composed without the conductor (it carries no Declared Delta), or a `rule` with no `adr` recording its reason.
**Not document:**
Git-native project context for AI coding agents.The agent stops guessing and starts following the system. A coding agent can write the code.
First-time Archcore setup. Wires the host (MCP config, hooks, CLAUDE.md/AGENTS.md managed block), measures the authored context…
Plan future work, investigate before building, research a topic, or compare the alternatives for a choice. Takes optional free…
The pre-merge review of a branch in a project that records its specs, decisions, and rules in .archcore/. Run this first for…
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…
Ask which skill or flow fits your situation. A router over the skills in this repo.