gh-stack
Skill1.4k starsChanged 26 days agoApache-2.0View on GitHub
Create, link, repair, and maintain dependent GitHub PRs with gh stack. Use before creating or updating stacked branches, propagating a lower-layer fix, resolving stack conflicts, or coordinating stack CI and CodeRabbit reviews. Covers native stack registration, preserving reviews, the 150-file review limit, and publication rate limits. Not Atmos configuration stacks.
- Commits and pushes
43 other projects use a version of this.
Adopted by
Steady: 0 new projects took it in the last 4 weeks, none the 4 weeks before.thin data
Most recently taken up by
- githubnext/chopintheir own version, first seen Nov 8, 2026
- ErikaAX08/erikas-skillstheir own version, first seen Nov 8, 2026
- devantler-tech/ksailtheir own version, first seen Nov 7, 2026
- theexperiencecompany/gaiatheir own version, first seen Nov 3, 2026
- Egoushka/agent-skillstheir own version, first seen Nov 1, 2026
- mongodb/agentstheir own version, first seen Nov 1, 2026
Who's talking about cloudposse/atmos
- basti-app/basti“homebrew formula to use `brew install basti`”GitHub · Aug 27, 2023 · 4 reactions
- runatlantis/atlantis“Release every time there is a new code change ”GitHub · Dec 24, 2022 · 3 reactions
- dineshba/tf-summarize“Add bump homebrew formula workflow to keep formula updated”GitHub · Sep 19, 2022 · 3 reactions
- cloudposse/terraform-provider-utils“Error: Plugin Did not Respond”GitHub · Dec 12, 2024 · 2 reactions
- NixOS/nixpkgs“atmos: 1.16.0 -> 1.53.0”GitHub · Jan 10, 2024 · 2 reactions
The biggest 5 of 45 mentions linking to the repository that our crawl found. Each line is their own headline.
See all 45
Talked about on GitHub and Hacker News (45 times).
On GitHub · 44
- Aug 27, 2023homebrew formula to use `brew install basti` — basti-app/basti4 reactions
- Dec 24, 2022Release every time there is a new code change — runatlantis/atlantis3 reactions
- Sep 19, 2022Add bump homebrew formula workflow to keep formula updated — dineshba/tf-summarize3 reactions
- Dec 12, 2024Error: Plugin Did not Respond — cloudposse/terraform-provider-utils2 reactions · 3 comments
- Jan 10, 2024atmos: 1.16.0 -> 1.53.0 — NixOS/nixpkgs2 reactions · 2 comments
39 more on GitHub
- Nov 5, 2026[chore] Speed up go cache on Windows GitHub runners — signalfx/splunk-otel-collector1 reaction · 2 comments
- Feb 20, 2026Fix Copilot author detection in mergify rules — cloudposse/.github1 reaction · 2 comments
- Jan 17, 2025`utils_component_config` does not work with `name_template`, requires `name_pattern` — cloudposse/terraform-provider-utils1 reaction
- Oct 17, 2024Adding new --stack parameter — cloudposse/github-action-atmos-affected-stacks1 reaction · 1 comment
- Sep 5, 2024feat: Add Atmos by Cloud Posse — asdf-vm/asdf-plugins1 reaction · 4 comments
- Aug 19, 2024feat: add IAM auth support (required for stack config templating as of atmos `1.86.2`) — cloudposse/github-action-atmos-affected-stacks1 reaction · 1 comment
- May 30, 2022Add a deployment process — jhannah/legislature_calendar1 reaction
- Mar 11, 2022tools: add atmos — shuaibiyy/awesome-tf1 reaction · 1 comment
- Nov 15, 2021atmos 1.3.9 (new formula) — Homebrew/homebrew-core1 reaction · 1 comment
- Nov 4, 2026Intermittent windows test failures due to step-security — orcasound/pods-ai0 reactions
- Nov 3, 2026atmos: 1.233.0 -> 1.233.2 — NixOS/nixpkgs0 reactions · 2 comments
- Oct 28, 2026claude-code-plugins.github.cloudposse.atmos: init at 1.233.2 — sudosubin/agents.nix0 reactions
- Oct 28, 2026claude-code-marketplaces.github.cloudposse.atmos: init at 1.233.2 — sudosubin/agents.nix0 reactions
- Oct 25, 2026feat(cloudposse/atmos): trust tagged signing from v1.235.0 — aquaproj/aqua-registry0 reactions · 1 comment
- Oct 25, 2026fix(cloudposse/atmos): update signing identity from v1.233.2 — aquaproj/aqua-registry0 reactions · 2 comments
- Oct 24, 2026agent-skills.github.cloudposse.atmos: 1.233.1 → 1.233.2 — sudosubin/agents.nix0 reactions
- Oct 24, 2026feat: show why CI failed — failed job log excerpts (--logs, MCP get_failed_logs) — devblac/prw0 reactions · 1 comment
- Oct 23, 2026Enroll cloudposse/atmos — anthropics/oss-scanner0 reactions · 2 comments
- Oct 22, 2026atmos: 1.231.0 -> 1.233.0 — NixOS/nixpkgs0 reactions · 2 comments
- Oct 21, 2026agent-skills.github.cloudposse.atmos: 1.233.0 → 1.233.1 — sudosubin/agents.nix0 reactions
- Oct 20, 2026agent-skills.github.cloudposse.atmos: 1.232.0 → 1.233.0 — sudosubin/agents.nix0 reactions
- Oct 16, 2026[Candidate] cloudposse/atmos - large collection (87 SKILL.md files) — ProSkillsMD/proskills0 reactions · 1 comment
- Oct 13, 2026agent-skills.github.cloudposse.atmos: 1.230.1 → 1.232.0 — sudosubin/agents.nix0 reactions
- Oct 10, 2026atmos: 1.230.0 -> 1.231.0 — NixOS/nixpkgs0 reactions · 2 comments
- Oct 3, 2026agent-skills.github.cloudposse.atmos: 1.229.0 → 1.230.1 — sudosubin/agents.nix0 reactions
- Aug 31, 2026atmos/1.227.0: add package definition for the Atmos CLI — wolfi-dev/os0 reactions
- Aug 30, 2026`import:` in atmos.yaml silently ignored by data sources — Atmos import adapters never registered in the provider binary — cloudposse/terraform-provider-utils0 reactions
- Jun 10, 2026Update Terraform utils to < 1.36.0 (main) — cloudposse/terraform-spacelift-cloud-infrastructure-automation0 reactions · 1 comment
- May 4, 2026Evaluate https://github.com/cloudposse/atmos for opentofu orchastration — GSA-TTS/cloud-sandbox0 reactions
- Mar 11, 2026Improve documentation and add Atmos integration examples — cloudposse/terraform-provider-context0 reactions · 1 comment
- Nov 28, 2025git clone fail when upgraded to git 2.52.0 (latest version as of now) and use command golangci-lint custom — golangci/golangci-lint0 reactions · 2 comments
- Oct 30, 2025Bump github.com/cloudposse/atmos from 1.189.0 to 1.196.0 — cloudposse/terraform-provider-utils0 reactions · 1 comment
- May 13, 2025Plan fails unless VPC isn't already deployed — terraform-aws-modules/terraform-aws-vpc0 reactions · 3 comments
- Jan 21, 2025Addressing Resource Visibility and Pagination Issues — magodo/pipeform0 reactions · 1 comment
- Aug 21, 2024add atmos pro stack locking — cloudposse/github-action-atmos-terraform-apply0 reactions
- Aug 20, 2024DEV-2465: add stack locking — cloudposse/github-action-atmos-terraform-plan0 reactions
- Sep 19, 2023Update Terraform utils to v1.35.0 — MaxymVlasov/renovate-tf-lockfile0 reactions
- Jan 3, 2023Automate releases without a manual PR prior to release — runatlantis/atlantis0 reactions
- Dec 24, 2022Bump homebrew formula upon new releases — runatlantis/atlantis0 reactions
On Hacker News · 1
Used with
Projects with it also use gh-create-pr, gh-commit and 9 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
ant-designSkillgh-create-pr
使用 GitHub CLI (gh) 推送当前分支并创建或更新 PR。在用户说「提 PR」「新建 PR」「用 gh 建 PR」「submit PR」「create pull request」时使用。
Also in 4 projects that use this
kelvincushmanSkillgh-commit
Create well-formatted commits with conventional commit format.
Also in 3 projects that use this
kelvincushmanSkillprek
Use when setting up or running hooks with prek in any repository. prek is a Rust drop-in alternative to pre-commit for running Git hooks that check, format, lint, and validate code and repository files. Prefer it when speed, workspace mode, built-in hooks, shared toolchains, or native TOML configuration matter.
Also in 3 projects that use this
carapace-shSkillbun
Use when working with the bun CLI — Bun's all-in-one JavaScript runtime and toolkit. Covers the CLI command reference (install, add, remove, run, build, test, x, create, init, pm, upgrade, link, unlink), bunfig.toml configuration, environment variables, the package manager and lockfile, the test runner, the bundler, the Bun runtime API (Bun.serve, Bun.file, Bun.spawn, Bun.write, hashing, transpiler), the Bun shell ($ template literal), module resolution and loaders, and globals. Triggers on: "bun", "bunx", "bun install", "bun add", "bun remove", "bun run", "bun build", "bun test", "bun x", "bun create", "bun init", "bun pm", "bun upgrade", "bun link", "bun unlink", "bunfig.toml", "bun.lock", "Bun.serve", "Bun.file", "Bun.write", "Bun.spawn", "Bun.hash", "Bun.password", "bun:test", "Bun.build", "Bun.Transpiler", "bun shell", "$ template", "import.meta", "JavaScriptCore", "Bun.serve", "HTMLRewriter", "Bun.SQL", "Bun.RedisClient", "Bun.Glob", "Bun.plugin", "bun:ffi".
Also in 3 projects that use this
xfstudioSkilltypescript-expert
TypeScript and JavaScript expert with deep knowledge of type-level programming, performance optimization, monorepo management, migration strategies, and modern tooling. Use PROACTIVELY for any TypeScript/JavaScript issues including complex type gymnastics, build performance, debugging, and architectural decisions. If a specialized expert is a better fit, I will recommend switching and stop.
Also in 3 projects that use this
xfstudioSkilltypescript-advanced-types
Master TypeScript's advanced type system including generics, conditional types, mapped types, template literals, and utility types for building type-safe applications. Use when implementing complex type logic, creating reusable type utilities, or ensuring compile-time type safety in TypeScript projects.
Also in 4 projects that use this
Other versions43 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 43
- vercel/next.js★ 143ksame name
- remotion-dev/remotion★ 72ksame name
- CherryHQ/cherry-studio★ 53ksame name
- Arize-ai/phoenix★ 12ksame name
- trycompai/crm★ 12ksame name
- CherryHQ/cherry-studio-app★ 4.1ksame name
- dotnet/macios★ 2.9ksame name
- dotnet/android★ 2.1ksame name
- github/gh-stack★ 1.8ksame name
- NVIDIA-NeMo/Gym★ 1.3ksame name
33 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository38 other files it gives its agents.
- agent-skills/AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- .cursor/rules/atmos-rules.mdcCursor rule
- atmos-asciicastSkill
- atmos-core-component-developmentSkill
- changelogSkill
- code-hygieneSkill
- component-developmentSkill
- docsSkill
- editionsSkill
- field-testSkill
- fix-allSkill
- fix-logSkill
- homebrewSkill
- lintSkill
- performance-regressionSkill
- pr-maintenance-loopSkill
- pull-requestSkill
- regression-testSkill
- releasesSkill
- roadmapSkill
- saySkill
- security-remediateSkill
- speckit-analyzeSkill
- speckit-checklistSkill
- speckit-clarifySkill
- speckit-constitutionSkill
- speckit-git-commitSkill
- speckit-git-featureSkill
- speckit-git-initializeSkill
- speckit-git-remoteSkill
- speckit-git-validateSkill
- speckit-implementSkill
- speckit-planSkill
- speckit-specifySkill
- speckit-tasksSkill
- speckit-taskstoissuesSkill
- test-coverageSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
13 rules. 0 are common, 9 are distinctive, and 4 are very specific to this project.
0
Common
Most of the 42 edited versions we read keep these.
9
Distinctive
This author's own choices. Worth a look.
4
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
- Distinctive: line 11
Use this skill for dependent pull requests.
- Very specific: line 18
Start with gh stack --help and the relevant subcommand's --help.
- Very specific: line 28
When native registration is requested or otherwise authorized, use gh stack link for existing PRs in the intended bottom-to-top order.
- Distinctive: line 47
If the user requests an independent PR, branch from its requested trunk, explicitly target that trunk, and do not link it into the active …
- Very specific: line 67
After an interrupted push/submit/sync, inspect which branches, PRs, bases, and native stack entries actually changed before resuming.
- Distinctive: line 74
Do not use parent merge commits as a general substitute for this native-stack repair.
- Distinctive: line 86
Before requesting reviews, verify that every dependent layer in the intended review block contains its current direct parent and has that …
- Distinctive: line 89
Do not skip stale intermediate layers by merging a lower update directly into a higher PR.
- Distinctive: line 114
Do not merge new trunk commits through every PR merely because trunk advanced.
- Distinctive: line 154
Use clean, isolated worktrees for independent layer fixes.
- Distinctive: line 172
Use the maintenance reference to freeze candidate heads, publish safely, and coordinate final-head CI/coverage and applicable CodeRabbit …
- Very specific: line 174
Default to incremental CodeRabbit requests (@coderabbitai review).
- Distinctive: line 181
Verify the selected PRs, current heads, and merge method before invoking it.
“Common” is measured: kept by at least 6 in 10 of the 42 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
GitHub PR stacks
Use this skill for dependent pull requests. Read maintenance and recovery before changing an existing published stack or operating its CI/review queue. Use the pull-request skill for labels, signing, descriptions, and release documentation.
Discover the tool and the actual stack
Start with gh stack --help and the relevant subcommand's --help; commands and supported flags
can change. If the extension is missing, identify github/gh-stack as the required extension
(gh extension install github/gh-stack). Follow the environment's installation permissions;
do not silently replace native stacks with an unregistered branch chain.
A feature branch based on another feature branch is only a dependency chain. GitHub's native
stack is a separate object. Creating PRs with gh pr create --base <parent> alone does not register
that object. Check both the configured base branches and native stack membership. A bottom PR may
target main and still belong to a stack; also look for open PRs based on its head branch.
When native registration is requested or otherwise authorized, use gh stack link for existing PRs
in the intended bottom-to-top order. Inspect current remote membership first, since linking changes
the stack. Do not convert an ordinary chain into a native stack merely to inspect it. Verify the
resulting object and ordering on GitHub, not just local branch ancestry. For example, after
substituting the actual repository and PR number:
gh stack link <bottom-pr> <middle-pr> <top-pr>
gh api graphql -f query='{ repository(owner:"OWNER", name:"REPO") {
pullRequest(number:123) { stack { number size entries(first:100) {
nodes { position pullRequest { number } }
} } }
} }'Paginate if the returned entries do not cover the reported size. gh stack link can register remote
PRs without initializing local tracking; a local gh stack view failure alone does not prove the
remote stack is absent. Inspect the installed checkout/link help to reconcile local tracking.
If the user requests an independent PR, branch from its requested trunk, explicitly target that trunk, and do not link it into the active stack or import the stack's implementation commits.
Commands and side effects
The installed command help is authoritative. Current command roles are:
| Command | Purpose and publication effects |
gh stack init / add <branch> | Initialize local stack tracking / create the next branch. |
gh stack view | Inspect the locally tracked stack. |
gh stack checkout <identifier> | Resolve a stack, PR, URL, or branch and check it out; may fetch remote tracking. |
gh stack switch | Interactive branch picker; use checkout for an explicit identifier. |
gh stack link | Register/update native membership. Branch-name arguments also push branches and create missing PRs; use PR numbers/URLs when only linking existing PRs. |
gh stack submit | Push branches, create/update PRs and bases, then register/update the native stack. These phases are not one atomic transaction. |
gh stack rebase | Cascade a local rebase onto updated parents; does not publish the result. |
gh stack push | Publish branches after a justified, authorized history rewrite using per-branch leases. Updates are not atomic; reconcile partial success. Use ordinary fast-forward pushes for routine updates. |
gh stack sync | Fetch, reconcile, cascade-rebase, and push branches atomically with leases, then synchronize PR/stack state. Not a read-only probe. |
gh stack merge | Atomically merge a contiguous bottom portion, through the chosen PR, or the whole stack. Requires merge authorization. |
After an interrupted push/submit/sync, inspect which branches, PRs, bases, and native stack entries actually changed before resuming. Do not assume an error means nothing was published.
Choose propagation for the actual stack type
Native GitHub stacks require linear history between their branches before merging. When a lower branch or trunk update breaks that relationship, GitHub prescribes a cascading rebase. Do not use parent merge commits as a general substitute for this native-stack repair. A clean local merge, or a repository that permits merge commits, does not establish native merge eligibility. The method used to land the stack (merge, squash, or rebase) is a separate choice. See GitHub's linear-history requirement.
Batch confirmed fixes before a necessary rebase, then validate the affected branches once. Deferring
propagation while collecting fixes can save CI and review quota; it does not waive the native
linearity requirement. Inspect the installed gh stack rebase scope flags and the actual dependency
boundary instead of automatically rewriting every branch after each finding. rebase and sync
are mutations, never status commands. Follow the detailed
native-stack repair procedure.
Before requesting reviews, verify that every dependent layer in the intended review block contains its current direct parent and has that parent as its sole merge base. Assess the bottom PR's trunk freshness separately; an unrelated trunk advance alone does not require rewriting or delaying reviews. Do not skip stale intermediate layers by merging a lower update directly into a higher PR. Deferred propagation is unfinished integration; hold reviews for affected heads until the batch is stable. See the parent-chain checks.
For an ordinary dependent PR chain outside native stacks, signed parent merges may be appropriate when repository policy and the user's history preferences permit them. Verify that classification first; do not unlink a native stack to avoid its requirements without user authorization.
GitHub documents retained approvals after a native stack rebase when the PR diff is unchanged, even with stale-approval dismissal enabled. Do not assume every rebase loses every approval, or that every approval will survive a conflict resolution. Check GitHub review applicability, CodeRabbit review evidence, and CI separately; a retained review can refer to an earlier commit. For non-bot PRs, Atmos's Quality Gate currently requires exact-head CodeRabbit approval; bot-authored PRs are exempt. Read the live review's commit ID: GitHub may associate a retained approval with the new head, satisfying that requirement without another review. Unchanged diffs or patch IDs do not guarantee retention. Before publication, report the affected approved PRs and contiguous prefix at risk. Verify the gate implementation and use incremental review for a confirmed gap; changed SHAs never automatically justify full CodeRabbit reviews. See approval and CI verification.
Publish normal updates with ordinary fast-forward pushes. If a push is rejected, fetch and inspect the remote changes; do not automatically retry with a force-push flag. An explicit lease is an exception for a specifically justified, authorized operation, not the default publication command.
Do not merge new trunk commits through every PR merely because trunk advanced. Check native linearity, conflicts, required freshness, and the combined result first. Explain the affected range and validation/review cost before a required rewrite. Honor explicit history restrictions and existing authorization; do not add a new permission round when the repair is already authorized.
Build approvals from the bottom
Prioritize a contiguous approved bottom block, not an increasing count of approvals scattered through the stack. Verify applicable reviews in native stack order, including retained approvals after a native rebase, and distinguish those from the repository's exact-head CodeRabbit gate. Identify the first gap under the requested approval criterion, and spend review quota on closing gaps in the intended bottom block before higher layers. Preserve already approved heads where possible; necessary changes require fresh evidence. Report the approved bottom prefix separately from total approvals and from the prefix with all merge requirements satisfied. Verify the actual boundary before proposing a split or partial merge; see review scheduling and reporting.
Keep each PR reviewable
Stay below the 150-file review boundary. The repository quality gate currently requires
changedFiles < 150 (at most 149); see qualityFileCount in
magefiles/qualitygate/quality.go. Apply the stricter of the user's budget, repository gate, and bot
configuration, and verify those when they change. This is not a GitHub diff limit. Check it when
planning layers, after moving files or rebasing/updating parents, and again after publication. Count against the PR's actual parent, not main for every layer:
git merge-base --all <actual-parent-sha> <candidate-head-sha>
git diff --name-only <actual-parent-sha>...<candidate-head-sha>
gh pr view <number> --json changedFiles,headRefOid,baseRefName,baseRefOidCount the complete path list (use NUL-delimited output in automation); do not rely on a truncated API file listing or count only new edits. Multiple merge bases make the comparison ambiguous: repair the ancestry or investigate before accepting its count. Keep some room below the effective limit when splitting work. Prefer moving cohesive docs, examples, casts, or tests with their owning behavior to an appropriate existing subsequent PR when authorized; recheck both layers' independent validity, counts, and native stack membership. Do not create an extra PR contrary to the user's requested shape.
Worktree and ownership safeguards
- Use clean, isolated worktrees for independent layer fixes. Give parallel agents ownership of specific layers/files and keep one coordinator responsible for propagation, publication, and review requests. Do not let multiple workers push the same branch or spend the same review quota.
- Checkout does not clear staged or unstaged edits to files shared between branches. Before switching,
inspect
git status --short,git log -3 --oneline, andgit diff --cached --stat. Preserve unfinished work; do not discard or stash it to get a clean checkout. Unstaging alone does not isolate edits. - An affected-file hook can inspect inherited committed changes, while missing a staged-only path. Diagnose the owning layer before fixing a hook failure; a passing hook alone is not proof that all staged files were checked. Run applicable checks explicitly in isolated worktrees when needed.
- Fix confirmed findings at the earliest affected layer. During propagation, preserve later intentional behavior as well as the fix: later docs may correctly supersede an earlier rollout phase's wording. Resolve overlapping logic semantically; neither concatenating both sides nor taking one side wholesale is a general conflict-resolution strategy.
- Preserve signed commits and hooks. If signing fails (including a locked signing agent), retain the prepared work and report the blocker; do not bypass signing to publish.
Finish the requested scope
Use the maintenance reference to freeze candidate heads, publish safely,
and coordinate final-head CI/coverage and applicable CodeRabbit approval evidence. Report those states separately.
Default to incremental CodeRabbit requests (@coderabbitai review). Unattended queues must not
request full reviews or automatically escalate to them; see the reference for handling missing approvals.
Merge only when explicitly authorized. When available and compatible with repository rules,
gh stack merge can merge the selected bottom portion atomically, avoiding a repeated
merge-one/rebase/review cycle. GitHub still enforces protection rules and native stack linearity;
atomic merge is not a bypass. Approval to repair history is also separate from approval to land PRs.
Verify the selected PRs, current heads, and merge method before invoking it. Do not treat approval
to fix CI or request reviews as approval to merge or close PRs.
Label each PR separately
Per the pull-request skill's semver-label rule, the label is per-PR, not per-feature. If a
five-layer stack adds one user-visible feature, only the final layer that wires it up gets
minor/major; the foundation and plumbing layers underneath it get no-release. Do not give
every layer the same label because they belong to one larger effort.
no-release classifies non-user-visible work for the PR policy and release-documentation checks;
it does not suppress a version bump. The release-drafter resolver in .github/auto-release.yml
currently maps this label to patch. Keep using the policy's label for foundation PRs; changing
release publication or version resolution is a separate policy change.
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.

