/bootstrap Quick Ref: Product/operations layer around the core seed. Progressive — bare repos get the golden path first, existing repos fill gaps only. YOU MUST EXECUTE THIS WORKFLOW. Do not just describe it. Quick Start That is it. One command. Every step below is idempotent — existing artifacts are never overwritten. External Tools - ao (optional) — AgentOps CLI. Required only for optional hook activation (Step 6). Bootstrap skips hooks gracefully when missing. - bd (optional, recommended) — beads CLI. Bootstrap probes for in Step 0.5 and, when missing, points the user at with a copy-paste…

\"\ncheck \"SKILL.md has name: bootstrap\" \"grep -q '^name: bootstrap' '$SKILL_DIR/SKILL.md'\"\ncheck \"SKILL.md mentions GOALS.md\" \"grep -q 'GOALS\\\\.md' '$SKILL_DIR/SKILL.md'\"\ncheck \"SKILL.md mentions PRODUCT.md\" \"grep -q 'PRODUCT\\\\.md' '$SKILL_DIR/SKILL.md'\"\ncheck \"SKILL.md mentions PROGRAM/AUTODEV\" \"grep -Eq 'PROGRAM\\\\.md|AUTODEV\\\\.md' '$SKILL_DIR/SKILL.md'\"\ncheck \"SKILL.md delegates core seed to quick-start\" \"grep -q 'ao quick-start' '$SKILL_DIR/SKILL.md'\"\ncheck \"SKILL.md mentions progressive/gap-filling behavior\" \"grep -qiE 'progressive|fills? gaps|idempotent' '$SKILL_DIR/SKILL.md'\"\n\necho \"\"; echo \"Results: $PASS passed, $FAIL failed\"\n[ $FAIL -eq 0 ] && exit 0 || exit 1\n","content_type":"application/x-sh; charset=utf-8","language":"bash","size":1036,"content_sha256":"909e075fbdd09e56fbe8dd837f6eea41bc0d34356e84545bec7e9b3811495e8a"}],"content_json":{"type":"doc","content":[{"type":"heading","attrs":{"level":1},"content":[{"text":"/bootstrap","type":"text"}]},{"type":"blockquote","content":[{"type":"paragraph","content":[{"text":"Quick Ref:","type":"text","marks":[{"type":"strong"}]},{"text":" Product/operations layer around the ","type":"text"},{"text":"ao quick-start","type":"text","marks":[{"type":"code_inline"}]},{"text":" core seed. Progressive — bare repos get the golden path first, existing repos fill gaps only.","type":"text"}]}]},{"type":"paragraph","content":[{"text":"YOU MUST EXECUTE THIS WORKFLOW. Do not just describe it.","type":"text","marks":[{"type":"strong"}]}]},{"type":"heading","attrs":{"level":2},"content":[{"text":"Quick Start","type":"text"}]},{"type":"code_block","attrs":{"wrap":false,"language":""},"content":[{"text":"/bootstrap","type":"text"}]},{"type":"paragraph","content":[{"text":"That is it. One command. Every step below is idempotent — existing artifacts are never overwritten.","type":"text"}]},{"type":"heading","attrs":{"level":2},"content":[{"text":"External Tools","type":"text"}]},{"type":"bullet_list","content":[{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"ao","type":"text","marks":[{"type":"strong"}]},{"text":" (optional) — AgentOps CLI. Required only for optional hook activation (Step 6). Bootstrap skips hooks gracefully when missing.","type":"text"}]}]},{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"bd","type":"text","marks":[{"type":"strong"}]},{"text":" (optional, recommended) — beads CLI. Bootstrap probes for ","type":"text"},{"text":"bd","type":"text","marks":[{"type":"code_inline"}]},{"text":" in Step 0.5 and, when missing, points the user at ","type":"text"},{"text":"scripts/install-bd.sh","type":"text","marks":[{"type":"code_inline"}]},{"text":" with a copy-paste command. Bootstrap never installs ","type":"text"},{"text":"bd","type":"text","marks":[{"type":"code_inline"}]},{"text":" on the user's behalf.","type":"text"}]}]}]},{"type":"heading","attrs":{"level":2},"content":[{"text":"Flags","type":"text"}]},{"type":"table","attrs":{"layout":null},"content":[{"type":"tr","content":[{"type":"th","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Flag","type":"text"}]}]},{"type":"th","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Effect","type":"text"}]}]}]},{"type":"tr","content":[{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"--dry-run","type":"text","marks":[{"type":"code_inline"}]}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Report what would be created without doing anything","type":"text"}]}]}]},{"type":"tr","content":[{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"--force","type":"text","marks":[{"type":"code_inline"}]}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Recreate artifacts even if they already exist","type":"text"}]}]}]}]},{"type":"heading","attrs":{"level":2},"content":[{"text":"Execution Steps","type":"text"}]},{"type":"heading","attrs":{"level":3},"content":[{"text":"Step 0: Detect Repo State","type":"text"}]},{"type":"code_block","attrs":{"wrap":false,"language":"bash"},"content":[{"text":"git rev-parse --is-inside-work-tree >/dev/null 2>&1 || { echo \"NOT_A_GIT_REPO\"; exit 1; }\nHAS_GOALS=$([[ -f GOALS.md ]] && echo true || echo false)\nHAS_PRODUCT=$([[ -f PRODUCT.md ]] && echo true || echo false)\nHAS_README=$([[ -f README.md ]] && echo true || echo false)\nHAS_PROGRAM=$([[ -f PROGRAM.md || -f AUTODEV.md ]] && echo true || echo false)\nHAS_AGENTS=$([[ -d .agents ]] && echo true || echo false)\nHAS_HOOKS=$(grep -q \"agentops\" .claude/settings.json 2>/dev/null && echo true || echo false)\nHAS_AO=$(command -v ao >/dev/null && echo true || echo false)\nHAS_BD=$(command -v bd >/dev/null && echo true || echo false)","type":"text"}]},{"type":"paragraph","content":[{"text":"Classify the repo:","type":"text"}]},{"type":"table","attrs":{"layout":null},"content":[{"type":"tr","content":[{"type":"th","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"State","type":"text"}]}]},{"type":"th","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Condition","type":"text"}]}]}]},{"type":"tr","content":[{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"bare","type":"text","marks":[{"type":"strong"}]}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"No GOALS.md, no PRODUCT.md, no .agents/","type":"text"}]}]}]},{"type":"tr","content":[{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"partial","type":"text","marks":[{"type":"strong"}]}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Some artifacts present, some missing","type":"text"}]}]}]},{"type":"tr","content":[{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"complete","type":"text","marks":[{"type":"strong"}]}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"GOALS.md, PRODUCT.md, README.md, PROGRAM.md/AUTODEV.md, and .agents/ present","type":"text"}]}]}]}]},{"type":"paragraph","content":[{"text":"If ","type":"text"},{"text":"--dry-run","type":"text","marks":[{"type":"code_inline"}]},{"text":" is set: report the state and what would be created, including whether ","type":"text"},{"text":"bd","type":"text","marks":[{"type":"code_inline"}]},{"text":" would be recommended (when ","type":"text"},{"text":"HAS_BD","type":"text","marks":[{"type":"code_inline"}]},{"text":" is false), then stop. Do not proceed to Steps 1-6.","type":"text"}]},{"type":"paragraph","content":[{"text":"If the repo is ","type":"text"},{"text":"complete","type":"text","marks":[{"type":"strong"}]},{"text":" and ","type":"text"},{"text":"--force","type":"text","marks":[{"type":"code_inline"}]},{"text":" is not set: report \"Repo is fully bootstrapped. Nothing to do.\" and stop.","type":"text"}]},{"type":"heading","attrs":{"level":3},"content":[{"text":"Step 0.5: Recommend bd","type":"text"}]},{"type":"paragraph","content":[{"text":"If ","type":"text"},{"text":"HAS_BD","type":"text","marks":[{"type":"code_inline"}]},{"text":" is true: skip. Report \"bd: present.\"","type":"text"}]},{"type":"paragraph","content":[{"text":"If ","type":"text"},{"text":"HAS_BD","type":"text","marks":[{"type":"code_inline"}]},{"text":" is false: report ","type":"text"},{"text":"\"bd: not installed (recommended). Install with: ","type":"text","marks":[{"type":"strong"}]},{"text":"bash scripts/install-bd.sh","type":"text","marks":[{"type":"code_inline"},{"type":"strong"}]},{"text":"\"","type":"text","marks":[{"type":"strong"}]},{"text":" and continue. Bootstrap does NOT run the installer — ","type":"text"},{"text":"bd","type":"text","marks":[{"type":"code_inline"}]},{"text":" is optional, the user decides.","type":"text"}]},{"type":"paragraph","content":[{"text":"If ","type":"text"},{"text":"scripts/install-bd.sh","type":"text","marks":[{"type":"code_inline"}]},{"text":" is absent at the repo root, drop the install hint and just report \"bd: not installed (recommended). See https://github.com/steveyegge/beads\".","type":"text"}]},{"type":"heading","attrs":{"level":3},"content":[{"text":"Step 1: GOALS.md","type":"text"}]},{"type":"paragraph","content":[{"text":"If ","type":"text"},{"text":"HAS_GOALS","type":"text","marks":[{"type":"code_inline"}]},{"text":" is false (or ","type":"text"},{"text":"--force","type":"text","marks":[{"type":"code_inline"}]},{"text":" is set):","type":"text"}]},{"type":"paragraph","content":[{"text":"Run the goals skill to initialize GOALS.md interactively:","type":"text"}]},{"type":"code_block","attrs":{"wrap":false,"language":""},"content":[{"text":"Skill(skill=\"goals\", args=\"init\")","type":"text"}]},{"type":"paragraph","content":[{"text":"If ","type":"text"},{"text":"HAS_GOALS","type":"text","marks":[{"type":"code_inline"}]},{"text":" is true and ","type":"text"},{"text":"--force","type":"text","marks":[{"type":"code_inline"}]},{"text":" is not set: skip. Report \"GOALS.md exists -- skipped.\"","type":"text"}]},{"type":"heading","attrs":{"level":3},"content":[{"text":"Step 2: PRODUCT.md","type":"text"}]},{"type":"paragraph","content":[{"text":"If ","type":"text"},{"text":"HAS_PRODUCT","type":"text","marks":[{"type":"code_inline"}]},{"text":" is false (or ","type":"text"},{"text":"--force","type":"text","marks":[{"type":"code_inline"}]},{"text":" is set):","type":"text"}]},{"type":"paragraph","content":[{"text":"Run the product skill to generate PRODUCT.md interactively:","type":"text"}]},{"type":"code_block","attrs":{"wrap":false,"language":""},"content":[{"text":"Skill(skill=\"product\")","type":"text"}]},{"type":"paragraph","content":[{"text":"If ","type":"text"},{"text":"HAS_PRODUCT","type":"text","marks":[{"type":"code_inline"}]},{"text":" is true and ","type":"text"},{"text":"--force","type":"text","marks":[{"type":"code_inline"}]},{"text":" is not set: skip. Report \"PRODUCT.md exists -- skipped.\"","type":"text"}]},{"type":"heading","attrs":{"level":3},"content":[{"text":"Step 3: README.md","type":"text"}]},{"type":"paragraph","content":[{"text":"If ","type":"text"},{"text":"HAS_README","type":"text","marks":[{"type":"code_inline"}]},{"text":" is false (or ","type":"text"},{"text":"--force","type":"text","marks":[{"type":"code_inline"}]},{"text":" is set) AND PRODUCT.md now exists:","type":"text"}]},{"type":"paragraph","content":[{"text":"Run the doc skill in README mode to generate README.md:","type":"text"}]},{"type":"code_block","attrs":{"wrap":false,"language":""},"content":[{"text":"Skill(skill=\"doc\", args=\"--mode=readme\")","type":"text"}]},{"type":"paragraph","content":[{"text":"If ","type":"text"},{"text":"HAS_README","type":"text","marks":[{"type":"code_inline"}]},{"text":" is true and ","type":"text"},{"text":"--force","type":"text","marks":[{"type":"code_inline"}]},{"text":" is not set: skip. Report \"README.md exists -- skipped.\"","type":"text"}]},{"type":"paragraph","content":[{"text":"If PRODUCT.md does not exist (Step 2 was skipped or failed): skip. Report \"README.md skipped -- PRODUCT.md required first.\"","type":"text"}]},{"type":"heading","attrs":{"level":3},"content":[{"text":"Step 4: Core Seed and .agents/ Structure","type":"text"}]},{"type":"paragraph","content":[{"text":"If ","type":"text"},{"text":"HAS_AGENTS","type":"text","marks":[{"type":"code_inline"}]},{"text":" is false (or ","type":"text"},{"text":"--force","type":"text","marks":[{"type":"code_inline"}]},{"text":" is set):","type":"text"}]},{"type":"paragraph","content":[{"text":"Prefer the CLI golden path:","type":"text"}]},{"type":"code_block","attrs":{"wrap":false,"language":"bash"},"content":[{"text":"ao quick-start --no-beads","type":"text"}]},{"type":"paragraph","content":[{"text":"If ","type":"text"},{"text":"ao","type":"text","marks":[{"type":"code_inline"}]},{"text":" is unavailable, create the minimal directory structure and report the exact command to repair later:","type":"text"}]},{"type":"code_block","attrs":{"wrap":false,"language":"bash"},"content":[{"text":"mkdir -p .agents/learnings .agents/council .agents/research .agents/plans .agents/rpi .agents/patterns .agents/retro .agents/handoff","type":"text"}]},{"type":"paragraph","content":[{"text":"Create ","type":"text"},{"text":".agents/AGENTS.md","type":"text","marks":[{"type":"code_inline"}]},{"text":" if it does not exist:","type":"text"}]},{"type":"code_block","attrs":{"wrap":false,"language":"markdown"},"content":[{"text":"# Agent Knowledge Store\n\nThis directory contains accumulated knowledge from agent sessions.\n\n## Structure\n\n| Directory | Purpose |\n|-----------|---------|\n| `learnings/` | Extracted lessons and patterns |\n| `council/` | Council validation artifacts |\n| `research/` | Research phase outputs |\n| `plans/` | Implementation plans |\n| `rpi/` | RPI execution packets and phase logs |\n\n## Usage\n\nKnowledge is automatically managed by the AgentOps flywheel:\n- `/inject` surfaces relevant prior knowledge at session start\n- `/post-mortem` extracts and processes new learnings\n- `/compile` runs maintenance (mine, grow, defrag)","type":"text"}]},{"type":"paragraph","content":[{"text":"If ","type":"text"},{"text":"HAS_AGENTS","type":"text","marks":[{"type":"code_inline"}]},{"text":" is true and ","type":"text"},{"text":"--force","type":"text","marks":[{"type":"code_inline"}]},{"text":" is not set: skip. Report \".agents/ exists -- skipped.\"","type":"text"}]},{"type":"paragraph","content":[{"text":"If ","type":"text"},{"text":"ao","type":"text","marks":[{"type":"code_inline"}]},{"text":" is unavailable after fallback creation: report \"Core seed repair command: ","type":"text"},{"text":"ao quick-start --dry-run","type":"text","marks":[{"type":"code_inline"}]},{"text":" after installing ao.\"","type":"text"}]},{"type":"heading","attrs":{"level":3},"content":[{"text":"Step 5: PROGRAM.md / AUTODEV.md","type":"text"}]},{"type":"paragraph","content":[{"text":"If ","type":"text"},{"text":"HAS_PROGRAM","type":"text","marks":[{"type":"code_inline"}]},{"text":" is false (or ","type":"text"},{"text":"--force","type":"text","marks":[{"type":"code_inline"}]},{"text":" is set):","type":"text"}]},{"type":"paragraph","content":[{"text":"Use the existing autodev CLI path:","type":"text"}]},{"type":"code_block","attrs":{"wrap":false,"language":"bash"},"content":[{"text":"ao autodev init \"your current objective\"","type":"text"}]},{"type":"paragraph","content":[{"text":"If ","type":"text"},{"text":"ao","type":"text","marks":[{"type":"code_inline"}]},{"text":" is unavailable: do not create a placeholder. Report \"PROGRAM.md skipped -- install ao, then run: ","type":"text"},{"text":"ao autodev init \\\"your current objective\\\"","type":"text","marks":[{"type":"code_inline"}]},{"text":".\"","type":"text"}]},{"type":"paragraph","content":[{"text":"If ","type":"text"},{"text":"HAS_PROGRAM","type":"text","marks":[{"type":"code_inline"}]},{"text":" is true and ","type":"text"},{"text":"--force","type":"text","marks":[{"type":"code_inline"}]},{"text":" is not set: skip. Report \"PROGRAM.md/AUTODEV.md exists -- skipped.\"","type":"text"}]},{"type":"heading","attrs":{"level":3},"content":[{"text":"Step 6: Optional Hook Activation","type":"text"}]},{"type":"paragraph","content":[{"text":"Do not activate hooks. AgentOps 3.0 is hookless: ","type":"text"},{"text":"ao quick-start","type":"text","marks":[{"type":"code_inline"}]},{"text":", execution packets, explicit validation, and knowledge compounding deliver first value with no runtime hooks, and CI is the authoritative gate. There is no ","type":"text"},{"text":"ao","type":"text","marks":[{"type":"code_inline"}]},{"text":" command or flag that installs hooks — hooks were removed from the CLI.","type":"text"}]},{"type":"paragraph","content":[{"text":"If the user explicitly requests hooks, they are opt-in and author-it-yourself: point them at the ","type":"text"},{"text":"hooks-authoring","type":"text","marks":[{"type":"code_inline"}]},{"text":" skill, which scaffolds project-local hooks into ","type":"text"},{"text":".claude/settings.json","type":"text","marks":[{"type":"code_inline"}]},{"text":". Bootstrap itself never writes hooks.","type":"text"}]},{"type":"paragraph","content":[{"text":"If hooks were not explicitly requested: skip. Report \"Hooks optional -- skipped. AgentOps 3.0 is hookless; CI is the authoritative gate. To author your own, use the ","type":"text"},{"text":"hooks-authoring","type":"text","marks":[{"type":"code_inline"}]},{"text":" skill.\"","type":"text"}]},{"type":"paragraph","content":[{"text":"If ","type":"text"},{"text":"HAS_HOOKS","type":"text","marks":[{"type":"code_inline"}]},{"text":" is true: report \"Hooks already present in .claude/settings.json -- left untouched.\"","type":"text"}]},{"type":"heading","attrs":{"level":3},"content":[{"text":"Step 7: Report","type":"text"}]},{"type":"paragraph","content":[{"text":"Output a summary table:","type":"text"}]},{"type":"code_block","attrs":{"wrap":false,"language":""},"content":[{"text":"Bootstrap complete.\n\n| Artifact | Status |\n|---------------|---------|\n| GOALS.md | created / skipped / failed |\n| PRODUCT.md | created / skipped / failed |\n| README.md | created / skipped / failed |\n| PROGRAM.md | created / skipped / failed |\n| .agents/ | created / skipped / failed |\n| Hooks | optional / activated / skipped / failed |\n| bd | present / recommended (not installed) |\n\nRepo is now AgentOps-ready. Next: /rpi \"your first goal\"","type":"text"}]},{"type":"heading","attrs":{"level":2},"content":[{"text":"Examples","type":"text"}]},{"type":"heading","attrs":{"level":3},"content":[{"text":"Bare Repo","type":"text"}]},{"type":"paragraph","content":[{"text":"User says:","type":"text","marks":[{"type":"strong"}]},{"text":" ","type":"text"},{"text":"/bootstrap","type":"text","marks":[{"type":"code_inline"}]}]},{"type":"paragraph","content":[{"text":"What happens:","type":"text","marks":[{"type":"strong"}]},{"text":" Agent detects no AgentOps artifacts. Runs /goals init, /product, /doc --mode=readme, creates .agents/ structure, leaves hooks optional. Reports all five core artifacts created.","type":"text"}]},{"type":"heading","attrs":{"level":3},"content":[{"text":"Partial Repo (has GOALS.md and .agents/)","type":"text"}]},{"type":"paragraph","content":[{"text":"User says:","type":"text","marks":[{"type":"strong"}]},{"text":" ","type":"text"},{"text":"/bootstrap","type":"text","marks":[{"type":"code_inline"}]}]},{"type":"paragraph","content":[{"text":"What happens:","type":"text","marks":[{"type":"strong"}]},{"text":" Agent detects existing artifacts. Skips GOALS.md and .agents/. Runs /product, /doc --mode=readme. Leaves hooks optional unless explicitly requested. Reports two created, three skipped.","type":"text"}]},{"type":"heading","attrs":{"level":3},"content":[{"text":"Dry Run","type":"text"}]},{"type":"paragraph","content":[{"text":"User says:","type":"text","marks":[{"type":"strong"}]},{"text":" ","type":"text"},{"text":"/bootstrap --dry-run","type":"text","marks":[{"type":"code_inline"}]}]},{"type":"paragraph","content":[{"text":"What happens:","type":"text","marks":[{"type":"strong"}]},{"text":" Agent detects repo state and reports what would be created. No files are written.","type":"text"}]},{"type":"heading","attrs":{"level":2},"content":[{"text":"Troubleshooting","type":"text"}]},{"type":"table","attrs":{"layout":null},"content":[{"type":"tr","content":[{"type":"th","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Problem","type":"text"}]}]},{"type":"th","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Cause","type":"text"}]}]},{"type":"th","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Solution","type":"text"}]}]}]},{"type":"tr","content":[{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"\"Not a git repo\"","type":"text"}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"No .git directory","type":"text"}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Run ","type":"text"},{"text":"git init","type":"text","marks":[{"type":"code_inline"}]},{"text":" first","type":"text"}]}]}]},{"type":"tr","content":[{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Goals skill fails","type":"text"}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"No project context","type":"text"}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Provide a one-line project description when prompted","type":"text"}]}]}]},{"type":"tr","content":[{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Product skill fails","type":"text"}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"No goals defined","type":"text"}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Run ","type":"text"},{"text":"/goals init","type":"text","marks":[{"type":"code_inline"}]},{"text":" manually first, then re-run ","type":"text"},{"text":"/bootstrap","type":"text","marks":[{"type":"code_inline"}]}]}]}]},{"type":"tr","content":[{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Hooks not activating","type":"text"}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"ao CLI not installed","type":"text"}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Install: ","type":"text"},{"text":"brew tap boshu2/agentops https://github.com/boshu2/homebrew-agentops && brew install agentops","type":"text","marks":[{"type":"code_inline"}]}]}]}]},{"type":"tr","content":[{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"bd not installed","type":"text"}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Recommended but optional","type":"text"}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Install with ","type":"text"},{"text":"bash scripts/install-bd.sh","type":"text","marks":[{"type":"code_inline"}]},{"text":" if you want issue tracking; otherwise ignore","type":"text"}]}]}]},{"type":"tr","content":[{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Want to start over","type":"text"}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Existing artifacts blocking","type":"text"}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Use ","type":"text"},{"text":"--force","type":"text","marks":[{"type":"code_inline"}]},{"text":" to recreate all artifacts","type":"text"}]}]}]}]},{"type":"heading","attrs":{"level":2},"content":[{"text":"See Also","type":"text"}]},{"type":"bullet_list","content":[{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"goals","type":"text","marks":[{"type":"link","attrs":{"href":"../goals/SKILL.md","title":null}}]},{"text":" -- Fitness specification and directive management","type":"text"}]}]},{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"product","type":"text","marks":[{"type":"link","attrs":{"href":"../product/SKILL.md","title":null}}]},{"text":" -- Product definition generation","type":"text"}]}]},{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"doc","type":"text","marks":[{"type":"link","attrs":{"href":"../doc/SKILL.md","title":null}}]},{"text":" -- README generation (","type":"text"},{"text":"--mode=readme","type":"text","marks":[{"type":"code_inline"}]},{"text":") + repo docs","type":"text"}]}]},{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"quickstart","type":"text","marks":[{"type":"link","attrs":{"href":"../quickstart/SKILL.md","title":null}}]},{"text":" -- New user onboarding (lighter than bootstrap)","type":"text"}]}]},{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"related operator runbooks","type":"text","marks":[{"type":"link","attrs":{"href":"references/related-runbooks.md","title":null}}]},{"text":" -- host-hygiene runbooks (PATH rationalization, etc.)","type":"text"}]}]}]},{"type":"heading","attrs":{"level":2},"content":[{"text":"Reference Documents","type":"text"}]},{"type":"bullet_list","content":[{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"references/bootstrap.feature","type":"text","marks":[{"type":"link","attrs":{"href":"references/bootstrap.feature","title":null}}]},{"text":" — Executable spec: bare repo gets golden path, existing repo fills gaps only, idempotent never-overwrite (soc-qk4b)","type":"text"}]}]}]},{"type":"hr","attrs":{"markup":"---"}}]},"metadata":{"date":"2026-06-05","name":"bootstrap","author":"@skillopedia","source":{"stars":375,"repo_name":"agentops","origin_url":"https://github.com/boshu2/agentops/blob/HEAD/skills/bootstrap/SKILL.md","repo_owner":"boshu2","body_sha256":"2e82a2e8c399bde3eabb0415909c9b98fe934861e2c60d2b854f80be80529c72","cluster_key":"338c28dde0f62c2e66c9cfe0f9859efb1b51c249dbb0975d847b5cf9ccf3a8ad","clean_bundle":{"format":"clean-skill-bundle-v1","source":"boshu2/agentops/skills/bootstrap/SKILL.md","attachments":[{"id":"af7ee249-1b7a-561b-9e99-623876dedc23","key":"uploads/10433ee7-ad12-4ae0-b34e-97553e46c6c8/af7ee249-1b7a-561b-9e99-623876dedc23/attachment.feature","path":"references/bootstrap.feature","size":1204,"sha256":"36e9499016ce9a5d3976f6d036cfc0cd14e07a3b48beb31668004bc9c8a9f081","contentType":"text/plain; charset=utf-8"},{"id":"c4f4933f-7dee-5a11-a8cd-f7f0a4db7ad2","key":"uploads/10433ee7-ad12-4ae0-b34e-97553e46c6c8/c4f4933f-7dee-5a11-a8cd-f7f0a4db7ad2/attachment.md","path":"references/related-runbooks.md","size":1520,"sha256":"ebdfd9e88db2b9425478861b0c3eef33865b31fd4d2963fdf574c25557fed955","contentType":"text/markdown; charset=utf-8"},{"id":"4072af69-dc43-5708-9c1d-7887414bdd0b","key":"uploads/10433ee7-ad12-4ae0-b34e-97553e46c6c8/4072af69-dc43-5708-9c1d-7887414bdd0b/attachment.sh","path":"scripts/validate.sh","size":1036,"sha256":"909e075fbdd09e56fbe8dd837f6eea41bc0d34356e84545bec7e9b3811495e8a","contentType":"application/x-sh; charset=utf-8"}],"bundle_sha256":"4d1415a9bee51cf5c843c6b7aed86a7abaeb24680c46e5a5edc17535da0da835","attachment_count":3,"text_attachments":2,"attachment_storage":"skillopedia-attachments-v1","binary_attachments":1,"excluded_attachments":[]},"cluster_size":1,"skill_md_path":"skills/bootstrap/SKILL.md","import_metadata":{"date":"2026-06-05","author":"@skillopedia","version":"v1","category":"software-engineering","category_label":"Engineering"},"exact_dupes_collapsed_into_this":0},"context":{"intent":{"mode":"task"},"window":"fork","intel_scope":"none"},"version":"v1","category":"software-engineering","consumes":["goals","product","doc","shared"],"metadata":{"tier":"session","dependencies":["goals","product","doc","shared"]},"produces":[],"practices":["containers","hermetic-builds","code-complete"],"import_tag":"clean-skills-v1","context_rel":[],"description":"Initialize AgentOps project files.","hexagonal_role":"driving-adapter","user-invocable":true,"output_contract":".agents/ directory structure, GOALS.md, PRODUCT.md","skill_api_version":1}},"renderedAt":1782987528973}

/bootstrap Quick Ref: Product/operations layer around the core seed. Progressive — bare repos get the golden path first, existing repos fill gaps only. YOU MUST EXECUTE THIS WORKFLOW. Do not just describe it. Quick Start That is it. One command. Every step below is idempotent — existing artifacts are never overwritten. External Tools - ao (optional) — AgentOps CLI. Required only for optional hook activation (Step 6). Bootstrap skips hooks gracefully when missing. - bd (optional, recommended) — beads CLI. Bootstrap probes for in Step 0.5 and, when missing, points the user at with a copy-paste…