Agent skill

bootstrap

Initialize project backlog from architecture docs. Creates ./.gtd/BACKLOG.md

Stars 163
Forks 31

Install this agent skill to your Project

npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/other/bootstrap-hoang604-get-thing-done

SKILL.md

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

Flow: Read Docs → Interview → Extract All Items → Write Detailed BACKLOG.md → Init JOURNAL.md

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)

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.

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

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
─────────────────────────────────────────────────────

<forced_stop> STOP. The workflow is complete. Do NOT automatically run the next command. Wait for the user. </forced_stop>

Expand your agent's capabilities with these related and highly-rated skills.

Didn't find tool you were looking for?

Be as detailed as possible for better results