You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Build an Ouroboros-native Superpowers plugin that exposes every skill from obra/superpowers as an explicit Ouroboros command while preserving the Ouroboros plugin contract: manifest validation, scoped capabilities, external permissions, risk classification, lifecycle/trust semantics, audit/provenance, Seed-compatible handoff, and resumable execution state.
This is intentionally more ambitious than a thin compatibility wrapper. The goal is to make Superpowers run smoothly inside Ouroboros so that Ouroboros becomes a true agentOS: a substrate where external agent methodologies can be installed, trusted, invoked, audited, resumed, and composed through first-class UserLevel plugin commands.
obra/superpowers is an agentic software-development methodology distributed as a cross-harness skill/plugin system. It currently supports multiple agent surfaces, including Claude Code, Codex, Gemini CLI, Cursor, and OpenCode.
The repository contains a skill library centered on:
brainstorming and requirements refinement,
implementation planning,
test-driven development,
systematic debugging,
subagent-driven execution,
code review loops,
branch finishing workflows,
skill authoring and verification discipline.
This makes Superpowers an ideal test case for the capability-assimilation direction described in #27. It is not merely a CLI tool. It is an external OSS methodology for shaping agent behavior. Ouroboros should be able to assimilate it as a permissioned, auditable, command-addressable UserLevel capability.
Goal
Expose every upstream Superpowers skill as an Ouroboros command under a stable command namespace, while translating each skill into Ouroboros-native execution semantics.
The important property is not the exact command spelling; it is that each skill becomes a first-class, inspectable, permissioned Ouroboros command rather than an opaque prompt fragment.
Non-goals
This epic should not turn Q00/ouroboros-plugins into a marketplace.
This epic should not bypass the plugin firewall by directly injecting arbitrary Superpowers instructions into core runtime without manifest, trust, permission, and audit checks.
This epic should not make ooo auto a catch-all router for Superpowers-specific branching. ooo auto may consume plugin-prepared Seeds or handoff artifacts, but Superpowers-specific behavior should live in the plugin.
This epic should not begin with destructive branch/merge behavior. Workflows such as finishing-a-development-branch may describe destructive options, but actual destructive actions require explicit command risk, permission, trust, and confirmation semantics.
This epic should not require immediate manifest schema expansion unless an implemented reference path proves the existing v0.1 contract cannot express the needed behavior.
Proposed plugin identity
Suggested plugin name:
superpowers
Alternative if we want to emphasize adaptation rather than upstream ownership:
superpowers-adapter
Suggested command namespace:
superpowers
Suggested repository layout if implemented in this repository as a reference plugin:
Per #27, the repository URL remains the unit of distribution, and plugins/superpowers/ is the unit of selection.
Upstream skill inventory to expose
The upstream obra/superpowers repository currently includes these skills, all of which should receive a corresponding Ouroboros command surface:
Upstream skill
Proposed Ouroboros command
Primary risk
Notes
using-superpowers
ooo superpowers using-superpowers
read_only
Introduces the Superpowers methodology and skill-loading discipline. In Ouroboros this should become inspectable guidance, not an uncontrolled session-start injection.
brainstorming
ooo superpowers brainstorming
write
Converts a rough idea into a design/spec artifact. Should integrate with Ouroboros clarification/deep-interview and Seed preparation rather than bypassing them.
writing-plans
ooo superpowers writing-plans
write
Converts an approved spec into a detailed implementation plan / Seed-compatible handoff.
executing-plans
ooo superpowers executing-plans
write
Executes an existing plan with checkpoints. Should use Ouroboros runtime state and audit events.
subagent-driven-development
ooo superpowers subagent-driven-development
write
Maps Superpowers subagent workflow onto Ouroboros/native subagent or team execution surfaces. Must preserve file ownership and review stages.
dispatching-parallel-agents
ooo superpowers dispatching-parallel-agents
write
Prepares or launches bounded parallel task execution. Should declare runtime/progress capabilities and audit task fanout.
test-driven-development
ooo superpowers test-driven-development
write
Enforces RED/GREEN/REFACTOR constraints for implementation tasks. Should produce verification evidence and ledger entries.
systematic-debugging
ooo superpowers systematic-debugging
write
Produces or executes a root-cause investigation workflow. Should record hypotheses, evidence, and fix verification.
requesting-code-review
ooo superpowers requesting-code-review
read_only or write
Reviews diff/range and emits findings. write only if it records artifacts/ledger/handoff.
receiving-code-review
ooo superpowers receiving-code-review
write
Converts review feedback into verified implementation tasks. Should distinguish accepted vs rejected feedback in provenance.
verification-before-completion
ooo superpowers verification-before-completion
read_only or write
Gates completion claims against fresh verification evidence. Should attach evidence to ledger/handoff.
finishing-a-development-branch
ooo superpowers finishing-a-development-branch
write / future destructive
v0 should prepare completion options and evidence. Actual merge/discard/push paths require destructive risk and explicit trust.
using-git-worktrees
ooo superpowers using-git-worktrees
write
Creates or verifies isolated workspaces. Requires careful filesystem permission bounds.
writing-skills
ooo superpowers writing-skills
write
Creates or edits skill documents using documentation-TDD. Should be bounded to declared output paths.
The adapter should discover this list from upstream skill frontmatter where possible rather than hardcoding it forever. However, the public command surface should remain stable and versioned.
Manifest strategy
The v0 implementation should try to remain within the current v0.1 manifest contract.
filesystem:read required, read_only
filesystem:write optional/required by mutating workflows, write
shell:execute optional, write or destructive depending on command
network:read optional, read_only for upstream fetch/update checks
github:read optional, read_only for PR/code-review workflows if needed later
github:pull_request:write future only, destructive if PR mutation is implemented
Risk policy:
Skill inspection commands are read_only.
Artifact generation, plan generation, state writes, and workspace setup are write.
Merge, discard, push, PR mutation, branch deletion, or external posting are destructive and should be excluded from v0 execution unless trust UX is fully honored.
Required Ouroboros-native behavior
Each Superpowers skill command should be more than:
Print this skill file and ask the agent to follow it.
A compliant command should answer:
Which upstream Superpowers skill was invoked?
Which upstream version and commit supplied the skill?
Which Ouroboros command represented it?
What user inputs were supplied?
Which files were read or written?
Which core capabilities were used?
Which external permissions were used?
What artifact, handoff, Seed, plan, state update, or review result was produced?
What evidence supports completion?
Was the command completed, blocked, failed, or cancelled?
What should a human or harness do next?
This is the line between a trivial wrapper and an Ouroboros-native assimilation layer.
Runtime and command model
The plugin should provide a command router entrypoint, for example:
The adapter should produce artifacts that Ouroboros can understand.
Suggested artifact types:
.omx/superpowers/
skill-index.json
runs/<run-id>/
invocation.json
provenance.json
handoff.md
seed.json or seed.md
evidence.json
For example:
brainstorming should produce a design/spec handoff.
writing-plans should produce an implementation-plan handoff or Seed candidate.
systematic-debugging should produce a root-cause investigation state document.
test-driven-development should produce a test-first execution checklist and verification evidence contract.
requesting-code-review should produce a review report artifact.
verification-before-completion should produce an evidence gate result.
If future Workflow IR / Run / Step / Artifact projections exist in core, this plugin should map to them without needing to rewrite its public command contract.
Audit and provenance requirements
Every command invocation should emit or prepare the standard plugin event vocabulary:
Do not write unbounded user prompts, secrets, tokens, or raw external payloads into provenance.
Permission and trust UX expectations
Install must not imply trust.
The plugin should be inspectable before trust is granted.
Read-only commands should be invokable with only read scopes.
Write commands should fail clearly if filesystem/state/handoff permissions are not trusted.
Destructive paths must not be silently enabled. For example, finishing-a-development-branch may initially generate a completion report with merge/PR/discard options, but actual merge, branch deletion, push, PR creation, or discard should require a future destructive command declaration and explicit trust.
Implementation phases
Phase 1 — RFC alignment and reference design
Define the intended Superpowers assimilation model in docs.
Should the reference plugin be named superpowers or superpowers-adapter?
Should this live in Q00/ouroboros-plugins as a contract-bearing reference plugin, or in a separate repository as the canonical third-party distribution example?
Should v0 vendor a pinned Superpowers snapshot, fetch from upstream at install time, or support both?
Should ooo superpowers <skill> execute the workflow directly, or should the first version only produce handoffs consumed by ooo auto, ooo run, $team, or $ralph?
What is the minimum core runtime support needed for smooth subagent/team execution mapping?
Do we need a manifest extension for skill bundles, or can the current commands + entrypoint contract remain sufficient for v0?
How should Superpowers session-start/bootstrap behavior map to Ouroboros without bypassing the plugin firewall?
Why this matters
If Ouroboros can assimilate Superpowers cleanly, it proves the plugin layer can absorb not only external CLIs and SDKs, but also external agent methodologies.
Summary
Build an Ouroboros-native Superpowers plugin that exposes every skill from
obra/superpowersas an explicit Ouroboros command while preserving the Ouroboros plugin contract: manifest validation, scoped capabilities, external permissions, risk classification, lifecycle/trust semantics, audit/provenance, Seed-compatible handoff, and resumable execution state.This is intentionally more ambitious than a thin compatibility wrapper. The goal is to make Superpowers run smoothly inside Ouroboros so that Ouroboros becomes a true agentOS: a substrate where external agent methodologies can be installed, trusted, invoked, audited, resumed, and composed through first-class UserLevel plugin commands.
Related consensus issue: #27
Core thesis:
Background
obra/superpowersis an agentic software-development methodology distributed as a cross-harness skill/plugin system. It currently supports multiple agent surfaces, including Claude Code, Codex, Gemini CLI, Cursor, and OpenCode.The repository contains a skill library centered on:
This makes Superpowers an ideal test case for the capability-assimilation direction described in #27. It is not merely a CLI tool. It is an external OSS methodology for shaping agent behavior. Ouroboros should be able to assimilate it as a permissioned, auditable, command-addressable UserLevel capability.
Goal
Expose every upstream Superpowers skill as an Ouroboros command under a stable command namespace, while translating each skill into Ouroboros-native execution semantics.
The user-facing target should feel like:
The important property is not the exact command spelling; it is that each skill becomes a first-class, inspectable, permissioned Ouroboros command rather than an opaque prompt fragment.
Non-goals
This epic should not turn
Q00/ouroboros-pluginsinto a marketplace.This epic should not bypass the plugin firewall by directly injecting arbitrary Superpowers instructions into core runtime without manifest, trust, permission, and audit checks.
This epic should not make
ooo autoa catch-all router for Superpowers-specific branching.ooo automay consume plugin-prepared Seeds or handoff artifacts, but Superpowers-specific behavior should live in the plugin.This epic should not begin with destructive branch/merge behavior. Workflows such as
finishing-a-development-branchmay describe destructive options, but actual destructive actions require explicit command risk, permission, trust, and confirmation semantics.This epic should not require immediate manifest schema expansion unless an implemented reference path proves the existing v0.1 contract cannot express the needed behavior.
Proposed plugin identity
Suggested plugin name:
Alternative if we want to emphasize adaptation rather than upstream ownership:
Suggested command namespace:
Suggested repository layout if implemented in this repository as a reference plugin:
Suggested layout if distributed from a separate author repository:
Per #27, the repository URL remains the unit of distribution, and
plugins/superpowers/is the unit of selection.Upstream skill inventory to expose
The upstream
obra/superpowersrepository currently includes these skills, all of which should receive a corresponding Ouroboros command surface:using-superpowersooo superpowers using-superpowersread_onlybrainstormingooo superpowers brainstormingwritewriting-plansooo superpowers writing-planswriteexecuting-plansooo superpowers executing-planswritesubagent-driven-developmentooo superpowers subagent-driven-developmentwritedispatching-parallel-agentsooo superpowers dispatching-parallel-agentswritetest-driven-developmentooo superpowers test-driven-developmentwritesystematic-debuggingooo superpowers systematic-debuggingwriterequesting-code-reviewooo superpowers requesting-code-reviewread_onlyorwritewriteonly if it records artifacts/ledger/handoff.receiving-code-reviewooo superpowers receiving-code-reviewwriteverification-before-completionooo superpowers verification-before-completionread_onlyorwritefinishing-a-development-branchooo superpowers finishing-a-development-branchwrite/ futuredestructiveusing-git-worktreesooo superpowers using-git-worktreeswritewriting-skillsooo superpowers writing-skillswriteThe adapter should discover this list from upstream skill frontmatter where possible rather than hardcoding it forever. However, the public command surface should remain stable and versioned.
Manifest strategy
The v0 implementation should try to remain within the current v0.1 manifest contract.
Required manifest fields:
schema_versionnameversionsourcecommandscapabilitiespermissionsentrypointExpected capabilities:
Expected external permissions:
Risk policy:
read_only.write.destructiveand should be excluded from v0 execution unless trust UX is fully honored.Required Ouroboros-native behavior
Each Superpowers skill command should be more than:
A compliant command should answer:
This is the line between a trivial wrapper and an Ouroboros-native assimilation layer.
Runtime and command model
The plugin should provide a command router entrypoint, for example:
The router should support at least:
The Ouroboros command declarations can map these into user-facing commands under
ooo superpowers ....The implementation should separate:
ouroboros.plugin.json.Seed and handoff integration
The adapter should produce artifacts that Ouroboros can understand.
Suggested artifact types:
For example:
brainstormingshould produce a design/spec handoff.writing-plansshould produce an implementation-plan handoff or Seed candidate.systematic-debuggingshould produce a root-cause investigation state document.test-driven-developmentshould produce a test-first execution checklist and verification evidence contract.requesting-code-reviewshould produce a review report artifact.verification-before-completionshould produce an evidence gate result.If future Workflow IR / Run / Step / Artifact projections exist in core, this plugin should map to them without needing to rewrite its public command contract.
Audit and provenance requirements
Every command invocation should emit or prepare the standard plugin event vocabulary:
When lifecycle support exists, install/trust events remain separate:
Minimum provenance fields:
{ "upstream_repo": "https://github.com/obra/superpowers", "upstream_version": "<version>", "upstream_commit": "<commit>", "upstream_skill": "<skill-name>", "ouroboros_command": "superpowers <command>", "artifact_path": "<path>", "invoked_by": "direct|handoff|auto|team", "source_platform": "cli" }Do not write unbounded user prompts, secrets, tokens, or raw external payloads into provenance.
Permission and trust UX expectations
Install must not imply trust.
The plugin should be inspectable before trust is granted.
Read-only commands should be invokable with only read scopes.
Write commands should fail clearly if filesystem/state/handoff permissions are not trusted.
Destructive paths must not be silently enabled. For example,
finishing-a-development-branchmay initially generate a completion report with merge/PR/discard options, but actual merge, branch deletion, push, PR creation, or discard should require a future destructive command declaration and explicit trust.Implementation phases
Phase 1 — RFC alignment and reference design
Q00/ouroboros-pluginsas a reference plugin or in a separate repository as a third-party plugin example.Phase 2 — Manifest and skeleton plugin
plugins/superpowers/ouroboros.plugin.json.plugins/superpowers/README.md.python -m superpowers_ouroborosentrypoint.list,inspect, andprepare-handofffirst.python3 scripts/validate_contract.py.Phase 3 — Skill discovery and command map
SKILL.mdfrontmatter.Phase 4 — Handoff generation for every skill
Phase 5 — Controlled execution integration
Phase 6 — Audit, provenance, and tests
brainstormingwriting-planstest-driven-developmentsystematic-debuggingsubagent-driven-developmentfinishing-a-development-branchPhase 7 — Future schema/runtime feedback
Only after the reference implementation proves a concrete need, consider follow-up issues for:
Acceptance criteria
This epic is complete when:
Open questions
superpowersorsuperpowers-adapter?Q00/ouroboros-pluginsas a contract-bearing reference plugin, or in a separate repository as the canonical third-party distribution example?ooo superpowers <skill>execute the workflow directly, or should the first version only produce handoffs consumed byooo auto,ooo run,$team, or$ralph?commands+entrypointcontract remain sufficient for v0?Why this matters
If Ouroboros can assimilate Superpowers cleanly, it proves the plugin layer can absorb not only external CLIs and SDKs, but also external agent methodologies.
That is the agentOS direction:
Superpowers should become a first-class, command-addressable capability inside Ouroboros, not an opaque prompt blob and not a branch inside core.