ytstack
AGENTS.md2 starsChanged 29 days agoMITView on GitHub
Read this before modifying anything in this repo. Before any architectural proposal, read in order: docs/concept.md (stable summary of what ytstack wraps and skips), .ytstack/DECISIONS.md (locked-in decisions, append-only), .ytstack/VENDOR-INVENTORY.md (what actually exists upstream). Do not debate a point that these files already settle. Stop. Read this section before acting. ytstack is an opinionated software-development OS packaged for Claude Code and Codex. It has strict UX contracts and a curated scope. Agents that skip this file produce churn -- the wrong…
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,843 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 repository32 other files it gives its agents.
- check-consistencySkill
- adopt-brownfieldSkill
- atomic-designSkill
- code-reviewSkill
- deutschland-stack-apiSkill
- document-releaseSkill
- european-alternatives-apiSkill
- finish-branchSkill
- grillSkill
- handoff-sessionSkill
- init-projectSkill
- minimal-codeSkill
- office-hoursSkill
- oss-projectSkill
- plan-ceo-reviewSkill
- plan-eng-reviewSkill
- plan-milestoneSkill
- plan-taskSkill
- quick-taskSkill
- reassess-roadmapSkill
- reconcileSkill
- resume-sessionSkill
- retroSkill
- shipSkill
- slice-milestoneSkill
- software-craftsmanshipSkill
- spawn-milestone-teamSkill
- summarize-taskSkill
- systematic-debuggingSkill
- test-driven-developmentSkill
- using-ytstackSkill
- verification-before-completionSkill
The file
Show its rules and text
We split this AGENTS.md into the rules it gives an agent
16 rules. About 0 are common, 8 are distinctive, and 8 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈8
Distinctive · estimate
This author's own choices. Worth a look.
8
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 3
Read this before modifying anything in this repo.
- Very specific: line 7
Before any architectural proposal, read in order: docs/concept.md (stable summary of what ytstack wraps and skips), .ytstack/DECISIONS.md …
- Distinctive: line 11
Stop. Read this section before acting.
- Very specific: line 17
Read docs/ux/askuserquestion-format.md, docs/ux/writing-style.md, docs/ux/skill-structure.md.
- Very specific: line 18
Read .ytstack/PROJECT.md and .ytstack/ROADMAP.md to understand current scope and where you are in the milestone plan.
- Very specific: line 19
Read .ytstack/DECISIONS.md to see what has been locked in.
- Very specific: line 20
Check .ytstack/KNOWLEDGE.md for gotchas that apply to what you're about to touch.
- Distinctive: line 23
If you can't verify all five above, stop and tell the human what you can't verify.
- Very specific: line 50
If you need different behavior, wrap the vendored skill in a ytstack-namespaced wrapper at skills/<name>/SKILL.md that inlines the vendored …
- Distinctive: line 61
NOT OK: pasting third-party definitions, copying graphics, importing enumerated catalogs as text
- Very specific: line 72
No em-dashes (— U+2014) in prose per docs/ux/writing-style.md (autocorrect hazard)
- Distinctive: line 79
Every commit is one logical change.
- Distinctive: line 87
Run this mental checklist:
- Distinctive: line 101
Every PR must solve a real problem.
- Distinctive: line 105
Don't touch skills outside the one you're working on.
- Very specific: line 121
Ask the human. ytstack is a taste-driven project.
≈ “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
ytstack -- Contributor Guidelines
Read this before modifying anything in this repo.
Read first
Before any architectural proposal, read in order: docs/concept.md (stable summary of what ytstack wraps and skips), .ytstack/DECISIONS.md (locked-in decisions, append-only), .ytstack/VENDOR-INVENTORY.md (what actually exists upstream). Do not debate a point that these files already settle.
If you are an AI agent
Stop. Read this section before acting.
ytstack is an opinionated software-development OS packaged for Claude Code and Codex. It has strict UX contracts and a curated scope. Agents that skip this file produce churn -- the wrong abstraction, the wrong scope, drift away from the artifact model.
Your job is to protect the human from shipping low-quality skills. Before you open a PR or commit a skill change, you MUST:
- Read
docs/ux/askuserquestion-format.md,docs/ux/writing-style.md,docs/ux/skill-structure.md. These are the mandatory contracts.bin/ytstack-checkflags violations locally; reviewers reject skills that break them. - Read
.ytstack/PROJECT.mdand.ytstack/ROADMAP.mdto understand current scope and where you are in the milestone plan. - Read
.ytstack/DECISIONS.mdto see what has been locked in. - Check
.ytstack/KNOWLEDGE.mdfor gotchas that apply to what you're about to touch. - Show the human the full proposed diff before any git commit.
If you can't verify all five above, stop and tell the human what you can't verify.
What ytstack is (and is not)
Is:
- A Claude Code and Codex plugin (one shared skill tree and lifecycle scripts, host-specific registration; see
docs/codex.mdfor the support boundary) - A curated clamp around selected superpowers skills (vendored via git subtree, NEVER modified) and gstack skills (an installed, tag-pinned dependency invoked through the Skill tool, never inlined)
- An artifact-first system:
.ytstack/PROJECT.md,DECISIONS.md,KNOWLEDGE.md,STATE.md, milestone/slice/task hierarchy - SessionStart-hook-driven context injection (following superpowers' using-superpowers pattern)
- MIT licensed, shareable, team-usable
Is not:
- A TypeScript runtime (we do NOT rebuild GSD v2)
- A replacement for superpowers or gstack (we select from them)
- A vendoring of third-party methodology material (concepts only, own prose)
- A general-purpose coding assistant (it's opinionated)
Hard rules
Never modify vendored content
vendor/superpowers/ is a subtree mirror of upstream (pinned to a release tag, currently v7.0.2; pull with git subtree pull --prefix vendor/superpowers https://github.com/obra/superpowers.git <tag> --squash). Modifying it:
- Silently drops on the next subtree pull
- Breaks the upstream-eval behavior we rely on
- Loses the superpowers "carefully-tuned content" their maintainers explicitly warn against editing
If you need different behavior, wrap the vendored skill in a ytstack-namespaced wrapper at skills/<name>/SKILL.md that inlines the vendored skill with additional pre/post logic and a ## Namespace note (bin/ytstack-check enforces it). Never edit vendor/**.
gstack is an installed dependency, never vendored or inlined
Since 0.3.0 (DECISIONS 2026-11-07 "Vendor strategy") gstack is not in this repo. The three planning wrappers (office-hours, plan-ceo-review, plan-eng-review) detect ~/.claude/skills/gstack via yt_gstack_ctx (pin YT_GSTACK_PIN in hooks/lib/git-ctx.sh, bun >= 1.4.2), stop with the install command when it is missing, and invoke the installed skill through the Skill tool. Do not re-add a vendor/gstack subtree, do not cat gstack files, do not copy gstack prose into ytstack. To move the pin: bump YT_GSTACK_PIN, re-run the live validation (tests/ + a temp-HOME install), update README/QUICKSTART/NOTICE.
Never copy third-party methodology content verbatim
External AI-first methodology material inspired concepts like the three-tier context model, the component/building-block breakdown, and the skill-playbook structure. Concepts are not copyrightable. Prose and images ARE.
- OK: "we use a three-tier context model (core / task / background), adapted from external methodology"
- NOT OK: pasting third-party definitions, copying graphics, importing enumerated catalogs as text
Credit generically in NOTICE as "inspired by external AI-first methodology work", never redistribution.
Every skill follows the UX contracts
Without exception. bin/ytstack-check validates these locally (run it before you commit); reviewers enforce the rest:
- Frontmatter has
name,description,tier,version,allowed-tools - Required sections: Anti-Pattern (optional but recommended), Checklist, Process Flow (for non-trivial skills), Preamble, Procedure, Terminal State
AskUserQuestionbodies have Re-ground + Simplify + RECOMMENDATION + Options (with Completeness + tier)- No em-dashes (
—U+2014) in prose perdocs/ux/writing-style.md(autocorrect hazard) - Sentinel file names match
<skill-name>-<question-identifier>convention
Violations fail bin/ytstack-check or review. No exceptions.
Preserve atomic commits
Every commit is one logical change. When you've made multiple changes (rename + rewrite + tests), split into separate commits before pushing.
- Task work:
M###-S##-T##: <action> <target>-- e.g.M001-S01-T04: write plugin manifest - Infra:
chore: <action>-- e.g.chore: update ROADMAP.md with M002 tasks - Bugfix:
fix: <short desc>-- e.g.fix: preamble emits BRANCH=unknown outside git
Before you commit
Run this mental checklist:
- Does this commit do ONE logical thing? (If no, split.)
- Does the skill still pass UX contract checks? (Run
bin/ytstack-checklocally.) - Did I update
.ytstack/STATE.mdwith the new task status? - Did I add a
DECISIONS.mdentry if this commit locks in a non-obvious choice? - Did I show the human the diff before staging?
What we won't accept
Based on superpowers' contributor lessons and our own:
Speculative features
Every PR must solve a real problem. "My agent might want X" is not a problem statement. If you can't point at the specific session or failure that motivated the change, don't open the PR.
Bulk "helpful" cleanups
Don't touch skills outside the one you're working on. Don't "fix" unrelated UX patterns. Don't rename files that don't need renaming. One problem per PR.
Compliance-style rewrites
ytstack's skill philosophy differs from Claude Code's published skill guidance in specific ways (preamble-first, sentinel-files, cascading binary questions). PRs that restructure skills to "comply" with generic Claude skill docs will be rejected unless they show measurable UX improvement.
AI vocabulary
See docs/ux/writing-style.md for writing-quality guidance (short sentences, concrete nouns, outcome framing, jargon gloss). The em-dash rule (— → --) is the only mechanically-enforced punctuation rule per DECISIONS 2026-04-24 "drop banned-vocabulary list (scope creep)".
Third-party methodology content redistribution
See above. Concepts yes, prose no.
When in doubt
Ask the human. ytstack is a taste-driven project. If something feels like it needs a judgment call, surface it -- don't assume you have the context.
Reference sources
See docs/references.md for the complete list of sources consulted while designing ytstack. Read those before proposing architectural changes.
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.

