Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 15 additions & 0 deletions ai/commands/aidd-phase-list.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
---
description: Run a folder-based phase list (sequenced *.md phases) with optional nested delegation
---
# /aidd-phase-list

Load and execute the skill at `ai/skills/aidd-phase-list/SKILL.md`.

Run: `/aidd-phase-list --list <phase-list-dir> [--depth N] [--ancestor-paths p:p:...] [-debug]`

The `--list` directory is required (folder of `*.md` phase files under e.g. `ai/phase-lists/<name>/`). See [ai/phase-lists/README.md](../phase-lists/README.md).

Constraints {
Before beginning, read and respect the constraints in /aidd-please.
Nested lists: without -debug, only the subagent that receives a delegation phase file runs the full nested /aidd-phase-list on the child directory and emits d=parent+1 progress through run finished; the depth-D parent must not inline that child run. See ai/skills/aidd-phase-list/SKILL.md (Runner laws).
}
6 changes: 6 additions & 0 deletions ai/commands/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,12 @@ Rank files by hotspot score to identify prime candidates for refactoring before

Generate /aidd-fix delegation prompts for a list of tasks and optionally dispatch them to sub-agents in dependency order

### /aidd-phase-list

**File:** `aidd-phase-list.md`

Run a folder-based phase list (sequenced *.md phases) with optional nested delegation

### 🔗 /aidd-pipeline

**File:** `aidd-pipeline.md`
Expand Down
4 changes: 4 additions & 0 deletions ai/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,10 @@ This index provides an overview of the contents in this directory.

See [`commands/index.md`](./commands/index.md) for contents.

### 📁 phase-lists/

See [`phase-lists/index.md`](./phase-lists/index.md) for contents.

### 📁 scaffolds/

See [`scaffolds/index.md`](./scaffolds/index.md) for contents.
Expand Down
51 changes: 51 additions & 0 deletions ai/phase-lists/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
# Phase lists (storage convention)

A **phase-list** is a **directory** of phase instruction files. Execution is handled by the [`aidd-phase-list`](../skills/aidd-phase-list/SKILL.md) skill, which **must** be given the list directory path (it does not pick a default list).

## Layout

- One subdirectory per list, for example `ai/phase-lists/onboarding/`, `ai/phase-lists/context/`.
- **Phases** are individual Markdown files: `*.md` in that directory.
- **Ordering:** lexicographic sort on **file basename** (e.g. `10-welcome.md` before `20-next.md`). Only `*.md` files are phases; do not rely on non-`.md` files for ordering.

## Naming

- Prefer numeric prefixes so sort order matches intent: `10-...md`, `20-...md`.
- Use descriptive slugs after the prefix.

## Optional `pack.json`

You may add a **minimal** `pack.json` in the same folder **only** for metadata that does not enumerate every phase, for example:

```json
{ "schema": 1, "order": "lexical" }
```

Future non-lexical order could be documented here. **Do not** list every phase path in one file if you want to avoid leaking the full roadmap into a single artifact; prefer discovery via sorted directory listing at run time.

## Nesting another phase-list

A phase file in list **A** may delegate by instructing the agent to run the same skill on list **B**:

