PR Babysitter
openinterpreter/openinterpreter
Watches an open GitHub pull request until it merges, handling review comments, diagnosing CI failures and retrying flaky checks along the way.
Clone this Aeon agent into a new GitHub repo - fork, configure skills, validate, and register in the fleet
$ npx skills add aeonfun/aeon --skill spawn-instance -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install aeonfun/aeon spawn-instance --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/aeonfun/aeon.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/spawn-instance .claude/skills/spawn-instance && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "spawn-instance" agent skill from https://github.com/aeonfun/aeon/tree/main/skills/spawn-instance into .claude/skills/spawn-instance/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "spawn-instance", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/aeonfun/aeon/tree/main/skills/spawn-instanceType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add aeonfun/aeon --skill spawn-instance -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install aeonfun/aeon spawn-instance --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/aeonfun/aeon.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/spawn-instance .agents/skills/spawn-instance && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "spawn-instance" agent skill from https://github.com/aeonfun/aeon/tree/main/skills/spawn-instance into .agents/skills/spawn-instance/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "spawn-instance", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add aeonfun/aeon --skill spawn-instance -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install aeonfun/aeon spawn-instance --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/aeonfun/aeon.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/spawn-instance .cursor/skills/spawn-instance && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "spawn-instance" agent skill from https://github.com/aeonfun/aeon/tree/main/skills/spawn-instance into .cursor/skills/spawn-instance/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "spawn-instance", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/aeonfun/aeon.git --path skills/spawn-instance--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add aeonfun/aeon --skill spawn-instance -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install aeonfun/aeon spawn-instance --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/aeonfun/aeon.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/spawn-instance .gemini/skills/spawn-instance && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "spawn-instance" agent skill from https://github.com/aeonfun/aeon/tree/main/skills/spawn-instance into .gemini/skills/spawn-instance/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "spawn-instance", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install aeonfun/aeon spawn-instanceInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add aeonfun/aeon --skill spawn-instance -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/aeonfun/aeon.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/spawn-instance .github/skills/spawn-instance && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "spawn-instance" agent skill from https://github.com/aeonfun/aeon/tree/main/skills/spawn-instance into .github/skills/spawn-instance/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "spawn-instance", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add aeonfun/aeon --skill spawn-instance -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install aeonfun/aeon spawn-instance --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/aeonfun/aeon.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/spawn-instance .opencode/skills/spawn-instance && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "spawn-instance" agent skill from https://github.com/aeonfun/aeon/tree/main/skills/spawn-instance into .opencode/skills/spawn-instance/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "spawn-instance", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
spawn-instanceClone this Aeon agent into a new GitHub repo - fork, configure skills, validate, and register in the fleet
Spawn Instance is an agent skill from aeonfun/aeon. Clone this Aeon agent into a new GitHub repo - fork, configure skills, validate, and register in the fleet
Its SKILL.md is about 3.8k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It works with GitHub. The repository describes itself as: The most autonomous AI agent framework: runs unattended on GitHub Actions, self-healing skills, drives Claude Code, Grok, Codex & more. No approval loops. Configure once, forget… The licence is MIT.
11 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit f252074. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
ghgitFrom the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
github.comFrom URLs in SKILL.md, links to its own repository left out.
Names these keys or tokens, usually read from environment variables:
ANTHROPIC_API_KEYCLAUDE_CODE_OAUTH_TOKENGITHUB_TOKENGH_TOKENTELEGRAM_BOT_TOKENFrom names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Spawn Instance loads about 3.8k tokens when it runs. Until then it costs about 30 tokens; SKILL.md has 1,051 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from aeonfun/aeon at commit f252074, republished under its MIT licence (© aeonfun). 1,051 words, ~3,819 tokens.
.claude/skills/spawn-instance/SKILL.md (or your agent's skills folder).<!-- autoresearch: variation C — robust: skill-existence validation, exit taxonomy, idempotent recovery, dynamic SETUP.md, pre/post-flight verification -->
${var} — Name and purpose of the new instance. Format
name: purpose, e.g.crypto-tracker: monitor DeFi protocols and token movements. If empty, notify the owner and stop with exitSPAWN_INVALID_VAR.
Today is ${today}. Create a new Aeon instance by forking this repo, configuring it for a specific purpose, validating the configuration, and registering it in the fleet.
Read memory/MEMORY.md at the start for context.
This skill creates the repo and configuration but does NOT propagate secrets.
The new instance is inert until the owner manually sets secrets (ANTHROPIC_API_KEY or CLAUDE_CODE_OAUTH_TOKEN, plus notification secrets).
Each instance has its own API keys for billing isolation and blast-radius containment.
Every run ends with one of these status codes, written to the log and (where relevant) included in the notification:
| Code | Meaning |
|---|---|
SPAWN_OK | Fork created, configured, pushed, Actions enabled, registered. |
SPAWN_FORK_EXISTS_RECOVERED | Fork already existed but wasn't registered → configured + registered now. |
SPAWN_FORK_EXISTS_REGISTERED | Fork exists AND is already registered and not archived — refused, no change. |
SPAWN_INVALID_VAR | var was empty or couldn't be parsed into name: purpose. |
SPAWN_NO_SKILLS | After validation, the skill plan was empty — refused. |
SPAWN_FORK_FAILED | gh repo fork and the fallback forks API both failed. |
SPAWN_PUSH_FAILED | Fork created but push failed — fork left in place, recovery instructions emitted. |
SPAWN_ACTIONS_FAILED | Configuration pushed but enabling Actions failed — recovery instructions emitted. |
SPAWN_API_ERROR | Any other GitHub API failure not covered above. |
${var} is empty, log SPAWN_INVALID_VAR: empty var to memory/logs/${today}.md, notify: spawn-instance: empty var — re-run with "name: purpose", and stop.: — left is NAME_RAW, right is PURPOSE (trim whitespace). If either is empty, exit SPAWN_INVALID_VAR.NAME: lowercase NAME_RAW, replace non-alphanumeric runs with -, strip leading/trailing -, truncate to 40 chars. If empty after sanitization, exit SPAWN_INVALID_VAR.REPO_NAME="aeon-${NAME}".gh auth status || { echo "SPAWN_API_ERROR: gh not authenticated"; exit 1; }
OWNER=$(gh api user --jq '.login') || { echo "SPAWN_API_ERROR: cannot read user"; exit 1; }
PARENT_REPO=$(gh repo view --json nameWithOwner -q .nameWithOwner)
# If current repo is itself a fork, use the upstream as the parent:
PARENT_UPSTREAM=$(gh api "repos/${PARENT_REPO}" --jq '.parent.full_name // .full_name')Check rate limit:
REMAINING=$(gh api rate_limit --jq '.resources.core.remaining')
[ "${REMAINING:-0}" -lt 50 ] && { echo "SPAWN_API_ERROR: rate limit too low (${REMAINING})"; exit 1; }Read memory/instances.json. If it doesn't exist, create it with {"instances": []}.
{
"instances": [
{
"name": "crypto-tracker",
"repo": "OWNER/aeon-crypto-tracker",
"purpose": "monitor DeFi protocols and token movements",
"created": "2026-04-20",
"status": "pending_secrets",
"skills_enabled": ["token-movers", "defi-overview", "heartbeat"],
"parent": "OWNER/aeon"
}
]
}name == NAME exists and status != "archived", exit SPAWN_FORK_EXISTS_REGISTERED, notify, and stop.Do not use a hardcoded skill list. The catalog in earlier revisions contained broken names (wallet-digest, trending-coins, tweet-digest, hn-digest — none of which exist in skills/). Always enumerate live.
# Build live catalog of available skills and their tags/description.
for d in skills/*/; do
name=$(basename "$d")
[ -f "$d/SKILL.md" ] || continue
# Extract frontmatter fields (description + tags)
awk '/^---/{f++;next} f==1{print}' "$d/SKILL.md"
doneFor each skill, parse the frontmatter description: and tags: lines. Classify the purpose into themes by keyword match (case-insensitive) and pick skills whose description or tags overlap:
| Purpose keywords | Prefer skills matching tags / keywords |
|---|---|
crypto, defi, token, chain, wallet | tags [crypto] or description contains token/defi/chain |
research, paper, academic, science | tags [research] or name contains paper/research/deep-research |
social, twitter, x , tweet, farcaster | tags [social] or name contains tweet/twitter/farcaster/reply |
news, digest, feed, brief | name contains digest/brief/morning/rss/hacker-news |
dev, code, github, repo, pr | tags [dev] or name contains github/code/repo/pr-/changelog |
security, vuln, audit | tags [security] or name contains security/vuln/audit |
prediction, polymarket, kalshi, market | name contains polymarket/kalshi/market/narrative |
Rules:
heartbeat if the file skills/heartbeat/SKILL.md exists (health monitoring).[reflect, heartbeat] (filtered against existence).skills/${skill}/SKILL.md doesn't exist; log each drop as SPAWN_DROPPED_SKILL: ${skill}.SPAWN_NO_SKILLS, notify, and stop.Save the final list as SKILLS_ENABLED.
if gh api "repos/${OWNER}/${REPO_NAME}" --jq '.full_name' >/dev/null 2>&1; then
FORK_STATE="exists"
else
# Try the modern flag first
if ! gh repo fork "${PARENT_UPSTREAM}" --fork-name "${REPO_NAME}" --clone=false 2>/dev/null; then
# Fallback: POST to /repos/{owner}/{repo}/forks with a custom name
gh api "repos/${PARENT_UPSTREAM}/forks" -X POST -f name="${REPO_NAME}" --jq '.full_name' \
|| { echo "SPAWN_FORK_FAILED"; exit 1; }
fi
FORK_STATE="created"
fiWait for fork availability (GitHub forks are async):
for i in $(seq 1 10); do
gh api "repos/${OWNER}/${REPO_NAME}" --jq '.full_name' >/dev/null 2>&1 && break
sleep 3
done
gh api "repos/${OWNER}/${REPO_NAME}" --jq '.full_name' >/dev/null 2>&1 \
|| { echo "SPAWN_FORK_FAILED: fork not reachable after wait"; exit 1; }TMPDIR=$(mktemp -d)
trap 'rm -rf "$TMPDIR"' EXIT
gh repo clone "${OWNER}/${REPO_NAME}" "$TMPDIR/repo" -- --quiet \
|| { echo "SPAWN_API_ERROR: clone failed"; exit 1; }
cd "$TMPDIR/repo"
git config user.name "aeonframework"
git config user.email "aeonframework@proton.me"aeon.ymlaeon.yml as a base (preserves comments, ordering, and the full skill list).enabled: true only on skills in SKILLS_ENABLED. All others must have enabled: false.enabled: true must correspond to an existing skills/${skill}/SKILL.md in the fork's tree. If any enabled skill is missing, abort before pushing (this is a sanity check — step 4 already validated, but the child's repo tree must match).SETUP.md dynamicallyParse each enabled skill's skills/${skill}/SKILL.md for references to uppercase env var names (pattern: [A-Z][A-Z0-9_]{2,}_(KEY|TOKEN|URL|ID|SECRET)). Collect the union across enabled skills, excluding built-ins (GITHUB_TOKEN, GH_TOKEN).
Emit a SETUP.md with three sections:
# Aeon Instance Setup
This is a managed Aeon instance spawned from `${PARENT_UPSTREAM}`.
## Purpose
${PURPOSE}
## Enabled Skills
${comma-separated list with one-line descriptions from each SKILL.md}
## Activate This Instance
Go to **Settings > Secrets and variables > Actions** and add these secrets:
### Required (pick one for Claude auth)
| Secret | Description |
|--------|------------|
| `ANTHROPIC_API_KEY` | Anthropic API key — console.anthropic.com |
| `CLAUDE_CODE_OAUTH_TOKEN` | Alternative: Claude Code OAuth token |
### Recommended (notifications)
| Secret | Description |
|--------|------------|
| `TELEGRAM_BOT_TOKEN` | Telegram bot token |
| `TELEGRAM_CHAT_ID` | Telegram chat ID |
| `DISCORD_WEBHOOK_URL` | Discord webhook URL |
| `SLACK_WEBHOOK_URL` | Slack webhook URL |
### Required by your enabled skills
${one row per detected env var, with the list of skills that reference it}
## Fleet Parent
Managed by `${PARENT_UPSTREAM}`. The parent can dispatch skills and monitor health via `fleet-control`.
## Security Note
This instance has NO access to the parent's secrets. Each instance maintains its own API keys and credentials.If no env vars are detected beyond the required/recommended set, omit the "Required by your enabled skills" section header (don't leave an empty table).
CLAUDE.md idempotentlyFind the heading line ## About This Repo (or the first ## section if not present). Under it, insert exactly one line:
- Managed instance of ${PARENT_UPSTREAM}. Purpose: ${PURPOSE}.If a line starting with - Managed instance of already exists, replace it rather than appending a duplicate.
The child starts with a clean slate:
# Reset MEMORY.md to a minimal template
cat > memory/MEMORY.md <<EOF
# Long-term Memory
*Last consolidated: never*
## About This Repo
- Aeon instance of ${PARENT_UPSTREAM}. Purpose: ${PURPOSE}.
## Next Priorities
- Configure secrets per SETUP.md
- Wait for first scheduled skill to run
EOF
# Clear logs, state, topics — safe paths only, never follow symlinks
find memory/logs -mindepth 1 -type f -delete 2>/dev/null || true
find memory/topics -mindepth 1 -type f -delete 2>/dev/null || true
find memory/issues -mindepth 1 -type f ! -name 'INDEX.md' -delete 2>/dev/null || true
[ -f memory/issues/INDEX.md ] && echo "# Issues — none open" > memory/issues/INDEX.md
echo '{}' > memory/cron-state.json
# Do NOT clear memory/instances.json on the child — the child has none.
rm -f memory/instances.json 2>/dev/null || truegit add -A
git commit -m "chore: configure instance — ${PURPOSE}
Skills enabled: ${SKILLS_ENABLED_CSV}
Parent: ${PARENT_UPSTREAM}
Spawned: ${today}"
git push origin main 2>/dev/null \
|| git push origin HEAD:main 2>/dev/null \
|| { echo "SPAWN_PUSH_FAILED"; cd - >/dev/null; exit 1; }
cd - >/dev/nullIf push fails, do not delete the fork — leave it for manual inspection and notify with:
spawn-instance: fork created but push failed for ${OWNER}/${REPO_NAME}.
Recover with: gh repo clone ${OWNER}/${REPO_NAME} && push manually, then re-register.Forks have Actions disabled by default. Use typed booleans (-F, not -f, or enabled=true is sent as the string "true"):
gh api "repos/${OWNER}/${REPO_NAME}/actions/permissions" -X PUT \
-F enabled=true -f allowed_actions=all \
|| { echo "SPAWN_ACTIONS_FAILED"; exit 1; }# Fork reachable
gh api "repos/${OWNER}/${REPO_NAME}" --jq '.full_name' >/dev/null \
|| { echo "SPAWN_API_ERROR: post-flight fork check failed"; exit 1; }
# Our commit is HEAD
HEAD_SHA=$(gh api "repos/${OWNER}/${REPO_NAME}/commits/main" --jq '.sha' 2>/dev/null)
[ -n "$HEAD_SHA" ] || { echo "SPAWN_API_ERROR: post-flight HEAD check failed"; exit 1; }
# Actions enabled
ACTIONS_ON=$(gh api "repos/${OWNER}/${REPO_NAME}/actions/permissions" --jq '.enabled' 2>/dev/null)
[ "$ACTIONS_ON" = "true" ] || { echo "SPAWN_ACTIONS_FAILED: post-flight"; exit 1; }Update memory/instances.json in the parent repo. Append:
{
"name": "${NAME}",
"repo": "${OWNER}/${REPO_NAME}",
"purpose": "${PURPOSE}",
"created": "${today}",
"status": "pending_secrets",
"skills_enabled": ${SKILLS_ENABLED_JSON},
"parent": "${PARENT_UPSTREAM}"
}If FORK_STATE == "exists" at step 5, the final exit status is SPAWN_FORK_EXISTS_RECOVERED, otherwise SPAWN_OK.
Append to memory/logs/${today}.md:
### spawn-instance
- Status: ${EXIT_CODE}
- Instance: ${OWNER}/${REPO_NAME}
- Purpose: ${PURPOSE}
- Skills: ${SKILLS_ENABLED_CSV}
- Dropped skills: ${DROPPED_CSV or "(none)"}
- Actions enabled: yes./notifyOn success (SPAWN_OK or SPAWN_FORK_EXISTS_RECOVERED):
*New Aeon Instance*
Repo: ${OWNER}/${REPO_NAME}
Purpose: ${PURPOSE}
Skills (${N}): ${SKILLS_ENABLED_CSV}
Status: ${EXIT_CODE} — PENDING SECRETS
Activate:
1. https://github.com/${OWNER}/${REPO_NAME}/settings/secrets/actions
2. Add ANTHROPIC_API_KEY (or CLAUDE_CODE_OAUTH_TOKEN)
3. Add TELEGRAM_BOT_TOKEN + TELEGRAM_CHAT_ID (or Discord/Slack)
See SETUP.md in the repo for the full secret list tailored to your enabled skills.On refusal (SPAWN_FORK_EXISTS_REGISTERED, SPAWN_INVALID_VAR, SPAWN_NO_SKILLS):
spawn-instance: ${EXIT_CODE} — ${one-line reason}. No changes made.On failure (SPAWN_FORK_FAILED, SPAWN_PUSH_FAILED, SPAWN_ACTIONS_FAILED, SPAWN_API_ERROR):
spawn-instance FAILED: ${EXIT_CODE}
Target: ${OWNER}/${REPO_NAME}
Recovery: ${one-line recovery instruction}This skill runs entirely through gh CLI, which handles auth internally, so no bare $SECRET ever lands on the command line for the Bash permission layer to refuse. No WebFetch fallback needed. If gh is missing or unauthenticated, the pre-flight step fails with SPAWN_API_ERROR.
ANTHROPIC_API_KEY, TELEGRAM_*, DISCORD_*, SLACK_*, or any API key into the child repo. The whole security model depends on this.skills/*/SKILL.md at runtime to avoid referencing renamed or removed skills.${var} must never produce duplicate registry entries, duplicate CLAUDE.md lines, or a second fork.memory/instances.json via the normal Aeon workflow. The parent commit happens through the same path as any other skill output.Write complete, working code. No TODOs or placeholders.
© aeonfun, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in skills/spawn-instance of aeonfun/aeon.
Open the folder on GitHubat commit f252074
Spawn Instance next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Spawn Instance this skillaeonfun/aeon | 767 | — | ~3.8k | Automated safety check: Pass | MIT | |
| PR Babysitteropeninterpreter/openinterpreter | 69k | 3 repos | ~4.2k | Automated safety check: Pass | Apache-2.0 | |
| Diagnosing Superpowers Sessionsobra/superpowers | 296k | 3 repos | ~1.7k | Automated safety check: Pass | MIT | |
| GitHub Deep Researchbytedance/deer-flow | 83k | 5 repos | ~1.3k | Automated safety check: Pass | MIT | |
| Greplooponyx-dot-app/onyx | 32k | 4 repos | ~3.3k | Automated safety check: Pass | MIT | |
| Update V8 Versionopeninterpreter/openinterpreter | 69k | 2 repos | ~845 | Automated safety check: Pass | Apache-2.0 |
openinterpreter/openinterpreter
Watches an open GitHub pull request until it merges, handling review comments, diagnosing CI failures and retrying flaky checks along the way.
obra/superpowers
Investigates a session where Superpowers went wrong, reads the transcripts on disk and produces an evidence-cited report, optionally prepared as a bug report for the maintainers.
bytedance/deer-flow
Researches a GitHub repository over four rounds using the GitHub API and web search, then writes a structured markdown report with timeline, metrics and Mermaid diagrams.
onyx-dot-app/onyx
Iteratively improves a PR (GitHub), MR (GitLab), or shelved changelist (Perforce) until Greptile gives it a 5/5 confidence score with zero unresolved comments.
openinterpreter/openinterpreter
Bumps the pinned v8 and rusty_v8 versions in Codex, validates the release-candidate path with the v8-canary check, and traces failures to upstream build changes.
onyx-dot-app/onyx
Checks a GitHub, GitLab, or Perforce (p4) pull request (or merge request, or shelved changelist) for unresolved review comments, failing status checks, and incomplete PR descriptions.
aeonfun/aeon
Browses open tasks on the TaskMarket agent-worker market and, with explicit operator approval, creates tasks, tracks submissions and submits finished work.
aeonfun/aeon
Sets up and manages an Aeon agent instance that runs skills on a schedule through GitHub Actions: starting, rescheduling, debugging, editing skills and mining chat history.
aeonfun/aeon
Reads a Base Account's address, portfolio and transaction history through the Base MCP server, and stays strictly read-only in unattended Aeon runs, reporting only changes.
aeonfun/aeon
Audits every page of a site each day from its sitemap, scores on-page and technical SEO, checks duplicates across pages and reports what changed since the last run.
aeonfun/aeon
5 concrete real-life actions, leverage-scored against open loops with specificity and anti-fluff gates
aeonfun/aeon
Static linter for an Aeon instance's configuration that catches silent failures such as unquoted schedules, duplicate keys, unconfigured skills and broken MCP references.
Works with
Clone this Aeon agent into a new GitHub repo - fork, configure skills, validate, and register in the fleet. Spawn Instance is an agent skill from aeonfun/aeon.
Run `npx skills add aeonfun/aeon --skill spawn-instance -a claude-code`. Or copy the skill folder (skills/spawn-instance in aeonfun/aeon) into .claude/skills/spawn-instance in your project. Claude Code loads it when a task matches its description.
Run `npx skills add aeonfun/aeon --skill spawn-instance -a codex`. Or copy the skill folder (skills/spawn-instance in aeonfun/aeon) into .agents/skills/spawn-instance in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add aeonfun/aeon --skill spawn-instance -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/spawn-instance, .gemini/skills/spawn-instance, .github/skills/spawn-instance and .opencode/skills/spawn-instance in your project.
Going by SKILL.md and its folder, Spawn Instance needs the command-line tools its instructions call (gh and git) and credentials named ANTHROPIC_API_KEY, CLAUDE_CODE_OAUTH_TOKEN, GITHUB_TOKEN and GH_TOKEN. Our summary lists: A credential in ANTHROPIC_API_KEY; A credential in CLAUDE_CODE_OAUTH_TOKEN.
SKILL.md names 1 domain. In commands or code: github.com; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Spawn Instance is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.8k tokens (SKILL.md is roughly 15k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Spawn Instance: PR Babysitter (openinterpreter/openinterpreter, 69k stars), Diagnosing Superpowers Sessions (obra/superpowers, 296k stars), GitHub Deep Research (bytedance/deer-flow, 83k stars) and Greploop (onyx-dot-app/onyx, 32k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
aeonfun (a GitHub organization) maintains it in aeonfun/aeon, which has 767 GitHub stars. The repository holds 82 skills in this directory. The repository was last updated on October 6, 2026.
Source: aeonfun/aeon on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.