coding-principles
Skill17k starsChanged 3 months agoApache-2.0View on GitHub
Enforces engineering, architecture, public API, and code quality standards distilled from human reviewer feedback across A2UI pull requests. Use when authoring new code, refactoring, addressing review feedback, or reviewing PR diffs. Don't use for release publishing or spec blueprint generation without code or PR changes.
We split this skill into the rules it gives an agent
3 rules. 0 are common, 3 are distinctive, and 0 are very specific to this project.
0
Common
Most of the 9 edited versions we read keep these.
3
Distinctive
This author's own choices. Worth a look.
0
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 18
Before modifying or implementing code in any language, consult the authoritative specifications and blueprints:
- Distinctive: line 60
Activate if: Always applicable when authoring, preparing, or reviewing a pull request.
- Distinctive: line 96
Read only the cross-language subskills activated in Step 2 and the language-specific subskills selected through Step 3 to evaluate your …
“Common” is measured: kept by at least 6 in 10 of the 9 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
Skill: coding-principles
Purpose: Core engineering, architecture, and code quality standards established by human reviewers across A2UI pull requests. Used by agents when authoring changes, refactoring code, addressing review feedback, or reviewing pull request diffs to maintain repository health across all languages.
Specification and Blueprint Grounding
Before modifying or implementing code in any language, consult the authoritative specifications and blueprints:
- Protocol JSON Schemas:
specification/v0_9_1/json/andspecification/v1_0/json/define wire-format envelopes, types, and validation constraints. - Component Catalogs:
catalogs/basic/v1/catalog.jsondefines standard components, properties, and function signatures. - Core Module Blueprint:
a2ui_core.blueprint.mdspecifies state containers (DataModel,SurfaceModel),MessageProcessor, JSON pointer rules, auto-vivification, and error semantics. - Agent SDK Blueprint:
a2ui_agent.blueprint.mdspecifiesA2uiGenerator,A2uiRequestProcessor, inference format strategies, and prompt generation. - Framework Adapter Blueprint:
a2ui_framework_adapter.blueprint.mdspecifies view mapping, reactive subscription lifecycles, and layout behavior. - Typesafe Builder Blueprint:
typesafe_builder_api.blueprint.mdspecifies fluent builder hierarchies. - Reference Implementation:
typescript/core/web_core/serves as the canonical behavioral reference for edge-case resolution.
Progressive Discoverability: Two-Level Subskill Routing
Because the A2UI repository spans multiple languages (typescript/, python/, dart/, swift/) and shared specifications (specification/, catalogs/), agents must use a two-level progressive discovery workflow:
- Level 1 (Cross-Language Subskills): Activate language-agnostic principles that govern pull request scope, software design, public API boundaries, specification immutability, and changelogs across the entire monorepo.
- Level 2 (Language-Specific Routing): Route by the programming languages modified in the diff to load only the subskills and language guides relevant to those languages.
Step 1: Inspect the PR Diff
Review the modified files and categories of changes:
# In an active branch:
git diff main --statIdentify both:
- Cross-cutting functional areas impacted (public exports, specifications, catalogs, changelogs, PR structure).
- Programming languages and directories touched (
typescript/,python/,dart/,swift/,samples/,tools/).
Step 2: Activate Cross-Language Subskills (Language-Agnostic)
Evaluate the cross-language subskills below against the diff and read any activated document in full:
1. PR Hygiene, Atomicity, Scope Control & Software Design
- Skill:
pr-hygiene - Activate if: Always applicable when authoring, preparing, or reviewing a pull request.
2. Public API Boundaries, Cross-Framework Design & Changelogs
- Document:
subskills/public-api-and-cross-framework-design.md - Activate if:
- Any package entrypoint or facade (
index.ts,public-api.ts,package.json,__init__.py,lib/*.dart, or public Swift API), or anyCHANGELOG.mdis modified. - Any new class, function, interface, type, model, or DI token is exported.
- Renderer APIs, registration helpers, or adapters across
@a2ui/angular,@a2ui/lit,@a2ui/react,a2ui_flutter, orA2UISwiftUIare modified. - Imports between sibling packages change.
- Files under
specification/orcatalogs/(schemas, catalog fixtures, or examples) are modified or added. - Breaking changes or public API deprecations are introduced.
- A new source file is added (verify it has a single responsibility rather than acting as a catch-all
types.*orutils.*file).
- Any package entrypoint or facade (
3. Updating Changelogs (CHANGELOG.md)
- Skill:
update-changelog - Activate if: Any
CHANGELOG.mdis modified or a published package's public API or consumer-observable behavior changes.
Step 3: Route by Language for Language-Dependent Principles
Inspect the file extensions and directories in git diff main --stat and follow the matching language route(s) below. Only load routers and guides for languages present in your diff:
| Language / Ecosystem | Matching Paths & Extensions | Progressive Discovery Target |
| TypeScript & Web (Lit, Angular, React, Web Core, CSS, HTML) | *.ts, *.tsx, *.css, typescript/, samples/client/{lit,angular,react}/, tools/ | Read the TypeScript & Web router: subskills/typescript/INDEX.md to activate specific TypeScript, reactive lifecycle, CSS theming, accessibility, DOM testing, and AST public API subskills. |
| Python (Core, Agent SDK, Builders, Evaluators, Scripts) | *.py, python/, eval/, samples/agent/, tools/, scripts/ | Read the Python router: subskills/python/INDEX.md to activate Python package architecture, facade conventions, typing, and verification subskills. |
| Swift & SwiftUI (Core, SwiftUI Adapter, iOS Sample) | *.swift, swift/, Package.swift | Read the Swift & SwiftUI router: subskills/swift/INDEX.md to activate Swift target architecture, coding standards, and Testing subskills. |
| Dart & Flutter (Core, Agent SDK, Flutter Adapter) | *.dart, dart/, samples/client/flutter/, pubspec.yaml | Read the Dart & Flutter router: subskills/dart/INDEX.md to activate Dart analyzer rules, package versioning, and changelog subskills. |
Step 4: Progressively Load Activated Subskills
Read only the cross-language subskills activated in Step 2 and the language-specific subskills selected through Step 3 to evaluate your code against their rationales, checklists, and examples without loading unrelated language rules into context.
Trending
Less talk lately.about the whole repository
Who's talking about google/A2UI
- WorldofAI“Google A2UI: Agent-to-User Interface - Build AI Generated Apps EASILY! (CopilotKit AG-UI) Opensource”YouTube · Dec 30, 2025 · 59k views
- AI with Surya“A2UI: The Protocol That Makes AI Design Functional UIs”YouTube · Jan 10, 2026 · 29k views
- Fahd Mirza“Google A2UI: Agent-to-User Interface: Full Hands-on Guide”YouTube · Dec 25, 2025 · 13k views
- Code with Ahsan“A2UI: The Framework That Lets AI Build Interfaces”YouTube · Dec 25, 2025 · 10k views
- Hackathon Labs“A2UI - The Future of UI (Getting Started)”YouTube · Dec 21, 2025 · 4.4k views
The biggest 5 of 73 mentions linking to the repository that our crawl found. Each line is their own headline.
See all 73
Talked about on GitHub, YouTube, Bluesky and Hacker News (73 times).
On GitHub · 50
- Feb 10, 2026[Feat]: Extension Governance Framework for A2A — a2aproject/A2A8 reactions · 1 comment
- Apr 10, 2026FR : Integrations with the A2UI and AG‑UI Protocols — Chainlit/chainlit4 reactions · 2 comments
- Jan 16, 2026Question: json-render interoperability with Google A2UI (agent-to-UI protocol) — vercel-labs/json-render4 reactions · 5 comments
- May 14, 2026[ci] e2e_tests seems to be flaky — a2ui-project/a2ui2 reactions · 3 comments
- May 13, 2026feat(web-core): implement locale support and fix pluralize — a2ui-project/a2ui2 reactions
45 more on GitHub
- May 13, 2026Release automation. — flutter/genui2 reactions · 3 comments
- May 8, 2026Automate release process. — a2ui-project/a2ui2 reactions · 5 comments
- Apr 21, 2026docs(react,0.9): fix quick-start example — a2ui-project/a2ui2 reactions · 2 comments
- Apr 17, 2026fix(react,v0.9): wire `@a2ui/markdown-it` as default `MarkdownContext` value — a2ui-project/a2ui2 reactions
- Dec 16, 2025Update lit sample npm registry — a2ui-project/a2ui2 reactions · 1 comment
- Jun 2, 2026fix: enable inlineSources in tsconfig to fix broken sourcemaps in npm packages — a2ui-project/a2ui1 reaction · 8 comments
- Jun 1, 2026refactor(react, lit): tighten `ChildList` `any`/`unknown` types — a2ui-project/a2ui1 reaction
- May 31, 2026Explain goal and usage of the table 'Package publishing'. — dart-lang/ecosystem1 reaction · 9 comments
- May 29, 2026./scripts/fix_format.sh — a2ui-project/a2ui1 reaction · 1 comment
- May 27, 2026Kick off publish workflow. — flutter/genui1 reaction · 1 comment
- May 26, 2026Enable publishing workflows. — flutter/genui1 reaction
- May 20, 2026feat(specification): add steps property to Slider in v0.10 basic catalog — a2ui-project/a2ui1 reaction
- May 19, 2026feat(catalogs): allow binding to openUrl url — a2ui-project/a2ui1 reaction · 5 comments
- May 16, 2026Move submodules to repo root. — flutter/genui1 reaction
- May 15, 2026Improve e2e and eval workflows. — a2ui-project/a2ui1 reaction
- May 14, 2026Update e2e_test.yaml to run on schedule, because it is flacky. — a2ui-project/a2ui1 reaction · 2 comments
- May 14, 2026refactor(web_core): allow overriding recursion depth in DataValueSchema for v0_8 — a2ui-project/a2ui1 reaction · 1 comment
- May 13, 2026docs: add Lit custom component registration guide for v0.9 and v0.8 — a2ui-project/a2ui1 reaction · 3 comments
- May 6, 2026Add gcloud authentication prerequisites to Cloud Run deployment guide — a2ui-project/a2ui1 reaction
- May 3, 2026Add generative UI expression blog outline — reedwhetstone/coffee-app1 reaction · 1 comment
- Apr 28, 2026Migrate remaining Kotlin unit tests to conformance tests — a2ui-project/a2ui1 reaction
- Apr 28, 2026React (v0.9) basic catalog `Image` distorts when placed in a flex `Row` — a2ui-project/a2ui1 reaction · 1 comment
- Apr 23, 2026React renderer reset-styles should not affect custom registered components — a2ui-project/a2ui1 reaction · 2 comments
- Apr 22, 2026Fix A2UI agent examples unable to deploy to Gemini Enterprise Agent Engine and Cloud Run issues — a2ui-project/a2ui1 reaction · 2 comments
- Apr 17, 2026Don't use z.infer to fix closure compiler issues — a2ui-project/a2ui1 reaction · 5 comments
- Apr 16, 2026(React) Style widgets using CSS variables. — a2ui-project/a2ui1 reaction · 1 comment
- Apr 14, 2026Angular renderer does not export `provideMarkdownRenderer` function — a2ui-project/a2ui1 reaction · 2 comments
- Apr 10, 2026Add missing license header to fix CI failure — a2ui-project/a2ui1 reaction
- Apr 8, 2026Track full v0.9 JSON schema validation coverage in a2ui-swift — BBC6BAE9/a2ui-swift1 reaction
- Mar 29, 2026Showcase: Oat CSS as the foundation for an A2UI renderer — knadh/oat1 reaction · 1 comment
- Mar 24, 2026Both Getting Started guides fail on macOS (Quickstart + README) — a2ui-project/a2ui1 reaction · 8 comments
- Mar 10, 2026The complexity should be either supported by CUJ or removed. — a2ui-project/a2ui1 reaction · 5 comments
- Mar 10, 2026Revamp and expand the theming documentation based on learnings. — a2ui-project/a2ui1 reaction · 6 comments
- Feb 23, 2026Add Lit3 support — candrewlee14/effect-smol1 reaction
- Jan 30, 2026Clarify v0.9 draft state in docs — easyops-cn/a2ui-sdk1 reaction
- Oct 22, 2026[v1.0][docs] A2UI Express has no guide or reference page on a2ui.org (docs/public/) and the glossary links to the wrong GitHub org (a2ui-project/a2ui) — a2ui-project/a2ui0 reactions · 1 comment
- Jun 1, 2026[web_core] Loose `unknown`/`any` types in basic-catalog `ChildList` rendering — a2ui-project/a2ui0 reactions · 2 comments
- May 27, 2026[bug/docs] [react/a2ui_explorer] Missing package.json prevents dev server from starting — a2ui-project/a2ui0 reactions · 3 comments
- May 27, 2026Some `updateDataModel` edge cases could do with some clarification — a2ui-project/a2ui0 reactions · 2 comments
- May 18, 2026Explore runtime component contracts with JSON Schema / Standard Schema — cmx-tools/packages0 reactions
- May 1, 2026Replace CRUD operations with JSON patch — a2ui-project/a2ui0 reactions · 16 comments
- Apr 28, 2026The web renderers handle `Image` inconsistently with each other and with the spec — a2ui-project/a2ui0 reactions · 1 comment
- Apr 27, 2026Unify System Instruction Generation for Text and Tool Output Modes — a2ui-project/a2ui0 reactions · 2 comments
- Apr 24, 2026Support "portable A2UI web Components" which can be installed in a Catalog for *any* framework adapter — a2ui-project/a2ui0 reactions · 4 comments
- Apr 22, 2026Track: Migrate Kickstart to Zod v4 (post-#1088) — sabbour/kickstart0 reactions · 3 comments
On YouTube · 17
- Dec 30, 2025Google A2UI: Agent-to-User Interface - Build AI Generated Apps EASILY! (CopilotKit AG-UI) Opensource — WorldofAI59k views · 20 comments
- Jan 10, 2026A2UI: The Protocol That Makes AI Design Functional UIs — AI with Surya29k views · 27 comments
- Dec 25, 2025Google A2UI: Agent-to-User Interface: Full Hands-on Guide — Fahd Mirza13k views · 11 comments
- Dec 25, 2025A2UI: The Framework That Lets AI Build Interfaces — Code with Ahsan10k views · 24 comments
- Dec 21, 2025A2UI - The Future of UI (Getting Started) — Hackathon Labs4.4k views
12 more on YouTube
- Dec 31, 2025A2UI实测:AI一键生成可交互界面 A2UI Test: AI Generates Interactive UI with One Command — 大雷早上好2.4k views · 4 comments
- Mar 14, 2026A2UI: Google's Agent-to-User Interface Standard #shorts — Prism Labs1.4k views
- Jan 2, 2026Google A2UI Explained: The End of Boring AI Chatbots? — AIProphet814 views · 2 comments
- Apr 17, 2026A2UI Makes Building AI Agents Actually Simple #ai #tutorial — GithubTrends482 views
- Dec 25, 2025Google's A2UI Explained: AI That Generates Apps, Not Just Text — AINexLayer237 views · 1 comment
- Feb 4, 2026AIエージェントキャッチアップ #63 - A2UI — ジェネラティブエージェンツ / Generative Agents221 views
- Aug 3, 2026Generative UI: How AI Builds Interfaces in Real Time — In Simple Terms with Satish122 views
- Dec 25, 2025Google A2UI — RandomTechAce81 views
- Apr 19, 2026Build with AI: "B2B AI Agents: RAG & Secure Data Integration" ONLINE — GDG Ahlen75 views
- Mar 13, 2026google/A2UI - Gource visualisation — Gourcer49 views
- May 23, 2026A2UI — AI in the Whitebox - データサイエンスに関わる気になる話題をやさしく解説34 views
- Jul 21, 2026One Question That Sorts Every AI Agent Protocol (MCP, A2A, AG-UI,ANP) — SimplyExplain20 views
On Bluesky · 5
- Jan 29, 2026A2UI: Agent-to-User Interface — @tommis.fi4 likes and reposts
- Mar 12, 2026🚀 Skyrocketing! 🚀 (200+ new stars) 📦 google / A2UI ⭐ 12,289 (+220) 🗒 TypeScript — @github-trending-js.bsky.social2 likes and reposts · 1 reply
- Jan 16, 2026📢 A2UI: Agent-to-User Interface #veille — @camilleroux.com2 likes and reposts
- Mar 12, 2026🚀 Skyrocketing! 🚀 (200+ new stars) 📦 google / A2UI ⭐ 12,289 (+220) 🗒 TypeScript — @github-trending.bsky.social1 likes and repost · 1 reply
- Dec 28, 2025⭐️🔗 GitHub github.com/google/A2UI 👉 Discuss with me in Discord: linktr.ee/qdrddr — @qdrddr.bsky.social1 likes and repost
On Hacker News · 1
- Dec 23, 2025A2UI: Agent-to-User Interface1 point · 1 comment
Other versions10 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 10
- shinpr/claude-code-workflows★ 704same name
- nesquena/steward-os★ 73same name
- kaustubhhiware/agent-skills-fullstack-development★ 16same name
- Ron-dali/vibe-coding-rules★ 4same name
- sefaertunc/Worclaude★ 4same name
- thejordanleopold/claude-code-skills-distilled★ 4same name
- aivos-xie/hermes-skills★ 1same name
- sefaertunc/anthropic-watch★ 1same name
- 10xequity/claude-skill-library★ 0same name
- paologum/claude-skills★ 0same 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.
Used alongsideProjects with it also use prompt-engineering.
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.
kongyo2Skillprompt-engineering
Comprehensive prompt engineering framework for designing, optimizing, and iterating LLM prompts. This skill should be used when users request prompt creation, optimization, or improvement for any LLM task, or when users need help translating vague requirements into effective prompts through collaborative dialogue and iterative refinement.
Also in 3 projects that use this
In this repository23 other files it gives its agents.
- AGENTS.mdAGENTS.md
- docs/public/reference/agents.mdAGENTS.md
- swift/AGENTS.mdAGENTS.md
- tools/composer/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
- inspect-aiSkill
- natural-writingSkill
- pr-hygieneSkill
- update-changelogSkill
- a2ui-blueprint-complianceSkill
- a2ui-blueprint-maintenanceSkill
- a2ui-blueprint-navigatorSkill
- a2ui-create-feature-blueprintSkill
- a2ui-implement-feature-from-blueprintSkill
- inference-format-optimizerSkill
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.

