{"id":"54501113-1262-4083-915c-47948fd4bbda","shortId":"wQsv9W","kind":"skill","title":"brainstorming","tagline":"Use when defining new features, product behavior, UI/component design, architecture choices, contract changes, or ambiguous medium/high-complexity work before implementation.","description":"# Execute\n\n→ New feature, product behavior, UI/component design, architecture/contract change, or ambiguous medium/high-complexity work? → **Design first. No implementation until the needed design/spec is approved.**\n  1. Explore project context → read authority docs, check for existing patterns\n  2. Ask clarifying questions one at a time (prefer multiple choice)\n  3. Propose 2-3 approaches with trade-offs and your recommendation\n  4. Present design sections → get user approval after each\n  5. Write spec → self-review → user review → transition to writing-plans\n→ HARD GATE: For tasks that match this skill, do NOT write code, scaffold projects, or invoke implementation skills until design/spec approval is satisfied.\n\n# Brainstorming Ideas Into Designs\n\nHelp turn ideas into fully formed designs and specs through natural collaborative dialogue.\n\nStart by understanding the current project context and authority boundary, then ask questions one at a time to refine the idea. Once you understand what you're building, present the smallest design artifact that stabilizes the work and get the required approval.\n\n<HARD-GATE>\nDo NOT invoke any implementation skill, write any code, scaffold any project, or take implementation action for work that matches this skill until you have presented the required design/spec and the user has approved it where this workflow requires approval.\n</HARD-GATE>\n\n## Route Away When It Is Small\n\nDo not force this workflow onto low-complexity work. A tiny wording edit,\nsingle-owner bug fix, simple config/status question, or local utility change\ncan proceed through concise intent, baseline check, TDD/debugging, and\nverification. If uncertainty or impact grows, escalate back here and write the\nsmallest stabilizing spec.\n\n## Checklist\n\nYou MUST create a task for each of these items and complete them in order:\n\n1. **Explore project context** — check files, docs, recent commits, authority docs, CONTEXT.md\n2. **Choose the path and scope** — real design? diagnosis? route accordingly or decompose first\n3. **Offer visual companion** (if visual questions ahead) — own message, no other content\n4. **Ask clarifying questions** — one at a time, understand purpose/constraints/success criteria\n5. **Draft working artifacts** — `TaskIntentDraft`, `BaselineReadSetHint`, `ImpactStatementDraft`\n6. **Propose 2-3 approaches** — with trade-offs and your recommendation\n7. **Present design** — in sections scaled to complexity, get user approval where required\n8. **Write spec artifact** — save a Spec Brief or Design Spec under `docs/aegis/specs/` when persistent requirements are needed\n9. **Spec self-review** — check for placeholders, contradictions, ambiguity, scope, boundary\n10. **User reviews written spec** — ask user to review before proceeding\n11. **Transition to implementation** — invoke writing-plans skill (terminal state)\n\n**The terminal state is invoking writing-plans.** Do NOT invoke any other implementation skill.\n\n## The Process\n\n**Understanding the idea:**\n- Check current project state first (files, docs, recent commits)\n- Read relevant authority docs before asking deep questions\n- If the request is diagnosis/root-cause/follow-up to an approved plan → route to correct workflow\n- If the request spans multiple independent subsystems → flag and decompose first\n- Ask clarifying questions one at a time, prefer multiple choice\n- Separate facts, assumptions, unknowns while exploring\n\n**Working artifacts:** Keep three drafts: `TaskIntentDraft` (outcome, goal,\nsuccess evidence, stop condition, non-goals, scope, risks),\n`BaselineReadSetHint` (candidate docs, authority gaps), `ImpactStatementDraft`\n(affected layers, owners, invariants, compat, non-goals). Refresh when scope\nchanges.\n\n**Compact output contract:** `TaskIntentDraft`, `BaselineReadSetHint`,\n`ImpactStatementDraft`, `Options`, and `Decision Needed`. Use this compact\nshape before expanding into a full design structure.\n\n**Exploring approaches:** Propose 2-3 approaches with trade-offs and\nrecommendation. Make scope boundary explicit: what's in, what's deferred, what\nbelongs elsewhere.\n\nBefore approach selection, use `first-principles-review` and its\n`Decision Hygiene Review` when the candidate direction introduces a new owner,\nduplicate owner, fallback, adapter, compat-only carrier, delete-first question,\nunverified assumption, or \"long-term stable\" / `长期稳定` claim. Do not make it a\nuniversal design ceremony; return to this workflow once the decision surface is\nclean.\n\n**Presenting the design:** Scale sections to complexity. Cover only the surfaces that matter: architecture, components, data flow, error handling, testing, compatibility boundary. Get approval for the design before implementation when behavior, contract, architecture, or user-facing flow is being decided.\n\n**ADR signals:** When the design/spec touches durable architecture surfaces\n(owner, public contract, artifact shape, dependency direction,\nsource-of-truth, host compatibility, runtime-ready boundary, fallback,\nadapter, or retirement schedule), mark the ADR signal, source refs, real\nalternatives, and expected baseline-sync question for later completion. Do not\ncreate accepted architecture memory from unexecuted ideas.\n\n**Design for isolation:** Each unit = one clear purpose, well-defined interface, testable independently. Can someone understand it without reading internals? Can you change internals without breaking consumers?\n\n**Existing codebases:** Follow existing patterns. Include targeted improvements only when they serve the current goal. If the design touches contracts, compat, fallbacks, or duplicated owners → call it out directly.\n\n## After the Design\n\n**Documentation:**\n\n1. **Aegis Project Workspace initialization (first creation only):**\n   If `docs/aegis/` does not exist and configured Aegis workspace support is\n   available, initialize the target project:\n   `python <aegis-workspace-helper> init --root <target-project-root>`.\n   If installed Aegis workspace support is unavailable, create it manually:\n   a. Create `docs/aegis/README.md` — describes workspace purpose and structure\n   b. Create `docs/aegis/INDEX.md` — empty index, will be appended below\n   c. Create `docs/aegis/BASELINE-GOVERNANCE.md` from the template in\n      \"BASELINE-GOVERNANCE.md Template\" section below\n   d. If the project has existing code, create an initial baseline snapshot:\n      `docs/aegis/baseline/YYYY-MM-DD-initial-baseline.md` using the\n      \"Initial Baseline Snapshot Template\" below\n   If `docs/aegis/` already exists, use it — do not recreate.\n\n2. **Write the validated spec artifact when needed:**\n   Use the smallest artifact that stabilizes the task:\n   - Spec Brief: `docs/aegis/specs/YYYY-MM-DD-<topic>-brief.md` for medium\n     tasks that need what/why/acceptance pinned before planning.\n   - Design Spec: `docs/aegis/specs/YYYY-MM-DD-<topic>-design.md` for high\n     complexity, architecture, contract, migration, cross-module, or ambiguous\n     behavior requiring user review.\n   Specs always go to `specs/` — never to `work/`.\n\n3. **Update INDEX.md:**\n   Prefer configured Aegis workspace support: `python <aegis-workspace-helper> append-index --root\n   <target-project-root> --path docs/aegis/specs/<filename>.md --kind spec\n   --title \"<title>\"`. If workspace support is unavailable, append the new spec entry\n   to `docs/aegis/INDEX.md` manually.\n   After the append, run `python <aegis-workspace-helper> check --root\n   <target-project-root>` when configured workspace support is available. This validates\n   structure and index coverage only; it does not grant completion authority.\n\n4. Commit the design document to git.\n\n5. Include the latest `TaskIntentDraft`, `BaselineReadSetHint`, and `ImpactStatementDraft` inline or in an appendix when they materially shaped the design.\n\n6. Record explicit non-goals and compatibility boundaries so the later implementation plan does not drift.\n\n**Spec Self-Review:**\nAfter writing the spec document, look at it with fresh eyes:\n\n1. **Placeholder scan:** Any \"TBD\", \"TODO\", incomplete sections, or vague requirements? Fix them.\n2. **Internal consistency:** Do any sections contradict each other? Does the architecture match the feature descriptions?\n3. **Scope check:** Is this focused enough for a single implementation plan, or does it need decomposition?\n4. **Ambiguity check:** Could any requirement be interpreted two different ways? If so, pick one and make it explicit.\n5. **Boundary check:** Did you clearly mark invariants, compatibility\n   boundaries, owners, non-goals, and any ADR signals for later completion\n   backfill? If the spec endorses a risky approach, confirm the\n   `first-principles-review` `Decision Hygiene Review` result is reflected or\n   explicitly marked unnecessary.\n\nFix any issues inline. No need to re-review — just fix and move on.\n\n**User Review Gate:**\nAfter a Design Spec review loop passes, ask the user to review the written spec before proceeding:\n\n> \"Spec written and committed to `<path>`. Please review it and let me know if you want to make any changes before we start writing out the implementation plan.\"\n\nWait for the user's response when this workflow requires review. If they request changes, make them and re-run the spec review loop. Only proceed once the user approves. For a small Spec Brief created only to pin medium-task acceptance, user review may be concise unless project rules require a formal approval step.\n\n**Implementation:**\n\n- Invoke the writing-plans skill to create a detailed implementation plan\n- Do NOT invoke any other skill. writing-plans is the next step.\n\n## Key Principles\n\n- **One question at a time** - Don't overwhelm with multiple questions\n- **Multiple choice preferred** - Easier to answer than open-ended when possible\n- **YAGNI ruthlessly** - Remove unnecessary features from all designs\n- **Explore alternatives** - Always propose 2-3 approaches before settling\n- **Incremental validation** - Present design, get approval before moving on\n- **Be flexible** - Go back and clarify when something doesn't make sense\n\n## Visual Companion\n\nA browser-based companion for showing mockups, diagrams, and visual options during brainstorming. Available as a tool — not a mode. Accepting the companion means it's available for questions that benefit from visual treatment; it does NOT mean every question goes through the browser.\n\n**Offering the companion:** When you anticipate that upcoming questions will involve visual content (mockups, layouts, diagrams), offer it once for consent:\n> \"Some of what we're working on might be easier to explain if I can show it to you in a web browser. I can put together mockups, diagrams, comparisons, and other visuals as we go. This feature is still new and can be token-intensive. Want to try it? (Requires opening a local URL)\"\n\n**This offer MUST be its own message.** Do not combine it with clarifying questions, context summaries, or any other content. The message should contain ONLY the offer above and nothing else. Wait for the user's response before continuing. If they decline, proceed with text-only brainstorming.\n\n**Per-question decision:** Even after the user accepts, decide FOR EACH QUESTION whether to use the browser or the terminal. The test: **would the user understand this better by seeing it than reading it?**\n\n- **Use the browser** for content that IS visual — mockups, wireframes, layout comparisons, architecture diagrams, side-by-side visual designs\n- **Use the terminal** for content that is text — requirements questions, conceptual choices, tradeoff lists, A/B/C/D text options, scope decisions\n\nA question about a UI topic is not automatically a visual question. \"What does personality mean in this context?\" is a conceptual question — use the terminal. \"Which wizard layout works better?\" is a visual question — use the browser.\n\nIf they agree to the companion, read the detailed guide before proceeding:\n`skills/brainstorming/visual-companion.md`\n\n## BASELINE-GOVERNANCE.md Template\n\nWhen creating `docs/aegis/BASELINE-GOVERNANCE.md` for the first time, use this template:\n\n```markdown\n# Baseline Governance\n\n## 1. Architecture Defect\nA confirmed error, gap, or contradiction IN the baseline itself.\n- Fix baseline first, then align implementation to corrected baseline.\n- Do NOT patch implementation around a defective baseline.\n\n## 2. Architecture Drift\nImplementation has deviated from a confirmed, correct baseline.\n- Return to baseline via the simplest path.\n- Do NOT \"update baseline to match drift\" without explicit review.\n\n## 3. Baseline Check Protocol\nBefore non-trivial changes:\n1. Read the latest baseline snapshot in `baseline/`\n2. Compare current code structure against ownership map\n3. Compare current contracts against contract inventory\n4. Check for new anti-patterns not recorded in known list\n5. Report: aligned / minor drift (self-correctable) / material drift (needs review)\n\n## 4. Architecture Review — 7 Dimensions\nAfter each non-trivial change:\n1. **Ownership integrity** — every component has exactly one canonical owner\n2. **Module boundaries** — no unauthorized cross-module coupling\n3. **Contract changes** — all API/signature/behavior contract changes documented\n4. **Cascade proliferation** — no new cascading dependency chains\n5. **Dependency direction** — dependencies flow toward stability\n6. **Retirement completeness** — old owners/fallbacks/paths removed or scheduled\n7. **Entropy flow** — net complexity decreased or stayed; no unjustified new entities\n\n## 5. Hard Boundaries\n- BASELINE-GOVERNANCE.md is the constitution for THIS project's Aegis workspace\n- Baseline snapshots in `baseline/` are evidence, not authority\n- ADRs in `adr/` record decisions; they do not replace baseline governance\n- This file is NEVER auto-updated — changes require explicit user review\n```\n\n## Initial Baseline Snapshot Template\n\nWhen creating the first `docs/aegis/baseline/YYYY-MM-DD-initial-baseline.md`:\n\n1. **Project structure** — top-level directory map, key entry points\n2. **Tech stack** — language, framework, database, key dependencies\n3. **Ownership mapping** — component → canonical owner file/module\n4. **Contract inventory** — public APIs, published interfaces, data contracts\n5. **Dependency direction convention** — which layers depend on which\n6. **Test system** — framework, coverage baseline, test categories\n7. **Build & deploy** — build system, CI pipeline, deploy targets\n8. **Known anti-patterns** — patterns to avoid, previously identified issues\n9. **Last review findings** — date, reviewer, key findings, open items\n10. **Compatibility boundaries** — what must NOT break","tags":["brainstorming","aegis","ganyuanran","add","agent-skills","ai-agents","ai-coding","baseline-first","claude-code","codex","coding-agents","evidence-driven"],"capabilities":["skill","source-ganyuanran","skill-brainstorming","topic-add","topic-agent-skills","topic-ai-agents","topic-ai-coding","topic-baseline-first","topic-claude-code","topic-codex","topic-coding-agents","topic-evidence-driven","topic-first-principles","topic-opencode","topic-software-architecture"],"categories":["Aegis"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/GanyuanRan/Aegis/brainstorming","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add GanyuanRan/Aegis","source_repo":"https://github.com/GanyuanRan/Aegis","install_from":"skills.sh"}},"qualityScore":"0.581","qualityRationale":"deterministic score 0.58 from registry signals: · indexed on github topic:agent-skills · 262 github stars · SKILL.md body (14,653 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-05-18T18:54:48.751Z","embedding":null,"createdAt":"2026-05-04T19:05:07.310Z","updatedAt":"2026-05-18T18:54:48.751Z","lastSeenAt":"2026-05-18T18:54:48.751Z","tsv":"'-3':69,354,565,1364 '1':44,294,805,1071,1701,1768,1826,1941 '10':406,2023 '11':417 '2':55,68,306,353,564,899,1084,1363,1731,1776,1836,1952 '3':66,320,955,1100,1759,1784,1845,1960 '4':78,333,1013,1117,1791,1815,1853,1967 '5':87,344,1020,1136,1803,1861,1888,1976 '6':351,1039,1868,1985 '7':363,1818,1876,1993 '8':376,2002 '9':394,2013 'a/b/c/d':1630 'accept':738,1286,1412,1569 'accord':316 'action':197 'adapt':610,714 'adr':687,720,1152,1909,1911 'aegi':806,820,834,960,1899 'affect':528 'agre':1675 'ahead':327 'align':1718,1805 'alreadi':892 'altern':725,1360 'alway':948,1361 'ambigu':16,31,403,942,1118 'answer':1344 'anti':1796,2005 'anti-pattern':1795,2004 'anticip':1441 'api':1971 'api/signature/behavior':1849 'append':857,965,979,989 'append-index':964 'appendix':1032 'approach':70,355,562,566,587,1164,1365 'approv':43,84,120,181,215,221,373,472,669,1273,1298,1373 'architectur':11,659,678,694,739,935,1095,1608,1702,1732,1816 'architecture/contract':28 'around':1727 'artifact':172,347,379,506,699,904,910 'ask':56,151,334,411,462,489,1206 'assumpt':501,620 'author':49,148,303,459,525,1012,1908 'auto':1925 'auto-upd':1924 'automat':1643 'avail':824,999,1405,1418 'avoid':2009 'away':223 'b':850 'back':270,1380 'backfil':1157 'base':1394 'baselin':259,729,880,886,1699,1712,1715,1722,1730,1741,1744,1752,1760,1772,1775,1901,1904,1918,1933,1990 'baseline-governance.md':866,1686,1891 'baseline-sync':728 'baselinereadsethint':349,522,544,1025 'behavior':8,25,676,943 'belong':584 'benefit':1422 'better':1589,1665 'boundari':149,405,575,667,712,1047,1137,1145,1838,1890,2025 'brainstorm':1,123,1404,1560 'break':770,2029 'brief':383,916,1278 'brief.md':918 'browser':1393,1435,1479,1578,1598,1672 'browser-bas':1392 'bug':245 'build':167,1994,1996 'c':859 'call':797 'candid':523,601 'canon':1834,1964 'carrier':614 'cascad':1854,1858 'categori':1992 'ceremoni':635 'chain':1860 'chang':14,29,253,539,767,1234,1257,1767,1825,1847,1851,1927 'check':51,260,298,399,448,992,1102,1119,1138,1761,1792 'checklist':278 'choic':12,65,498,1340,1627 'choos':307 'ci':1998 'claim':627 'clarifi':57,335,490,1382,1525 'clean':645 'clear':750,1141 'code':111,190,876,1779 'codebas':773 'collabor':138 'combin':1522 'commit':302,456,1014,1219 'compact':540,552 'companion':323,1390,1395,1414,1438,1678 'compar':1777,1785 'comparison':1486,1607 'compat':532,612,666,708,792,1046,1144,2024 'compat-on':611 'complet':290,734,1011,1156,1870 'complex':236,370,652,934,1880 'compon':660,1830,1963 'conceptu':1626,1656 'concis':257,1291 'condit':516 'config/status':248 'configur':819,959,995 'confirm':1165,1705,1739 'consent':1456 'consist':1086 'constitut':1894 'consum':771 'contain':1536 'content':332,1448,1532,1600,1620 'context':47,146,297,1527,1653 'context.md':305 'continu':1551 'contract':13,542,677,698,791,936,1787,1789,1846,1850,1968,1975 'contradict':402,1090,1709 'convent':1979 'correct':476,1721,1740,1810 'could':1120 'coupl':1844 'cover':653 'coverag':1005,1989 'creat':281,737,839,843,851,860,877,1279,1308,1689,1937 'creation':811 'criteria':343 'cross':939,1842 'cross-modul':938,1841 'current':144,449,785,1778,1786 'd':870 'data':661,1974 'databas':1957 'date':2017 'decid':686,1570 'decis':548,596,642,1171,1564,1634,1913 'declin':1554 'decompos':318,487 'decomposit':1116 'decreas':1881 'deep':463 'defect':1703,1729 'defer':582 'defin':4,754 'delet':616 'delete-first':615 'depend':701,1859,1862,1864,1959,1977,1982 'deploy':1995,2000 'describ':845 'descript':1099 'design':10,27,34,80,126,133,171,313,365,385,559,634,648,672,744,789,803,928,1016,1038,1201,1358,1371,1615 'design.md':931 'design/spec':41,119,210,691 'detail':1310,1681 'deviat':1736 'diagnosi':314 'diagnosis/root-cause/follow-up':469 'diagram':1399,1451,1485,1609 'dialogu':139 'differ':1126 'dimens':1819 'direct':602,702,800,1863,1978 'directori':1947 'doc':50,300,304,454,460,524 'docs/aegis':814,891 'docs/aegis/baseline-governance.md':861,1690 'docs/aegis/baseline/yyyy-mm-dd-initial-baseline.md':882,1940 'docs/aegis/index.md':852,985 'docs/aegis/readme.md':844 'docs/aegis/specs':388,969 'docs/aegis/specs/yyyy-mm-dd-':917,930 'document':804,1017,1064,1852 'doesn':1385 'draft':345,509 'drift':1055,1733,1755,1807,1812 'duplic':607,795 'durabl':693 'easier':1342,1466 'edit':241 'els':1543 'elsewher':585 'empti':853 'end':1348 'endors':1161 'enough':1106 'entiti':1887 'entri':983,1950 'entropi':1877 'error':663,1706 'escal':269 'even':1565 'everi':1430,1829 'evid':514,1906 'exact':1832 'execut':21 'exist':53,772,775,817,875,893 'expand':555 'expect':727 'explain':1468 'explicit':576,1041,1135,1178,1757,1929 'explor':45,295,504,561,1359 'eye':1070 'face':682 'fact':500 'fallback':609,713,793 'featur':6,23,1098,1355,1494 'file':299,453,1921 'file/module':1966 'find':2016,2020 'first':35,319,452,488,591,617,810,1168,1693,1716,1939 'first-principles-review':590,1167 'fix':246,1082,1181,1192,1714 'flag':485 'flexibl':1378 'flow':662,683,1865,1878 'focus':1105 'follow':774 'forc':230 'form':132 'formal':1297 'framework':1956,1988 'fresh':1069 'full':558 'fulli':131 'gap':526,1707 'gate':101,1198 'get':82,178,371,668,1372 'git':1019 'go':949,1379,1492 'goal':512,519,535,786,1044,1149 'goe':1432 'govern':1700,1919 'grant':1010 'grow':268 'guid':1682 'handl':664 'hard':100,1889 'help':127 'high':933 'host':707 'hygien':597,1172 'idea':124,129,160,447,743 'identifi':2011 'impact':267 'impactstatementdraft':350,527,545,1027 'implement':20,37,116,186,196,420,441,674,1051,1110,1241,1300,1311,1719,1726,1734 'improv':779 'includ':777,1021 'incomplet':1077 'increment':1368 'independ':483,757 'index':854,966,1004 'index.md':957 'init':830 'initi':809,825,879,885,1932 'inlin':1028,1184 'instal':833 'integr':1828 'intens':1503 'intent':258 'interfac':755,1973 'intern':764,768,1085 'interpret':1124 'introduc':603 'invari':531,1143 'inventori':1790,1969 'invok':115,184,421,432,438,1301,1315 'involv':1446 'isol':746 'issu':1183,2012 'item':288,2022 'keep':507 'key':1326,1949,1958,2019 'kind':971 'know':1227 'known':1801,2003 'languag':1955 'last':2014 'later':733,1050,1155 'latest':1023,1771 'layer':529,1981 'layout':1450,1606,1663 'let':1225 'level':1946 'list':1629,1802 'local':251,1511 'long':623 'long-term':622 'look':1065 'loop':1204,1267 'low':235 'low-complex':234 'make':573,630,1133,1232,1258,1387 'manual':841,986 'map':1783,1948,1962 'mark':718,1142,1179 'markdown':1698 'match':105,201,1096,1754 'materi':1035,1811 'matter':658 'may':1289 'md':970 'mean':1415,1429,1650 'medium':920,1284 'medium-task':1283 'medium/high-complexity':17,32 'memori':740 'messag':329,1519,1534 'might':1464 'migrat':937 'minor':1806 'mockup':1398,1449,1484,1604 'mode':1411 'modul':940,1837,1843 'move':1194,1375 'multipl':64,482,497,1337,1339 'must':280,1515,2027 'natur':137 'need':40,393,549,906,923,1115,1186,1813 'net':1879 'never':952,1923 'new':5,22,605,981,1497,1794,1857,1886 'next':1324 'non':518,534,1043,1148,1765,1823 'non-goal':517,533,1042,1147 'non-trivi':1764,1822 'noth':1542 'off':74,359,570 'offer':321,1436,1452,1514,1539 'old':1871 'one':59,153,337,492,749,1131,1328,1833 'onto':233 'open':1347,1509,2021 'open-end':1346 'option':546,1402,1632 'order':293 'outcom':511 'output':541 'overwhelm':1335 'owner':244,530,606,608,696,796,1146,1835,1965 'owners/fallbacks/paths':1872 'ownership':1782,1827,1961 'pass':1205 'patch':1725 'path':309,968,1748 'pattern':54,776,1797,2006,2007 'per':1562 'per-quest':1561 'persist':390 'person':1649 'pick':1130 'pin':925,1282 'pipelin':1999 'placehold':401,1072 'plan':99,424,435,473,927,1052,1111,1242,1305,1312,1321 'pleas':1221 'point':1951 'possibl':1350 'prefer':63,496,958,1341 'present':79,168,207,364,646,1370 'previous':2010 'principl':592,1169,1327 'proceed':255,416,1215,1269,1555,1684 'process':444 'product':7,24 'project':46,113,145,193,296,450,807,828,873,1293,1897,1942 'prolifer':1855 'propos':67,352,563,1362 'protocol':1762 'public':697,1970 'publish':1972 'purpos':751,847 'purpose/constraints/success':342 'put':1482 'python':829,963,991 'question':58,152,249,326,336,464,491,618,731,1329,1338,1420,1431,1444,1526,1563,1573,1625,1636,1646,1657,1669 're':166,1189,1262,1461 're-review':1188 're-run':1261 'read':48,457,763,1594,1679,1769 'readi':711 'real':312,724 'recent':301,455 'recommend':77,362,572 'record':1040,1799,1912 'recreat':898 'ref':723 'refin':158 'reflect':1176 'refresh':536 'relev':458 'remov':1353,1873 'replac':1917 'report':1804 'request':467,480,1256 'requir':180,209,220,375,391,944,1081,1122,1252,1295,1508,1624,1928 'respons':1248,1549 'result':1174 'retir':716,1869 'return':636,1742 'review':92,94,398,408,414,593,598,946,1059,1170,1173,1190,1197,1203,1210,1222,1253,1266,1288,1758,1814,1817,1931,2015,2018 'risk':521 'riski':1163 'root':831,967,993 'rout':222,315,474 'rule':1294 'run':990,1263 'runtim':710 'runtime-readi':709 'ruthless':1352 'satisfi':122 'save':380 'scaffold':112,191 'scale':368,649 'scan':1073 'schedul':717,1875 'scope':311,404,520,538,574,1101,1633 'section':81,367,650,868,1078,1089 'see':1591 'select':588 'self':91,397,1058,1809 'self-correct':1808 'self-review':90,396,1057 'sens':1388 'separ':499 'serv':783 'settl':1367 'shape':553,700,1036 'show':1397,1472 'side':1611,1613 'side-by-sid':1610 'signal':688,721,1153 'simpl':247 'simplest':1747 'singl':243,1109 'single-own':242 'skill':107,117,187,203,425,442,1306,1318 'skill-brainstorming' 'skills/brainstorming/visual-companion.md':1685 'small':227,1276 'smallest':170,275,909 'snapshot':881,887,1773,1902,1934 'someon':759 'someth':1384 'sourc':704,722 'source-ganyuanran' 'source-of-truth':703 'span':481 'spec':89,135,277,378,382,386,395,410,903,915,929,947,951,972,982,1056,1063,1160,1202,1213,1216,1265,1277 'stabil':174,276,912,1867 'stabl':625 'stack':1954 'start':140,1237 'state':427,430,451 'stay':1883 'step':1299,1325 'still':1496 'stop':515 'structur':560,849,1002,1780,1943 'subsystem':484 'success':513 'summari':1528 'support':822,836,962,976,997 'surfac':643,656,695 'sync':730 'system':1987,1997 'take':195 'target':778,827,2001 'task':103,283,914,921,1285 'taskintentdraft':348,510,543,1024 'tbd':1075 'tdd/debugging':261 'tech':1953 'templat':864,867,888,1687,1697,1935 'term':624 'termin':426,429,1581,1618,1660 'test':665,1583,1986,1991 'testabl':756 'text':1558,1623,1631 'text-on':1557 'three':508 'time':62,156,340,495,1332,1694 'tini':239 'titl':973 'todo':1076 'togeth':1483 'token':1502 'token-intens':1501 'tool':1408 'top':1945 'top-level':1944 'topic':1640 'topic-add' 'topic-agent-skills' 'topic-ai-agents' 'topic-ai-coding' 'topic-baseline-first' 'topic-claude-code' 'topic-codex' 'topic-coding-agents' 'topic-evidence-driven' 'topic-first-principles' 'topic-opencode' 'topic-software-architecture' 'touch':692,790 'toward':1866 'trade':73,358,569 'trade-off':72,357,568 'tradeoff':1628 'transit':95,418 'treatment':1425 'tri':1506 'trivial':1766,1824 'truth':706 'turn':128 'two':1125 'ui':1639 'ui/component':9,26 'unauthor':1840 'unavail':838,978 'uncertainti':265 'understand':142,163,341,445,760,1587 'unexecut':742 'unit':748 'univers':633 'unjustifi':1885 'unknown':502 'unless':1292 'unnecessari':1180,1354 'unverifi':619 'upcom':1443 'updat':956,1751,1926 'url':1512 'use':2,550,589,883,894,907,1576,1596,1616,1658,1670,1695 'user':83,93,213,372,407,412,681,945,1196,1208,1246,1272,1287,1547,1568,1586,1930 'user-fac':680 'util':252 'vagu':1080 'valid':902,1001,1369 'verif':263 'via':1745 'visual':322,325,1389,1401,1424,1447,1489,1603,1614,1645,1668 'wait':1243,1544 'want':1230,1504 'way':1127 'web':1478 'well':753 'well-defin':752 'what/why/acceptance':924 'whether':1574 'wirefram':1605 'without':762,769,1756 'wizard':1662 'word':240 'work':18,33,176,199,237,346,505,954,1462,1664 'workflow':219,232,477,639,1251 'workspac':808,821,835,846,961,975,996,1900 'would':1584 'write':88,98,110,188,273,377,423,434,900,1061,1238,1304,1320 'writing-plan':97,422,433,1303,1319 'written':409,1212,1217 'yagni':1351 '长期稳定':626","prices":[{"id":"c2bd587e-f6d0-4022-bbdc-ca07ece6bf88","listingId":"54501113-1262-4083-915c-47948fd4bbda","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"GanyuanRan","category":"Aegis","install_from":"skills.sh"},"createdAt":"2026-05-04T19:05:07.310Z"}],"sources":[{"listingId":"54501113-1262-4083-915c-47948fd4bbda","source":"github","sourceId":"GanyuanRan/Aegis/brainstorming","sourceUrl":"https://github.com/GanyuanRan/Aegis/tree/main/skills/brainstorming","isPrimary":false,"firstSeenAt":"2026-05-04T19:05:07.310Z","lastSeenAt":"2026-05-18T18:54:48.751Z"}],"details":{"listingId":"54501113-1262-4083-915c-47948fd4bbda","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"GanyuanRan","slug":"brainstorming","github":{"repo":"GanyuanRan/Aegis","stars":262,"topics":["add","agent-skills","ai-agents","ai-coding","architecture-driven-development","baseline-first","claude-code","codex","coding-agents","evidence-driven","first-principles","opencode","software-architecture","tdd","tlref"],"license":"mit","html_url":"https://github.com/GanyuanRan/Aegis","pushed_at":"2026-05-18T11:05:01Z","description":"Make AI coding agents architecture-aware: baseline-first, evidence-verified, drift-checked, and safe across long tasks.","skill_md_sha":"8b1eb936f0aa2cac584c4df377db04c99d7a4ed1","skill_md_path":"skills/brainstorming/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/GanyuanRan/Aegis/tree/main/skills/brainstorming"},"layout":"multi","source":"github","category":"Aegis","frontmatter":{"name":"brainstorming","description":"Use when defining new features, product behavior, UI/component design, architecture choices, contract changes, or ambiguous medium/high-complexity work before implementation."},"skills_sh_url":"https://skills.sh/GanyuanRan/Aegis/brainstorming"},"updatedAt":"2026-05-18T18:54:48.751Z"}}