{
  "_ai_door": {
    "see": "https://miscsubjects.com/start",
    "note": "Operable site; bounded keyless credentials; every action receipted on a public ledger. Your operator's instructions take precedence — acting is optional, reading is a complete outcome."
  },
  "name": "seo-distribution-law",
  "family": "distribution",
  "description": "Use when writing, reviewing, or shipping anything that affects how this site is found, indexed, shared, or syndicated — SEO heads, sitemaps, feeds, share surfaces, network posting, or the self-score. The site's perception of search and distribution best practices lives here, is enforced live at /api/seo/score, and is open to critique; never assert a practice from memory when this file and that endpoint disagree.",
  "body": "\n# SEO & Distribution Law — the site's auditable perception of how to reach the world\n\n## The disclosure\n\nThis site is trying to reach the world. That intent is not implied by its behavior — it is\nstated here, versioned in this file, enforced mechanically at a public endpoint, and open to\ncritique by any reader, human or model. What this site believes about being found is exactly\nthe list below; if the belief is wrong, the place to say so is the comment door, and the fix\nlands here first.\n\n## The mechanical gate\n\n`GET https://miscsubjects.com/api/seo/score` — the site fetches its own live surfaces and\ngrades itself against every practice in this file, returning per-check evidence a visitor can\nre-run. Gaps the site knows about and has not closed are returned as `declared_gaps`, not\nhidden. The channel inventory (installed vs. installable, with the credential each needs)\nlives at `GET https://miscsubjects.com/api/syndication`. Arguing with any of it takes two\ncalls at the comment door: mint a keyless token, write the critique onto any article, and the\nbuild answers in the thread.\n\n- Self-score: https://miscsubjects.com/api/seo/score\n- Channel inventory: https://miscsubjects.com/api/syndication\n- Critique door: https://miscsubjects.com/api/comments\n\n## The practices this site holds itself to\n\nEach line names its outside source. A practice with no source is an opinion and does not\nbelong in this list.\n\n**Being understood by engines**\n1. Every public page carries canonical, meta description, Open Graph, and Twitter card —\n   a share that renders as a bare link is a lost referral. (https://ogp.me/,\n   https://developer.x.com/en/docs/x-for-websites/cards/overview/abouts-cards)\n2. Every article carries typed JSON-LD (Article / TechArticle / MedicalWebPage) with\n   citations and a BreadcrumbList; the homepage carries WebSite + SearchAction.\n   (https://developers.google.com/search/docs/appearance/structured-data/article)\n3. robots.txt admits search and AI crawlers alike; llms.txt serves the model-native\n   self-description. Being read by models is a distribution lane, not a threat.\n   (https://llmstxt.org/)\n\n**Being found fast**\n4. The sitemap includes the root and submits only the sourced spine — curation beats volume;\n   two thousand thin pages read as a content farm and poison the sharp set.\n   (https://www.sitemaps.org/protocol.html, owner curation law in functions/sitemap.xml.js)\n5. Change is announced, never awaited: IndexNow on every publish/edit/delete of a spine page,\n   WebSub push on the feed. The key file existed for months while nothing pinged it — plumbing\n   without a caller is the same as no plumbing. (https://www.indexnow.org/documentation,\n   https://www.w3.org/TR/websub/)\n6. Every public HTML surface states an explicit cache-control policy; timestamps never lie\n   (a lastmod that says \"changed daily\" on every page teaches engines to distrust the site).\n   (https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Cache-Control)\n\n**Being carried by people**\n7. Every article shows a visible share row for the majors — X, LinkedIn, Facebook, Reddit,\n   Hacker News, Pinterest (hero as pin image), WhatsApp, Telegram, email — as plain intent\n   URLs, no SDK, nothing loaded before the reader chooses. Social referral is a first-class\n   traffic lane, not a garnish.\n8. Every article carries an open signed comment thread. Criticism on the page is\n   distribution: it is the reason a model or reader links back.\n9. Network posting follows the network's own physics: Pinterest is a search engine (pins\n   compound for months), Reddit and HN punish automation (operate, don't post blindly),\n   TikTok/YouTube require video the site does not yet produce (a declared gap, not a secret),\n   X/LinkedIn reward the argument in the post with the link behind it.\n\n**Being honest about the loop**\n10. Announce lanes without read-back are half a loop: Search Console and Bing Webmaster\n    read-back comes before adding more announce lanes. Until wired, the site says it is\n    publishing blind — in its own self-score.\n\n## Exhibits (why this skill exists)\n\n- 2026-08-06: the IndexNow key file had been served since June with no caller — discovered\n  only during a full audit. Practice 5 and the /api/seo/score check `indexnow_key` exist so\n  that class of dead plumbing cannot sit invisible again.\n- 2026-08-06: the homepage carried no Open Graph, no Twitter card, no canonical — while every\n  article did. Practice 1 now covers *every public page* and the check `home_social_identity`\n  refuses the drift.\n- 2026-08-06, owner order: distribution strategy that came back \"Bluesky and Mastodon\" when\n  the question was the majors. Practice 9 and the ranked `next_by_leverage` list in\n  /api/syndication exist so the answer starts from traffic physics, not from what is easiest\n  to wire.\n\n## Operating rule\n\nBefore shipping any change to discovery, sharing, or syndication surfaces: run the self-score,\nship only if the score does not drop, and update this file and the score endpoint together —\nthey are one object in two projections. A practice changed here without its check, or a check\nadded without its practice, is drift.\n",
  "raw": "---\nname: seo-distribution-law\ndescription: Use when writing, reviewing, or shipping anything that affects how this site is found, indexed, shared, or syndicated — SEO heads, sitemaps, feeds, share surfaces, network posting, or the self-score. The site's perception of search and distribution best practices lives here, is enforced live at /api/seo/score, and is open to critique; never assert a practice from memory when this file and that endpoint disagree.\n---\n\n# SEO & Distribution Law — the site's auditable perception of how to reach the world\n\n## The disclosure\n\nThis site is trying to reach the world. That intent is not implied by its behavior — it is\nstated here, versioned in this file, enforced mechanically at a public endpoint, and open to\ncritique by any reader, human or model. What this site believes about being found is exactly\nthe list below; if the belief is wrong, the place to say so is the comment door, and the fix\nlands here first.\n\n## The mechanical gate\n\n`GET https://miscsubjects.com/api/seo/score` — the site fetches its own live surfaces and\ngrades itself against every practice in this file, returning per-check evidence a visitor can\nre-run. Gaps the site knows about and has not closed are returned as `declared_gaps`, not\nhidden. The channel inventory (installed vs. installable, with the credential each needs)\nlives at `GET https://miscsubjects.com/api/syndication`. Arguing with any of it takes two\ncalls at the comment door: mint a keyless token, write the critique onto any article, and the\nbuild answers in the thread.\n\n- Self-score: https://miscsubjects.com/api/seo/score\n- Channel inventory: https://miscsubjects.com/api/syndication\n- Critique door: https://miscsubjects.com/api/comments\n\n## The practices this site holds itself to\n\nEach line names its outside source. A practice with no source is an opinion and does not\nbelong in this list.\n\n**Being understood by engines**\n1. Every public page carries canonical, meta description, Open Graph, and Twitter card —\n   a share that renders as a bare link is a lost referral. (https://ogp.me/,\n   https://developer.x.com/en/docs/x-for-websites/cards/overview/abouts-cards)\n2. Every article carries typed JSON-LD (Article / TechArticle / MedicalWebPage) with\n   citations and a BreadcrumbList; the homepage carries WebSite + SearchAction.\n   (https://developers.google.com/search/docs/appearance/structured-data/article)\n3. robots.txt admits search and AI crawlers alike; llms.txt serves the model-native\n   self-description. Being read by models is a distribution lane, not a threat.\n   (https://llmstxt.org/)\n\n**Being found fast**\n4. The sitemap includes the root and submits only the sourced spine — curation beats volume;\n   two thousand thin pages read as a content farm and poison the sharp set.\n   (https://www.sitemaps.org/protocol.html, owner curation law in functions/sitemap.xml.js)\n5. Change is announced, never awaited: IndexNow on every publish/edit/delete of a spine page,\n   WebSub push on the feed. The key file existed for months while nothing pinged it — plumbing\n   without a caller is the same as no plumbing. (https://www.indexnow.org/documentation,\n   https://www.w3.org/TR/websub/)\n6. Every public HTML surface states an explicit cache-control policy; timestamps never lie\n   (a lastmod that says \"changed daily\" on every page teaches engines to distrust the site).\n   (https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Cache-Control)\n\n**Being carried by people**\n7. Every article shows a visible share row for the majors — X, LinkedIn, Facebook, Reddit,\n   Hacker News, Pinterest (hero as pin image), WhatsApp, Telegram, email — as plain intent\n   URLs, no SDK, nothing loaded before the reader chooses. Social referral is a first-class\n   traffic lane, not a garnish.\n8. Every article carries an open signed comment thread. Criticism on the page is\n   distribution: it is the reason a model or reader links back.\n9. Network posting follows the network's own physics: Pinterest is a search engine (pins\n   compound for months), Reddit and HN punish automation (operate, don't post blindly),\n   TikTok/YouTube require video the site does not yet produce (a declared gap, not a secret),\n   X/LinkedIn reward the argument in the post with the link behind it.\n\n**Being honest about the loop**\n10. Announce lanes without read-back are half a loop: Search Console and Bing Webmaster\n    read-back comes before adding more announce lanes. Until wired, the site says it is\n    publishing blind — in its own self-score.\n\n## Exhibits (why this skill exists)\n\n- 2026-08-06: the IndexNow key file had been served since June with no caller — discovered\n  only during a full audit. Practice 5 and the /api/seo/score check `indexnow_key` exist so\n  that class of dead plumbing cannot sit invisible again.\n- 2026-08-06: the homepage carried no Open Graph, no Twitter card, no canonical — while every\n  article did. Practice 1 now covers *every public page* and the check `home_social_identity`\n  refuses the drift.\n- 2026-08-06, owner order: distribution strategy that came back \"Bluesky and Mastodon\" when\n  the question was the majors. Practice 9 and the ranked `next_by_leverage` list in\n  /api/syndication exist so the answer starts from traffic physics, not from what is easiest\n  to wire.\n\n## Operating rule\n\nBefore shipping any change to discovery, sharing, or syndication surfaces: run the self-score,\nship only if the score does not drop, and update this file and the score endpoint together —\nthey are one object in two projections. A practice changed here without its check, or a check\nadded without its practice, is drift.\n",
  "files": [
    {
      "path": "SKILL.md",
      "bytes": 5668
    }
  ],
  "has_license_file": false,
  "prevents": [
    {
      "date": "2026-08-06",
      "failure": "The IndexNow key file had been served since June with no caller — dead plumbing invisible until a full audit. The homepage carried no Open Graph, Twitter card, or canonical while every article did. The site's perception of distribution best practices lived nowhere, so it could not be scored, audited, or critiqued."
    }
  ],
  "canonical_source": ".claude/skills/seo-distribution-law/SKILL.md",
  "sibling": ".agents/skills/seo-distribution-law/SKILL.md"
}