tamirs-superpowers
AGENTS.md2 starsChanged 3 months agoMITView on GitHub
A multi-platform agent plugin: bundled skills, specialist agents, worktree hooks, and MCP server stubs, shipped to five platforms and, underneath them, six supported runtime surfaces: Claude (Claude Code, Claude Desktop), Codex (Codex CLI), Cursor (Cursor IDE), Gemini (Gemini CLI, gemini-extension.json), and OpenCode (OpenCode CLI). The four non-Claude platforms each have a further surface — the Codex IDE extension, the Cursor CLI, Gemini Code Assist, the OpenCode desktop app — that has never been measured here; claim nothing about them in…
- Installs packages
Where files are headingNew AGENTS.md files have more rules about keeping secrets out of the code, and fewer about code style.
Of the AGENTS.md files we read, the 31,774 first seen in the last six months, against the older ones: the kind of rule that gained most share, and the kind that lost most. About files like this in general, not this one, and an estimate, since a kind is a pattern in the words.
In this repository46 other files it gives its agents.
- CLAUDE.mdCLAUDE.md
- .cursor/rules/commit-conventions.mdcCursor rule
- .cursor/rules/cross-platform-handoff.mdcCursor rule
- .cursor/rules/dev-files-workspace.mdcCursor rule
- .cursor/rules/documentation-standards.mdcCursor rule
- .cursor/rules/gh-cli-preference.mdcCursor rule
- .cursor/rules/github-repository-policy.mdcCursor rule
- .cursor/rules/git-worktree-agent-workflow.mdcCursor rule
- .cursor/rules/hooks-guide.mdcCursor rule
- .cursor/rules/plugin-structure.mdcCursor rule
- .cursor/rules/plugin-version-bump.mdcCursor rule
- .cursor/rules/skill-frontmatter.mdcCursor rule
- .cursor/rules/skill-quality-standards.mdcCursor rule
- .cursor/rules/skills-guide.mdcCursor rule
- .cursor/rules/user-facing-script-standards.mdcCursor rule
- run-tamirs-superpowersSkill
- field-notebook-uiSkill
- diagnose-refusalSkill
- targeted-debugSkill
- decisionSkill
- deliver-devSkill
- diagnose-objectiveSkill
- orchestrate-devSkill
- plan-devSkill
- pr-devSkill
- start-devSkill
- switch-devSkill
- worker-devSkill
- changelog-reviewSkill
- dark-terminal-docSkill
- docs-reviewSkill
- platform-syncSkill
- mcp-builderSkill
- mcp-paginationSkill
- cleanupSkill
- github-policySkill
- multi-agent-repoSkill
- repo-scaffoldSkill
- repo-standardsSkill
- capture-configSkill
- find-skillSkill
- notify-setupSkill
- retroSkill
- session-reportSkill
- skill-creatorSkill
- usage-captureSkill
The file
We split this AGENTS.md into the rules it gives an agent
11 rules. About 0 are common, 2 are distinctive, and 9 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈2
Distinctive · estimate
This author's own choices. Worth a look.
9
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- could be automatic: a setting could enforce it
- Very specific: line 66
All JSON must parse (jq empty) — checked by make validate.
- Very specific: line 68
Every SKILL.md must validate against the portable schema, core/schemas/skill-frontmatter.json, enforced by …
- Very specific: line 70
Commit format <type>(<scope>): <description> — types feat, fix, chore, docs, refactor.
- Very specific: line 71
Never add runs-on: [self-hosted] to a workflow — use ubuntu-latest.
- Very specific: line 72
Never commit secrets — .mcp.json uses ${ENV_VAR} placeholders only.
- Distinctive: line 73
Never add employer-internal references (internal domains, private orgs, internal tooling names).
- Very specific: line 74
Never add a marketplace.json here — publication goes through the separate Tamircohen28/tamirs-marketplace catalog.
- Very specific: line 75
Never modify hooks/lib/worktree-common.sh without running shellcheck and testing both capture-task-slug.sh and worktree-create.sh.
- Very specific: line 76
Never hand-write a SKILL.md — use the skill-creator skill.
- Very specific: line 77
No install step for plugin content.
- Distinctive: line 81
When a situation arises that a bundled skill covers, either invoke the skill or tell the user in one line that it exists — do not silently …
≈ “Common” is an estimate: at least 1 in 5 of the 40,246 AGENTS.md files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
tamirs-superpowers — agent entrypoint
A multi-platform agent plugin: bundled skills, specialist agents, worktree hooks, and MCP server stubs, shipped to five platforms and, underneath them, six supported runtime surfaces: Claude (Claude Code, Claude Desktop), Codex (Codex CLI), Cursor (Cursor IDE), Gemini (Gemini CLI, gemini-extension.json), and OpenCode (OpenCode CLI). The four non-Claude platforms each have a further surface — the Codex IDE extension, the Cursor CLI, Gemini Code Assist, the OpenCode desktop app — that has never been measured here; claim nothing about them in either direction. It is not a Node/Python/Go app — no build step, no package.json, no compiled output. All content is Markdown, JSON, and Bash.
This file is a thin entrypoint, not the policy. Canonical policy lives in core/ and rules/; this page tells you which of those to read and gives you the commands. When this file and a canonical rule disagree, the canonical rule wins — say so rather than following the stale copy.
Read this first
| You are about to… | Read |
| Do anything at all | core/policies/safety.md — the hard invariants |
| Branch, commit, or push | core/policies/git.md + rules/dev/git-worktree-agent-workflow.md |
| Run tests or checks | core/policies/validation.md — which tier applies where |
| Open a PR / ship | core/policies/delivery.md — one objective, one PR |
| Take on a role (implementer, reviewer, …) | core/roles/README.md — role is not provider |
| Pick which provider runs a task | core/providers/selection.md |
| Hand work to another provider | rules/dev/cross-platform-handoff.md |
| Write a plan, review, or scratch file | rules/dev/dev-files-workspace.md — it goes in .dev-files/ |
Author or edit a SKILL.md | rules/dev/skill-quality-standards.md + core/schemas/skill-frontmatter.json |
| Write a human-facing doc, or draw a diagram | rules/dev/documentation-standards.md — themed Mermaid, the two-link footer; bash scripts/check-doc-standards.sh --fix |
| Write a script or a hook | rules/dev/user-facing-script-standards.md |
| Touch GitHub | rules/dev/gh-cli-preference.md — gh is optional; degrade explicitly |
| Change shipped content | rules/dev/plugin-version-bump.md — bump plugin-version.json, then --sync |
The full index, including the hard-invariant vs configurable-policy split and the adapter map, is rules/README.md.
Work model in one paragraph
A user objective decomposes into worker tasks (a DAG). Each task runs in its own worktree on worker/<slug>/NNN, ends at commit + handoff, and never opens a PR. Workers compose into one integration worktree on objective/<slug>, which is where cross-worker review and full validation happen, and where the single PR is opened. Which provider ran a task is metadata recorded in .dev-files/objectives/<id>/, never encoded in a path or a branch name. Worker validation is targeted (Tier 1); full validation runs once at integration (Tier 2); CI is the final authority (Tier 3).
Commands
make validate # shellcheck + JSON + skill frontmatter + repo contract + doc claims + Claude-only distribution check
make check-claude-dist # build the Claude-only distribution to a temp dir and hold it to the plugin directory's rules
make lint # shellcheck only
make test # same as validate
make test-repo-contract # scaffold-gold (app-gold) + scaffold-plugin-gold (plugin-gold)
bash scripts/doctor.sh # detected platform, version, dependencies, available capabilities
make install # bootstrap Claude machine settings + agents (from a clone)
make update
make uninstallClaude Code marketplace install:
/plugin marketplace add Tamircohen28/tamirs-marketplace
/plugin install tamirs-superpowers@tamirs-marketplacePer-surface install guides: docs/user/install/ — one per supported surface, none for an unverified one. The machine-readable target list is platform-targets.json; the machine-readable capability list is core/capabilities/platforms.json.
Repo-specific expectations
These are true of this repository and are not in core/:
- All JSON must parse (
jq empty) — checked bymake validate. - All
.shmust passshellcheckat-S warning—make lint. - Every
SKILL.mdmust validate against the portable schema,core/schemas/skill-frontmatter.json, enforced byscripts/validate-skill-frontmatter.py. Claude-specific fields are a documented extension of that schema, not a universal requirement — seerules/dev/skill-quality-standards.md. - The version lives in one file,
plugin-version.json. Never hand-edit a manifest, badge, orplatform-targets.jsonversion — runbash scripts/check-version-truth.sh --sync. - Commit format
<type>(<scope>): <description>— typesfeat,fix,chore,docs,refactor; scopesskills,hooks,core,rules,marketplace,ci,docs. - Never add
runs-on: [self-hosted]to a workflow — useubuntu-latest. - Never commit secrets —
.mcp.jsonuses${ENV_VAR}placeholders only. - Never add employer-internal references (internal domains, private orgs, internal tooling names).
- Never add a
marketplace.jsonhere — publication goes through the separateTamircohen28/tamirs-marketplacecatalog. - Never modify
hooks/lib/worktree-common.shwithout running shellcheck and testing bothcapture-task-slug.shandworktree-create.sh. - Never hand-write a
SKILL.md— use theskill-creatorskill. - No install step for plugin content;
make installonly bootstraps machine settings and agents.
Surface skills at the moment they apply
When a situation arises that a bundled skill covers, either invoke the skill or tell the user in one line that it exists — do not silently hand-roll the work. One suggestion per situation per session; never repeat a declined suggestion.
| Situation | Skill |
| The user asks what something cost, how many tokens it used, or why a session got expensive | session-report |
| The user wants to record or query live LLM request metrics (model, latency, local JSONL) | usage-capture |
A stack trace, traceback, panic or crash log is pasted, or a file:line is named | targeted-debug |
| A model/session refused or blocked and the user needs which layer did it (harness, LiteLLM, provider, model) | diagnose-refusal |
"am I up to date", "what new features am I missing", "latest docs" — or a *-plugin/plugin.json or CHANGELOG.md is being bumped | platform-sync |
| A rate limit is hit, or an objective is still open and the session is ending | switch-dev |
| An objective failed or stalled and the user asks why, which task is stuck, or what to run next | diagnose-objective |
| You are about to hand-write a capability a public skill or plugin plausibly already provides | find-skill |
| A PR is about to open or a security-sensitive diff needs a pass before push | Cursor native /review-security (Teams Security Review bot) — complements security-reviewer |
| The session had repeated failures on the same thing, or the user corrected you several times | retro |
Why the rule and not just good trigger descriptions: skill_auto_invocation in
core/capabilities/platforms.json is partial on Cursor
and unknown on Codex, Gemini CLI and OpenCode. Description-based auto-triggering only fires
reliably on Claude Code and Claude Desktop, and the UserPromptSubmit hook that reinforces it
(hooks/skill-suggest.sh) is unsupported on OpenCode. This rule is the only surfacing
mechanism that works on every supported surface, which is why it is written down rather than
left to the matcher.
Key paths
| Path | Purpose |
core/ | Portable framework — policies, roles, workflow schemas, capabilities |
platforms/<id>/adapter.yaml | Per-target adapter metadata; authoritative capabilities stay in core/capabilities/platforms.json |
rules/ | Canonical contributor rules (all providers) — see rules/README.md |
plugin-version.json | Single source of truth for the version; every consumer listed inside |
.claude-plugin/plugin.json | Claude Code / Claude Desktop manifest |
.cursor-plugin/plugin.json | Cursor manifest — shared by the Cursor IDE and the Cursor CLI (skills + MCP; no hooks) |
.codex-plugin/plugin.json | Codex manifest (skills + hooks + MCP) |
gemini-extension.json | Gemini CLI extension manifest (platform-targets.json key: gemini_cli) |
opencode.json | OpenCode config (no version field — installs by path) |
hooks/hooks.json | Hook event wiring (Claude Code + Codex) |
skills/<domain>/<name>/SKILL.md | Bundled skills, grouped by domain |
agents/*.md | Specialist agent definitions; each declares a role: from core/roles/ |
skills/repo/_contract/ | Shared repo scaffold/standards contract — templates, scoring, gold fixtures (not a skill) |
scripts/ | User-facing scripts + validators |
Cloud and headless runbook
Applies to Cursor Cloud, Codex sandboxes, Claude Code remote sessions, Gemini CLI, and CI — any non-interactive shell.
There is no app server or build output. "Running" this repo means exercising the validation harness:
| Check | Command |
| Full validation | make validate |
| Repo-standards gate | make repo-standards-gate |
| Plugin health | bash .claude/skills/run-tamirs-superpowers/smoke.sh </dev/null |
| Statusline render (Claude Code) | echo '<session-json>' | bash scripts/statusline.sh |
| Environment / dependencies | bash scripts/doctor.sh |
Gotchas:
scripts/statusline.shreads JSON from stdin. With no piped input it blocks in non-interactive shells — always pipe or redirect (</dev/null).smoke.shinherits stdin, so run it assmoke.sh </dev/null. The non-blocking requirement for new scripts is inuser-facing-script-standards.md§4.shellcheckis required for shell coverage inmake lint/make validate; if absent those targets skip shellcheck rather than failing. Install it via your system package manager.make check-manifest-versionsneeds network to compare against the latest release tag; it works offline against the current checkout.- Cursor Cloud agents boot a fresh Linux VM — install
shellcheckandpip install -r scripts/requirements-validate.txtfirst.
Platform-specific addenda: CLAUDE.md (Claude Code / Desktop), .cursor/rules/*.mdc (Cursor IDE), .codex/config.toml (Codex), docs/user/install/gemini.md (Gemini CLI), docs/user/install/opencode.md (OpenCode — note what does not port). Host-version notes — what each host release changed and what this repo adopted or declined because of it — live in docs/engineering/host-notes/, not in the platform files; the evidence-bearing record stays platform-targets.json.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

