{
  "markdown": "<p align=\"center\">\n  <img src=\"assets/banner.png\" alt=\"tamirs-superpowers\" width=\"600\" />\n</p>\n\n<p align=\"center\">\n  <a href=\"https://github.com/Tamircohen28\"><img src=\"https://img.shields.io/badge/author-Tamir%20Cohen-181717?logo=github\" alt=\"Author\" /></a>\n  <a href=\"https://github.com/Tamircohen28/tamirs-superpowers/actions/workflows/ci.yml\"><img src=\"https://github.com/Tamircohen28/tamirs-superpowers/actions/workflows/ci.yml/badge.svg\" alt=\"CI\" /></a>\n  <a href=\"LICENSE\"><img src=\"https://img.shields.io/badge/license-MIT-blue.svg\" alt=\"MIT License\" /></a>\n  <a href=\"plugin-version.json\"><img src=\"https://img.shields.io/badge/version-3.6.2-blue\" alt=\"Version\" /></a>\n</p>\n\n<p align=\"center\">\n  <a href=\"docs/engineering/build-and-release/platform-targets.json\"><img src=\"https://img.shields.io/badge/Claude%20Code-2.1.257-blueviolet\" alt=\"Claude Code\" /></a>\n  <a href=\"docs/engineering/build-and-release/platform-targets.json\"><img src=\"https://img.shields.io/badge/Cursor-3.18.9-000000\" alt=\"Cursor\" /></a>\n  <a href=\"docs/engineering/build-and-release/platform-targets.json\"><img src=\"https://img.shields.io/badge/Codex-0.146.0-412991\" alt=\"Codex\" /></a>\n  <a href=\"docs/engineering/build-and-release/platform-targets.json\"><img src=\"https://img.shields.io/badge/Gemini%20CLI-0.55.1-4285F4\" alt=\"Gemini CLI\" /></a>\n  <a href=\"docs/engineering/build-and-release/platform-targets.json\"><img src=\"https://img.shields.io/badge/OpenCode-1.18.11-fab283\" alt=\"OpenCode\" /></a>\n</p>\n\n# tamirs-superpowers\n\nA portable agent toolkit: **27 skills**, 10 role-based agents, worktree hooks, and MCP\nstubs, shipped from one canonical source to six agent surfaces across five platforms.\n\n## What problem it solves\n\nAgent harnesses disagree about everything — skill frontmatter, subagents, hooks, install\nmechanics, where global config lives — so multi-platform setups duplicate content until it\ndrifts, or claim features a platform does not have. And one feature request typically lands\nas five disconnected pull requests with no place the combined diff is ever reviewed.\n\n- **One canonical source, thin adapters.** Skills, roles, rules, and policies live once\n  under `skills/`, `core/`, and `rules/`; per-platform files are generated, and drift fails CI.\n- **Honest capability degradation.** [`core/capabilities/platforms.json`](core/capabilities/platforms.json)\n  records what each *surface* actually supports — `unknown` and `unsupported` included — and\n  every skill states its fallback instead of pretending.\n- **One objective = one pull request.** Work is decomposed into tasks that end at\n  *commit + handoff*, merged onto one integration branch, reviewed as one diff, delivered once.\n- **Your machine is rendered from the repo.** `make setup` writes the same global rules into\n  all five platforms' own config formats; nothing is hand-copied per platform.\n\n## Supported platforms\n\nFive platforms. Each one has more than one **surface** — a terminal client, a desktop app,\nan editor extension — and they do not all behave alike, so the surface is what carries a\nsupport status, an install path, and a capability row. Six surfaces are supported: those\nare the ones this repo installs into and validates. The rest are listed because they are\nreal surfaces users ask about; nothing has been measured on them, in either direction.\n\n### Claude\n\nOne plugin, one marketplace listing, both surfaces.\n\n| Surface | Registry id | Kind | Status | Install |\n|---|---|---|---|---|\n| Claude Code | `claude_code` | CLI | ✅ supported — validated 2.1.257 | [guide](docs/user/install/claude-code.md) |\n| Claude Desktop | `claude_desktop` | desktop | ✅ supported — same plugin, different runtime surface | [guide](docs/user/install/claude-desktop.md) |\n\n### Codex\n\nInstalled from the plugin marketplace; the CLI is the measured surface.\n\n| Surface | Registry id | Kind | Status | Install |\n|---|---|---|---|---|\n| Codex CLI | `codex` | CLI | ✅ supported — validated 0.146.0 | [guide](docs/user/install/codex.md) |\n| Codex IDE extension | `codex_ide` | IDE | ⚠️ unverified — reads the same `AGENTS.md` and manifest, but the plugin has never been installed or a skill invoked there | — |\n\n### Cursor\n\nAdded as a plugin source in Cursor, then installed from it.\n\n| Surface | Registry id | Kind | Status | Install |\n|---|---|---|---|---|\n| Cursor IDE | `cursor` | IDE | ✅ supported — validated 3.18.9 | [guide](docs/user/install/cursor.md) |\n| Cursor CLI | `cursor_cli` | CLI | ⚠️ unverified — shares the plugin manifest with the IDE, but no CLI run has been recorded here | — |\n\n### Gemini\n\nTwo commands: the extension carries context and MCP, skills install separately.\n\n| Surface | Registry id | Kind | Status | Install |\n|---|---|---|---|---|\n| Gemini CLI | `gemini_cli` | CLI | ✅ supported — validated 0.55.1 | [guide](docs/user/install/gemini.md) |\n| Gemini Code Assist | `gemini_code_assist` | IDE | ⚠️ unverified — a different host that does not install CLI extensions, so the `.gemini/` mirror has no established install path there | — |\n\n### OpenCode\n\nInstalled by path — `opencode.json` `skills.paths` pointed at this checkout.\n\n| Surface | Registry id | Kind | Status | Install |\n|---|---|---|---|---|\n| OpenCode CLI | `opencode` | CLI | ✅ supported — validated 1.18.11 | [guide](docs/user/install/opencode.md) |\n| OpenCode desktop app | `opencode_desktop` | desktop | ⚠️ unverified — whether it reads the same `skills.paths` this repo installs into has not been checked | — |\n\n`⚠️ unverified` is not a negative result. Those surfaces carry no capability claims at all;\n[`core/capabilities/platforms.json`](core/capabilities/platforms.json) records why each one\nwas never measured rather than guessing from its sibling.\n\nCapabilities differ per surface, sometimes a lot. The honest, registry-generated comparison\nis [docs/user/platform-differences.md](docs/user/platform-differences.md).\n\n## Install in 5 minutes\n\n**1. Install the plugin.** Pick your platform and surface from the tables above — each\nsupported surface's guide covers install, **verify**, update, and uninstall. Gemini alone\ntakes two commands: the extension carries context and MCP, while skills come from a generated\nflat mirror at `.gemini/skills/` that must be installed with `--path`. [Why](docs/user/install/gemini.md).\n\n**2. Configure your machine** — optional, and now the part that changed. `make setup`\nrenders this repo's canonical config into the config directory of **every** agent CLI it\ndetects: `~/.claude`, `~/.codex`, `~/.cursor`, `~/.gemini`, `~/.config/opencode`. One set of\nglobal rules, one permissions policy, in each platform's own format.\n\n```bash\ngit clone https://github.com/Tamircohen28/tamirs-superpowers.git\ncd tamirs-superpowers\nmake setup-plan     # detect targets, print every change, write nothing\nmake setup          # diff → confirm → write, one change at a time\n```\n\nIt merges into what is already there, shows a diff before each write, defaults to No, and\n`bash scripts/setup.sh remove` undoes it. This supersedes `make install`, which configured\nonly Claude Code, only partially, and rewrote `~/.claude/settings.json` wholesale — the old\npath is now a thin shim over the same engine. **Read [setup](docs/user/setup.md) before the\nfirst `apply`:** it will switch off plugins the canonical set records as deliberately\ndisabled. The other four platforms: [platform setup](docs/user/platform-setup.md).\n\nRequires `git` 2.30+ and `jq`; `gh` is optional (PR and issue workflows). Nothing here needs\nNode, Python, or a build step. Check the result with `bash scripts/doctor.sh .`.\n\n> Contributing to this repo is a **different** setup — `git clone`, then `make validate`.\n> See [contributor bootstrap](docs/engineering/build-and-release/development-workflow.md).\n\n## Core workflow\n\n```text\n/orchestrate-dev  →  task graph  →  workers (commit + handoff)  →  integration branch\n                                          →  combined-diff review  →  ONE PR  →  /pr-dev\n```\n\n| Skill | Does |\n|---|---|\n| [`/plan-dev`](skills/dev-workflow/plan-dev/SKILL.md) | Turn a request into phases and issues |\n| [`/orchestrate-dev`](skills/dev-workflow/orchestrate-dev/SKILL.md) | Own an objective: task graph, dispatch, integrate, deliver one PR |\n| [`/worker-dev`](skills/dev-workflow/worker-dev/SKILL.md) | Execute one task; end at commit + handoff, never a PR |\n| [`/deliver-dev`](skills/dev-workflow/deliver-dev/SKILL.md) | Review the integrated diff, run the gates, open the one PR |\n| [`/pr-dev`](skills/dev-workflow/pr-dev/SKILL.md) | Drive that PR to merge |\n| [`/start-dev`](skills/dev-workflow/start-dev/SKILL.md) | Compatibility front door — routes to the above |\n\nOrchestration works with **no subagents at all**: same task graph, same handoffs, same one\nPR, run sequentially. See [docs/user/orchestration.md](docs/user/orchestration.md).\n\n## Links\n\n- [Getting started](docs/user/getting-started.md) · [Setup](docs/user/setup.md) · [Platform setup](docs/user/platform-setup.md) · [Capture](docs/user/capture.md) · [Configuration](docs/user/configuration.md) · [Troubleshooting](docs/user/troubleshooting.md)\n- [Concepts](docs/user/concepts.md) · [Skills](docs/user/skills.md) · [Agents](docs/user/agents.md) · [Orchestration](docs/user/orchestration.md) · [Platform differences](docs/user/platform-differences.md)\n- [Engineering docs](docs/engineering/README.md) — architecture, capability model, adapter contract, skill schema, release process\n- [Changelog](CHANGELOG.md) · [Contributing](docs/CONTRIBUTING.md) · [Contributor bootstrap](docs/engineering/build-and-release/development-workflow.md) · [License](LICENSE)\n\n---\n\nMIT © [Tamir Cohen](https://github.com/Tamircohen28)\n",
  "bytes": 9667,
  "sha": "41893416df2a63445c75fe4f6d3d0e256986f04a0d38145a1aeb063fc0db0aea",
  "repo_slug": "tamircohen28/tamirs-superpowers",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/plg_tamircohen28_tamirs_superpowers_99acc0ff/readme"
}