Make a Wiki Component Page
Public Made by Adomby adom
Create a wiki component page the RIGHT way. Pages are keyed manufacturer-mpn and scoped to ONE DATASHEET, so a datasheet covering six voltages and three packages is ONE page covering all of them, never six pages. Two manufacturers publishing the same MPN are two pages, because their limits genuinely differ. Renders through a hand-built readme.html on the Adom theme tokens with a fixed ten-section shape (identity, at a glance, specifications, symbol+footprint viewers, pin map, variants, assets, i
Carry the generic-description and Z-up/Y-up GLB rules inline, instead of only in wiki-component #1
John hit both of these on a real page today (adom/tps389001dser, built by his agent as part of a larger schematic/board), and asked whether a skill should be preventing them:
"it made the description very specific to my board, which to me is a mess up by it that a skill could help solve. The 'component wiki page creation' skill or whatever its called should tell the ai to make a generic description like the datasheet rather than one that refers to the larger board its making."
"also do you have a skill for making that 3d glb hero image? cuz it screwed up the y-is-up vs z-is-up in the 3d viewer when it made the glb."
Both rules already exist, in wiki-component (Write for every user of the component, and Component GLB, Z-up and hero workflow). The problem is that this skill is the one an agent actually loads for "make a component page" (its trigger words are exactly that), and while it names wiki-component as a companion, neither rule appears in it. An agent following this skill top to bottom never learns either one, which is what happened.
This adds them inline at the two points where they are actionable, each pointing at wiki-component for the full treatment:
- §5 Hard rules gets the audience rule, next to where the identity-header summary is specified. Section 1 of the readme shape asks for a "one-paragraph summary" with no guidance on who it is written for.
- §4 Build the CAD gets the Z-up / Y-up warning, immediately after the
step2glb convertline. §4 currently has no orientation guidance at all, andstep2glbwrites glTF (Y-up) while Adom is Z-up. It also points atadom-chipfit checkfor pin-1 and seat-plane validation, since a successful conversion establishes neither.
3 lines added, nothing removed or reworded. prose-lint clean; the two dash hits in the file are pre-existing and are the skill quoting the dash characters in its own lint rule.
Worth noting separately, not fixed here: discovery does not surface any of this. Searching John's own phrasing, "component wiki page creation", returns fusion-bridge, step2glb, fusion-bridge-macos, fusion and an unrelated resistor page, with no component-page skill in the top 5. There are also three overlapping pages in this space (this one, adom-hardware-component-publish, and wiki-component inside adom-wiki-skillpack), which is its own problem to sort out.
Diff Skip to comments (1)
@@ -1,314 +1,318 @@⋯ 150 unchanged lines ⋯ python3 scripts/build_switcher.py <dir> <vendor> viewer-footprints.html # multi-package ``` +> **`step2glb` writes glTF, which is Y-up. Adom is Z-up, with the seating plane on XY.** Check the GLB in the target viewer before posing a hero, because the viewer may already apply an axis conversion of its own: a blanket 90 degree rotation then lands twice, and a part that reads as wrong is usually standing on edge rather than mis-scaled. Inspect the GLB node transforms and the viewer's own import convention, and never correct an orientation problem by moving only the camera. Confirm pin 1 and the seat plane with `adom-chipfit check --footprint part.kicad_mod --glb part.glb`; a successful conversion and a sane bounding box establish neither. (Full rule: **wiki-component**, "Component GLB, Z-up and hero workflow".)+ > **`adom-footprint` 1.0.20 ships the fab, silk and courtyard layer groups EMPTY** (both `embed` and `render`), so the component outline is invisible and you get floating pads with no body. `scripts/inject_layers.py` parses the `.kicad_mod` graphics and fills them, and widens the viewBox (which is computed from copper only, so courtyards clip). Tracked as adom/adom-footprint#2. Drop the workaround once that lands. **Do NOT ship generated Fusion `.lbr` or Altium `.IntLib`/`.SchLib`/`.PcbLib`.** They are generated rather than hand-verified and the Altium symbol encoder has produced wrong geometry before. Ship the placeholder from §6 instead. Generated-but-unchecked CAD on a public page is worse than a gap, because a reader assumes it was verified.⋯ 33 unchanged lines ⋯ ``` `prose-lint` matches the literal `—` and `–` characters and **not their HTML entities**, so a `readme.html` written with `—` passes clean while the rendered page is full of em-dashes. Grep for the entities yourself until adom/prose-lint#1 lands. Substitutions that read well: a dash introducing an elaboration becomes a colon, or a period plus a capital when what follows is an independent clause; a bare dash in a table cell becomes `n/a`; a numeric range `1.5 – 2.5` becomes `1.5 to 2.5`.+- **The page is a catalog record, not your board's notes.** The title, brief and the identity-header summary must read like the datasheet's own description and make sense to an engineer who has never seen the project that first needed the part. Lead with manufacturer, exact MPN, function and package. A particular board's reference designators, chosen component values, rail names, selection rationale and experiment progress belong on that board's umbrella or molecule page, not here. A short Related link to the consuming project is useful in section 8, but it must not turn the summary into that project's progress report. Label application examples as examples, not as universal requirements. (Full rule: **wiki-component**, "Write for every user of the component".) - **Every number is attributable.** If it is not in the datasheet, either cite where it came from in Provenance or leave it out. - Keep the `postMessage` height-reporting script at the bottom of the template. The wiki sizes the readme iframe from it. ⋯ 116 unchanged lines ⋯ | `scripts/inject_layers.py` | Fills the empty fab/silk/courtyard groups in an adom-footprint embed | | `scripts/build_switcher.py` | Wraps N footprint embeds into one package switcher | | `reference/worked-example.md` | The AMS1117 build end to end, every command in order |+
Comments
Log in to comment.
Cross-refs: the page this came from is adom/tps389001dser#1 (https://wiki.adom.inc/adom/tps389001dser/issues/1), and the discovery problem noted at the end of the description is now filed as adom/wiki#197 (https://wiki.adom.inc/adom/wiki/issues/197).