Skip to content
Back to skills

Init-Interview — adopt the stack into a project

ASecurity

You are onboarding a NEW project onto the A8 Loom Coordinator. Work through the interview, write the config, materialize the templates, install the gates. Do not skip a section — an unfilled token ships a broken governance file.

  • 5 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added September 6, 2026
ai-agentsgonodegit

Security analysis

A100/100

Pro scans all 7 files and shows the line behind each finding

Scanned September 22, 2026

npx -y skills add LoomA8osAgent/a8-loom-coordinator --skill skills --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Init-Interview — adopt the stack into a project?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Init-Interview — adopt the stack into a project
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/looma8osagent-init-interview-adopt-the-stack-into-a-project/badge)](https://www.skillsdirectory.com/skills/looma8osagent-init-interview-adopt-the-stack-into-a-project)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
<!-- A8 Loom Coordinator — MIT License -->
<!--
  WHAT THIS IS: the adoption skill. It interviews the operator, writes stack.config.json, fills
  every {{...}} token across the templates, and ends by installing the hook stack. This is how
  a new project ADOPTS the A8 Loom Coordinator. It is the one skill an operator loads FIRST.

  WHEN IT LOADS: on first adoption — "set up the coordinator stack", "adopt A8 stack",
  "initialize governance".

  HOW TO FILL: this skill ships ready-to-run. The {{...}} it references are the KEYS it will
  populate (it is the writer, not a consumer). stack.config.json is authored by the config
  worker; this skill reads its key list and drives the interview from it.
-->
---
name: init-interview
description: >
  Use this skill to ADOPT the A8 Loom Coordinator into a new project. It interviews the
  operator for the project's real values, writes stack.config.json, fills every {{...}} token
  across the governance templates + skills + agents, and installs the hook stack. Trigger on:
  "set up the coordinator stack", "adopt the A8 stack", "initialize governance", "onboard this
  project to the stack", "fill the templates".

  Reference files: stack.config.json (the key schema), governance/*.template.md, skills/*,
  agents/*.template.md
---

# Init-Interview — adopt the stack into a project

You are onboarding a NEW project onto the A8 Loom Coordinator. Work through the interview,
write the config, materialize the templates, install the gates. Do not skip a section — an
unfilled token ships a broken governance file.

## 1. Interview (ask; do not assume)

Collect every value `stack.config.json` declares. Group the questions:

- **Project identity** — name; one-line tagline; build description (what kind of app / how
  it's built); repo absolute path; canonical branch; main entry file(s); global identifier
  prefix; the frozen-until-RC naming note.
- **Operator** — the operator's name (used in the operator contract).
- **Dev server** — the ONE command that launches it; its URL + port; the file that defines it.
- **Test / acceptance** — the test-harness command; the acceptance-test mechanism's name +
  how one is authored and run (this generalizes as `{{acceptanceTest.*}}`).
- **Persistence walk** — the name of the save/recall mechanism (presets / projects /
  snapshots) that new state must be wired into.
- **Docs** — the spec directory; the user-doc directory; the always-on doc set (which files
  are `@`-imported every turn).
- **Registry + hooks** — the generated registry file + its generator command; the canonical
  helper source files; the hook install command.
- **Invariants delivery** — where the invariant set will live (`{{invariants.path}}` — a file
  that is deliberately NOT `@`-imported) and the lookup command that delivers the governing
  bullets INTO a refusal (`{{invariants.lookupCommand}}`, e.g. `node tools/canon.js --for
  <path>`). If the project has no router yet, record the path and note that the canon gate's
  block message is where those bullets belong.
- **Work list** — confirm `WORK.tsv` at the repo root and `node tools/work.js --check` wired
  into the pre-commit hook. There is no second list, no tree, no status column.
- **Inherited input surfaces** — the agent harness's memory-store path (`{{memory.storePath}}`)
  and where its versioned mirror lives. These sit outside git and outside every hook, so the
  handoff names them explicitly (`STALE-MEMORY-AS-CANON`).
- **Modules** — the module prefix table (CSS / storage / log / code prefix per module), so
  prefixes never collide.

Confirm the full set back to the operator before writing anything (OPERATOR.md rule 12 —
surface the scope).

## 2. Write stack.config.json

Populate every key from the interview. Keep keys self-evident and centralized — every template
token resolves through this one file. If the operator can't answer a key yet, record a
`TODO:` sentinel and list it in the completion summary rather than inventing a value.

## 3. Materialize the templates

For each `governance/*.template.md` → write the concrete file (drop the `.template` suffix)
with every `{{...}}` replaced from the config. Same for `agents/*.template.md`. Verify ZERO
`{{` remain in any materialized file (grep proof — `NO-GREP-PROOF`). Wire the always-on set
(`@`-imports in the materialized CLAUDE.md) to the operator's chosen doc set.

Two files are NOT `@`-imported on purpose, and the materialization must keep it that way: the
**invariant set** (it arrives inside the canon gate's refusal, resolved for the file being
edited) and the **work list** (`WORK.tsv`, printed on demand). Seed `WORK.tsv` with the
operator's real open items during this step — one row each, `id <TAB> title <TAB> body`, no
nesting — and run `node tools/work.js --check` to prove the file parses.

## 4. Install the gate stack

Run the hook install step (`{{hooks.installCommand}}` — authored by the hooks worker). Verify
the gates are live (the install script's `--verify` mode, or a deliberate canon violation that
the gate should block). Regenerate the registry (`{{registry.genCommand}}`) and confirm its
counts are non-zero (`CACHE-LIE` / empty-index guard).

## 5. Completion summary

Report: the config keys populated, any `TODO:` sentinels left for the operator, the files
materialized (with a grep proof of zero remaining tokens), and confirmation the gates + the
registry are live. Hand back a paste-ready first session opener (three elements — OPERATOR.md
rule 3).

Files in this skill

  • coordinator-SKILL.md8.4 KB
  • dev-infrastructure-SKILL.md4.6 KB
  • doc-sync-SKILL.md3.1 KB
  • init-interview-SKILL.md4.2 KB
  • model-succession-SKILL.md4.7 KB
  • skill-creator-SKILL.md4.3 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.