MCP Server Builder
anthropics/skills
Guides the design and implementation of Model Context Protocol servers in TypeScript or Python, from tool naming and error messages to evaluation.
Automatically converge from goal to A-grade Seed and execute it
The automated check flagged lines worth reading first. See the safety section below.
$ npx skills add Q00/ouroboros --skill auto -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install Q00/ouroboros auto --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/Q00/ouroboros.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/auto .claude/skills/auto && 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 "auto" agent skill from https://github.com/Q00/ouroboros/tree/main/skills/auto into .claude/skills/auto/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "auto", 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/Q00/ouroboros/tree/main/skills/autoType 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 Q00/ouroboros --skill auto -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install Q00/ouroboros auto --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Q00/ouroboros.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/auto .agents/skills/auto && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "auto" agent skill from https://github.com/Q00/ouroboros/tree/main/skills/auto into .agents/skills/auto/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "auto", 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 Q00/ouroboros --skill auto -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install Q00/ouroboros auto --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Q00/ouroboros.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/auto .cursor/skills/auto && 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 "auto" agent skill from https://github.com/Q00/ouroboros/tree/main/skills/auto into .cursor/skills/auto/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "auto", 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/Q00/ouroboros.git --path skills/auto--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 Q00/ouroboros --skill auto -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install Q00/ouroboros auto --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Q00/ouroboros.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/auto .gemini/skills/auto && 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 "auto" agent skill from https://github.com/Q00/ouroboros/tree/main/skills/auto into .gemini/skills/auto/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "auto", 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 Q00/ouroboros autoInstalls 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 Q00/ouroboros --skill auto -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/Q00/ouroboros.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/auto .github/skills/auto && 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 "auto" agent skill from https://github.com/Q00/ouroboros/tree/main/skills/auto into .github/skills/auto/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "auto", 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 Q00/ouroboros --skill auto -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install Q00/ouroboros auto --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Q00/ouroboros.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/auto .opencode/skills/auto && 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 "auto" agent skill from https://github.com/Q00/ouroboros/tree/main/skills/auto into .opencode/skills/auto/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "auto", 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.
autoAutomatically converge from goal to A-grade Seed and execute it
Auto is an agent skill from Q00/ouroboros. Automatically converge from goal to A-grade Seed and execute it
Its SKILL.md is about 5.3k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Agent Workflows. The repository describes itself as: Agent OS: the agent gets smarter on its own. We just hold the line: Interview-gated, staged evaluation, budgeted evolution loop. MCP server, 14 runtimes: Claude Code, Codex CLI… The licence is MIT.
6 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 0df5b98. 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:
cursorFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From 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.
Auto loads about 5.3k tokens when it runs. Until then it costs about 17 tokens; SKILL.md has 2,619 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 patterns that need a careful read before installing.
status), keep waiting. Do not tell the user to call job tools themselves.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 Q00/ouroboros at commit 0df5b98, republished under its MIT licence (© Q00). 2,619 words, ~5,289 tokens.
.claude/skills/auto/SKILL.md (or your agent's skills folder).Run the full-quality auto pipeline from a single task description.
This skill must be executed by invoking MCP tool ouroboros_start_auto. Do not
manually inspect repositories, run shell commands, query GitHub, edit files, or
otherwise emulate the auto pipeline as a substitute. Full auto runs routinely
exceed interactive MCP tool-call timeouts, so the background starter is the
supported default: it returns job_id and auto_session_id quickly. Retain
both. When response.meta.job_observer is present, delegate its read-only
wait/result contract to exactly one independent child session. The main session
keeps only start and explicit on-demand status responsibility.
If ouroboros_start_auto is unavailable, or if any required job polling/result
MCP tool is unavailable, stop and report that the required MCP tool is
unavailable. A manual fallback is not an ooo auto run.
If a started auto job later returns detached, blocked, failed, or another
auto-session status, report that auto-session status and the tool's blocker.
detached is non-terminal tracked background work; surface the job/Ralph
handles and keep observing them through the same owner. Do not label a
blocked or failed outcome as MCP dispatch failure; dispatch failure means
the MCP tool could not be invoked.
If the active runtime routes ooo auto through a background starter such as
ouroboros_start_auto, do not stop after returning the job_id. Keep ownership
of the conversational UX: retain the returned job_id, auto_session_id, and
cursor, then delegate monitoring when the host supports child sessions. Only
the fallback path monitors with ouroboros_job_wait / ouroboros_job_status
in the main session. The user should not have to poll the job manually.
ooo auto "Build a local-first habit tracker CLI"
ooo auto --resume auto_abc123
ooo auto "Build a local-first habit tracker CLI" --skip-run
/ouroboros:auto "Build a local-first habit tracker CLI"ooo auto does not accept a parent Seed ID/path or infer lineage from goal
prose. Mentioning an existing Seed in the goal is ordinary context, not an
authorized derivative operation. Use ooo evolve for typed parent evolution,
or ooo run to execute an existing immutable Seed. Do not claim preserved
lineage or AC edit scope from an ooo auto goal alone.
When the user types ooo auto with CLI-style flags inside chat, translate to MCP arguments before invoking ouroboros_start_auto:
| CLI flag | MCP arg | Type |
|---|---|---|
--skip-run | skip_run=true | boolean |
--max-interview-rounds N | max_interview_rounds=N | integer |
--max-repair-rounds N | max_repair_rounds=N | integer |
--pipeline-timeout-seconds X | pipeline_timeout_seconds=X | number |
--efficiency-mode adaptive|quality_first | efficiency_mode=<value> | string |
--frugality-assurance off|observe|strict | frugality_assurance=<value> | string |
--resume <id> | resume=<id> | string |
--max-generations is not a flag for ooo auto; it belongs to ooo ralph. The chained Ralph started by the run job is bounded by execution.auto_evolve_max_generations.
--complete-product is deprecated and ignored: the run job owns run → evaluate → ralph, so a single Auto invocation no longer drives Ralph itself. Follow the run job's chain with ooo status or the job tools.
--pipeline-timeout-seconds is accepted only when starting a session. Passing it with --resume is rejected because the original deadline is preserved across process restarts.
Before a fresh Auto start, if the user did not already choose an efficiency
policy, first check the persistent default: when execution.default_policy in
~/.ouroboros/config.yaml is efficient or quality_first, do not ask — omit
both arguments and the server applies the configured default (the handoff still
reports the resolved policy). Otherwise ask in outcome language:
Efficient execution maps to
adaptive/observe; Quality-first execution maps to quality_first/off.
strict assurance is a separate explicit opt-in because it may spend extra
work on proof. Never infer strict from the efficiency choice. On resume, do not
ask or send either argument; Auto restores the persisted contract.
COMPLETE as soon as the run has a durable handle. The run keeps going as a background job, and that job carries its own run → evaluate → ralph chain governed by execution.auto_evaluate / execution.auto_evolve (both default true, Ralph bounded by execution.auto_evolve_max_generations). Auto does not evaluate the run itself; the chained evaluate job does.seed_preflight_unexecutable is a start-new-session boundary, not a plain
--resume boundary. The persisted Seed artifact is immutable for that
session, so answering an open question cannot silently replace the artifact.
Use the displayed questions to revise the goal/Seed contract, then start a
new ooo auto session; the blocked session remains available for audit.
Transient interview, evaluator, and lateral-tool exhaustion is different: its
resume capability is durable and can be retried with the same session after
the external dependency or provider is healthy again. Do not treat a
seed_preflight_unexecutable status as a retryable provider outage.
When an auto start response includes response.meta.job_id:
job_id, auto_session_id / session_id, and cursor from response.meta
if present. Show response.meta.dashboard_url when available; otherwise
mention ouroboros tui open once as the live view. Tell the user that an
observer will post meaningful progress/attention/completion events here and
that this conversation remains available for requirement refinement,
read-only inspection/review, explicit control, or unrelated isolated work.
Include the resolved runtime_backend, llm_backend, efficiency_mode, and
frugality_assurance when present. Say that the exact active model and first
parallel level will be announced from the first configuration/plan events
rather than guessing them.job_observer from the final
<!-- ouroboros-job-observer-v1 base64 ... --> content sentinel. Fail closed
unless the bounded payload passes canonical v1 validation and its job/session
identity matches the visible start receipt. Visible IDs are identity anchors,
not a source for reconstructing tools or arguments. Reject validation failure
or any mismatch between structured and inline surfaces.job_observer is present and the host
supports independent child sessions, spawn exactly one read-only observer
and pass the contract unchanged. Codex uses spawn_agent, OMP uses one
native Task child, and Claude Code uses one Task/Agent child. The observer
owns the cursor, waits until terminal, fetches the result, and follows
downstream IDs named by follow_result_job_keys. It must not edit files,
control execution, or spawn implementation workers. The main session must not poll the same job.
On Codex, call spawn_agent exactly once with task_name="run_observer";
a wait call is not a spawn, and the handoff may claim an observer only after
the spawn result returns a live child ID/path. Once acknowledged, keep the
parent turn open with wait_agent calls of at most 60 seconds while the child
remains active. A child send_message only queues a mailbox event; it cannot
revive an ended parent turn. Relay meaningful updates and wait again until
the observer sends its terminal summary.
On OMP, submit exactly one native Task child named RunObserver, require its
live agent/job ID, and use the host wait/inbox relay until terminal.
User input may interrupt the wait; handle it and resume waiting while
observation remains active unless the user asks to stop live observation or
replaces the active request. Then end only
the relay loop, keep the durable job running, and offer next-turn or explicit-
status catch-up. If the observer child fails, is cancelled, or exits before a
terminal summary, use that same fallback instead of waiting indefinitely.
This parent relay loop must not call job wait/result or take cursor ownership.
If spawn fails, do not promise live proactive relays. The detached worker
continues after the stdio turn; say that durable progress will be caught up
on the next parent turn or an explicit status request. Keep the current turn
open in the fallback polling loop only when the user asked for live watching.phase_changed, progress_advanced, attention_required, and
terminal events in at most 1-2 lines. During interview, it may use
ouroboros_session_status(session_id=<auto_session_id>) to surface a new
pending question or newly answered rounds. Otherwise, keep the main session
available and use on-demand status only when the user asks. Surface
attention_required immediately when a blocker needs human judgment.
Suppress unchanged heartbeats and raw tool output.
Interpret execution relays explicitly: run_configuration reports current
runtime/harness/model policy; execution_plan reports total ACs, total
dependency/parallel levels, and first scheduled ACs; discovery_summary
reports bounded targets and purpose; level/routing/harness/verified subtypes
report only material changes. Never relay raw commands or reasoning.
Before the main session writes to the active auto workspace, check for overlap
with worker files or move the unrelated work to an isolated worktree.ouroboros_job_wait(job_id=<job_id>, cursor=<cursor>, timeout_seconds=120, view="summary", stream="linked", wait_for="attention_or_ac_change")cursor = response.meta.cursor after every wait/status responseresponse.meta as the source of truth; use response text only as a
human-readable hintresponse.meta.changed is false, continue silently
unless the user asked for heartbeat updates.
Synapse delivery events are meaningful: distinguish queued/delivering from
applied/completed, and surface rejected/delivery_uncertain
immediately. Render the relay in the user's current conversation language;
preserve raw event codes only when exact diagnostics help.
When the user adds implementation intent during an executing auto run, the
main session first reloads Synapse schemas with
tool discovery query: "+ouroboros session signal", then calls
ouroboros_session_signal_targets with the observed
execution_id, selects the semantically matching AC from ac_content and
current activity, then sends ouroboros_session_signal with that target's
exact IDs. Never ask the user for internal IDs. Ask a short clarification only
when multiple live ACs remain genuinely tied, and never route shared goal/AC/
constraint changes to one worker.
Send additive implementation refinements with exact target guards,
contract_effect="additive", source="user", mode="redirect", and explicit
fallback_mode="after_turn". Use mode="inform" for a read-only AC question
or assurance request, omit fallback_mode entirely in that mode, and relay
the bounded reply from the completed event.interview (e.g. progress reads
interview round N/50), call
ouroboros_session_status(session_id=<auto_session_id>) and relay to the
user: (a) the current meta.pending_question (the question the interview is
asking right now), and (b) the meta.auto_answer_log entries — each is
{round, source, question, answer}, i.e. what the auto-answerer answered and
why (source: conservative_default = safe-default policy,
inference = model reasoning, assumption = auto-answerer fallback). Show
this so the user sees what the interview is converging on, not a bare
counter. Note: this Q&A lives in the auto-session state, so
session_status surfaces it even though ouroboros_query_events returns
nothing for the auto session, and it shows only the last 3 answers (each
truncated). Keep it low-noise: relay the pending question and any newly
answered rounds, not the same 3 entries every poll.queued, running, or another active
status), keep waiting. Do not tell the user to call job tools themselves.ouroboros_job_result(job_id)
and summarize the final auto-session outcome. If the final auto result is
detached, keep tracking the surfaced downstream job/Ralph handles when
available instead of presenting detached as completion.response.meta.status == "delegated_to_plugin" and
response.meta.job_id is None, report that OpenCode plugin mode delegated
the work to the child Task/session. Do not call job wait/result without a
real job id; follow the host Task widget/session lifecycle.Use short progress relays; the goal is “I am still watching this for you,” not a wall of logs.
English is the canonical instruction language; render facts naturally in the user's current conversation language.
For attention_required, treat recommended_host_actions as authoritative:
closed.selected with ouroboros_record_conductor_decision before ACT.completed, failed, or declined result. Do not
silently retry. Any specification-changing proposal is escalated to the user;
Auto never relaxes the approved goal, ACs, constraints, or non-goals itself.| Layer | Code | Surface | Meaning |
|---|---|---|---|
| Interview | interview_max_rounds_exhausted | last_error_code, result.stop_reason_code | Auto interview ran max_interview_rounds without ledger+backend mutual closure, no section was safely defaultable, and no partial defaults applied — i.e. genuine deadlock with nothing the policy could close. |
| Interview | interview_unsafe_gaps_remain | last_error_code, result.stop_reason_code | Auto interview ran max_interview_rounds with at least one section safely defaultable and at least one section remaining unsafe (e.g. CONFLICTING ledger entry, production/credential context). Partial defaults are rolled back so the persisted transcript and ledger stay aligned; resume can address the unsafe gap and re-run. |
| Interview | interview_phase_deadline | last_error_code, result.stop_reason_code | Interview phase exceeded its per-phase timeout. |
| Ralph | iteration_timeout | blocker text + (future) result.stop_reason_code | A single Ralph iteration exceeded its per-iteration timeout. |
| Ralph | wall_clock_exhausted | blocker text + (future) result.stop_reason_code | The Ralph wall-clock budget was exhausted before convergence. |
| Ralph | oscillation_detected | blocker text + (future) result.stop_reason_code | Ralph oscillated between two grade states without making progress. |
| Ralph | grade_regressing | blocker text + (future) result.stop_reason_code | A subsequent Ralph generation produced a strictly worse grade than its predecessor. |
| Ralph | max_generations reached | blocker text + (future) result.stop_reason_code | Ralph hit its configured generation cap before reaching A grade. |
Blockers without a canonical code keep using the free-form last_error text. Ralph-layer codes are surfaced via blocker text today; their result-envelope promotion is tracked as a follow-up.
When result.status == "seed_ready", result.interview_closure_mode distinguishes how the interview was closed:
| Value | Meaning |
|---|---|
None | Mutual agreement — both the backend and the ledger declared the seed ready in the same round. The default healthy path. |
"ledger_only" | PR-B1 / #1148: max_rounds hit; the ledger was structurally complete but the backend refused to declare closure. The interview closes on ledger-only consensus. Defaulted sections (if any) are tagged in result.defaulted_sections. |
"safe_default" | PR-B2: max_rounds hit; the safe-default policy successfully filled every remaining required gap with auditable assumptions. Synthesis was pushed back into the persisted transcript so the seed generator sees the same assumptions the ledger records. Defaulted sections are tagged in result.defaulted_sections. |
Genuine-deadlock and partial-unsafe outcomes do not set interview_closure_mode; they reach a blocked terminal with the matching stop_reason_code above instead.
result.assumptions: tuple[str, ...] (the existing list of assumption texts) is now accompanied by result.assumption_sources: tuple[AssumptionRecord, ...], where each AssumptionRecord is a frozen dataclass with:
| Field | Type | Meaning |
|---|---|---|
text | str | The assumption text (same surface as the corresponding assumptions entry where present). |
source | str | One of "assumption" (auto-answerer fallback), "inference" (model reasoning), "conservative_default" (safe-default policy). These are the three assumption-class LedgerSource values that produce assumption_only_sections. |
confidence | float | Per-entry confidence as recorded by the ledger. |
assumption_sources is a broader surface than assumptions — it includes inference- and conservative-default-class entries that assumptions (filtered to LedgerSource.ASSUMPTION only) does not surface. Callers wanting to know which assumptions the system made on the user's behalf should read assumption_sources; callers preserving the older string-only contract continue to read assumptions.
The pipeline must not hang indefinitely: all loops are bounded and timeout failures return a resumable auto_session_id. Resume with ooo auto --resume <auto_session_id>. Use --skip-run to stop after the A-grade Seed. --complete-product is deprecated and ignored: the run job owns run → evaluate → ralph. The chained Ralph is bounded by execution.auto_evolve_max_generations (default 3) generations, each capped by Ralph's per-iteration timeout — it is finite, but there is no single total wall-clock cap, because the chain dispatch passes no max_total_seconds. The auto session's --timeout no longer bounds it. The CLI-only --show-ledger flag prints assumptions/non-goals; MCP skill responses already include the same ledger summary when available.
Your final response MUST end with exactly one breadcrumb footer line:
◆ <current state> → next: <recommended action>Derive <current state> from live session state via ouroboros_session_status when that MCP projection is available; otherwise derive it from this skill's actual outcome. Never use a linear Step N of M footer because Ouroboros is an evolutionary loop. When the next action is genuinely a choice, list 2-3 honest options in the next: clause. The breadcrumb line must be the last line of the response.
© Q00, 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/auto of Q00/ouroboros.
Open the folder on GitHubat commit 0df5b98
Auto 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 |
|---|---|---|---|---|---|---|
| Auto this skillQ00/ouroboros | 6.2k | — | ~5.3k | Automated safety check: Warn | MIT | |
| MCP Server Builderanthropics/skills | 180k | 62 repos | ~2.3k | Automated safety check: Pass | Apache-2.0 | |
| Hook Development for Claude Code Pluginsanthropics/claude-plugins-official | 37k | 11 repos | ~4.1k | Automated safety check: Notes | Apache-2.0 | |
| Using Superpowersfarm-fe/farm | 5.6k | 34 repos | ~1.4k | Automated safety check: Pass | MIT | |
| Executing Plans Inlineobra/superpowers | 296k | 2 repos | ~5.1k | Automated safety check: Pass | MIT | |
| Claude Code Agent Developmentanthropics/claude-plugins-official | 37k | 8 repos | ~2.8k | Automated safety check: Pass | Apache-2.0 |
anthropics/skills
Guides the design and implementation of Model Context Protocol servers in TypeScript or Python, from tool naming and error messages to evaluation.
anthropics/claude-plugins-official
Explains how to write Claude Code plugin hooks, both prompt-based checks and bash commands, for events such as PreToolUse, Stop and SessionStart.
farm-fe/farm
A skill your agent uses when starting any conversation - establishes how to find and use skills, requiring Skill tool invocation before ANY response including clarifying questions
obra/superpowers
Has the agent carry out an implementation plan itself, task by task in the current session, keeping a ledger, proving each step with a test and ending with one whole-branch review.
anthropics/claude-plugins-official
Explains how to write agents for Claude Code plugins: the markdown file with YAML frontmatter, trigger descriptions, model and color settings, and system prompt design.
Azure/azqr
Create new skills, modify and improve existing skills, and measure skill performance.
Q00/ouroboros
Triages and works through GitHub issues and pull requests in the Q00/ouroboros repo as a maintainer, within a stated review boundary and clear limits on what it may change.
Q00/ouroboros
Runs a guided product-manager interview that classifies each question automatically and produces a Product Requirements Document.
Q00/ouroboros
Scans a directory for existing git repositories and worktrees, then registers and manages which ones serve as default context during interviews.
Q00/ouroboros
Scores an agent's finished work with a three-stage pipeline: free mechanical checks, an advisory semantic review, and an optional multi-model consensus vote.
Q00/ouroboros
Starts, monitors or rewinds an evolutionary development loop that refines an ontology and acceptance criteria generation by generation until it converges, using the Ouroboros MCP tools.
Q00/ouroboros
Opens or drives the Ouroboros settings GUI, picking a browser, TUI or chat-based approach depending on whether the user can reach a browser window.
Categories
Automatically converge from goal to A-grade Seed and execute it. Auto is an agent skill from Q00/ouroboros.
Auto fits situations like: agent Workflows work in your project.
Run `npx skills add Q00/ouroboros --skill auto -a claude-code`. Or copy the skill folder (skills/auto in Q00/ouroboros) into .claude/skills/auto in your project. Claude Code loads it when a task matches its description.
Run `npx skills add Q00/ouroboros --skill auto -a codex`. Or copy the skill folder (skills/auto in Q00/ouroboros) into .agents/skills/auto 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 Q00/ouroboros --skill auto -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/auto, .gemini/skills/auto, .github/skills/auto and .opencode/skills/auto in your project.
Going by SKILL.md and its folder, Auto needs the command-line tools its instructions call (cursor).
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md flagged 1 warning(s): contains instruction-override wording (e.g. “without asking the user”). Read the flagged lines before installing; the check is not a guarantee either way.
Auto is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 5.3k tokens (SKILL.md is roughly 21k 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 Auto: MCP Server Builder (anthropics/skills, 180k stars), Hook Development for Claude Code Plugins (anthropics/claude-plugins-official, 37k stars), Using Superpowers (farm-fe/farm, 5.6k stars) and Executing Plans Inline (obra/superpowers, 296k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
Q00 (a GitHub user) maintains it in Q00/ouroboros, which has 6,189 GitHub stars. The repository holds 23 skills in this directory. The repository was last updated on October 6, 2026.
Source: Q00/ouroboros on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.