← Commit history

Require sourced unit and extended part costs in project component tables

John Lauer ·ca795255d1 ·6d ago ·parent df01e31
1 file changed +33−4
skills/wiki-readme/SKILL.md+33−4
@@ -157,9 +157,9 @@ Each row's first cell carries a **64 px part icon** that links to the component Noah's `adom/amfm-receiver-molecule`):  ```markdown-| Part | Qty | Refs | Value | Role | Buy |-|---|---|---|---|---|---|-| <a href="https://wiki.adom.inc/adom/tps54202ddcr"><img src="docs/parts/tps54202ddcr.png?v=8124369c" width="64" alt="TPS54202DDCR"></a><br>**[TPS54202DDCR](https://wiki.adom.inc/adom/tps54202ddcr)**<br>Texas Instruments | 1 | U1 | TPS54202DDCR | sync buck 4.5-28 V 2 A | [Mouser 595-TPS54202DDCR](https://www.mouser.com/ProductDetail/595-TPS54202DDCR) |+| Part | Qty | Refs | Value | Role | Unit cost | Line cost | Buy |+|---|---|---|---|---|---|---|---|+| <a href="https://wiki.adom.inc/adom/tps54202ddcr"><img src="docs/parts/tps54202ddcr.png?v=8124369c" width="64" alt="TPS54202DDCR"></a><br>**[TPS54202DDCR](https://wiki.adom.inc/adom/tps54202ddcr)**<br>Texas Instruments | 1 | U1 | TPS54202DDCR | sync buck 4.5-28 V 2 A | Unknown (not checked) | Unknown | [Mouser 595-TPS54202DDCR](https://www.mouser.com/ProductDetail/595-TPS54202DDCR) | ```  - **The icon** is a small PNG of the real part (the component page's shaded chip thumbnail, or a@@ -171,10 +171,39 @@ Noah's `adom/amfm-receiver-molecule`): - Group identical parts in one row (Qty + all Refs). Give the Buy column a real distributor link   (Mouser first, then DigiKey/LCSC), or the Adom stock page for a Basic Part. - Projects without reference designators (a symbol library, a cabinet layout) keep the icon cell-  and drop Qty/Refs: `| Part | Library symbol | Role | Buy |`.+  and drop Qty/Refs: `| Part | Library symbol | Role | Unit cost | Buy |`. - Verify on the rendered page in pup: every icon loads (`img.naturalWidth > 0`) and every link opens   logged out when the page is public. +### Part cost is required, not optional++Every project README component table MUST include a **Unit cost** column and, when+quantity is known, a **Line cost** column. A Buy link alone is not cost information.+This applies to electrical parts, connectors, housings, crimps, wires, fans,+heatsinks, mounting hardware and custom parts. Put the major functional parts first,+then connectors/mechanics, with resistors and capacitors lower in the table.++- Show currency and per-piece price, with the supplier price-break quantity and date+  checked. Example format only: `USD 1.25 each (buy 10+, checked YYYY-MM-DD)`.+  Link the price to its actual supplier listing or quote, preferably using Buy.+- Use the quantity needed for one assembly for Line cost (Qty × applicable unit+  price). State the planned build quantity that determines the price break.+  Distinguish consumed BOM cost from minimum-order, pack/reel and spare purchase+  outlay; do not imply a ten-piece price is available when buying one piece.+- Never invent a price or use zero for an unknown. Write `Unknown (not checked)`,+  `Quote required`, or `Estimate: ...` with its basis. Mark old prices with their+  original check date; do not relabel them as current without rechecking.+- Stocked parts still have a cost: use a documented inventory/replacement cost,+  or mark it unknown. For wire/consumables state the length or unit basis; for+  machined/printed parts separate material and fabrication allowances when known.+- Below the table give the known per-assembly subtotal and list unpriced items.+  Never call a partial subtotal the complete BOM total. State whether tax, shipping,+  PCB fabrication, assembly and tooling are excluded. Preserve source currency;+  document the date/rate for any currency conversion.+- Before publishing, verify every row has cost information or an explicit unknown,+  quantities and arithmetic agree, and source/date/break assumptions are visible.+  Inspect the rendered table for readability. A numeric total is not a supplier quote.+ ## Open-source pages need a "check it out, vibe-code it, send it back" section  If the page's source is public (open source), the README MUST teach the