Help us improve
Share bugs, ideas, or general feedback.
From agentops
Initializes AgentOps project files (GOALS.md, PRODUCT.md, .agents/) using the ao CLI. Useful for setting up or completing a project scaffold.
npx claudepluginhub boshu2/agentops --plugin agentopsHow this skill is triggered — by the user, by Claude, or both
Slash command
/agentops:bootstrapThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
> **Quick Ref:** Product/operations layer around the `ao quick-start` core seed. Progressive — bare repos get the golden path first, existing repos fill gaps only.
Shows AgentOps next action based on setup detection. Guides new users through onboarding and suggests the appropriate workflow step.
Scaffolds a long-running agent harness with context docs, AGENTS.md, style guides, session hooks, drift detection, and setup reports. Use when a project needs Maestro-owned project setup.
Generates and maintains AGENTS.md files for AI agent onboarding and codebase documentation, with scripts to detect project structure, extract build commands, CI rules, and verify freshness.
Share bugs, ideas, or general feedback.
Quick Ref: Product/operations layer around the
ao quick-startcore seed. Progressive — bare repos get the golden path first, existing repos fill gaps only.
YOU MUST EXECUTE THIS WORKFLOW. Do not just describe it.
/bootstrap
That is it. One command. Every step below is idempotent — existing artifacts are never overwritten.
bd in Step 0.5 and, when missing, points the user at scripts/install-bd.sh with a copy-paste command. Bootstrap never installs bd on the user's behalf.| Flag | Effect |
|---|---|
--dry-run | Report what would be created without doing anything |
--force | Recreate artifacts even if they already exist |
git rev-parse --is-inside-work-tree >/dev/null 2>&1 || { echo "NOT_A_GIT_REPO"; exit 1; }
HAS_GOALS=$([[ -f GOALS.md ]] && echo true || echo false)
HAS_PRODUCT=$([[ -f PRODUCT.md ]] && echo true || echo false)
HAS_README=$([[ -f README.md ]] && echo true || echo false)
HAS_PROGRAM=$([[ -f PROGRAM.md || -f AUTODEV.md ]] && echo true || echo false)
HAS_AGENTS=$([[ -d .agents ]] && echo true || echo false)
HAS_HOOKS=$(grep -q "agentops" .claude/settings.json 2>/dev/null && echo true || echo false)
HAS_AO=$(command -v ao >/dev/null && echo true || echo false)
HAS_BD=$(command -v bd >/dev/null && echo true || echo false)
Classify the repo:
| State | Condition |
|---|---|
| bare | No GOALS.md, no PRODUCT.md, no .agents/ |
| partial | Some artifacts present, some missing |
| complete | GOALS.md, PRODUCT.md, README.md, PROGRAM.md/AUTODEV.md, and .agents/ present |
If --dry-run is set: report the state and what would be created, including whether bd would be recommended (when HAS_BD is false), then stop. Do not proceed to Steps 1-6.
If the repo is complete and --force is not set: report "Repo is fully bootstrapped. Nothing to do." and stop.
If HAS_BD is true: skip. Report "bd: present."
If HAS_BD is false: report "bd: not installed (recommended). Install with: bash scripts/install-bd.sh" and continue. Bootstrap does NOT run the installer — bd is optional, the user decides.
If scripts/install-bd.sh is absent at the repo root, drop the install hint and just report "bd: not installed (recommended). See https://github.com/steveyegge/beads".
If HAS_GOALS is false (or --force is set):
Run the goals skill to initialize GOALS.md interactively:
Skill(skill="goals", args="init")
If HAS_GOALS is true and --force is not set: skip. Report "GOALS.md exists -- skipped."
If HAS_PRODUCT is false (or --force is set):
Run the product skill to generate PRODUCT.md interactively:
Skill(skill="product")
If HAS_PRODUCT is true and --force is not set: skip. Report "PRODUCT.md exists -- skipped."
If HAS_README is false (or --force is set) AND PRODUCT.md now exists:
Run the doc skill in README mode to generate README.md:
Skill(skill="doc", args="--mode=readme")
If HAS_README is true and --force is not set: skip. Report "README.md exists -- skipped."
If PRODUCT.md does not exist (Step 2 was skipped or failed): skip. Report "README.md skipped -- PRODUCT.md required first."
If HAS_AGENTS is false (or --force is set):
Prefer the CLI golden path:
ao quick-start --no-beads
If ao is unavailable, create the minimal directory structure and report the exact command to repair later:
mkdir -p .agents/learnings .agents/council .agents/research .agents/plans .agents/rpi .agents/patterns .agents/retro .agents/handoff
Create .agents/AGENTS.md if it does not exist:
# Agent Knowledge Store
This directory contains accumulated knowledge from agent sessions.
## Structure
| Directory | Purpose |
|-----------|---------|
| `learnings/` | Extracted lessons and patterns |
| `council/` | Council validation artifacts |
| `research/` | Research phase outputs |
| `plans/` | Implementation plans |
| `rpi/` | RPI execution packets and phase logs |
## Usage
Knowledge is automatically managed by the AgentOps flywheel:
- `/inject` surfaces relevant prior knowledge at session start
- `/post-mortem` extracts and processes new learnings
- `/compile` runs maintenance (mine, grow, defrag)
If HAS_AGENTS is true and --force is not set: skip. Report ".agents/ exists -- skipped."
If ao is unavailable after fallback creation: report "Core seed repair command: ao quick-start --dry-run after installing ao."
If HAS_PROGRAM is false (or --force is set):
Use the existing autodev CLI path:
ao autodev init "your current objective"
If ao is unavailable: do not create a placeholder. Report "PROGRAM.md skipped -- install ao, then run: ao autodev init \"your current objective\"."
If HAS_PROGRAM is true and --force is not set: skip. Report "PROGRAM.md/AUTODEV.md exists -- skipped."
Do not activate hooks. AgentOps 3.0 is hookless: ao quick-start, execution
packets, explicit validation, and knowledge compounding deliver first value
with no runtime hooks, and CI is the authoritative gate. There is no ao
command or flag that installs hooks — hooks were removed from the CLI.
If the user explicitly requests hooks, they are opt-in and author-it-yourself:
point them at the hooks-authoring skill, which scaffolds project-local hooks
into .claude/settings.json. Bootstrap itself never writes hooks.
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 hooks-authoring skill."
If HAS_HOOKS is true: report "Hooks already present in .claude/settings.json -- left untouched."
Output a summary table:
Bootstrap complete.
| Artifact | Status |
|---------------|---------|
| GOALS.md | created / skipped / failed |
| PRODUCT.md | created / skipped / failed |
| README.md | created / skipped / failed |
| PROGRAM.md | created / skipped / failed |
| .agents/ | created / skipped / failed |
| Hooks | optional / activated / skipped / failed |
| bd | present / recommended (not installed) |
Repo is now AgentOps-ready. Next: /rpi "your first goal"
User says: /bootstrap
What happens: Agent detects no AgentOps artifacts. Runs /goals init, /product, /doc --mode=readme, creates .agents/ structure, leaves hooks optional. Reports all five core artifacts created.
User says: /bootstrap
What happens: 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.
User says: /bootstrap --dry-run
What happens: Agent detects repo state and reports what would be created. No files are written.
| Problem | Cause | Solution |
|---|---|---|
| "Not a git repo" | No .git directory | Run git init first |
| Goals skill fails | No project context | Provide a one-line project description when prompted |
| Product skill fails | No goals defined | Run /goals init manually first, then re-run /bootstrap |
| Hooks not activating | ao CLI not installed | Install: brew tap boshu2/agentops https://github.com/boshu2/homebrew-agentops && brew install agentops |
| bd not installed | Recommended but optional | Install with bash scripts/install-bd.sh if you want issue tracking; otherwise ignore |
| Want to start over | Existing artifacts blocking | Use --force to recreate all artifacts |
--mode=readme) + repo docs