{"id":6396,"external_id":"plugins_6ac0bf67b4a48191bf31b40c1b3c28e8","name":"ui-consistency","display_name":"ui-consistency","developer":"Kamen Kurtev","category":"Developer Tools","listing_language":"en","listing_language_details":{"method":"cld-0.13.0/listing-v1","reliable":true,"detected_at":"2026-10-24T12:45:11Z","input_sha256":"33f82a03330540464bf13945fbd8a3dc5b25ce3c5ed22953cc45b0f5dcb8a3fa","source_fields":["release.description","release.interface.short_description","release.interface.long_description"]},"version":"1.6.0","skill_count":10,"first_seen_at":"2026-10-24T12:40:23.232Z","last_seen_at":"2026-11-04T00:00:30.805Z","last_changed_at":"2026-10-31T12:10:44.617Z","install_count":null,"search_matches":[],"research_summary":null,"research_reviewed_at":null,"metadata":{"canonical_app_id":null,"connector_id":null,"created_at":"2026-10-03T08:48:09.213844Z","discoverability":"LISTED","id":"plugins_6ac0bf67b4a48191bf31b40c1b3c28e8","is_template":false,"is_template_instance":false,"name":"ui-consistency","release":{"app_ids":[],"app_manifest":null,"app_templates":[],"description":"Keeps new UI consistent with a project's existing pages. Your coding agent reads how they are built and writes new ones the same way.","display_name":"ui-consistency","id":"pluginrel_0b79f7319d248191b737520cfa2b58b1","interface":{"brand_color":"#1F2A44","capabilities":["Reads how your existing pages are built","Plans a new page from your own components and theme","Checks a written page against the page it follows"],"category":"Developer Tools","composer_icon_dark_url":null,"composer_icon_url":"https://files.openai.com/content?id=file_00000000a7a481f4abcb9d3b95d15485","default_prompt":"Add a returns page like the orders page","default_prompts":["Add a returns page like the orders page","Check whether our settings pages match each other","Build the signup form the way our other forms are built"],"developer_name":"Kamen Kurtev","logo_url":"https://files.openai.com/content?id=file_00000000a56881f4936adf994b6e8ae5","logo_url_dark":null,"long_description":"ui-consistency makes your project's own design system something the coding agent reads before it writes UI. Ask for a page, a form or a change to one, and the agent first reads how the pages you already have are built: which shared components they use and how, the theme and its tokens, how they validate input and show errors. Then it writes the new page the same way, from a checklist, and has a separate agent compare the result with the page it follows. It works with any UI technology, including plain HTML and CSS, in a single app or a monorepo, and needs no configuration. It reads only your project; it has no server, no network access and no telemetry, and writes nothing into your repository besides the pages you asked for. It needs a project with code to read: in a conversation without one there is nothing for it to follow.","plugin_category_id":"developer tools","privacy_policy_url":"https://github.com/kamenkurtev/ui-consistency/blob/main/PRIVACY.md","screenshot_urls":[],"short_description":"Pages built like your others","terms_of_service_url":"https://github.com/kamenkurtev/ui-consistency/blob/main/LICENSE","website_url":"https://github.com/kamenkurtev/ui-consistency"},"keywords":["design-system","design","ui","ux","frontend","components","theme","design-tokens","css","ui-design","accessibility","code-quality","consistency","react","vue","angular"],"onboarding_skill_name":null,"requires_local_executor":false,"skills":[{"description":"For what the end user sees — checks whether it can be read and used without a mouse (contrast, focus, keyboard reach, labels, text alternatives, target size, structure) against a standard. Use when asked whether a page meets an accessibility standard, or when the project states an accessibility requirement.","interface":{"brand_color":null,"default_prompt":null,"display_name":"accessibility","icon_large_url":null,"icon_small_url":null,"iconography":"radar","short_description":"For what the end user sees — checks whether it can be read and used without a mouse (contrast, focus, keyboard reach, labels, text alternatives, target size, structure) against a standard. Use when asked whether a page meets an accessibility standard, or when the project states an accessibility requirement."},"name":"accessibility","plugin_release_skill_id":"pluginrsk_6ae5b87900248191886110156f968b86"},{"description":"For what the end user sees — prepares a fix or a small change to pages that already exist, at the positions a request names, on one page or on the pages it names, so they come out the way the project's other pages write them. Use when a page is fixed or tuned rather than built — a QA finding, a review comment, a screenshot with a note, a gap, size, colour or border to change, a label, a value, a field or a button — and no new page is asked for.","interface":{"brand_color":null,"default_prompt":null,"display_name":"adjusting","icon_large_url":null,"icon_small_url":null,"iconography":"bolt","short_description":"For what the end user sees — prepares a fix or a small change to pages that already exist, at the positions a request names, on one page or on the pages it names, so they come out the way the project's other pages write them. Use when a page is fixed or tuned rather than built — a QA finding, a review comment, a screenshot with a note, a gap, size, colour or border to change, a label, a value, a field or a button — and no new page is asked for."},"name":"adjusting","plugin_release_skill_id":"pluginrsk_6ae5b879f92c81918c3450675dd08dcd"},{"description":"For what the end user sees — counts what a project's pages do, so a convention is told apart from one page's habit. Use when a count of how the other pages write something is about to be recorded, or when a checker recounts a line of a checklist.","interface":{"brand_color":null,"default_prompt":null,"display_name":"conventions","icon_large_url":null,"icon_small_url":null,"iconography":"chart","short_description":"For what the end user sees — counts what a project's pages do, so a convention is told apart from one page's habit. Use when a count of how the other pages write something is about to be recorded, or when a checker recounts a line of a checklist."},"name":"conventions","plugin_release_skill_id":"pluginrsk_6ae5b879e1008191982f581d39cf07c1"},{"description":"For what the end user sees — the order that settles how a page is written when the project disagrees with itself, and what waits on a person. Use when the request, a named page, a shared piece and the other pages do not all agree on how a page is written, or before anything is put to a person.","interface":{"brand_color":null,"default_prompt":null,"display_name":"decisions","icon_large_url":null,"icon_small_url":null,"iconography":"hierarchy","short_description":"For what the end user sees — the order that settles how a page is written when the project disagrees with itself, and what waits on a person. Use when the request, a named page, a shared piece and the other pages do not all agree on how a page is written, or before anything is put to a person."},"name":"decisions","plugin_release_skill_id":"pluginrsk_6ae5b8788f2c8191b174fe4303a23fc2"},{"description":"For what the end user sees — reads the design for a page where there is one, and where there is none agrees the page's shape with the person, as a tree of the project's own pieces, before any code; draws it only when asked. Use when a request comes with a design, a picture, a described screen or an older screen to port, when a new page has no page near enough to follow, or when somebody wants to see how a page will look before it is built.","interface":{"brand_color":null,"default_prompt":null,"display_name":"design","icon_large_url":null,"icon_small_url":null,"iconography":"pen","short_description":"For what the end user sees — reads the design for a page where there is one, and where there is none agrees the page's shape with the person, as a tree of the project's own pieces, before any code; draws it only when asked. Use when a request comes with a design, a picture, a described screen or an older screen to port, when a new page has no page near enough to follow, or when somebody wants to see how a page will look before it is built."},"name":"design","plugin_release_skill_id":"pluginrsk_6ae5b87895948191adfde739c4730650"},{"description":"For what the end user sees — finds how this project already builds that kind of page (the components its pages reuse, theme values, validation, error handling) and writes it as a checklist before any UI code. Use when anything the end user sees is built or changed — a page, screen, form or component — whether or not the request names a page to follow, and before a plan's first task that changes what the user sees is handed to anyone, whichever process wrote the plan.","interface":{"brand_color":null,"default_prompt":null,"display_name":"finding-patterns","icon_large_url":null,"icon_small_url":null,"iconography":"search","short_description":"For what the end user sees — finds how this project already builds that kind of page (the components its pages reuse, theme values, validation, error handling) and writes it as a checklist before any UI code. Use when anything the end user sees is built or changed — a page, screen, form or component — whether or not the request names a page to follow, and before a plan's first task that changes what the user sees is handed to anyone, whichever process wrote the plan."},"name":"finding-patterns","plugin_release_skill_id":"pluginrsk_6ae5b87772108191a29e099966090af4"},{"description":"For what the end user sees — builds each page from its checklist, one page per task. Use when writing or changing UI and a checklist or UI plan exists, whether executing that plan page by page, refactoring a set of pages, or making a fix or a small change to pages that exist.","interface":{"brand_color":null,"default_prompt":null,"display_name":"implementing","icon_large_url":null,"icon_small_url":null,"iconography":"code","short_description":"For what the end user sees — builds each page from its checklist, one page per task. Use when writing or changing UI and a checklist or UI plan exists, whether executing that plan page by page, refactoring a set of pages, or making a fix or a small change to pages that exist."},"name":"implementing","plugin_release_skill_id":"pluginrsk_6ae5b877e0388191b3d2e19223a7b9a4"},{"description":"For what the end user sees — turns each page's checklist into a plan of one checkable task per page. Use when UI work spans several steps or pages (a new feature, a refactor of many pages), including when another planning skill is about to write that plan.","interface":{"brand_color":null,"default_prompt":null,"display_name":"planning","icon_large_url":null,"icon_small_url":null,"iconography":"hierarchy","short_description":"For what the end user sees — turns each page's checklist into a plan of one checkable task per page. Use when UI work spans several steps or pages (a new feature, a refactor of many pages), including when another planning skill is about to write that plan."},"name":"planning","plugin_release_skill_id":"pluginrsk_6ae5b8776a808191bea06628f83f20b4"},{"description":"For what the end user sees — how this project sets its values and elements — its theme, spacing, typography, and the element each role comes out as. Use when a phase needs a value or an element recorded, written or checked, or when somebody asks what the project's theme or scale is.","interface":{"brand_color":null,"default_prompt":null,"display_name":"values","icon_large_url":null,"icon_small_url":null,"iconography":"pen","short_description":"For what the end user sees — how this project sets its values and elements — its theme, spacing, typography, and the element each role comes out as. Use when a phase needs a value or an element recorded, written or checked, or when somebody asks what the project's theme or scale is."},"name":"values","plugin_release_skill_id":"pluginrsk_6ae5b8789eac8191ac188b3ab0e36a95"},{"description":"For what the end user sees — a separate agent checks written pages against their checklist and the rest of the project, and reports what differs. Use when UI has been written, before calling it done or opening a PR, or when asked whether pages match (\"does this match\", \"did I miss a page\", a page that looks or behaves unlike its neighbours).","interface":{"brand_color":null,"default_prompt":null,"display_name":"verifying","icon_large_url":null,"icon_small_url":null,"iconography":"radar","short_description":"For what the end user sees — a separate agent checks written pages against their checklist and the rest of the project, and reports what differs. Use when UI has been written, before calling it done or opening a PR, or when asked whether pages match (\"does this match\", \"did I miss a page\", a page that looks or behaves unlike its neighbours)."},"name":"verifying","plugin_release_skill_id":"pluginrsk_6ae5b877b6308191bc290168d421c2f5"}],"version":"1.6.0"},"scope":"GLOBAL","status":"ENABLED"},"research":null,"package_metadata":{"name":"ui-consistency","author":{"name":"Kamen Kurtev"},"license":"MIT","sources":[{"path":".codex-plugin/plugin.json","sha256":"6324d39f15fb8c9eaad6ba6b56a2ec5ab413d002bbf59171f5acf3713501367e"}],"version":"1.6.0","homepage":"https://github.com/kamenkurtev/ui-consistency","keywords":["design-system","design","ui","ux","frontend","components","theme","design-tokens","css","ui-design","accessibility","code-quality","consistency","react","vue","angular"],"repository":"https://github.com/kamenkurtev/ui-consistency","artifact_id":130499,"observed_at":"2026-11-03T00:12:34Z","support_url":"https://github.com/kamenkurtev/ui-consistency/issues","capabilities":["Reads how your existing pages are built","Plans a new page from your own components and theme","Checks a written page against the page it follows"],"field_sources":{"name":0,"author":0,"license":0,"version":0,"homepage":0,"keywords":0,"repository":0,"support_url":0,"capabilities":0},"extraction_version":1,"conflicts_or_errors":[]}}