1. Finish any inline work for the current phase.
2. The **subagent** for that phase file runs `/aidd-phase-list --list <path-to-B> --depth <parent-depth-plus-one> --ancestor-paths …` as a **full** nested checklist (see [Delegation phases vs inline phases](../skills/aidd-phase-list/SKILL.md#delegation-phases-vs-inline-phases) in the skill).
3. When the nested run finishes, append a short outcome for this phase to the run summary.

Nested runs **must not** delete or truncate the project summary file; they only append (see skill). The parent list **must not** splice list **B**’s files into its own lexical loop; only the nested invocation walks **B**.

**Delegation boundary (summary):** Without `-debug`, the depth-`D` runner for **A** must not emit nested progress (`d > D`) or walk **B**’s phases itself. The subagent that holds the delegation phase owns the full nested run through `[phase-list d=D+1] run finished`. Full rules: [Runner laws](../skills/aidd-phase-list/SKILL.md#runner-laws-non-negotiable) in the skill.

## Example lists

- [`onboarding/`](onboarding/) — short outer flow.
- [`context/`](context/) — inner flow invoked from onboarding for copy-paste reference.

## Invoking the runner

From the repo root (example):

```text
/aidd-phase-list --list ai/phase-lists/onboarding
```

Optional: set `PHASE_LIST_SUMMARY` to override the summary file path (default: `<project-root>/phase-summary.md`).
5 changes: 5 additions & 0 deletions ai/phase-lists/context/10-define-context.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# Define context

Do nothing else in this phase. Run exactly one shell command so **stdout** is a single line:

`printf '%s\n' "phase-list context: define"`
5 changes: 5 additions & 0 deletions ai/phase-lists/context/11-banana.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# Banana

Do nothing else in this phase. Run exactly one shell command so **stdout** is a single line:

`printf '%s\n' "Banana"`
5 changes: 5 additions & 0 deletions ai/phase-lists/context/12-monkey.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# Monkey

Do nothing else in this phase. Run exactly one shell command so **stdout** is a single line:

`printf '%s\n' "monkey"`
5 changes: 5 additions & 0 deletions ai/phase-lists/context/13-fruit-loops.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# Fruit loops

Do nothing else in this phase. Run exactly one shell command so **stdout** is a single line:

`printf '%s\n' "fruit loops"`
30 changes: 30 additions & 0 deletions ai/phase-lists/context/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
# context

This index provides an overview of the contents in this directory.

## Files

### Define context

**File:** `10-define-context.md`

*No description available*

### Banana

**File:** `11-banana.md`

*No description available*

### Monkey

**File:** `12-monkey.md`

*No description available*

### Fruit loops

**File:** `13-fruit-loops.md`

*No description available*

4 changes: 4 additions & 0 deletions ai/phase-lists/context/pack.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"schema": 3,
"order": "lexical"
}
22 changes: 22 additions & 0 deletions ai/phase-lists/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
# phase-lists

This index provides an overview of the contents in this directory.

## Subdirectories

### 📁 context/

See [`context/index.md`](./context/index.md) for contents.

### 📁 onboarding/

See [`onboarding/index.md`](./onboarding/index.md) for contents.

## Files

### Phase lists \(storage convention\)

**File:** `README.md`

*No description available*

5 changes: 5 additions & 0 deletions ai/phase-lists/onboarding/10-welcome.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# Welcome

Do nothing else in this phase. Run exactly one shell command so **stdout** is a single line:

`printf '%s\n' "phase-list onboarding: welcome"`
3 changes: 3 additions & 0 deletions ai/phase-lists/onboarding/15-subagentTest.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# subagentTest

Run three subagents in sequence with prompts "repeat: 1", "repeat: 2", "repeat: 3"
15 changes: 15 additions & 0 deletions ai/phase-lists/onboarding/20-run-context-sublist.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# Run context sub-list

This phase **delegates** to a different phase-list. Perform the nested run, then summarize.

## Steps

1. Run the **same** execution skill on the **context** list. From repo root, with outer depth `D` (this onboarding list is normally `D=0`), invoke:

`/aidd-phase-list --list ai/phase-lists/context --depth 1 --ancestor-paths ai/phase-lists/onboarding`

If you were already nested at depth `D>0`, use `--depth <D+1>` and **append** the current list directory to `--ancestor-paths` using `:` (colon), e.g. `ai/phase-lists/onboarding:ai/phase-lists/context`.

2. Wait until that nested run completes (including its final `[phase-list d=…] run finished` line in the assistant transcript).

3. Return a **one-paragraph** outcome for the parent phase summary describing what the context list accomplished.
24 changes: 24 additions & 0 deletions ai/phase-lists/onboarding/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
# onboarding

This index provides an overview of the contents in this directory.

## Files

### Welcome

**File:** `10-welcome.md`

*No description available*

### subagentTest

**File:** `15-subagentTest.md`

*No description available*

### Run context sub-list

**File:** `20-run-context-sublist.md`

*No description available*

Loading
Loading