{"id":56048,"plugin_id":"plugin_asdk_app_6ada7bec545881919206a8cf89db59f8","kind":"skill","collection_source":"plugin_package","comparison_source":null,"observed_at":"2026-10-26T18:06:28.714Z","digest":"df2104b181e71c6b4c7e975f81c068372b43e84ba7b96941ec0a94e0f41bafb2","against":null,"payload":{"description":"Route website asks to Moda's hosted-site builder and prepare everything preparable here — sitemap, copy, brand direction, page mockups. Moda hosts real editable sites at public *.moda.page URLs, but site writes are app-only on this surface: answer questions about existing sites (publish state, live URL, pages), say the boundary plainly, route the user to moda.app — never fake a publish or invent a *.moda.page URL. Use for: website, landing page, \"put this on the web\", a moda.page site question.","included_files":[{"relative_path":"references/brand.md","size_in_bytes":15284},{"relative_path":"references/charts.md","size_in_bytes":5659},{"relative_path":"references/design-quality.md","size_in_bytes":22265},{"relative_path":"references/edit-code.md","size_in_bytes":16488},{"relative_path":"references/email-html.md","size_in_bytes":3423},{"relative_path":"references/gotchas.md","size_in_bytes":8693},{"relative_path":"references/landing-page.md","size_in_bytes":6440},{"relative_path":"references/markup.md","size_in_bytes":23958},{"relative_path":"references/mockup.md","size_in_bytes":5739},{"relative_path":"references/no-brand-design.md","size_in_bytes":14257},{"relative_path":"references/omni-and-media.md","size_in_bytes":7338},{"relative_path":"references/reading-and-verifying.md","size_in_bytes":21129}],"name":"moda-website","skill_md_contents":"---\nname: moda-website\ndescription: >-\n  Route website asks to Moda's hosted-site builder and prepare everything\n  preparable here — sitemap, copy, brand direction, page mockups. Moda hosts\n  real editable sites at public *.moda.page URLs, but site writes are app-only\n  on this surface: answer questions about existing sites (publish state, live\n  URL, pages), say the boundary plainly, route the user to moda.app — never\n  fake a publish or invent a *.moda.page URL. Use for: website, landing page,\n  \"put this on the web\", a moda.page site question.\n---\n\n# moda-website\n\n**PREREQUISITE — `load_skill(\"moda-core\")` once per session** (step-0, write\ncontract, free/metered map). Already loaded? Skip ahead. If you cannot load\nit, the non-negotiables: call `moda_bootstrap` before anything; `brand_list`\nbefore creating; revision-guarded writes use `expected_revision` from your last read.\n`canvas_edit_image` captures its own target state and has no revision argument.\nOn `stale_revision`, re-read and retry once; send the canvas link\nthe moment it exists; stuck or failed? `ask_expert(\"<question>\")` — free and\nfast, never guess.\n\n**Override for this skill:** it produces no hosted deliverable of its own on\nthis surface. The canvas rules the banner points at apply only to the\noptional page-mockup step below.\n\n## What this surface can and cannot do\n\n- Moda hosts real, editable, re-publishable websites at\n  `https://<slug>.moda.page`. Building, editing, and publishing them happens\n  in the Moda app (moda.app), where Moda's agent designs and ships hosted\n  sites end to end.\n- This surface READS sites: `site_list` (each site's publish state and live\n  URL) and `site_show` (one site's metadata, publish state, live URL, and\n  page inventory). Use them to answer \"what sites do we have\", \"is it live\",\n  and \"what's on it\" — and to grab the live or editor URL to hand over.\n- The site WRITE tools are not available here. **Never fake a publish, never\n  invent a `*.moda.page` URL**, and never build \"a website\" as a canvas and\n  present it as hosted.\n\n## Workflow\n\n1. **Say it plainly, once**: the site itself gets built and published in the\n   Moda app — hand the user https://moda.app and the ask to bring (\"a\n   three-page marketing site for Acme, using the Acme brand kit\"). No\n   apology, no hedging, no pretending.\n2. **Do the real preparation here** (genuinely useful, not a consolation):\n   - **Sitemap and copy**: which pages, which routes, what each one has to\n     do; then headlines, body copy, and CTAs from the user's brief, the\n     attached files, and your own research.\n   - **Brand**: `brand_list` / `brand_show` for the kit the site should\n     follow; fold its palette, fonts, and voice into the drafted copy.\n   - **Page mockups** (on request): comp the key pages as canvas designs —\n     the recipe in references/mockup.md — so the visual direction is settled\n     before the user builds. Share the canvas link the moment it exists, and\n     say plainly that a mockup is a picture, not a hosted page.\n3. **Deliver**: the prepared material plus the moda.app pointer. An existing\n   `*.moda.page` site to change: `site_list` / `site_show` first — say what\n   it contains and whether it is live, hand over its URL — then the same\n   routing; the app owns site editing and republishing.\n\n## The bar for what you DO produce\n\n- **Mobile-first copy blocks.** One page, one job: a landing page has a\n  single primary action, repeated at the bottom.\n- **Real copy, real proof** — product names, plausible metrics, actual value\n  propositions. Placeholder text is worse than an outline.\n- **Mockups are mockups.** Brand palette, real type ladder, realistic\n  content, one viewport per page; never presented as a live URL.\n\n\n\n## Errors\n\nThe read tools are the only writes-adjacent calls here: a site that does not\nresolve is a wrong reference, not a failed publish — say so. Anything else,\nor the same typed code twice: stop and run\n`ask_expert(\"<what failed>\", context=\"<the error>\")` (free). Deeper recipes\nper typed error live in moda-core's recovery reference.\n\n## References\n\n| Doc | Load when |\n|---|---|\n| references/brand.md | a brand kit exists |\n| references/no-brand-design.md | no kit is active — inventing the identity: palette law, type, imagery, layout system |\n| references/mockup.md | comping pages as canvas designs |\n| references/markup.md, references/design-quality.md | authoring those mockups |\n| references/charts.md | a comped page contains a chart |\n| references/edit-code.md, references/reading-and-verifying.md | revising a comp; the screenshot loop |\n| references/landing-page.md | the comp IS a landing page — the patterns to refuse, the section arc, the hero archetypes |\n| references/email-html.md | the ask is an email that has to send, not a page |\n| references/omni-and-media.md, references/gotchas.md | generated imagery; anything surprising |\n"},"changes":[],"summary":"First saved snapshot. No earlier version is available for comparison.","summary_kind":"deterministic","summary_metadata":{}}