{
  "schema_version": 1,
  "type": "app",
  "slug": "adom-wiki",
  "title": "Adom Wiki CLI",
  "brief": "CLI for the Adom Wiki. v0.4.1: `adom-wiki url` returns the wiki origin (and page URLs when given a <type>/<slug>). Inherits v0.4 caption requirement + Developer-identity guard.",
  "version": "1.12.0",
  "tags": [],
  "license": "MIT",
  "discovery_triggers": [
    "publish to wiki",
    "upload to wiki",
    "share skill",
    "publish skill",
    "upload screenshot to wiki",
    "upload video to wiki",
    "search wiki",
    "wiki page",
    "publish molecule",
    "share footprint",
    "share symbol",
    "upload datasheet",
    "wiki discovery",
    "make tool discoverable",
    "adom wiki cli"
  ],
  "discovery_pitch": "CLI to search, publish, and upload assets (screenshots, videos, KiCad files, 3D models) to the Adom Wiki. Install the client to share skills and molecules with the community.",
  "sample_prompts": [
    {
      "label": "Get the wiki URL",
      "prompt": "adom-wiki url"
    },
    {
      "label": "Get a page URL",
      "prompt": "adom-wiki url apps/adom-desktop"
    },
    {
      "label": "Who am I on the wiki?",
      "prompt": "adom-wiki whoami"
    },
    {
      "label": "Link Adom identity",
      "prompt": "adom-wiki set-author"
    },
    {
      "label": "Publish a page",
      "prompt": "adom-wiki page publish apps/foo --title ... --sample-prompt ..."
    }
  ],
  "install": {
    "binary_name": "adom-wiki",
    "install_dir": "",
    "install_hint": "",
    "version_cmd": ""
  },
  "readme": "# adom-wiki — one skill, one CLI\n\nThe Adom Wiki lives at `https://wiki-ufypy5dpx93o.adom.cloud`. It holds **skills**, **molecules** (breakout boards), **libraries**, **footprints**, **symbols**, **3dcomps**, **apps**, and **datasheets**. Every interaction goes through the `adom-wiki` CLI at `/usr/local/bin/adom-wiki`. **Do not use the MCP `mcp__adom-wiki__*` tools** — they're deprecated and scheduled for removal.\n\nEvery CLI invocation prints JSON to stdout. Pipe through `jq` for extraction.\n\n## Page references\n\nPages are addressed as `<type>/<slug>`, for example:\n- `apps/adom-desktop`\n- `skills/symbol-creator`\n- `molecules/drv8411a-breakout`\n- `symbols/stm32f103c8t6`\n\nType is always singular in the ref. The CLI pluralizes where the server needs it.\n\n## Workflow 1 — search before you build\n\nBefore creating any new symbol, footprint, skill, or molecule, check the wiki:\n\n```bash\nadom-wiki page search \"STM32F103\" --limit 10\n```\n\nIf snippet search returns 0 or the match looks weak, escalate to deep search (enumerates all pages by type and scores matches against title/brief/slug/content):\n\n```bash\nadom-wiki page search \"that obscure buck converter\" --deep --limit 15\n```\n\nDeep search is essential for symbols, footprints, libraries, 3dcomps, molecules, and datasheets — their `discovery_triggers` are often sparse.\n\nInspect a hit:\n\n```bash\nadom-wiki page get skills/symbol-creator | jq '.page | {title, brief, version}'\n```\n\n## Workflow 2 — publish a page\n\n1. **Draft the content as markdown** in a local file (e.g., `/tmp/skill.md`).\n2. **Draft the discovery snippet with the user.** Every wiki page must include `discovery_triggers` (comma-separated phrases that should surface this page) and a `discovery_pitch` (one-line hook). **Show these to the user and get approval before publishing.** Past failure: initial adom-desktop page missed obvious triggers like \"pup\", \"debug\", \"screenshot my pc\" — user had to add them after. Do not skip this step.\n3. **Draft the install prompt with the user.** Every wiki page renders a type-aware \"⚡ Install this...\" prompt near the top that users copy-paste into Claude Code. The prompt is auto-generated from the page type (skill → save SKILL.md, app → download binary, molecule → pull KiCad files, etc.), but the default may miss project-specific install steps. **Show the user the generated prompt text and ask: \"Does this install prompt cover everything someone would need? Any steps missing?\"** We chose this Claude-prompt approach over npx/npm because it's type-aware and zero-dependency — it handles KiCad assets, GitHub Release binaries, and datasheets, not just SKILL.md files. Expect the install flow to evolve, so always get user sign-off on the prompt wording.\n4. **Publish:**\n\n```bash\nadom-wiki page publish apps/adom-desktop \\\n  --title \"Adom Desktop\" \\\n  --brief \"Tauri desktop app for the Adom conduit system\" \\\n  --body-md /tmp/skill.md \\\n  --changelog \"Initial page\"\n```\n\n5. **Visual verification is REQUIRED.** After publish, open the rendered page in pup/hydrogen and confirm: no console errors, discovery snippet renders, install prompt renders, all sections visible. `curl` returning 200 does NOT count as verification.\n6. **Update a single field** (no version bump) with `page edit`:\n\n```bash\nadom-wiki page edit apps/adom-desktop --field brief --body-md /tmp/new-brief.txt\n```\n\n## Workflow 3 — upload assets (videos, images, files)\n\nAssets attach to a page. Supported `--asset-type` values:\n\n| type | use for |\n|---|---|\n| `video` | uploaded video files (webm/mp4) from the Adom editor recorder |\n| `hero_image` | top-of-page banner + index card |\n| `thumbnail` | small index card image (overrides hero on index) |\n| `screenshot` | gallery images; prefix filename with `01-`, `02-` for ordering |\n| `viewer_html` | interactive sample tab (iframed on the page) |\n| `kicad_sym`, `kicad_mod`, `step`, `glb`, `lbr` | EDA files |\n\nUpload a demo recording:\n\n```bash\nadom-wiki asset upload apps/adom-desktop \\\n  --asset-type video \\\n  --file /home/adom/project/recordings/adom-desktop-main-demo.webm \\\n  --caption \"Main demo — screen recording, KiCad plugin, pup debugging\"\n```\n\nUpload screenshots in order:\n\n```bash\nadom-wiki asset upload apps/adom-desktop --asset-type screenshot --file 01-setup.png --caption \"Setup\"\nadom-wiki asset upload apps/adom-desktop --asset-type screenshot --file 02-kicad.png --caption \"KiCad plugin\"\n```\n\nUpload a viewer HTML sample tab (creates a sample tab automatically):\n\n```bash\nadom-wiki asset upload skills/symbol-creator \\\n  --asset-type viewer_html \\\n  --file preview.html \\\n  --label \"SOT-23 Transistor\" \\\n  --sort-order 1\n```\n\nList and delete:\n\n```bash\nadom-wiki asset list apps/adom-desktop | jq '.assets[] | {id, asset_type, filename}'\nadom-wiki asset delete apps/adom-desktop --asset-id 42\n```\n\nAfter uploading `viewer_html`, verify the tabs render:\n\n```bash\nadom-wiki test-samples skills/symbol-creator\n```\n\n## Workflow 4 — external video embed\n\nFor YouTube/Vimeo links (not uploaded files):\n\n```bash\nadom-wiki video add apps/adom-desktop \\\n  --url \"https://youtube.com/watch?v=...\" \\\n  --label \"Community walkthrough\" \\\n  --video-type youtube\n```\n\nDefault path for demos is **uploaded webm** via `asset upload --asset-type video`. YouTube/Vimeo is the fallback for community-hosted content.\n\n## Workflow 5 — add a sub-skill / related link\n\n```bash\nadom-wiki skill add skills/symbol-creator \\\n  --url \"https://wiki-ufypy5dpx93o.adom.cloud/wiki/skills/kicad-basics\" \\\n  --description \"Learn KiCad fundamentals before creating symbols\"\n```\n\n## Workflow 6 — install content locally\n\nPull a skill into `~/.claude/skills/`:\n\n```bash\n# 1. Find it\nadom-wiki page search \"symbol creator\" --limit 5\n\n# 2. Fetch it\nadom-wiki page get skills/symbol-creator | jq -r '.page.skill_source // .page.content' > ~/.claude/skills/symbol-creator/SKILL.md\n```\n\nPull a molecule's KiCad files:\n\n```bash\n# List assets\nadom-wiki asset list molecules/drv8411a-breakout | jq '.assets[] | select(.asset_type==\"kicad_sym\" or .asset_type==\"kicad_mod\" or .asset_type==\"step\")'\n\n# Download via the page's file_path (served from the wiki's static dir)\n```\n\n## Listing\n\n```bash\nadom-wiki page list --type molecule --limit 50\nadom-wiki page list --type skill --status validated\n```\n\n## Auth\n\nThe CLI resolves the bearer token in this order:\n1. `$ADOM_WIKI_TOKEN`\n2. `/var/run/adom/api-key` (container default)\n3. `$ADOM_API_KEY`\n4. `$X_API_KEY`\n5. dev fallback (`adom-wiki-dev-2025`)\n\nRead-only commands (search, get, list, asset list, test-samples) don't require auth.\n\n## Gotchas\n\n- **Never skip the discovery snippet OR install prompt user approval steps.** Both require showing the user the draft text and getting explicit sign-off before publishing. The discovery snippet tells Claude when to suggest the page; the install prompt tells users how to install it. Both are wrong on the first draft — the user always catches missing terms.\n- **Visual verification is REQUIRED** after publishing — pup/hydrogen render check, not curl 200.\n- **Slug format** is lowercase-hyphenated (`adom-desktop`, `stm32f103c8t6`). No uppercase, no underscores.\n- **viewer_html assets auto-create sample tabs** — use `--label` and `--sort-order` to name and order them.\n- **Large video uploads** (>50 MB) work fine; the CLI has a 3-minute HTTP timeout.\n- **Use `--deep` search liberally** for symbols/footprints/libraries/3dcomps/datasheets/molecules.\n\n\n\n",
  "author": {
    "id": "695820315b5f1e4db2fcf602",
    "name": "Kyle Bergstedt",
    "email": "kyle@adom.inc"
  },
  "visibility": {
    "public": true
  },
  "hero": null,
  "metadata": {},
  "created_at": "2026-05-28T05:28:54.672Z",
  "updated_at": "2026-05-28T05:28:54.672Z",
  "skills": []
}