Skip to content

Commit 2712c17

Browse files
blafourcadeclaude
andcommitted
feat(onboard): phase 2 — foundation gate, skippable
02-orient marks a foundation stage as the loud pre-selected default with an explicit branch — architect a stack on an empty repo, set up the memory bank on a content repo with weak memory — rendered as the first choice tagged (recommended), always skippable. SKILL keeps suggest-never-force with the skippable + skip-remembered note. 01 pins that a docs/README-only repo counts as empty. Behaviorally verified: empty→architect, weak-memory→memory, skip excludes the default from the next loop (no re-nag), and the gate never blocks. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
1 parent c17d38c commit 2712c17

3 files changed

Lines changed: 5 additions & 4 deletions

File tree

plugins/aidd-context/skills/00-onboard/SKILL.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ Run `01 → 02 → 03`, then loop back to `01` after each step until the user st
2121
## Transversal rules
2222

2323
- Teach, do not assume. The user may be new to AIDD. Explain a term the first time it appears (the memory bank is the project memory the AI loads each session), never assume framework literacy.
24-
- Suggest, never force. Show where the project seems to stand and the next logical step, and always let the user choose another.
24+
- Suggest, never force. Show where the project seems to stand and the next logical step, and always let the user choose another. A foundation step (architect a stack, set up the memory bank) may be the loud, pre-selected default, but it is always skippable, and a skipped step is remembered for the session.
2525
- Plain language only. No internal state names, no raw phase labels, no signal dump reaches the user. The user reads guidance, not a state machine.
2626
- Adapt to what is installed. Suggest by function and resolve it to a skill that is actually installed. If none is installed, name the missing capability by function, never invent a skill.
2727
- Silent read. `01-read-project` prints nothing. The first visible output is the plain briefing from `02-orient`.

plugins/aidd-context/skills/00-onboard/actions/01-read-project.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ These notes form one **reusable snapshot**, read once and reused across the loop
2727
## Process
2828

2929
1. **Check the setup.** Check whether the memory bank exists and holds real content rather than a bare template. When it is filled, read the project brief and the architecture so the briefing speaks from the project's own context. Check whether the AI context file carries the `<aidd_project_memory>` block.
30-
2. **Check the work.** Look for source files outside `aidd_docs/`, a stack manifest, a spec or plan under `aidd_docs/`, an architecture doc (`aidd_docs/INSTALL.md`), and an open pull request on the branch. If nothing is built at all, note the repo as empty. In the same pass, take a light code-quality sample and a bug-marker scan, so cleanup and debugging can rank later.
30+
2. **Check the work.** Look for source files outside `aidd_docs/`, a stack manifest, a spec or plan under `aidd_docs/`, an architecture doc (`aidd_docs/INSTALL.md`), and an open pull request on the branch. If nothing is built at all — only docs or a README, no source, no manifest, no spec/plan/INSTALL — note the repo as empty. In the same pass, take a light code-quality sample and a bug-marker scan, so cleanup and debugging can rank later.
3131
3. **List what is installed.** Use the AI tool's native plugin and skill discovery to gather the enabled AIDD plugins and the skills they expose, each with its description. This is how onboard adapts to what the user actually has.
3232
4. **Hold, do not print.** Keep the notes in context as the reusable snapshot, with the session ledger, and hand directly to `02-orient`. Read the project this fully only once a session; later loops reuse the snapshot and refresh only after the user runs a step. Emit nothing, even in a single turn; the user's first words come from `02-orient`.
3333

plugins/aidd-context/skills/00-onboard/actions/02-orient.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,9 @@ A short, plain briefing the user can act on. No internal variable names, no raw
1717
## Process
1818

1919
1. **Read the notes from 01.** Print nothing from them directly.
20-
2. **Place the project.** Using `@../references/journey.md`, find the earliest **unmet** stage, where a stage counts as met if a disk fact satisfies it **or** the session ledger marks it done or skipped this session. Excluding the ledger's done and skipped stages is what stops a just-run or just-declined step being suggested again. That earliest remaining stage is the suggestion, a hint never a verdict.
20+
2. **Place the project.** Using `@../references/journey.md`, find the earliest **unmet** stage, where a stage counts as met if a disk fact satisfies it **or** the session ledger marks it done or skipped this session. Excluding the ledger's done and skipped stages is what stops a just-run or just-declined step being suggested again. That earliest remaining stage is the suggestion, a hint never a verdict. When it is a foundation stage — architect a stack on an empty repo, or set up the memory bank on a content repo with weak memory — it is the loud, pre-selected default; otherwise it is an ordinary suggestion.
2121
3. **Resolve the suggestion** to an installed skill (`@../references/journey.md`, Resolving). If no installed skill fits, the step is a gap: name the missing capability by function, never a skill or plugin id.
22-
4. **Write the briefing** in plain language: the one-line project, where it sits, and the suggested step with a short why. Explain any AIDD term the first time it appears.
22+
4. **Write the briefing** in plain language: the one-line project, where it sits, and the suggested step with a short why. When the suggested step is a foundation default, present it as the pre-selected default — the first choice, tagged `(recommended)` — and say plainly it can be skipped. Explain any AIDD term the first time it appears.
2323
5. **Offer choices.** A short, stable numbered list with plain labels: run the suggested step, run it in a fresh session instead, explain that step first, explain this project from its memory (only when the memory is filled), see the whole AIDD flow and the installed skills, go to a different step, stop.
2424
6. **Wait for a reply.** Free text re-renders the same choices with a one-line reminder to reply with a number. Never auto-advance.
2525
7. **On a different step**, show the flow steps from `@../references/journey.md` in plain language, let the user pick one, and resolve it to a skill or a gap.
@@ -30,4 +30,5 @@ A short, plain briefing the user can act on. No internal variable names, no raw
3030
- The output is plain language. No internal note names, no raw stage labels, no snapshot reaches the user.
3131
- It names where the project sits and exactly one suggested next step, resolved to an installed skill or a named gap.
3232
- It offers explicit numbered choices and waits for the user.
33+
- On an empty repo the loud pre-selected default is architect-a-stack; on a content repo with weak memory it is set-up-the-memory-bank; both are stated as skippable.
3334
- A suggested step never names a skill or plugin that is not installed.

0 commit comments

Comments
 (0)