← Commit history
README.md+2
@@ -161,6 +161,7 @@ The pack encodes these; they're worth stating here too: | **wiki-discovery** | How pages get found: the two layers, current state, and the TODO list _(Layer 1 live; `/discover` partial)_. | | **wiki-scoring** | Stars / high-fives / installs / trending _(stars live; rest partial)_. | | **wiki-workspaces** | Ship a Hydrogen bench with a project: `hydrogen/workspace.json`, export with adom-cli, push, fork or clone, apply in a container. |+| **wiki-brand** | Whose brand a page wears: every owner's guide at `<owner>/brand`, the `adom-wiki brand` verbs, the BRAND_* hints, and the rule that Adom's look belongs only on adom pages. | | **wiki-bloat** | The rule against page sprawl: find where a thing already lives before creating anything. |  ## Talk to the AI@@ -173,6 +174,7 @@ The pack encodes these; they're worth stating here too: - "Bundle these skills into one package" → wiki-skillpack - "Add a child plugin to adom-usb / a bridge to adom-desktop" → wiki-family - "Ship my Hydrogen layout with the project" / "open the author's bench" → wiki-workspaces+- "my brand" / "brand guide" / BRAND_GUIDE_STARTER → wiki-brand  ## Dependencies 
SKILL.md+5−2
@@ -7,7 +7,7 @@ description: >-   wiki page. The wiki is six tools in one (git host + wiki package manager (`adom-wiki pkg`) +   release database + discussion forum + pull requests + discovery), and three repo   archetypes have emerged from real use: Page, Skillpack, and Family. This pack-  routes to 22 focused sub-skills and carries the hard rules that keep pages from+  routes to 23 focused sub-skills and carries the hard rules that keep pages from   breaking. Trigger words: adompkg (deprecated old name), the wiki, adom wiki, wiki.adom.inc, publish to the   wiki, wiki repo, wiki page, what kind of wiki repo, repo archetype, skillpack,   super-skill, wiki family, parent child repo, wiki readme, hero unlinked,@@ -16,7 +16,8 @@ description: >-   adom-wiki pkg publish, publish a chip, component page, chip page, molecule page,   tape and reel, pin 1 orientation, cached chip thumbnails, Z-up component hero,   reviewed laser etch, reusable chip outlines, component page widget, shared-  workspace, hydrogen/workspace.json, ship my Hydrogen layout, open in Hydrogen.+  workspace, hydrogen/workspace.json, ship my Hydrogen layout, open in Hydrogen,+  brand guide, my brand, whose brand, owner brand, brand.json. ---  # Adom Wiki Skill Pack@@ -107,6 +108,7 @@ important enough to state up front: | **wiki-discovery** | How pages get found: the two layers, current state, and the TODO list. | | **wiki-scoring** | Stars / high-fives / installs / trending: what's tracked and how to earn it. | | **wiki-workspaces** | Ship a Hydrogen bench with a project: `hydrogen/workspace.json` (panes + apps by wiki page), export with adom-cli, push, fork or clone, apply in a container; the WORKSPACE_* hints. |+| **wiki-brand** | Whose brand a page wears: every owner's guide at `<owner>/brand` (brand.json, fonts, logos), `adom-wiki brand show|pull|set|push|confirm`, the BRAND_* hints, and the rule that Adom's look belongs only on adom pages. | | **wiki-bloat** | THE rule against page sprawl: find where a thing already lives BEFORE creating anything; "add to the skillpack" means add a SKILL.md there, never mint a page. |  ## Talk to the AI@@ -120,6 +122,7 @@ important enough to state up front: - "Make a sub-readme" / "my README is too long, split it" / "link a deep-dive doc" → wiki-sub-readme - "Keep the source private but let people install it" → wiki-visibility - "Ship my Hydrogen layout with the project" / "open the author's bench" / "WORKSPACE_URL_LOCAL" → wiki-workspaces+- "my brand" / "whose colors" / "brand guide" / BRAND_GUIDE_STARTER / BRAND_GUIDE_MISSING / "make it look like my brand" → wiki-brand - "Bundle these skills into one package" → wiki-skillpack - "Add a child plugin to adom-usb" → wiki-family - "Publish this chip / molecule / board to the wiki" → wiki-component
install.sh+1
@@ -45,6 +45,7 @@ install_skill wiki-sub-readme skills/wiki-sub-readme/SKILL.md install_skill wiki-subreadme skills/wiki-subreadme/SKILL.md install_skill wiki-hero-studio skills/wiki-hero-studio/SKILL.md install_skill wiki-workspaces skills/wiki-workspaces/SKILL.md+install_skill wiki-brand          skills/wiki-brand/SKILL.md  echo "OK: Installed Adom Wiki Skill Pack and all bundled skills to $DEST" done
package.json+4−3
@@ -1,7 +1,7 @@ {   "slug": "adom-wiki-skillpack",   "title": "Adom Wiki Skill Pack",-  "version": "0.8.15",+  "version": "0.8.16",   "type": "skill",   "hero": {     "path": "screenshots/hero.png"@@ -119,7 +119,8 @@     "skills/wiki-component-lod/references/generation.md",     "skills/wiki-component-lod/references/verification.md",     "skills/wiki-component-lod/references/runtime.md",-    "skills/wiki-workspaces/SKILL.md"+    "skills/wiki-workspaces/SKILL.md",+    "skills/wiki-brand/SKILL.md"   ],   "scripts": {     "install": "./install.sh",@@ -151,4 +152,4 @@     }   ],   "discovery_pitch": "Anything touching wiki.adom.inc: publishing, page archetypes, readmes, heroes, discovery, and the wiki-bloat rule (find where a thing already lives before creating any page)."-}\ No newline at end of file+}
page.json+12−4
@@ -105,9 +105,16 @@     "coarse-first board viewer",     "3D board GPU memory freeze",     "reviewed chip artwork in assembled board",+    "hero GLB versus board LOD",+    "footprint or silkscreen baked into high LOD",+    "image-first component LOD previews",     "shared workspace",+    "project workspace",     "hydrogen/workspace.json",-    "workspace apply"+    "workspace apply",+    "workspace export",+    "ship my hydrogen layout",+    "open in hydrogen"   ],   "discovery_pitch": "Anything touching wiki.adom.inc: publishing, page archetypes, readmes, heroes, discovery, and the wiki-bloat rule (find where a thing already lives before creating any page).",   "sample_prompts": [@@ -124,8 +131,8 @@       "prompt": "Before I create this wiki page, check whether the thing already has a home."     }   ],-  "version": "0.8.15",-  "description": "The Adom Wiki Skill Pack : one main skill plus the focused sub-skills that teach the AI to publish to wiki.adom.inc without breaking pages, name the wiki repo archetypes (Page, Skillpack, Family), and publish rich component pages (chips, molecules, boards). The wiki is six tools in one: git, package manager, releases, discussions, pull requests, and discovery. One package manager install drops the whole set onto your container.",+  "version": "0.8.16",+  "description": "The Adom Wiki Skill Pack : one main skill plus the focused sub-skills that teach the AI to publish to wiki.adom.inc without breaking pages, name the wiki repo archetypes (Page, Skillpack, Family), and publish rich component pages (chips, molecules, boards). The wiki is six tools in one: git, package manager, releases, discussions, pull requests, and discovery. One package manager install drops the whole set onto your container. Includes reviewed Z-up component artwork, surface-selected MPN marking, reusable thumbnail caches and component-page widgets.",   "dependencies": {     "adom/adom-wiki-hero-image": "^0.2.2",     "adom/component-widgets": "^1.1.12"@@ -165,7 +172,8 @@     "skills/wiki-component-lod/references/generation.md",     "skills/wiki-component-lod/references/verification.md",     "skills/wiki-component-lod/references/runtime.md",-    "skills/wiki-workspaces/SKILL.md"+    "skills/wiki-workspaces/SKILL.md",+    "skills/wiki-brand/SKILL.md"   ],   "scripts": {     "install": "./install.sh",
skills/wiki-brand/SKILL.mdadded+109
@@ -0,0 +1,109 @@+---+name: wiki-brand+description: >-+  Whose brand a wiki page wears, and how to read and edit it. Every owner (a+  user or an org) has one brand guide at <owner>/brand: brand.json (colors,+  fonts, logos), SKILL.md, the logo files. Heroes, composed billboards and+  AI-built pages use the PAGE OWNER's guide, never Adom's on someone else's+  page. Read this before any visual work on a page you do not own, when a+  publish returns BRAND_GUIDE_STARTER or BRAND_GUIDE_MISSING, when a resolver+  says starter/missing/invalid/private, or when someone asks for their colors,+  fonts, logo, brand guide, wordmark, or "make it look like my brand".+  Trigger words: brand guide, brand.json, whose brand, owner brand, my colors,+  my fonts, my logo, wordmark, kcknox brand, org brand, adom-wiki brand,+  BRAND_GUIDE_STARTER, BRAND_GUIDE_MISSING, BRAND_JSON_INVALID, BRAND_EDITORS,+  confirm the brand, starter guide, /api/owners/<owner>/brand.+---++# wiki-brand: whose brand a page wears++Parent: [adom-wiki-skillpack](../../SKILL.md). Adom's own guide is the `brand`+skill (page `adom/brand`); this skill is about EVERY owner's guide, including+Adom's, and the rule that decides which one applies.++## The rule++The page OWNER decides the brand. `adom/...` pages wear Adom's guide. Any other+owner's page wears that owner's guide, and when it does not resolve, tools hold+NEUTRAL (grey, no wordmark) rather than fall back to Adom's look. Hero Studio+(0.20.9+), the wiki's composed billboards and the CLI all follow this; anything+you draw by hand must too. A wrong brand on someone else's page is worse than+no brand.++## Read a guide++```bash+adom-wiki brand show <owner>            # status, who may edit, colors, fonts, logo URLs+adom-wiki brand show <owner> --json     # the resolver body verbatim+# the API behind it:+GET /api/owners/<owner>/brand+```++The resolver answers `status` plus, when readable, `brand` (the brand.json) and+`assets` (absolute URLs: `mark`, `wordmark_light`, `wordmark_dark`, `favicon`,+and `fonts[]` with `role`, `family`, `source` of file|google|system and a `url`).++| `status`    | meaning                                          | do |+|-------------|--------------------------------------------------|----|+| `confirmed` | a person approved it                             | use it |+| `starter`   | the wiki drafted it, nobody approved it yet      | fine for drafts; a PERSON confirms before heroes ship |+| `missing`   | no page, or no brand.json                        | do not borrow another owner's brand; see "Get one" |+| `invalid`   | brand.json fails v1 (`errors[]` says what)       | fix it, then use it |+| `private`   | exists, you cannot read it                       | authenticate as the owner or an org member |++Every answer carries a `BRAND_EDITORS` hint saying who may edit: the user+themself on a user namespace, any member on an org (the usual page rule).++## Get one++The wiki drafts a starter automatically the first time an owner publishes+anything after guides existed (and on page create): the Carbon avatar becomes+the mark and its colors the palette; an org whose profile lists a website gets+its theme color, logo, CSS colors and fonts from that site. The publish output+says so with `BRAND_GUIDE_STARTER`. Starters ship `install.sh`/`uninstall.sh`+and name wordmarks, so they can be published and installed as the skill+`brand-<owner>` like Adom's `brand`.++To draft by hand: `adom-wiki brand pull <some-owner>` as a template, edit+brand.json and the assets, `adom-wiki brand push --owner <owner>`.++## Edit and confirm++```bash+adom-wiki brand pull <owner>                          # brand.json, SKILL.md, README, assets, fonts+adom-wiki brand set <owner> colors.primary=#37b6ff    # any field by dot path, pushes+adom-wiki brand push [dir]                            # validated on the server (BRAND_JSON_INVALID lists fields)+adom-wiki brand confirm <owner>                       # a PERSON at the terminal; never from an AI thread+```++brand.json v1, the required fields: `brand_manifest` "1.0", `owner`, `name`,+`status` (starter|confirmed, plus `confirmed_by`/`confirmed_at` when+confirmed), `colors.primary/background/text`, `typography.display/body.family`,+`logos.mark`. Optional: `accent`, `surface`, `text_secondary`, `border`,+`gradient` (2 to 4 hex), `typography.mono`, a `file` under `fonts/` per role+(else the family loads from Google Fonts by name; system fonts need nothing),+`wordmark_light` (light ink, for dark grounds; the hero prefers it),+`wordmark_dark`, `favicon`, `hero.badge_text`, `voice`. No color is off limits.+Never copy another owner's palette into a guide, and never hand-write Adom's+tokens (`#0d1117`, `#e6edf3`, `#00b8b0`) into one.++## Heroes++`hero-studio pose <owner>/<slug>` resolves the owner's guide itself and shows a+Brand step first whenever the guide is not confirmed; confirming there is the+same human click as Generate. The wiki's composed billboard (the placeholder a+page carries until a studio hero exists) draws from the same guide on the+studio's own layout. Every hero records `branding`, `brand_sha`,+`brand_version` and `brand_status` in its provenance.++## Gotchas++- `brand` is a slug EVERY owner holds, so a bare `brand` reference is+  ambiguous by design: always `<owner>/brand` (the wiki answers+  `AMBIGUOUS_SLUG` naming the owners otherwise).+- `<owner>/brand` must be a `skill` page (`BRAND_SLUG_RESERVED` otherwise).+- A guide's page can be private; its owner's own pages still wear it. Other+  readers get `status: private` and no content.+- The starter's colors are a placeholder when nothing could be derived (no+  avatar, no website); the guide's own text says so. Fix the colors before+  confirming.
skills/wiki-hero/SKILL.md+3
@@ -18,6 +18,9 @@ Parent skill: **adom-wiki-skillpack**  # The hero image: generating it, and keeping it linked +> **Whose brand?** The hero wears the PAGE OWNER's guide (`adom-wiki brand show <owner>`), never Adom's on another owner's page; Hero Studio resolves it itself. See the wiki-brand skill.++ Every wiki page needs a hero: the 16:10 dark-mode billboard the page header, the landing-grid card, the Hydrogen Desktop installer, the homepage, and the adom-screensaver all reuse. A page without one shows a placeholder icon and reads
uninstall.sh+1−1
@@ -6,7 +6,7 @@ else   DESTINATIONS=("$HOME/.claude/skills" "${CODEX_HOME:-$HOME/.codex}/skills") fi for DEST in "${DESTINATIONS[@]}"; do-  for name in adom-wiki-skillpack wiki-anatomy wiki-api wiki-publish-safely wiki-readme wiki-readme-html wiki-readme-slideshow wiki-visibility wiki-repo-styles wiki-component wiki-component-lod wiki-family wiki-skillpack wiki-hero wiki-breadcrumbs wiki-forking wiki-discovery wiki-scoring wiki-bloat wiki-sub-readme wiki-subreadme wiki-hero-studio wiki-workspaces; do+  for name in adom-wiki-skillpack wiki-anatomy wiki-api wiki-publish-safely wiki-readme wiki-readme-html wiki-readme-slideshow wiki-visibility wiki-repo-styles wiki-component wiki-component-lod wiki-family wiki-skillpack wiki-hero wiki-breadcrumbs wiki-forking wiki-discovery wiki-scoring wiki-bloat wiki-sub-readme wiki-subreadme wiki-hero-studio wiki-workspaces wiki-brand; do     rm -rf -- "$DEST/$name"   done done