pr-hygiene
Skill17k starsChanged 5 days agoApache-2.0View on GitHub
Enforces pull request scope, atomicity, and software design standards distilled from human reviewer feedback across A2UI pull requests. Use when authoring, preparing, splitting, or reviewing a pull request, or when a change introduces new modules, abstractions, or comments.
3 other projects use a version of this; 1 new project in the last 4 weeks, against 0 the 4 before.
Adopted by
Surging: 1 new project took it in the last 4 weeks, none the 4 weeks before.thin data
Most recently taken up by
- google/A2UIword for word, first seen Oct 25, 2026
- imrangadzhiev/anti-sloptheir own version, first seen Oct 15, 2026
- MaggieAppleton/maggieappleton.com-V3their own version, first seen Oct 9, 2026
Who's talking about a2ui-project/a2ui
- クロノITチャンネル“チャットの返事が解説動画で返ってくる仕組みを構築「OpenUI」を試してみた”YouTube · Nov 2, 2026 · 6.5k views
- Rainer Hahnekamp“A2UI: When Agents Shape theUI”YouTube · Nov 10, 2026 · 1.2k views
- iPAS陪跑師 X Stan“EP21-🔥顛覆想像!Google A2UI Express 用「點菜速記」讓 AI 秒出畫面!Token 最多少 3 倍、搭 Jev 延遲最多降 80 倍”YouTube · Nov 1, 2026 · 133 views
- Ken Explains Tech“A2UI vs AG-UI: They're not the same thing”YouTube · Nov 7, 2026 · 51 views
- RepoDrop“a2ui - free open source tool”YouTube · Nov 11, 2026 · 4 views
The biggest 5 of 55 mentions linking to the repository that our crawl found. Each line is their own headline.
See all 55
Talked about on GitHub and YouTube (55 times).
On GitHub · 50
- Oct 15, 2026ci: ignore material.dart deprecation per import — flutter/genui2 reactions · 1 comment
- Oct 15, 2026ci: don't fail beta analysis on infos — flutter/genui2 reactions · 2 comments
- Nov 11, 2026Replace announcement with update. — flutter/genui1 reaction
- Nov 5, 2026Import a2ui-labs with history — a2ui-project/labs1 reaction
- Nov 3, 2026Setup repository. — a2ui-project/labs1 reaction · 2 comments
45 more on GitHub
- Oct 6, 2026docs: update feedback and design.md links in READMEs — flutter/genui1 reaction
- Sep 25, 2026a2ui ignores v0.9.1 operations, spec template children, and event.userMessage — assistant-ui/assistant-ui1 reaction · 3 comments
- Sep 24, 2026fix(genui): give the catalog's controls a name — flutter/genui1 reaction · 3 comments
- Sep 22, 2026fix(genui): show a literal CheckBox value — flutter/genui1 reaction · 4 comments
- Sep 20, 2026Fix genui pub.dev issue tracker link — flutter/genui1 reaction · 1 comment
- Sep 18, 2026feat(genui): apply a component's accessibility attributes — flutter/genui1 reaction · 8 comments
- Aug 31, 2026Enable sync validation. — flutter/genui1 reaction · 1 comment
- Aug 20, 2026Fix/email validation regex — flutter/genui1 reaction · 1 comment
- Aug 14, 2026Freeze a2ui_core and a2ui_agent in this repo. — flutter/genui1 reaction
- Aug 12, 2026Fix and stabilize TextField. — flutter/genui1 reaction · 1 comment
- Aug 11, 2026Create initial implementation for a2ui_agent. — flutter/genui1 reaction · 5 comments
- Aug 10, 2026Fix chunk newline. — flutter/genui1 reaction
- Jul 7, 2026docs(readme): replace deprecated google_generative_ai and discontinued firebase_vertexai with firebase_ai — flutter/genui1 reaction · 1 comment
- Jun 22, 2026Conformance harness in Swift + contribute renderer-side conformance cases upstream — BBC6BAE9/a2ui-swift1 reaction
- Jun 22, 2026Port to A2UI v1.0 (Release Candidate, formerly v0.10) — BBC6BAE9/a2ui-swift1 reaction
- Nov 13, 2026Build a Rust A2UI SDK from the upstream blueprints and compare it with the in-repo agent crate — ScaredCat-BOO/a2ui0 reactions
- Nov 13, 2026🎨 Generative UI Ecosystem Digest 2026-11-13 — linqinghao/agents-radar0 reactions
- Nov 12, 2026🎨 Generative UI Ecosystem Digest 2026-11-12 — linqinghao/agents-radar0 reactions
- Nov 12, 2026Evaluate A2UI 1.0 interop for interactive components (deferred, revisit Feb 2027) — MemberJunction/MJ0 reactions
- Nov 11, 2026🎨 生成式 UI 生态日报 2026-11-11 — linqinghao/agents-radar0 reactions
- Nov 11, 2026🎨 Generative UI Ecosystem Digest 2026-11-11 — linqinghao/agents-radar0 reactions
- Nov 10, 2026chore(nexabiz_ui_legacy): remove unused genui dependency — Hosamalbushri/Nexabiz-Ui0 reactions · 1 comment
- Nov 10, 2026chore(nexabiz_ui): remove unused genui dependency — Hosamalbushri/NEXABIZ-20 reactions · 1 comment
- Nov 10, 2026chore(nexabiz_ui): remove unused genui dependency — Hosamalbushri/NexaBiz0 reactions · 1 comment
- Nov 10, 2026chore: Remove unused genui dependency — drexel-ue/myotwin0 reactions
- Nov 10, 2026refactor: migrate from genui to a2ui — titabash/gemini-hackathon-game0 reactions
- Nov 10, 2026Migrate from genui to a2ui — timoconnellaus/frockbot0 reactions · 1 comment
- Nov 10, 2026chore: migrer de genui vers a2ui — b-fontaine/ai_voice_ui0 reactions
- Nov 10, 2026refactor!: migrate desy_genui from genui to a2ui — ChrisMarxDev/desy0 reactions
- Nov 10, 2026refactor(a2ui): migrate from genui to a2ui — oskarfreye/genuiform0 reactions · 1 comment
- Nov 10, 2026Migrate from genui to a2ui — manukj/plasma_sdk0 reactions
- Nov 10, 2026refactor!: migrate from genui to a2ui — breadoncee/flutter_open_genui0 reactions
- Nov 10, 2026Migrate from genui to a2ui — leehack/genui_genkit0 reactions
- Nov 10, 2026🎨 Generative UI Ecosystem Digest 2026-11-10 — linqinghao/agents-radar0 reactions
- Nov 9, 2026Migrate from genui to a2ui — lschaffer/flutter_mcp_suite0 reactions
- Nov 9, 2026Migrate from genui to a2ui — sunarya-thito/shadcn_flutter0 reactions
- Nov 9, 2026Migrate from genui to a2ui — omarfarouk228/genui_catalog0 reactions
- Nov 9, 2026refactor(liquid_flutter_ai)!: migrate from genui to a2ui — emdgroup-liquid/liquid-flutter0 reactions
- Nov 9, 2026Migrate from genui to a2ui — vildevev/genui_min0 reactions
- Nov 9, 2026Migrate from genui to a2ui — wal33d006/agentic_client0 reactions
- Nov 9, 2026Migrate from genui to a2ui — idipak/genui_openrouter0 reactions
- Nov 9, 2026Migrate from genui to a2ui — NJashwanth/genui_mock0 reactions
- Nov 9, 2026Migrate from genui to a2ui — thurakhant/genui_x0 reactions
- Nov 9, 2026🎨 Generative UI Ecosystem Digest 2026-11-09 — linqinghao/agents-radar0 reactions
- Nov 9, 2026🎨 生成式 UI 生态日报 2026-11-09 — linqinghao/agents-radar0 reactions
On YouTube · 5
- Nov 2, 2026チャットの返事が解説動画で返ってくる仕組みを構築「OpenUI」を試してみた — クロノITチャンネル6.5k views · 4 comments
- Nov 10, 2026A2UI: When Agents Shape theUI — Rainer Hahnekamp1.2k views · 3 comments
- Nov 1, 2026EP21-🔥顛覆想像!Google A2UI Express 用「點菜速記」讓 AI 秒出畫面!Token 最多少 3 倍、搭 Jev 延遲最多降 80 倍 — iPAS陪跑師 X Stan133 views
- Nov 7, 2026A2UI vs AG-UI: They're not the same thing — Ken Explains Tech51 views · 1 comment
- Nov 11, 2026a2ui - free open source tool — RepoDrop4 views
Other versions3 projects use a version of this.
Word for word · 1
- google/A2UI★ 17k100% same
Edited · 0
None found.
Wrote their own version · 2
- MaggieAppleton/maggieappleton.com-V3★ 226same name
- imrangadzhiev/anti-slop★ 27same name
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 repository18 other files it gives its agents.
- AGENTS.mdAGENTS.md
- swift/AGENTS.mdAGENTS.md
- a2ui-add-eval-datapointSkill
- a2ui-auditSkill
- a2ui-doc-sync-checkSkill
- a2ui-generate-pydantic-modelsSkill
- a2ui-implement-new-sdks-for-client-languageSkill
- a2ui-issue-triageSkill
- a2ui-release-pythonSkill
- a2ui-remediate-problemSkill
- a2ui-test-quality-checkSkill
- coding-principlesSkill
- inspect-aiSkill
- migrationSkill
- natural-writingSkill
- public-documentationSkill
- update-changelogSkill
- a2uiSkill
The file
We split this skill into the rules it gives an agent
12 rules. About 0 are common, 11 are distinctive, and 1 is very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈11
Distinctive · estimate
This author's own choices. Worth a look.
1
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 19
Keep each PR scoped to a single logical objective.
- Distinctive: line 20
If a change is becoming broad, split it into smaller, logically isolated PRs.
- Distinctive: line 34
If a refactoring is required to support a new feature, implement the refactoring first in a dedicated PR (or foundational stacked layer), …
- Distinctive: line 47
Do not modify repository tooling, package manager wrappers, or shared build scripts unless that is the explicit objective of the PR.
- Distinctive: line 58
Write a clear, self-contained PR description that details the specific problem, solution, and verification steps for this PR alone.
- Distinctive: line 59
Avoid relying on ephemeral stack metadata (e.g., avoid "Part 2 of 5" or "stacked on top of #123").
- Very specific: line 60
When a PR modifies the public API or consumer-facing behavior of a published package, update its CHANGELOG.md following update-changelog.
- Distinctive: line 61
Ensure the PR compiles cleanly and passes all format checks, lints, and unit tests independently before requesting review.
- Distinctive: line 72
Add a comment only when it explains a line or block that is hard to understand on its own, or the reasoning behind a decision, invariant, …
- Distinctive: line 73
Keep docstrings and JSDoc blocks focused on what a caller needs: what the symbol is for and any contract the signature does not show.
- Distinctive: line 75
Prefer a clearer identifier or a smaller helper function over a comment that explains a confusing one.
- Distinctive: line 87
Reduce Complexity, Don't Move It: Avoid fixes that merely relocate complexity or make future changes harder.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill 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
PR Hygiene, Atomicity, Scope Control & Software Design
Principles
1. Enforce Atomic, Minimal PRs for Review Velocity
- Problem & Rationale: Large, monolithic pull requests overwhelm human reviewers, increase merge conflict risks, delay reviews, and make post-merge debugging or bisecting painful. PRs must be atomic and as minimal as possible to facilitate quick, high-confidence reviews.
- Actionable Guidance:
- Keep each PR scoped to a single logical objective.
- If a change is becoming broad, split it into smaller, logically isolated PRs.
- Stack split PRs (for example with
gh stack) when changes build sequentially upon one another, improving logical isolation while maintaining developer flow.
- Reviewer / Agent Checklist:
- Is this PR atomic and minimal? Can it be reviewed thoroughly in under 15 minutes?
- Could this PR be split into smaller, stacked PRs to improve logical isolation and review velocity?
2. Never Bundle Features with Unrelated Refactoring
- Problem & Rationale: Bundling "feature X" with "a bit of refactoring in module Y" (or even refactoring within the same module) conflates behavioral changes with structural adjustments. Reviewers cannot easily distinguish intentional functional changes from refactoring artifacts, increasing the risk of subtle regressions slipping through.
- Actionable Guidance:
- Separate features and refactorings into independent PRs.
- PRs should strictly contain only the changes required to fulfill their specific objective.
- If a refactoring is required to support a new feature, implement the refactoring first in a dedicated PR (or foundational stacked layer), verify all existing tests pass, and then implement the feature in a separate PR on top.
- Reviewer / Agent Checklist:
- Flag any refactoring, structural cleanup, or renaming bundled into a feature PR.
- Request separating the feature and the refactoring into two independent PRs.
3. Eliminate Unrelated Tooling, License Header, and Formatting Noise
- Problem & Rationale: Incidental edits, such as updating copyright years on untouched files, tweaking package manager wrappers, reformatting untouched lines, or modifying unrelated build scripts, distract reviewers, inflate diff size, and create misleading
git blamehistory. - Actionable Guidance:
- Revert any unsolicited copyright year updates on untouched files.
- Confine formatting changes strictly to the code lines being modified.
- Do not modify repository tooling, package manager wrappers, or shared build scripts unless that is the explicit objective of the PR.
- Reviewer / Agent Checklist:
- Revert unsolicited copyright year updates and script wrapper tweaks in existing files.
- Ensure formatting changes are strictly confined to modified code.
4. Self-Contained Descriptions & Independent CI Validation
- Problem & Rationale: Reviewers evaluate PRs individually. PR descriptions with missing context or commits that break CI midway through a series stall review cycles and block CI pipelines.
- Actionable Guidance:
- Write a clear, self-contained PR description that details the specific problem, solution, and verification steps for this PR alone.
- Avoid relying on ephemeral stack metadata (e.g., avoid "Part 2 of 5" or "stacked on top of #123").
- When a PR modifies the public API or consumer-facing behavior of a published package, update its
CHANGELOG.mdfollowingupdate-changelog. - Ensure the PR compiles cleanly and passes all format checks, lints, and unit tests independently before requesting review.
- Reviewer / Agent Checklist:
- The PR description clearly explains the motivation, changes, and verification steps independently.
- All CI checks (formatting, linting, unit tests) pass cleanly for this PR alone.
5. Comment Only What the Code Cannot Say
- Problem & Rationale: Comments that restate the code or the identifier, or that repeat the PR description in every file, add reading time without adding information, and drift out of date.
- Actionable Guidance:
- Add a comment only when it explains a line or block that is hard to understand on its own, or the reasoning behind a decision, invariant, or tradeoff that is not obvious from the code.
- Keep docstrings and JSDoc blocks focused on what a caller needs: what the symbol is for and any contract the signature does not show. Do not echo parameter names or types that are already in the type signature.
- State a shared design once (in the module header or PR description); do not repeat it per symbol.
- Prefer a clearer identifier or a smaller helper function over a comment that explains a confusing one.
- Reviewer / Agent Checklist:
- Every added comment states something the code itself does not.
- Docstrings and JSDoc blocks are concise and free of restated type signatures.
6. Prefer Deep Modules and Reduce System Complexity
- Problem & Rationale: Shallow modules that expose complex configuration or internal mechanics for minimal functionality increase cognitive load across the codebase. Similarly, tactical quick patches that shift complexity from one caller to another accumulate technical debt.
- Actionable Guidance:
- Prefer Deep Modules: Design simple, narrow, and predictable public interfaces that hide meaningful implementation complexity behind a clean abstraction.
- Reduce Complexity, Don't Move It: Avoid fixes that merely relocate complexity or make future changes harder; decrease overall system complexity.
- Obvious Design: Choose naming and structure that make the design and intent obvious at the call site.
- Strategic over Tactical Changes: Favor strategic designs that solve the root cause cleanly over tactical patches that work around the immediate symptom.
- Reviewer / Agent Checklist:
- Does the module expose a narrow, predictable interface relative to the complexity it encapsulates?
- Does the change reduce overall complexity rather than pushing burden onto callers?
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.

