Ship
simstudioai/sim
Commit, push, and open a PR to staging in one shot — runs the cleanup pass and, when migrations changed, the db-migrate safety review first
Run a curiosity-driven explore-and-build loop to ship one useful improvement.
$ npx skills add mikeyobrien/rho --skill small-improvement -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install mikeyobrien/rho small-improvement --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/mikeyobrien/rho.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/small-improvement .claude/skills/small-improvement && 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 "small-improvement" agent skill from https://github.com/mikeyobrien/rho/tree/main/skills/small-improvement into .claude/skills/small-improvement/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "small-improvement", 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/mikeyobrien/rho/tree/main/skills/small-improvementType 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 mikeyobrien/rho --skill small-improvement -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install mikeyobrien/rho small-improvement --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/mikeyobrien/rho.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/small-improvement .agents/skills/small-improvement && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "small-improvement" agent skill from https://github.com/mikeyobrien/rho/tree/main/skills/small-improvement into .agents/skills/small-improvement/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "small-improvement", 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 mikeyobrien/rho --skill small-improvement -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install mikeyobrien/rho small-improvement --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/mikeyobrien/rho.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/small-improvement .cursor/skills/small-improvement && 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 "small-improvement" agent skill from https://github.com/mikeyobrien/rho/tree/main/skills/small-improvement into .cursor/skills/small-improvement/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "small-improvement", 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/mikeyobrien/rho.git --path skills/small-improvement--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 mikeyobrien/rho --skill small-improvement -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install mikeyobrien/rho small-improvement --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/mikeyobrien/rho.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/small-improvement .gemini/skills/small-improvement && 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 "small-improvement" agent skill from https://github.com/mikeyobrien/rho/tree/main/skills/small-improvement into .gemini/skills/small-improvement/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "small-improvement", 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 mikeyobrien/rho small-improvementInstalls 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 mikeyobrien/rho --skill small-improvement -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/mikeyobrien/rho.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/small-improvement .github/skills/small-improvement && 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 "small-improvement" agent skill from https://github.com/mikeyobrien/rho/tree/main/skills/small-improvement into .github/skills/small-improvement/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "small-improvement", 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 mikeyobrien/rho --skill small-improvement -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install mikeyobrien/rho small-improvement --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/mikeyobrien/rho.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/small-improvement .opencode/skills/small-improvement && 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 "small-improvement" agent skill from https://github.com/mikeyobrien/rho/tree/main/skills/small-improvement into .opencode/skills/small-improvement/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "small-improvement", 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.
small-improvementRun a curiosity-driven explore-and-build loop to ship one useful improvement.
Small Improvement is an agent skill from mikeyobrien/rho. Run a curiosity-driven explore-and-build loop to ship one useful improvement.
Its SKILL.md is about 3.7k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
The repository describes itself as: An AI agent that stays running, remembers across sessions, and checks in on its own. macOS, Linux, Android. Built on Pi. The licence is MIT.
7 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 073a3ee. 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.
No scripts in the folder and no shell commands in SKILL.md (its code samples are markdown).
From 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:
coinbase.comFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Small Improvement loads about 3.7k tokens when it runs. Until then it costs about 24 tokens; SKILL.md has 2,070 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 mikeyobrien/rho at commit 073a3ee, republished under its MIT licence (© mikeyobrien). 2,070 words, ~3,665 tokens.
.claude/skills/small-improvement/SKILL.md (or your agent's skills folder).An autonomous exploration and building loop. Search X for what's interesting — new techniques, clever hacks, tools people are shipping, ideas that spark something — then pick one thing and build it into the codebase. The goal is continuous self-improvement: expanding capabilities, learning new patterns, and shipping small real things inspired by what's happening in the world.
This is not a code cleanup tool. It's a curiosity-driven build cycle.
Constraints for parameter acquisition:
Before exploring, check if there's prior progress toward the uber goal. This step gives the agent memory across rounds — each cycle builds on the last instead of starting blind.
Constraints:
small-improvement-{codebase_name} where codebase_name is the basename of codebase_path)Find something interesting to build. When a seed is provided, start there and branch out. Otherwise, search broadly across X and the web.
Constraints:
Constraints:
Constraints:
Choose the one thing that's most worth building. This is a taste decision — trust your judgment.
Constraints:
Before building, understand the codebase well enough to know where your idea fits.
Constraints:
Ship it. Write the code, make it work, make it clean.
Constraints:
Prove it works and nothing else broke. Use the playwriter CLI to visually verify anything with a web interface.
Constraints:
playwriter session new)state.page = await context.newPage(); await state.page.goto(...))await state.page.screenshot({ path: '/tmp/one-small-thing-verify.png', scale: 'css' }))Commit the work and capture what you learned.
Constraints:
---
type: project
title: "Small Improvement: {uber_goal}"
tags: [small-improvement, progress-tracker]
created: {date}
source: small-improvement SOP
---
# Small Improvement: {uber_goal}
## Goal
{uber_goal — the north star, unchanged across rounds}
## Rounds
### Round {N} — {date}
- **Searched for:** {query themes}
- **Inspiration:** {what was found and where}
- **Built:** {what was shipped, one sentence}
- **Advances goal by:** {how this moves toward uber_goal}
- **Commit:** {short hash + message}
## Assessment
- **What's covered:** {aspects of the goal addressed so far}
- **Frontier:** {where the interesting unsolved problems are now}
- **Next moves:** {1-3 specific things that would be most valuable next}
## Connections
- [[{inspiration-note-from-pick-step}]]
- {any other relevant vault links}codebase_path: ~/projects/rho
interest: "agent patterns"
rounds: 1Agent searches X, finds someone showing a clever retry-with-backoff pattern for tool calls. Builds a similar retry wrapper into the tool execution layer. Commits, notes the learning.
codebase_path: ~/projects/rho
uber_goal: "make the RPC layer bulletproof"Round 1: Orient finds no tracker. Explores X, finds retry-with-backoff patterns. Builds a retry wrapper for tool calls. Creates progress tracker — frontier: "no circuit breaker, no timeout handling, no observability." Round 2: Orient reads tracker, sees "circuit breaker" on the frontier. Searches for circuit breaker patterns, finds an Elixir ash_circuit_breaker post. Adapts the pattern to TypeScript. Frontier shifts to "timeouts, observability." Round 3: Explores timeout strategies. Builds per-tool timeout configuration with graceful degradation. Frontier: "observability, connection pooling." Round 4: Finds a thread on structured error logging with trace IDs. Adds trace propagation through the RPC pipeline. Frontier: "connection pooling, adaptive rate limiting, chaos testing." Round 5: Discovers someone doing fault injection in CI. Builds a simple chaos test that kills RPC connections mid-call and verifies retry + circuit breaker recover. Frontier keeps moving...
The agent keeps going until the user stops it. Each round the frontier evolves — new problems become visible as old ones get solved.
codebase_path: ~/projects/rho
rounds: 3Round 1: Finds a tweet about structured logging with trace IDs, adds trace ID propagation to the RPC layer. Round 2: Sees someone demo a TUI sparkline component, builds a minimal version for the status bar. Round 3: Discovers a thread about LLM response caching strategies, implements a simple hash-based cache for repeated prompts.
Each round is independent — no tracker, no through-line. Good for general exploration.
codebase_path: ~/projects/one-small-thing
seed: "https://www.coinbase.com/developer-platform/discover/launches/agentic-wallets"
rounds: 1Agent reads the Coinbase agentic wallets launch page via web_search. Searches for related concepts: MPC key management, onchain agent patterns, wallet abstraction APIs. Finds that the core idea is agents that can hold and transfer crypto autonomously. Picks one slice — a GenServer-based wallet abstraction with balance tracking and signed transaction simulation. Builds it in Elixir, tests it, commits.
codebase_path: ~/projects/myapp
interest: "TypeScript tricks"
rounds: 1Agent finds a thread about using discriminated unions for state machines. Refactors a messy if/else chain in the app's workflow engine into a clean union-based state machine. Tests pass, code is clearer.
If searches aren't turning up good material:
If the chosen idea can't be built in one session:
If the idea doesn't have an obvious home in the codebase:
© mikeyobrien, 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/small-improvement of mikeyobrien/rho.
Open the folder on GitHubat commit 073a3ee
Small Improvement 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 |
|---|---|---|---|---|---|---|
| Small Improvement this skillmikeyobrien/rho | 372 | — | ~3.7k | Automated safety check: Pass | MIT | |
| Shipsimstudioai/sim | 30k | — | ~4.2k | Automated safety check: Pass | Apache-2.0 | |
| Ship Itvectorize-io/hindsight | 47k | — | ~1.9k | Automated safety check: Pass | MIT | |
| Ship Workflowgarrytan/gstack | 136k | — | ~20k | Automated safety check: Notes | MIT | |
| Shipmillionco/react-doctor | 15k | — | ~716 | Automated safety check: Pass | Custom licence | |
| Skill Improversickn33/agentic-awesome-skills | 47k | 2 repos | ~1.5k | Automated safety check: Pass | MIT |
simstudioai/sim
Commit, push, and open a PR to staging in one shot — runs the cleanup pass and, when migrations changed, the db-migrate safety review first
vectorize-io/hindsight
Take a PR from review to merged — run the repo's code-review skill on it in a loop (review, fix, re-review) until nothing is left to fix, applying ALL fixes on the PR branch, wait for CI green, then…
garrytan/gstack
Takes finished code to a pull request: merges the base branch, runs tests, reviews the diff, bumps VERSION, updates the CHANGELOG, commits, pushes and opens the PR.
millionco/react-doctor
Take the current branch from done-coding to merge-ready in one pass — review the diff against AGENTS.md, deslop, commit and push, open a PR using rule-validate's PR copy, then babysit until mergeable.
sickn33/agentic-awesome-skills
Iteratively improve a Claude Code skill using the skill-reviewer agent until it meets quality standards.
phuryn/pm-skills
The durable documentation set that makes an AI-built (vibe-coded) app reviewable before shipping.
mikeyobrien/rho
Register an agent email address on Rhobot Mail (name@rhobot.dev).
mikeyobrien/rho
Install and configure Rho from scratch (Doom-style init.toml + sync).
mikeyobrien/rho
Open URLs and launch apps on Android. An agent skill from mikeyobrien/rho.
mikeyobrien/rho
Keep CHANGELOG.md idiomatic (Keep a Changelog) and cut a tag-based GitHub release that triggers npm publish CI.
mikeyobrien/rho
Manage agent email at name@rhobot.dev via the Rhobot Mail API.
mikeyobrien/rho
Create Tasker profiles and tasks via XML for Android automation.
Run a curiosity-driven explore-and-build loop to ship one useful improvement. Small Improvement is an agent skill from mikeyobrien/rho. Run a curiosity-driven explore-and-build loop to ship one useful improvement.
Run `npx skills add mikeyobrien/rho --skill small-improvement -a claude-code`. Or copy the skill folder (skills/small-improvement in mikeyobrien/rho) into .claude/skills/small-improvement in your project. Claude Code loads it when a task matches its description.
Run `npx skills add mikeyobrien/rho --skill small-improvement -a codex`. Or copy the skill folder (skills/small-improvement in mikeyobrien/rho) into .agents/skills/small-improvement 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 mikeyobrien/rho --skill small-improvement -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/small-improvement, .gemini/skills/small-improvement, .github/skills/small-improvement and .opencode/skills/small-improvement in your project.
SKILL.md names no scripts, command-line tools or credentials: Small Improvement is instructions for the agent only.
SKILL.md names 1 domain. In commands or code: coinbase.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.
Small Improvement 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.7k 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 Small Improvement: Ship (simstudioai/sim, 30k stars), Ship It (vectorize-io/hindsight, 47k stars), Ship Workflow (garrytan/gstack, 136k stars) and Ship (millionco/react-doctor, 15k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
mikeyobrien (a GitHub user) maintains it in mikeyobrien/rho, which has 372 GitHub stars. The repository holds 35 skills in this directory. The repository was last updated on October 1, 2026.
Source: mikeyobrien/rho on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.