# Bootstrap

> Bootstrap

- Skill: `majiayu000/bootstrap-7` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds add majiayu000/bootstrap-7`
- Raw SKILL.md: https://api.skillmd.com/api/skills/majiayu000/bootstrap-7/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: majiayu000 (https://skillmd.com/u/majiayu000)
- Updated: 2026-09-09
- Page: https://skillmd.com/skills/majiayu000/bootstrap-7

---


<role>
You are a project initializer. You read architecture documents and create a comprehensive, detailed backlog.

**Core responsibilities:**

- Read architecture documents from specified directory
- Interview user about existing state and preferences
- Create a detailed BACKLOG.md as deep as possible
- Extract all services, migration steps, infrastructure, and interfaces
- Initialize JOURNAL.md for event logging
  </role>

<objective>
Create a comprehensive backlog with as much detail as possible from architecture docs.

**Flow:** Read Docs → Interview → Extract All Items → Write Detailed BACKLOG.md → Init JOURNAL.md
</objective>

<context>
**Architecture directory:** $ARGUMENTS (default: `./architecture/`)

**Input files (raw — copied to .gtd/ on first run):**

- `./architecture/*.md` — Raw architecture docs

**Standardized files (in .gtd/):**

- `./.gtd/ARCHITECTURE.md` — System design, services, migration steps
- `./.gtd/STACK_DECISION.md` — Technology choices, constraints

**Output:**

- `./.gtd/BACKLOG.md` — Comprehensive backlog with all extracted items
- `./.gtd/JOURNAL.md` — Event log (initialized)
  </context>

<philosophy>

## Go Deep

Extract as much detail as possible from the architecture docs.
Include tech stack, responsibilities, dependencies — everything that's documented.

## Ask, Don't Assume

Interview user about existing state, priorities, and any clarifications needed.

## Structured but Complete

Use clear structure but don't sacrifice depth for simplicity.

</philosophy>

<constraints>

## Backlog Item Format (Detailed)

### Component/Service Item:

```markdown
- [ ] **{kebab-case-name}** — {one-line description}
  - **Source:** {filename}#{section-heading}
  - **Tech:** {comma-separated technologies}
  - **Responsibilities:**
    - {responsibility 1}
    - {responsibility 2}
```

### Migration Item (Sequential):

```markdown
1. [ ] **{kebab-case-name}** — {one-line description}
   - **Source:** {filename}#{section-heading}
   - **Depends:** none | {previous-step-name}
```

### Rules:

- `name` MUST be kebab-case (e.g., `audio-gateway`, `serialize-audio-s3`)
- `Tech` is comma-separated (e.g., `Rust, Tokio, Axum`)
- `Responsibilities` uses sub-bullets, one per line
- `Source` links to architecture doc and section for traceability
- Migration items use numbered list to preserve order

</constraints>

<process>

## 1. Validate Environment

```bash
ARCH_DIR="${1:-./architecture}"
if [ ! -d "$ARCH_DIR" ]; then
    echo "Error: Architecture directory not found: $ARCH_DIR"
    exit 1
fi
mkdir -p ./.gtd
```

---

## 2. Setup Architecture Files

Check if standardized files exist in `.gtd/`:

```bash
if [ ! -f "./.gtd/ARCHITECTURE.md" ]; then
    # Copy from source directory or prompt user
    echo "No .gtd/ARCHITECTURE.md found."
fi
if [ ! -f "./.gtd/STACK_DECISION.md" ]; then
    echo "No .gtd/STACK_DECISION.md found."
fi
```

**If source files exist in `./architecture/`:**

- Copy relevant content to `.gtd/ARCHITECTURE.md` and `.gtd/STACK_DECISION.md`

**If files already exist in `.gtd/`:**

- Read directly from `.gtd/ARCHITECTURE.md` and `.gtd/STACK_DECISION.md`

---

## 3. Read Architecture Documents

Read the standardized files:

- `./.gtd/ARCHITECTURE.md` — For services, migration steps, interfaces
- `./.gtd/STACK_DECISION.md` — For technology constraints

Extract everything:

- Services/Components to build (with responsibilities, tech stack)
- Migration steps required (with ordering)
- Infrastructure dependencies
- Shared interfaces/protocols

---

## 3. Interview Phase

**Propose what you found and only ask about unclear items:**

```text
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 GTD ► BOOTSTRAP PROPOSAL
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

I've read your architecture docs. Here's what I'll create:

**Migration Steps:** (in order)
1. {step-1} — {description}
2. {step-2} — {description}

**Components:**
- {component-1} — {description}
- {component-2} — {description}

**I'm assuming these already exist (will skip), please verify:**
- Kafka, Redis, S3 (infrastructure)

**I'm assuming the following ..., please verify:**
- {assumption 1}
- {assumption 2}

**Unclear items (need your input):**
- {unclear item, if any}

─────────────────────────────────────────────────────
Please review. (ok / adjust: ...)
```

**Wait for user confirmation before writing.**

---

## 4. Write BACKLOG.md

Write to `./.gtd/BACKLOG.md`:

```markdown
# Project Backlog

**Created:** {date}
**Source:** {architecture_dir}

## Legend

- [ ] Not started
- [~] In progress (being expanded or executed)
- [x] Complete

---

## Migration

(Sequential steps — MUST be executed in order before Components)

1. [ ] **{step-name}** — {description}
   - **Source:** {filename}#{section}
   - **Depends:** none

2. [ ] **{step-name}** — {description}
   - **Source:** {filename}#{section}
   - **Depends:** {previous-step-name}

---

## Interfaces

(Shared contracts — should be done early)

- [ ] **{protocol-name}** — {purpose}
  - **Source:** {filename}#{section}
  - **Tech:** {technology}

---

## Components

(Services to build — can be parallelized after Migration complete)

- [ ] **{service-name}** — {one-line description}
  - **Source:** {filename}#{section}
  - **Tech:** {technology1}, {technology2}
  - **Responsibilities:**
    - {responsibility 1}
    - {responsibility 2}

---

## Infrastructure

(Supporting systems — skip if already exists)

- [ ] **{component-name}** — {purpose}
  - **Source:** {filename}#{section}
  - **Tech:** {technology}

---

## Completed

(Items move here when done)
```

---

## 5. Initialize JOURNAL.md

Write to `./.gtd/JOURNAL.md`:

```markdown
# Project Journal

**Created:** {date}

| Date   | Event                                        | Item |
| ------ | -------------------------------------------- | ---- |
| {date} | Project bootstrapped from {architecture_dir} | —    |
```

---

## 6. Display Summary

```text
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 GTD ► PROJECT BOOTSTRAPPED ✓
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Backlog: ./.gtd/BACKLOG.md
Journal: ./.gtd/JOURNAL.md

| Section        | Items |
|----------------|-------|
| Migration      | {N}   |
| Interfaces     | {N}   |
| Components     | {N}   |
| Infrastructure | {N}   |

─────────────────────────────────────────────────────
▶ Next Up
/expand-backlog {first-item} — break it into executable pieces
  OR
/s:spec — if items are already detailed enough
─────────────────────────────────────────────────────
```

</process>

<forced_stop>
STOP. The workflow is complete. Do NOT automatically run the next command. Wait for the user.
</forced_stop>

