Update to ui-consistency
Snapshot Oct 31, 2026 · 06:10 UTC · version 1.5.0
Collection source: downloaded plugin package.
Instructions updated for conventions
Skill instructions — Now says: - If no application mounts the pages — each page is a document of its own — the bound is **every page that loads a file the reference loads too**, such as...
Observed in instructions or declared skills. Runtime behavior has not been tested.
Up to 10 plugins free · no card required.
All fields and original values.
Skill instructions
Oct 24, 2026 · 13:35 UTC
No removed lines (ordering may have changed)
Oct 31, 2026 · 06:10 UTC
- If no application mounts the pages — each page is a document of its own — the bound is **every page that loads a file the reference loads too**, such as a stylesheet, a script or a tokens file, and those files. - If no other page l...
Supporting files
Oct 24, 2026 · 13:35 UTC
[{"relative_path":"large-project.md","size_in_bytes":2654},{"relative_path":"rare.md","size_in_bytes":5087}]
Oct 31, 2026 · 06:10 UTC
[{"relative_path":"large-project.md","size_in_bytes":2654},{"relative_path":"rare.md","size_in_bytes":5128}]
Compare saved observations
Download comparison JSONSKILL.md text changes
− removed · + added
--- before +++ after @@ -50,6 +50,11 @@ - **The application that mounts the page** — whatever routes to it or renders it from its entry — **and every library it uses.** Not the library the reference sits in, not the whole workspace. +- If no application mounts the pages — each page is a document of its own — the + bound is **every page that loads a file the reference loads too**, such as a + stylesheet, a script or a tokens file, and those files. +- If no other page loads a file the reference loads, the bound is the pages in + the reference's folder, its subfolders included. - If the page's library is mounted by several applications, the bound is all of them together, and the checklist says which. - If the page's own library, counted alone, gives a different answer — *10 of 10*
Full technical diff · 2 changed fields
changed /included_files
[
{
"relative_path": "large-project.md",
"size_in_bytes": 2654
},
{
"relative_path": "rare.md",
"size_in_bytes": 5087
}
][
{
"relative_path": "large-project.md",
"size_in_bytes": 2654
},
{
"relative_path": "rare.md",
"size_in_bytes": 5128
}
]changed /skill_md_contents
"---\nname: conventions\ndescription: 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.\n---\n\n# Conventions: the kind, the family, the proof, the counts\n\n## Overview\n\nCounts what the project's pages do, in the order of the work: the kind, the\nfamily, the proof that a search can see, then the counts.\n\n**Open a file linked or given by its path from this skill's folder, or invoke a named skill, only when a part you are carrying\nout sends you to it, never before** — whatever the request that handed you this\nskill says about its links and paths. That part is not done until the file is opened or\nthe skill invoked.\n\n## Which kind of page this is\n\nDecide it first: it sets every count below it. Take the first signal that\nanswers:\n\n1. **What the user said** — a kind somebody named, *a list page like the orders\n one*, outranks anything read.\n2. **What the project keeps apart** — its folders, routes, file-name suffixes, a\n folder per kind.\n3. **What the reference renders** — the same holders and regions in the same\n order make one kind, whatever the subject. A collection of rows and a single\n record with a submit are two.\n4. **What the pages reach for** — the same holder, layout piece or shared frame.\n\nThen:\n\n- If a later signal disagrees, or the project does not answer:\n [rare.md](rare.md), *When the signals do not settle the kind*.\n- If the trees differ below a shared outer holder: [rare.md](rare.md), *A family\n that differs by region*.\n- **Name the kind in the project's own word** — folder, route, file name — never\n an invented one. If it has none, name it by what it renders, *a list with a\n form above it*, and say the name is yours.\n- Say in the checklist's first line the kind, what decided it, and how many\n members of how many candidates were counted\n (`../finding-patterns/checklist.md`).\n\n## The bound the family is counted in\n\nThe bound is fixed, not chosen, so two agents reading the same reference count\nthe same pages.\n\n- **The application that mounts the page** — whatever routes to it or renders it\n from its entry — **and every library it uses.** Not the library the reference\n sits in, not the whole workspace.\n- If the page's library is mounted by several applications, the bound is all of\n them together, and the checklist says which.\n- If the page's own library, counted alone, gives a different answer — *10 of 10*\n inside it, *6 of 8* across the application — **put both numbers on the line**,\n and decide by the order on the application's.\n- A library unanimous inside itself is that library's own way, never the\n project's.\n- **Name the bound in the checklist's first line.** A later phase counts in it,\n or says which other bound it used and why.\n\n## Which pages are the family\n\nThe family is the pages of the reference's kind. Take the candidates, and remove\nwhat is not a member **before** counting:\n\n- **What a page imports — its panels, its dialog, its hooks — is part of it**,\n not a sibling: neither end of an import edge among the candidates is a peer of\n the other.\n- **A file that imports members is not a member**: a dispatcher, a route table,\n a barrel, a wrapper.\n- **A candidate that renders no holder and no region of the kind is not of the\n kind.** Report it so; never count it as a member that lacks them.\n- **State both numbers** — candidates considered, members counted — and what was\n left out and why.\n- **If the members span more than one area** — app, library or package — **or\n are more than can be read in full**, it is a large project: follow\n [large-project.md](large-project.md) before counting.\n- **If the work creates a shared piece that takes over roles the pages had** —\n where a state is kept, which side takes a default share — count those roles\n as [rare.md](rare.md), *A shared piece the work creates*, says.\n\n*Why:* a dispatcher counted as a page once turned 8 of 8 on every role into 8 of\n9 — a unanimous convention reported as one drifting page.\n\n## Prove the search can see before trusting a count\n\nThe reference is one of the pages counted, so every search has a known answer: it\nmust find what the reference writes.\n\n- **Run each search on the reference first.** One that misses the reference is\n broken, and nothing it counts is a result.\n- **A zero for a role the reference writes is a broken search** — a wrong glob, a\n list never split, a pattern that misses this dialect, a bound that resolved to\n nothing. Fix it and count again; never record it.\n- **A zero across the whole family is unverified**, not a convention. Record\n *none of them write this* only when the same search, over the same files,\n found something else.\n\n*Why:* a loop run once over the whole list instead of once per file reported\n*0 of 9* twelve times, holder included — the opposite of the truth.\n\n## Counting honestly\n\n- **Count per position** — a role where it stands — never per component alone:\n 10 of 18 buttons full-width reads as no rule, and was 10 of 10 in the content\n area and 0 of 4 in toolbars.\n- **Count *whether* apart from *which way*.** First how many members have the\n role at all; then, over those, which way each writes it. *None* answers\n *whether* and is never a way: *14 of 21 filter; of those 14, 10 through the\n shared toggle and 4 by hand* — not *10, 4 and 7 across three ways*.\n- **Count what the component comes out as too**, and the heading level where the\n position is a heading — `ui-consistency:values`, *Elements*.\n- **A count carries its file spread.** Four identical buttons in one file are\n one page's habit; 10 of 10 across 8 files is a convention. A page and the files\n only it imports count as one file of the spread; say so where a member spans\n files.\n- **A missing prop is not yet a deviation.** The theme or one of the project's\n wrappers may set it already.\n- **Search for the exact name.** A container whose name starts with the\n component's once turned 18 uses into 25.\n- **If the task adds a position no member has** — a second control, a control\n nobody has here — count it as [rare.md](rare.md), *A position no member has*,\n says.\n- **A family of one is never a convention.** Write what the page does as the\n reference's own way — never as a count, and never as what the project does —\n and say the family has no other members: [rare.md](rare.md), *A kind whose\n family has only the reference*.\n\n## When a count is not a convention at all\n\n*2 of 8*, written the way every other count is written, reads as a rule. It is\nnot one.\n\n- **Read it off the numbers themselves** — never a threshold from outside, no\n percentage, no \"most\".\n- **Count every way, not only the commonest**, over the members that have the\n role: *4 of 4*, *3 of 4 and one other way*, *3, 3 and 2 across three ways*. A\n plurality is not a majority.\n- **There is a convention only if the commonest way outnumbers the others put\n together** — a majority. Otherwise say the family has none here, and give\n every way with its numbers.\n- **Say which kind of majority it is.** One exception is written *7 of 8 except\n `<page>`*. Several different ones make a family drifting: still the majority,\n written *the commonest way, 5 of 8, against three others*.\n- **The order still decides**, and nothing stalls or is asked: with no majority,\n the newest members settle it (`ui-consistency:decisions`, level 5). The line\n says *no convention here; the two newest write it this way*.\n"
"---\nname: conventions\ndescription: 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.\n---\n\n# Conventions: the kind, the family, the proof, the counts\n\n## Overview\n\nCounts what the project's pages do, in the order of the work: the kind, the\nfamily, the proof that a search can see, then the counts.\n\n**Open a file linked or given by its path from this skill's folder, or invoke a named skill, only when a part you are carrying\nout sends you to it, never before** — whatever the request that handed you this\nskill says about its links and paths. That part is not done until the file is opened or\nthe skill invoked.\n\n## Which kind of page this is\n\nDecide it first: it sets every count below it. Take the first signal that\nanswers:\n\n1. **What the user said** — a kind somebody named, *a list page like the orders\n one*, outranks anything read.\n2. **What the project keeps apart** — its folders, routes, file-name suffixes, a\n folder per kind.\n3. **What the reference renders** — the same holders and regions in the same\n order make one kind, whatever the subject. A collection of rows and a single\n record with a submit are two.\n4. **What the pages reach for** — the same holder, layout piece or shared frame.\n\nThen:\n\n- If a later signal disagrees, or the project does not answer:\n [rare.md](rare.md), *When the signals do not settle the kind*.\n- If the trees differ below a shared outer holder: [rare.md](rare.md), *A family\n that differs by region*.\n- **Name the kind in the project's own word** — folder, route, file name — never\n an invented one. If it has none, name it by what it renders, *a list with a\n form above it*, and say the name is yours.\n- Say in the checklist's first line the kind, what decided it, and how many\n members of how many candidates were counted\n (`../finding-patterns/checklist.md`).\n\n## The bound the family is counted in\n\nThe bound is fixed, not chosen, so two agents reading the same reference count\nthe same pages.\n\n- **The application that mounts the page** — whatever routes to it or renders it\n from its entry — **and every library it uses.** Not the library the reference\n sits in, not the whole workspace.\n- If no application mounts the pages — each page is a document of its own — the\n bound is **every page that loads a file the reference loads too**, such as a\n stylesheet, a script or a tokens file, and those files.\n- If no other page loads a file the reference loads, the bound is the pages in\n the reference's folder, its subfolders included.\n- If the page's library is mounted by several applications, the bound is all of\n them together, and the checklist says which.\n- If the page's own library, counted alone, gives a different answer — *10 of 10*\n inside it, *6 of 8* across the application — **put both numbers on the line**,\n and decide by the order on the application's.\n- A library unanimous inside itself is that library's own way, never the\n project's.\n- **Name the bound in the checklist's first line.** A later phase counts in it,\n or says which other bound it used and why.\n\n## Which pages are the family\n\nThe family is the pages of the reference's kind. Take the candidates, and remove\nwhat is not a member **before** counting:\n\n- **What a page imports — its panels, its dialog, its hooks — is part of it**,\n not a sibling: neither end of an import edge among the candidates is a peer of\n the other.\n- **A file that imports members is not a member**: a dispatcher, a route table,\n a barrel, a wrapper.\n- **A candidate that renders no holder and no region of the kind is not of the\n kind.** Report it so; never count it as a member that lacks them.\n- **State both numbers** — candidates considered, members counted — and what was\n left out and why.\n- **If the members span more than one area** — app, library or package — **or\n are more than can be read in full**, it is a large project: follow\n [large-project.md](large-project.md) before counting.\n- **If the work creates a shared piece that takes over roles the pages had** —\n where a state is kept, which side takes a default share — count those roles\n as [rare.md](rare.md), *A shared piece the work creates*, says.\n\n*Why:* a dispatcher counted as a page once turned 8 of 8 on every role into 8 of\n9 — a unanimous convention reported as one drifting page.\n\n## Prove the search can see before trusting a count\n\nThe reference is one of the pages counted, so every search has a known answer: it\nmust find what the reference writes.\n\n- **Run each search on the reference first.** One that misses the reference is\n broken, and nothing it counts is a result.\n- **A zero for a role the reference writes is a broken search** — a wrong glob, a\n list never split, a pattern that misses this dialect, a bound that resolved to\n nothing. Fix it and count again; never record it.\n- **A zero across the whole family is unverified**, not a convention. Record\n *none of them write this* only when the same search, over the same files,\n found something else.\n\n*Why:* a loop run once over the whole list instead of once per file reported\n*0 of 9* twelve times, holder included — the opposite of the truth.\n\n## Counting honestly\n\n- **Count per position** — a role where it stands — never per component alone:\n 10 of 18 buttons full-width reads as no rule, and was 10 of 10 in the content\n area and 0 of 4 in toolbars.\n- **Count *whether* apart from *which way*.** First how many members have the\n role at all; then, over those, which way each writes it. *None* answers\n *whether* and is never a way: *14 of 21 filter; of those 14, 10 through the\n shared toggle and 4 by hand* — not *10, 4 and 7 across three ways*.\n- **Count what the component comes out as too**, and the heading level where the\n position is a heading — `ui-consistency:values`, *Elements*.\n- **A count carries its file spread.** Four identical buttons in one file are\n one page's habit; 10 of 10 across 8 files is a convention. A page and the files\n only it imports count as one file of the spread; say so where a member spans\n files.\n- **A missing prop is not yet a deviation.** The theme or one of the project's\n wrappers may set it already.\n- **Search for the exact name.** A container whose name starts with the\n component's once turned 18 uses into 25.\n- **If the task adds a position no member has** — a second control, a control\n nobody has here — count it as [rare.md](rare.md), *A position no member has*,\n says.\n- **A family of one is never a convention.** Write what the page does as the\n reference's own way — never as a count, and never as what the project does —\n and say the family has no other members: [rare.md](rare.md), *A kind whose\n family has only the reference*.\n\n## When a count is not a convention at all\n\n*2 of 8*, written the way every other count is written, reads as a rule. It is\nnot one.\n\n- **Read it off the numbers themselves** — never a threshold from outside, no\n percentage, no \"most\".\n- **Count every way, not only the commonest**, over the members that have the\n role: *4 of 4*, *3 of 4 and one other way*, *3, 3 and 2 across three ways*. A\n plurality is not a majority.\n- **There is a convention only if the commonest way outnumbers the others put\n together** — a majority. Otherwise say the family has none here, and give\n every way with its numbers.\n- **Say which kind of majority it is.** One exception is written *7 of 8 except\n `<page>`*. Several different ones make a family drifting: still the majority,\n written *the commonest way, 5 of 8, against three others*.\n- **The order still decides**, and nothing stalls or is asked: with no majority,\n the newest members settle it (`ui-consistency:decisions`, level 5). The line\n says *no convention here; the two newest write it this way*.\n"
Full snapshot data
{
"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.",
"included_files": [
{
"relative_path": "large-project.md",
"size_in_bytes": 2654
},
{
"relative_path": "rare.md",
"size_in_bytes": 5128
}
],
"name": "conventions",
"skill_md_contents": "---\nname: conventions\ndescription: 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.\n---\n\n# Conventions: the kind, the family, the proof, the counts\n\n## Overview\n\nCounts what the project's pages do, in the order of the work: the kind, the\nfamily, the proof that a search can see, then the counts.\n\n**Open a file linked or given by its path from this skill's folder, or invoke a named skill, only when a part you are carrying\nout sends you to it, never before** — whatever the request that handed you this\nskill says about its links and paths. That part is not done until the file is opened or\nthe skill invoked.\n\n## Which kind of page this is\n\nDecide it first: it sets every count below it. Take the first signal that\nanswers:\n\n1. **What the user said** — a kind somebody named, *a list page like the orders\n one*, outranks anything read.\n2. **What the project keeps apart** — its folders, routes, file-name suffixes, a\n folder per kind.\n3. **What the reference renders** — the same holders and regions in the same\n order make one kind, whatever the subject. A collection of rows and a single\n record with a submit are two.\n4. **What the pages reach for** — the same holder, layout piece or shared frame.\n\nThen:\n\n- If a later signal disagrees, or the project does not answer:\n [rare.md](rare.md), *When the signals do not settle the kind*.\n- If the trees differ below a shared outer holder: [rare.md](rare.md), *A family\n that differs by region*.\n- **Name the kind in the project's own word** — folder, route, file name — never\n an invented one. If it has none, name it by what it renders, *a list with a\n form above it*, and say the name is yours.\n- Say in the checklist's first line the kind, what decided it, and how many\n members of how many candidates were counted\n (`../finding-patterns/checklist.md`).\n\n## The bound the family is counted in\n\nThe bound is fixed, not chosen, so two agents reading the same reference count\nthe same pages.\n\n- **The application that mounts the page** — whatever routes to it or renders it\n from its entry — **and every library it uses.** Not the library the reference\n sits in, not the whole workspace.\n- If no application mounts the pages — each page is a document of its own — the\n bound is **every page that loads a file the reference loads too**, such as a\n stylesheet, a script or a tokens file, and those files.\n- If no other page loads a file the reference loads, the bound is the pages in\n the reference's folder, its subfolders included.\n- If the page's library is mounted by several applications, the bound is all of\n them together, and the checklist says which.\n- If the page's own library, counted alone, gives a different answer — *10 of 10*\n inside it, *6 of 8* across the application — **put both numbers on the line**,\n and decide by the order on the application's.\n- A library unanimous inside itself is that library's own way, never the\n project's.\n- **Name the bound in the checklist's first line.** A later phase counts in it,\n or says which other bound it used and why.\n\n## Which pages are the family\n\nThe family is the pages of the reference's kind. Take the candidates, and remove\nwhat is not a member **before** counting:\n\n- **What a page imports — its panels, its dialog, its hooks — is part of it**,\n not a sibling: neither end of an import edge among the candidates is a peer of\n the other.\n- **A file that imports members is not a member**: a dispatcher, a route table,\n a barrel, a wrapper.\n- **A candidate that renders no holder and no region of the kind is not of the\n kind.** Report it so; never count it as a member that lacks them.\n- **State both numbers** — candidates considered, members counted — and what was\n left out and why.\n- **If the members span more than one area** — app, library or package — **or\n are more than can be read in full**, it is a large project: follow\n [large-project.md](large-project.md) before counting.\n- **If the work creates a shared piece that takes over roles the pages had** —\n where a state is kept, which side takes a default share — count those roles\n as [rare.md](rare.md), *A shared piece the work creates*, says.\n\n*Why:* a dispatcher counted as a page once turned 8 of 8 on every role into 8 of\n9 — a unanimous convention reported as one drifting page.\n\n## Prove the search can see before trusting a count\n\nThe reference is one of the pages counted, so every search has a known answer: it\nmust find what the reference writes.\n\n- **Run each search on the reference first.** One that misses the reference is\n broken, and nothing it counts is a result.\n- **A zero for a role the reference writes is a broken search** — a wrong glob, a\n list never split, a pattern that misses this dialect, a bound that resolved to\n nothing. Fix it and count again; never record it.\n- **A zero across the whole family is unverified**, not a convention. Record\n *none of them write this* only when the same search, over the same files,\n found something else.\n\n*Why:* a loop run once over the whole list instead of once per file reported\n*0 of 9* twelve times, holder included — the opposite of the truth.\n\n## Counting honestly\n\n- **Count per position** — a role where it stands — never per component alone:\n 10 of 18 buttons full-width reads as no rule, and was 10 of 10 in the content\n area and 0 of 4 in toolbars.\n- **Count *whether* apart from *which way*.** First how many members have the\n role at all; then, over those, which way each writes it. *None* answers\n *whether* and is never a way: *14 of 21 filter; of those 14, 10 through the\n shared toggle and 4 by hand* — not *10, 4 and 7 across three ways*.\n- **Count what the component comes out as too**, and the heading level where the\n position is a heading — `ui-consistency:values`, *Elements*.\n- **A count carries its file spread.** Four identical buttons in one file are\n one page's habit; 10 of 10 across 8 files is a convention. A page and the files\n only it imports count as one file of the spread; say so where a member spans\n files.\n- **A missing prop is not yet a deviation.** The theme or one of the project's\n wrappers may set it already.\n- **Search for the exact name.** A container whose name starts with the\n component's once turned 18 uses into 25.\n- **If the task adds a position no member has** — a second control, a control\n nobody has here — count it as [rare.md](rare.md), *A position no member has*,\n says.\n- **A family of one is never a convention.** Write what the page does as the\n reference's own way — never as a count, and never as what the project does —\n and say the family has no other members: [rare.md](rare.md), *A kind whose\n family has only the reference*.\n\n## When a count is not a convention at all\n\n*2 of 8*, written the way every other count is written, reads as a rule. It is\nnot one.\n\n- **Read it off the numbers themselves** — never a threshold from outside, no\n percentage, no \"most\".\n- **Count every way, not only the commonest**, over the members that have the\n role: *4 of 4*, *3 of 4 and one other way*, *3, 3 and 2 across three ways*. A\n plurality is not a majority.\n- **There is a convention only if the commonest way outnumbers the others put\n together** — a majority. Otherwise say the family has none here, and give\n every way with its numbers.\n- **Say which kind of majority it is.** One exception is written *7 of 8 except\n `<page>`*. Several different ones make a family drifting: still the majority,\n written *the commonest way, 5 of 8, against three others*.\n- **The order still decides**, and nothing stalls or is asked: with no majority,\n the newest members settle it (`ui-consistency:decisions`, level 5). The line\n says *no convention here; the two newest write it this way*.\n"
}SHA-256 of public snapshot: a3bf3c3a4396b5a8dd37d0fb25775bf5781a8ed71a4aaeadddaef74897a32576