[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6DAT0ES63YY7XH7C8VZD3PB":3,"skill-same:01M6DAT0ES63YY7XH7C8VZD3PB":67},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":15,"categories":16,"keywords":17,"publishedAt":30,"linkOnly":31,"markdownContent":32,"markdownBody":33,"frontMatter":34,"refName":41,"commitSha":42,"skillDirectory":43,"forksCount":13,"repositoryHtmlUrl":44,"repositoryHomepageUrl":6,"ownerHtmlUrl":45,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":46,"install":47,"resources":60},"01M6DAT0ES63YY7XH7C8VZD3PB","discoverability",null,"Use when users can't find a feature, when adding a command palette or launcher (Spotlight\u002FRofi-style), when designing keyboard shortcuts and power paths, or when reviewing whether a product's features are findable and its frequent actions have fast routes.","tzeusy-org\u002Fai-bootstrap","tzeusy-org","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F141543652?v=4","01M6DAM1AP09H27BYGFY9QCNPB","01M6DAM1F4R187EK11XDN9JZKH",0,"MIT","https:\u002F\u002Fgithub.com\u002Ftzeusy-org\u002Fai-bootstrap\u002Fblob\u002Fmain\u002Fskills\u002Fpersonal\u002Fth-design\u002Fsubskills\u002Fdiscoverability\u002FSKILL.md",[],[5,18,19,20,21,22,23,24,25,26,27,28,29],"command palette","product","fast","actions","find","command","use","power","launcher","active","shortcuts","feature","2026-11-10 10:12:30",false,"---\nname: discoverability\ndescription: >\n  Use when users can't find a feature, when adding a command palette or\n  launcher (Spotlight\u002FRofi-style), when designing keyboard shortcuts and power\n  paths, or when reviewing whether a product's features are findable and its\n  frequent actions have fast routes.\nmetadata:\n  owner: tze\n  authors:\n    - tze\n    - Claude Fable 5\n  status: active\n  last_reviewed: \"2026-07-03\"\n---\n\n# Discoverability\n\nFeatures are findable in the product itself, and frequent actions grow fast\npaths. The bar: **discoverable power** — the first use needs no docs, the\ntenth use needs no mouse.\n\n## Use This Skill When\n\n- Users (or the walkthrough) reveal a feature nobody finds\n- Adding or designing a command palette \u002F launcher (Spotlight, Rofi, Ctrl+K\n  style) or a keyboard-shortcut scheme\n- Placing a new control: where does it live so the user meets it when needed?\n- Reviewing a product for hidden features, doc-dependent flows, or missing\n  power paths\n\nExample trigger phrasings: \"nobody finds this feature\", \"add a command\npalette\", \"make this keyboard-first\", \"where should this button go\", \"audit\nwhat's discoverable\".\n\n## Do Not Use This Skill For\n\n- What a screen says once the user is on it —\n  [information-design](..\u002Finformation-design\u002FSKILL.md)\n- Keyboard *operability* as a compliance floor —\n  [accessibility](..\u002Faccessibility\u002FSKILL.md) (this skill builds power paths on\n  top of that floor)\n\n## Reviewable Expectations\n\n### Findability\n\n- Every feature is reachable from the product surface without reading\n  external docs. If a wiki or manual is the only path to a feature, the\n  feature is hidden — a defect in the product, not the docs. For CLIs, the\n  product surface *is* `--help`, man pages, and shell completion: a flag\n  those expose is discoverable; one documented only in a README is not.\n- Contextual surfacing: the control lives where the need arises (row actions\n  on the row, filter where the list is), not in a distant settings page or\n  junk-drawer menu.\n- Empty states teach: an empty list shows the action that fills it, not just\n  \"No items\".\n- Search over navigation once a surface is large: past a screenful of\n  destinations or actions, hierarchical menus stop scaling; give the user a\n  type-to-find path.\n\n### Shortcut surfaces — hold in high regard\n\n- A **command palette** (fuzzy, keyboard-invoked, Spotlight\u002FRofi-style) is a\n  first-class feature, not a power-user garnish. Any app with more than a\n  screenful of actions or destinations should have one; for internal tools\n  and dev-facing products it is the default expectation.\n- Palette contract: opens on Ctrl\u002FCmd+K by convention — captured only while\n  focus is inside the app, never globally shadowing browser or system\n  chords — with a visible affordance (a ⌘K hint in the chrome) so the chord\n  isn't the only way in. Fuzzy-matches verbs *and* nouns (actions,\n  navigation, entities), shows recents first, executes without further mouse\n  input, and displays each entry's keybinding inline — the palette is where\n  shortcuts are learned.\n- Everything in menus is in the palette; the palette may contain more than\n  the menus.\n- CLI analog: shell completion and did-you-mean suggestions are the palette.\n  A CLI that ships without completions fails this expectation.\n\n### Keyboard paths\n\n- Every frequent mouse path has a keyboard path. Full operability is the\n  accessibility floor; this bar adds *ergonomics* — chords for hot actions,\n  not just Tab-Tab-Tab-Enter.\n- Shortcuts are advertised where the action lives: in the tooltip, beside the\n  menu item, in the palette entry. A shortcut listed only in a help page\n  doesn't exist.\n- Follow platform conventions before inventing chords; never shadow\n  system-level or browser-level bindings.\n\n### Progressive power\n\n- Defaults for the first use, accelerators for the tenth: the novice path and\n  the fast path coexist, and the product nudges the transition (e.g. tooltip\n  showing the chord after repeated menu use).\n- The design-bar walkthrough's **Habit** question feeds this skill: whatever\n  annoys the tenth use is the shortcut to build\n  ([design-bar](..\u002Fdesign-bar\u002FSKILL.md)).\n\n## Review Method\n\n1. Feature census: list user-facing capabilities; for each, record the\n   discovery path (visible control \u002F menu \u002F palette \u002F docs-only \u002F tribal).\n   Docs-only and tribal entries are findings.\n2. Hot-action census: list the 5–10 most frequent actions; each needs a\n   keyboard route and (if a palette exists) a palette entry, with the binding\n   advertised in the UI. Cite the missing surface.\n3. For a new control: name the moment of need, place the control in that\n   moment's screen region, then add its palette\u002Fkeyboard route in the same\n   change — not as follow-up.\n\nNo built UI yet? Apply the same expectations to the spec's described\nsurfaces; evidence cites the spec section or screen region.\n","# Discoverability\n\nFeatures are findable in the product itself, and frequent actions grow fast\npaths. The bar: **discoverable power** — the first use needs no docs, the\ntenth use needs no mouse.\n\n## Use This Skill When\n\n- Users (or the walkthrough) reveal a feature nobody finds\n- Adding or designing a command palette \u002F launcher (Spotlight, Rofi, Ctrl+K\n  style) or a keyboard-shortcut scheme\n- Placing a new control: where does it live so the user meets it when needed?\n- Reviewing a product for hidden features, doc-dependent flows, or missing\n  power paths\n\nExample trigger phrasings: \"nobody finds this feature\", \"add a command\npalette\", \"make this keyboard-first\", \"where should this button go\", \"audit\nwhat's discoverable\".\n\n## Do Not Use This Skill For\n\n- What a screen says once the user is on it —\n  [information-design](..\u002Finformation-design\u002FSKILL.md)\n- Keyboard *operability* as a compliance floor —\n  [accessibility](..\u002Faccessibility\u002FSKILL.md) (this skill builds power paths on\n  top of that floor)\n\n## Reviewable Expectations\n\n### Findability\n\n- Every feature is reachable from the product surface without reading\n  external docs. If a wiki or manual is the only path to a feature, the\n  feature is hidden — a defect in the product, not the docs. For CLIs, the\n  product surface *is* `--help`, man pages, and shell completion: a flag\n  those expose is discoverable; one documented only in a README is not.\n- Contextual surfacing: the control lives where the need arises (row actions\n  on the row, filter where the list is), not in a distant settings page or\n  junk-drawer menu.\n- Empty states teach: an empty list shows the action that fills it, not just\n  \"No items\".\n- Search over navigation once a surface is large: past a screenful of\n  destinations or actions, hierarchical menus stop scaling; give the user a\n  type-to-find path.\n\n### Shortcut surfaces — hold in high regard\n\n- A **command palette** (fuzzy, keyboard-invoked, Spotlight\u002FRofi-style) is a\n  first-class feature, not a power-user garnish. Any app with more than a\n  screenful of actions or destinations should have one; for internal tools\n  and dev-facing products it is the default expectation.\n- Palette contract: opens on Ctrl\u002FCmd+K by convention — captured only while\n  focus is inside the app, never globally shadowing browser or system\n  chords — with a visible affordance (a ⌘K hint in the chrome) so the chord\n  isn't the only way in. Fuzzy-matches verbs *and* nouns (actions,\n  navigation, entities), shows recents first, executes without further mouse\n  input, and displays each entry's keybinding inline — the palette is where\n  shortcuts are learned.\n- Everything in menus is in the palette; the palette may contain more than\n  the menus.\n- CLI analog: shell completion and did-you-mean suggestions are the palette.\n  A CLI that ships without completions fails this expectation.\n\n### Keyboard paths\n\n- Every frequent mouse path has a keyboard path. Full operability is the\n  accessibility floor; this bar adds *ergonomics* — chords for hot actions,\n  not just Tab-Tab-Tab-Enter.\n- Shortcuts are advertised where the action lives: in the tooltip, beside the\n  menu item, in the palette entry. A shortcut listed only in a help page\n  doesn't exist.\n- Follow platform conventions before inventing chords; never shadow\n  system-level or browser-level bindings.\n\n### Progressive power\n\n- Defaults for the first use, accelerators for the tenth: the novice path and\n  the fast path coexist, and the product nudges the transition (e.g. tooltip\n  showing the chord after repeated menu use).\n- The design-bar walkthrough's **Habit** question feeds this skill: whatever\n  annoys the tenth use is the shortcut to build\n  ([design-bar](..\u002Fdesign-bar\u002FSKILL.md)).\n\n## Review Method\n\n1. Feature census: list user-facing capabilities; for each, record the\n   discovery path (visible control \u002F menu \u002F palette \u002F docs-only \u002F tribal).\n   Docs-only and tribal entries are findings.\n2. Hot-action census: list the 5–10 most frequent actions; each needs a\n   keyboard route and (if a palette exists) a palette entry, with the binding\n   advertised in the UI. Cite the missing surface.\n3. For a new control: name the moment of need, place the control in that\n   moment's screen region, then add its palette\u002Fkeyboard route in the same\n   change — not as follow-up.\n\nNo built UI yet? Apply the same expectations to the spec's described\nsurfaces; evidence cites the spec section or screen region.\n",{"name":5,"metadata":35,"description":40},{"owner":36,"status":27,"authors":37,"last_reviewed":39},"tze",[36,38],"Claude Fable 5","2026-07-03","Use when users can't find a feature, when adding a command palette or launcher (Spotlight\u002FRofi-style), when designing keyboard shortcuts and power paths, or when reviewing whether a product's features are findable and its frequent actions have fast routes.\n","main","c907d6f0bf96bd61b936e8972e0f1c66ebb8148c","skills\u002Fpersonal\u002Fth-design\u002Fsubskills\u002Fdiscoverability","https:\u002F\u002Fgithub.com\u002Ftzeusy-org\u002Fai-bootstrap","https:\u002F\u002Fgithub.com\u002Ftzeusy-org","2026-11-10 23:17:25",{"source":8,"skillName":5,"commands":48,"prompt":58,"zipAvailable":59},[49,52,55],{"tool":50,"command":51},"npx","npx skills add tzeusy-org\u002Fai-bootstrap --skill discoverability",{"tool":53,"command":54},"bunx","bunx skills add tzeusy-org\u002Fai-bootstrap --skill discoverability",{"tool":56,"command":57},"pnpm","pnpm dlx skills add tzeusy-org\u002Fai-bootstrap --skill discoverability","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Ftzeusy-org\u002Fai-bootstrap\u002Fblob\u002Fmain\u002Fskills\u002Fpersonal\u002Fth-design\u002Fsubskills\u002Fdiscoverability\u002FSKILL.md",true,[61],{"path":62,"resourceType":63,"resourceTypeDesc":64,"sizeBytes":65,"sourceHtmlUrl":66},"references\u002Fblob-structure.md","REFERENCE","参考文档",1277,"https:\u002F\u002Fgithub.com\u002Fagency-black\u002FSkills\u002Fblob\u002Fmain\u002FCopia de analyze-skill-issues\u002Freferences\u002Fblob-structure.md",[68,93,120,135,154,165],{"skillNo":69,"name":70,"nameZh":6,"description":71,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":72,"categories":73,"keywords":74,"publishedAt":30},"01M6DAZD21TWH2ET70V9FF75CQ","user-run","Use when a step needs privileges this session lacks (docker, sudo, another user's checkout or secrets, host access) and the owner must run it as tze. Writes a reviewable \u002Fhome\u002Forca\u002F.tmp\u002F\u003Cslug>\u002Frun.sh that impersonates tze (USER_TO_IMPERSONATE overrides), tees timestamped logs plus latest.log and collects artifacts there; Claude presents it with a risk and time brief, then continues from the logs. Triggers: \"I'll run it for you\", \"permission denied on docker.sock\", \"needs sudo\", \"sudo: a password is required\", \"run as tze\", \"\u002Fuser-run\".","https:\u002F\u002Fgithub.com\u002Ftzeusy-org\u002Fai-bootstrap\u002Fblob\u002Fmain\u002Fskills\u002Fpersonal\u002Fuser-run\u002FSKILL.md",[],[75,76,77,78,79,24,80,81,82,83,27,84,85,86,87,88,89,90,91,92],"user run","user","run","docker","logs","host","as","triggers","permission","time","log","artifacts","session","password","access","secrets","risk","brief",{"skillNo":94,"name":95,"nameZh":6,"description":96,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":97,"categories":98,"keywords":109,"publishedAt":30},"01M6DAZAHTCBAD2WF0GAHWPST8","requesting-code-review","Use when completing tasks, implementing major features, or before merging to verify work meets requirements","https:\u002F\u002Fgithub.com\u002Ftzeusy-org\u002Fai-bootstrap\u002Fblob\u002Fmain\u002Fskills\u002Fpersonal\u002Fth-workflow\u002Fsubskills\u002Frequesting-code-review\u002FSKILL.md",[99,104],{"categoryNo":100,"categoryName":101,"taxonomyType":102,"taxonomyTypeDesc":103},"01JBSEEDCAT000000000000007","代码审查","SCENARIO","使用场景",{"categoryNo":105,"categoryName":106,"taxonomyType":107,"taxonomyTypeDesc":108},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",[110,111,112,113,114,115,27,116,117,24,118,119],"requesting code review","code","review","code review","work","requirements","upstream","superpowers","verify","tasks",{"skillNo":121,"name":122,"nameZh":6,"description":123,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":124,"categories":125,"keywords":128,"publishedAt":30},"01M6DAZ7CJ82D81XZB2YHVVY48","receiving-code-review","Use when receiving code review feedback, before implementing suggestions, especially if feedback seems unclear or technically questionable - requires technical rigor and verification, not performative agreement or blind implementation","https:\u002F\u002Fgithub.com\u002Ftzeusy-org\u002Fai-bootstrap\u002Fblob\u002Fmain\u002Fskills\u002Fpersonal\u002Fth-workflow\u002Fsubskills\u002Freceiving-code-review\u002FSKILL.md",[126,127],{"categoryNo":100,"categoryName":101,"taxonomyType":102,"taxonomyTypeDesc":103},{"categoryNo":105,"categoryName":106,"taxonomyType":107,"taxonomyTypeDesc":108},[129,111,112,113,27,116,130,117,24,131,132,133,134],"receiving code review","implementation","code review feedback","technical","feedback","verification",{"skillNo":136,"name":137,"nameZh":6,"description":138,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":139,"categories":140,"keywords":141,"publishedAt":30},"01M6DAZ4ER76ADXJ9KRFP7V3Q9","finishing-a-development-branch","Use when implementation is complete, all tests pass, and you need to decide how to integrate the work - guides completion of development work by presenting structured options for merge, PR, or cleanup","https:\u002F\u002Fgithub.com\u002Ftzeusy-org\u002Fai-bootstrap\u002Fblob\u002Fmain\u002Fskills\u002Fpersonal\u002Fth-workflow\u002Fsubskills\u002Ffinishing-a-development-branch\u002FSKILL.md",[],[142,143,144,145,24,146,114,147,148,149,117,150,151,152,27,116,153,130],"branch","development","finishing a development branch","integrate","decide","how","cleanup","pr","merge","tests","structured","options",{"skillNo":155,"name":156,"nameZh":6,"description":157,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":158,"categories":159,"keywords":160,"publishedAt":30},"01M6DAYZFWWW2YPKP89QNQR96H","executing-plans","Use when you have a written implementation plan to execute in a separate session with review checkpoints","https:\u002F\u002Fgithub.com\u002Ftzeusy-org\u002Fai-bootstrap\u002Fblob\u002Fmain\u002Fskills\u002Fpersonal\u002Fth-workflow\u002Fsubskills\u002Fexecuting-plans\u002FSKILL.md",[],[161,162,163,112,164,27,116,130,117,24,87],"plans","executing plans","plan","execute",{"skillNo":166,"name":167,"nameZh":6,"description":168,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":169,"categories":170,"keywords":171,"publishedAt":30},"01M6DAYWM2YQHYCK7C35K1D29J","dispatching-parallel-agents","Use when facing 2+ independent tasks that can be worked on without shared state or sequential dependencies","https:\u002F\u002Fgithub.com\u002Ftzeusy-org\u002Fai-bootstrap\u002Fblob\u002Fmain\u002Fskills\u002Fpersonal\u002Fth-workflow\u002Fsubskills\u002Fdispatching-parallel-agents\u002FSKILL.md",[],[172,173,174,24,117,116,175,27,176,119,177],"parallel agents","parallel","dispatching parallel agents","state","dependencies","shared"]