[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6AD56P933AGR583NPBFBPR7":3,"skill-same:01M6AD56P933AGR583NPBFBPR7":78},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":28,"publishedAt":49,"linkOnly":50,"markdownContent":51,"markdownBody":52,"frontMatter":53,"refName":54,"commitSha":55,"skillDirectory":56,"forksCount":57,"repositoryHtmlUrl":58,"repositoryHomepageUrl":59,"ownerHtmlUrl":60,"ownerBlogUrl":61,"ownerDescription":62,"updatedAt":63,"install":64,"resources":77},"01M6AD56P933AGR583NPBFBPR7","docs-design",null,"Design rules for the docs site and landing page (docs\u002F). Use before any visual change there — layout, widths, spacing, colour, typography, header navigation, or new page chrome.","github\u002Fgh-aw","github","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F9919?v=4","01M6AC83DS133TPXFSP1DHNCC6","GitHub","01M6AD3VCZ4WKQSFSRTPN7N9DN",5621,"MIT","https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgh-aw\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Fdocs-design\u002FSKILL.md",[18,23],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000015","视觉设计","SCENARIO","使用场景",{"categoryNo":24,"categoryName":25,"taxonomyType":26,"taxonomyTypeDesc":27},"01JBSEEDCAT000000000000032","设计师","PROFESSION","适用职业",[29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48],"docs","design","docs design","new","for","spacing","colour","landing page","layout","visual","navigation","typography","use","landing","Rules","page","docs site","site","change","chrome","2026-11-10 10:12:30",false,"---\nname: docs-design\ndescription: Design rules for the docs site and landing page (docs\u002F). Use before any visual change there — layout, widths, spacing, colour, typography, header navigation, or new page chrome.\n---\n\n# Docs site and landing page design rules\n\nThe docs site and the landing page (`docs\u002Fsrc\u002Fcontent\u002Fdocs\u002Findex.mdx` and `docs\u002Fsrc\u002Fcomponents\u002Flanding\u002F`) had a deliberate design pass. These rules hold that design in place on both. Each one exists for the reader, and each states its reason so you can explain it.\n\n## When a request breaks a rule\n\nRequests like \"there's too much white space\" or \"add X to the header\" often point to a real problem with the wrong fix. When a requested visual change breaks a rule below:\n\n1. Find the problem the requester actually has (the page feels empty, a feature is hard to find).\n2. Implement a fix for that problem that stays inside the rules.\n3. In the PR description, name the rule, give its reason in a sentence or two, and say what you did instead.\n\nA rule changes only when the designer who owns it agrees, and the change updates this file in the same PR.\n\n## Reading measure\n\nOn docs pages, body content is at most **620px** wide (`--aw-prose-width` in `docs\u002Fsrc\u002Fstyles\u002Fcustom.css`). That includes the page title, prose, lists, asides, tabs, code blocks, the edit\u002Flast-updated row and the prev\u002Fnext pager.\n\n**Why:** line length decides how easy text is to read. The comfortable range is roughly 45–75 characters per line, and about 66 is ideal. Past that, the eye loses its place on the long sweep back to the start of the next line, rereads lines or skips them, and long pages become tiring. Body text is 16px Mona Sans, a narrow face averaging ~7.3px per character, so 620px holds about 80 characters per line: already at the top of what reads comfortably. Wider columns look fuller on a big monitor and read worse at every size.\n\n- Tables, mermaid diagrams and images may grow wider than 620px when their content needs it. They're scanned, not read line by line, so the measure doesn't apply to them.\n- Size the measure in `rem`, never `ch`. `1ch` is the width of the \"0\" glyph (~10px here), so `70ch` is ~700px, or ~92 real characters.\n- The landing page lays its sections out in a wider 72rem container, but its running text (intros, descriptions) still stays within a comfortable measure.\n- If a wide screen feels empty, that space is the cost of readable text. The column is centred between the sidebar and \"On this page\" so the space sits evenly on both sides.\n\n## Gutters\n\nDesktop docs keep at least **60px** (`--aw-content-gutter`) between the content and the sidebar on the left, and between the content and \"On this page\" on the right.\n\n**Why:** the gutter separates reading content from navigation. Without it, the TOC reads as part of the text, and the page feels cramped no matter how wide the screen is.\n\n## Header navigation: keep it short\n\nThe top navigation stays sparse. It holds three section links (Docs, Workflow examples, Blog), plus search, GitHub, the theme toggle and one \"Get started\" button. Keep that count fixed: a new item goes in only by replacing an existing one.\n\n**Why:** the header is the most valuable space on the site, and every item in it competes with every other. Three links can be read at a glance. Twelve can't, so visitors skim past all of them, including the one they needed. Prioritising is the point: the header carries only the few destinations most visitors need, on every page.\n\nNew features, tools, demos, launchers, announcements and secondary links go in the docs sidebar, the footer, or a link on the page where they're relevant.\n\n## Visual direction\n\nNear-monochrome: warm stone neutrals, near-black primary buttons, muted grey secondary text, hairline borders. The purple accent marks links, active states and focus, and is used sparingly. Colour is reserved for real product UI shown in mocks. Use the tokens in `docs\u002Fsrc\u002Fstyles\u002Ftokens.css` rather than new hard-coded colours.\n\n## Enforcement\n\n`docs\u002Fscripts\u002Fcheck-reading-measure.mjs` runs before every docs build and fails it if the measure or gutter values change, or if `--sl-content-width` is overridden elsewhere. `docs\u002Ftests\u002Fcontent-width.spec.ts` checks the rendered layout.\n","# Docs site and landing page design rules\n\nThe docs site and the landing page (`docs\u002Fsrc\u002Fcontent\u002Fdocs\u002Findex.mdx` and `docs\u002Fsrc\u002Fcomponents\u002Flanding\u002F`) had a deliberate design pass. These rules hold that design in place on both. Each one exists for the reader, and each states its reason so you can explain it.\n\n## When a request breaks a rule\n\nRequests like \"there's too much white space\" or \"add X to the header\" often point to a real problem with the wrong fix. When a requested visual change breaks a rule below:\n\n1. Find the problem the requester actually has (the page feels empty, a feature is hard to find).\n2. Implement a fix for that problem that stays inside the rules.\n3. In the PR description, name the rule, give its reason in a sentence or two, and say what you did instead.\n\nA rule changes only when the designer who owns it agrees, and the change updates this file in the same PR.\n\n## Reading measure\n\nOn docs pages, body content is at most **620px** wide (`--aw-prose-width` in `docs\u002Fsrc\u002Fstyles\u002Fcustom.css`). That includes the page title, prose, lists, asides, tabs, code blocks, the edit\u002Flast-updated row and the prev\u002Fnext pager.\n\n**Why:** line length decides how easy text is to read. The comfortable range is roughly 45–75 characters per line, and about 66 is ideal. Past that, the eye loses its place on the long sweep back to the start of the next line, rereads lines or skips them, and long pages become tiring. Body text is 16px Mona Sans, a narrow face averaging ~7.3px per character, so 620px holds about 80 characters per line: already at the top of what reads comfortably. Wider columns look fuller on a big monitor and read worse at every size.\n\n- Tables, mermaid diagrams and images may grow wider than 620px when their content needs it. They're scanned, not read line by line, so the measure doesn't apply to them.\n- Size the measure in `rem`, never `ch`. `1ch` is the width of the \"0\" glyph (~10px here), so `70ch` is ~700px, or ~92 real characters.\n- The landing page lays its sections out in a wider 72rem container, but its running text (intros, descriptions) still stays within a comfortable measure.\n- If a wide screen feels empty, that space is the cost of readable text. The column is centred between the sidebar and \"On this page\" so the space sits evenly on both sides.\n\n## Gutters\n\nDesktop docs keep at least **60px** (`--aw-content-gutter`) between the content and the sidebar on the left, and between the content and \"On this page\" on the right.\n\n**Why:** the gutter separates reading content from navigation. Without it, the TOC reads as part of the text, and the page feels cramped no matter how wide the screen is.\n\n## Header navigation: keep it short\n\nThe top navigation stays sparse. It holds three section links (Docs, Workflow examples, Blog), plus search, GitHub, the theme toggle and one \"Get started\" button. Keep that count fixed: a new item goes in only by replacing an existing one.\n\n**Why:** the header is the most valuable space on the site, and every item in it competes with every other. Three links can be read at a glance. Twelve can't, so visitors skim past all of them, including the one they needed. Prioritising is the point: the header carries only the few destinations most visitors need, on every page.\n\nNew features, tools, demos, launchers, announcements and secondary links go in the docs sidebar, the footer, or a link on the page where they're relevant.\n\n## Visual direction\n\nNear-monochrome: warm stone neutrals, near-black primary buttons, muted grey secondary text, hairline borders. The purple accent marks links, active states and focus, and is used sparingly. Colour is reserved for real product UI shown in mocks. Use the tokens in `docs\u002Fsrc\u002Fstyles\u002Ftokens.css` rather than new hard-coded colours.\n\n## Enforcement\n\n`docs\u002Fscripts\u002Fcheck-reading-measure.mjs` runs before every docs build and fails it if the measure or gutter values change, or if `--sl-content-width` is overridden elsewhere. `docs\u002Ftests\u002Fcontent-width.spec.ts` checks the rendered layout.\n",{"name":5,"description":7},"main","8541229759617347888641eba917d3b0ad66a984",".github\u002Fskills\u002Fdocs-design",625,"https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgh-aw","https:\u002F\u002Fgh.io\u002Fgh-aw","https:\u002F\u002Fgithub.com\u002Fgithub","https:\u002F\u002Fgithub.com\u002Fabout","How people build software.","2026-11-12 03:23:28",{"source":8,"skillName":5,"commands":65,"prompt":75,"zipAvailable":76},[66,69,72],{"tool":67,"command":68},"npx","npx skills add github\u002Fgh-aw --skill docs-design",{"tool":70,"command":71},"bunx","bunx skills add github\u002Fgh-aw --skill docs-design",{"tool":73,"command":74},"pnpm","pnpm dlx skills add github\u002Fgh-aw --skill docs-design","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgh-aw\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Fdocs-design\u002FSKILL.md",true,[],[79,105,123,147,170,188],{"skillNo":80,"name":81,"nameZh":6,"description":82,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":83,"categories":84,"keywords":91,"publishedAt":49},"01M6ADC942STTXHFV410J4DH0X","GitHub Agentic Workflows","GitHub Agentic Workflows (`gh-aw`) is a GitHub CLI extension for writing Agentic Workflows in markdown and compiling them to GitHub Actions.","https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgh-aw\u002Fblob\u002Fmain\u002FSKILL.md",[85,88],{"categoryNo":86,"categoryName":87,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000011","运维与部署",{"categoryNo":89,"categoryName":90,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发",[9,92,93,94,95,96,97,98,33,99,100,101,102,103,104],"agentic","agentic workflows","github agentic workflows","workflows","github cli","gh","extension","compiling","cli","writing","actions","github actions","markdown",{"skillNo":106,"name":107,"nameZh":6,"description":108,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":109,"categories":110,"keywords":111,"publishedAt":49},"01M6ADC6ZXSA46N9XD6VNAP1MS","windows-compatibility","Cross-platform path handling and command patterns","https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgh-aw\u002Fblob\u002Fmain\u002F.squad\u002Ftemplates\u002Fskills\u002Fwindows-compatibility\u002FSKILL.md",[],[112,113,114,115,116,117,118,119,120,121,122],"windows","windows compatibility","compatibility","bugs","path","high","platform","cross-platform","patterns","command","git",{"skillNo":124,"name":125,"nameZh":6,"description":126,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":127,"categories":128,"keywords":129,"publishedAt":49},"01M6ADC44957SVQF96R5YY247P","versioning-policy","Semver versioning rules for Squad SDK and CLI — prevents prerelease version incidents","https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgh-aw\u002Fblob\u002Fmain\u002F.squad\u002Ftemplates\u002Fskills\u002Fversioning-policy\u002FSKILL.md",[],[130,131,132,133,134,135,136,43,137,138,139,140,141,142,143,144,33,145,100,146],"policy","versioning policy","versioning","incident","gate","implementation","version","workspace","pr","ci","npm","semver","release","squad","resolution","incidents","sdk",{"skillNo":148,"name":149,"nameZh":6,"description":150,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":151,"categories":152,"keywords":155,"publishedAt":49},"01M6ADC1PHMEAEVR87F8PDR89X","tiered-memory","Three-tier agent memory model (hot\u002Fcold\u002Fwiki) for context reduction per spawn","https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgh-aw\u002Fblob\u002Fmain\u002F.squad\u002Ftemplates\u002Fskills\u002Ftiered-memory\u002FSKILL.md",[153,154],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":89,"categoryName":90,"taxonomyType":21,"taxonomyTypeDesc":22},[156,157,158,159,33,160,161,162,163,164,165,166,167,168,169,30],"tiered memory","memory","memory-management","model","cold","proposal","runtime","three","spawn","management","context","wiki","agent memory","performance",{"skillNo":171,"name":172,"nameZh":6,"description":173,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":174,"categories":175,"keywords":179,"publishedAt":49},"01M6ADBZTDGFM0E25EWRQEMYEH","test-discipline","Update tests when changing APIs — no exceptions","https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgh-aw\u002Fblob\u002Fmain\u002F.squad\u002Ftemplates\u002Fskills\u002Ftest-discipline\u002FSKILL.md",[176],{"categoryNo":177,"categoryName":178,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000008","测试与质量",[180,181,182,183,184,117,185,133,186,187],"test discipline","discipline","test","sync","when","tests","quality","update",{"skillNo":189,"name":143,"nameZh":6,"description":190,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":191,"categories":192,"keywords":193,"publishedAt":49},"01M6ADBX5MJP4Z7CG4XTV8ZVT8","Squad's command catalog and interactive menu. Invoke via \u002Fsquad (slash command) or natural language (\"squad commands\", \"what can squad do\", \"show me squad options\"). Presents categorized operations (Install & Upgrade, Team Management, Issues & PRs, Plugins & Skills, Model & Cost, Sessions & State) as an interactive picker. Routes to the right squad CLI command or the Squad coordinator agent.","https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgh-aw\u002Fblob\u002Fmain\u002F.squad\u002Ftemplates\u002Fskills\u002Fsquad\u002FSKILL.md",[],[143,194,195,196,197,198,199,200,201,202,203,204,205,121,159,206,207,208,209,210,211,212,100],"show","interactive menu","invoke","coordinator","as","commands","upgrade","options","me","natural language","do","install","team","show me","plugins","issues","state","squad commands","sessions"]