Tony bootstrap
Bootstrap new Gardener instances from the openseed3 template. Use this skill when setting up a new Gardener instance, cloning the openseed3 repo, generating SSH deploy keys, and creating launch scripts. Triggers on "bootstrap", "new gardener", "setup gardener", "clone openseed3", "create gardener instance".
install
source · Clone the upstream repo
git clone https://github.com/jaydeland/Tony
manifest:
bootstrap/skill.mdsource content
Bootstrap New Gardener Instances
Purpose: Clone the openseed3 template, configure SSH access, and create a launch script for new Gardener instances.
Architecture
Gardener instances follow these conventions:
- Location: Sibling directory to openseed3 (
)../[gardener-name] - Memory: Always full DuckDB persistent (history + metrics)
- Skills: Discovered at runtime from
.claude/skills/ - Dashboard: Always included (FastAPI + uvicorn + websockets)
Bootstrap Flow
1. Clone Repository
# SSH (preferred) git clone git@github.com:jaydeland/openseed3.git ../[gardener-name] # Fallback to HTTPS if SSH fails git clone https://github.com/jaydeland/openseed3.git ../[gardener-name] # Remove origin remote cd ../[gardener-name] git remote remove origin
2. Generate SSH Deploy Key
# Generate ed25519 key ssh-keygen -t ed25519 \ -f ~/.ssh/gardener-[repo-name] \ -N "" \ -C "gardener-deploy-[repo-name]" # Add to GitHub deploy keys gh ssh-key add ~/.ssh/gardener-[repo-name].pub --title "gardener-[repo-name]"
3. Create launch.sh
#!/bin/bash # Launch script for [gardener-name] set -e SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" cd "$SCRIPT_DIR" echo "=== Starting [gardener-name] ===" # Activate virtual environment if [ -d ".venv" ]; then source .venv/bin/activate else python3 -m venv .venv source .venv/bin/activate pip install -r requirements.txt fi export PYTHONPATH="$SCRIPT_DIR:$PYTHONPATH" # Start harness (foreground by default) python -m thegardener.harness # Daemon mode: python -m thegardener.harness &
4. Generate seed.md
Minimal identity document only - configuration lives in the bootstrap skill:
# [gardener-name] - Autonomous Gardener Instance ## Identity You are [gardener-name], an autonomous Gardener instance built on the Strands Agents SDK. ## Purpose Process inputs, classify tasks, and delegate to specialized agents. When encountering unknown tasks, invoke teach-agent to learn and create new skills. ## Decision Framework | Input Keywords | Agent | |---------------|-------| | obsidian, bookmark, note | obsidian | | fix, bug, issue, resolve | gsd-2 | | roadmap, plan, feature | gsd-2 | | pr, repo, workflow | gh-cli | | dashboard, metrics | openui-dashboard | | [unknown] | teach-agent |
Usage
from thegardener import AgentHarness # Create harness in the new Gardener instance harness = AgentHarness() # Run bootstrap bootstrap_agent = harness.get_or_create_agent("bootstrap") result = bootstrap_agent("Bootstrap new Gardener: my-gardener")
Configuration Defaults
All configuration uses sensible defaults - only Gardener name is requested:
| Setting | Default |
|---|---|
| Input Sources | CLI |
| Output Channels | Console |
| Memory Config | Full (DuckDB) |
| AI Provider | Anthropic |
| Source Repo | jaydeland/openseed3 |
Users can customize post-bootstrap by editing
seed.md or the bootstrap skill.
Error Recovery
| Error | Recovery |
|---|---|
| SSH clone fails | Fallback to HTTPS |
| SSH key exists | Reuse or regenerate with new name |
| Permission denied | Re-request permissions |
| seed.md invalid | Regenerate from defaults |