[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M71VBDF91SGYP8TYHJ2VJE17":3,"skill-same:01M71VBDF91SGYP8TYHJ2VJE17":97},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":15,"categories":16,"keywords":17,"publishedAt":38,"linkOnly":39,"markdownContent":40,"markdownBody":41,"frontMatter":42,"refName":44,"commitSha":45,"skillDirectory":46,"forksCount":47,"repositoryHtmlUrl":48,"repositoryHomepageUrl":6,"ownerHtmlUrl":49,"ownerBlogUrl":6,"ownerDescription":50,"updatedAt":51,"install":52,"resources":64},"01M71VBDF91SGYP8TYHJ2VJE17","architecture-decision-making",null,"Makes architecture decisions from the cards actually in hand (stack, operators, evidence of scale). Use when choosing a stack, boundary, storage, deploy shape, or any hard-to-reverse technical door. Use before writing an ADR. Do not use to record a decision already made (that is documentation-and-adrs). Don't optimize architecture for imaginary scale.","mamahoos\u002Fdot-files","mamahoos","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F62762296?v=4","01M71VB2X9CZAQ28WPHV6VQKCP","01M71VB2Y2BC8YW9F2TWF96WRW",5,"MIT","https:\u002F\u002Fgithub.com\u002Fmamahoos\u002Fdot-files\u002Fblob\u002Fmain\u002Fhome\u002F.cursor\u002Fskills\u002Farchitecture-decision-making\u002FSKILL.md",[],[18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37],"architecture","architecture decision making","architecture decision","decision making","decision","technical","decisions","use","evidence","do","optimize","record","adr","true","hand","reverse","for","documentation","when","writing","2026-11-10 13:02:02",false,"---\nname: architecture-decision-making\ndescription: Makes architecture decisions from the cards actually in hand (stack, operators, evidence of scale). Use when choosing a stack, boundary, storage, deploy shape, or any hard-to-reverse technical door. Use before writing an ADR. Do not use to record a decision already made (that is documentation-and-adrs). Don't optimize architecture for imaginary scale.\ndisable-model-invocation: true\n---\n\n# Architecture Decision Making\n\nThis skill **makes** the decision. `documentation-and-adrs` **records** it. Do not fill an ADR template until this pipeline has a Decision.\n\n## Hand first\n\nInventory the cards we actually hold before naming options. See [cards.md](cards.md).\n\nDo not play a card that is not in the hand unless you name it as a **new card** (learn + operate + ongoing cost).\n\n## Pipeline\n\nProblem\n ↓\nConstraints\n ↓\nRequirements\n ↓\nOptions\n ↓\nTrade-offs\n ↓\nFailure modes\n ↓\nOperational cost\n ↓\nDecision\n\nDon't optimize architecture for imaginary scale.\n\n## When to use\n\n- Choosing storage, runtime, deploy shape, module boundary, or a major dependency\n- A change that would be expensive to reverse (one-way door)\n- The user asks for architecture, system design, or \"what should we use\"\n- Before `documentation-and-adrs` on a significant decision\n\n**When not to:**\n\n- a two-line bugfix or a rename\n- recording a decision already made (`documentation-and-adrs`)\n- performance work without measured load (`performance-optimization`)\n\n## Door type\n\n| Door | Meaning | Path |\n|---|---|---|\n| Two-way | Cheap to reverse this month (you operate it) | Short: Hand → Problem → Options → Decision |\n| One-way | Painful to undo (data, public contract, prod topology) | Full pipeline |\n\nIf unsure, treat as one-way. If the write-up would take longer than a reversible spike, take the short path and spike.\n\n## Workflow\n\nCopy and track:\n\n```\n- [ ] Hand inventoried (cards.md); new cards named\n- [ ] Evidence of scale stated (or \"unknown → assume single-operator \u002F small\")\n- [ ] Door type chosen\n- [ ] Pipeline completed (short or full)\n- [ ] Option 0 (status quo \u002F do nothing) considered\n- [ ] Decision packet written from templates\u002Fdecision.md\n- [ ] `python3 home\u002F.cursor\u002Fskills\u002Farchitecture-decision-making\u002Fscripts\u002Fcheck_decision.py PATH` passes\n- [ ] User accepted the Decision (or overrode with eyes open)\n- [ ] If significant: hand off to documentation-and-adrs\n```\n\n**Scale evidence (mandatory).** State what you know: users, RPS, data size, deploy frequency, boxes, operators. If you have no numbers, write `unknown` and design for the hand, not for a blog. Imaginary \"when we have millions of users\" is not a requirement.\n\n**Option 0** is always on the table: keep the current shape.\n\n**Characteristics.** Pick at most three that this Decision must protect (maintainability, operability, security, …). Catalog: [reference.md](reference.md). Do not score twelve ISO attributes.\n\n**Handoffs (do not duplicate):**\n\n| After Decision involves… | Load |\n|---|---|\n| Public\u002Fmodule contract | `api-and-interface-design` |\n| Trust boundary, secrets, auth | `security-and-hardening` |\n| Measured SLO\u002Fload | `performance-optimization` |\n| High-stakes candidate | `doubt-driven-development` |\n| Replacing something in prod | `deprecation-and-migration` |\n| Recording the why | `documentation-and-adrs` |\n\n## Output\n\nFill [templates\u002Fdecision.md](templates\u002Fdecision.md). Write it as a working file (`\u002Ftmp\u002Fdecision.md` or next to the change). Do not create `docs\u002Fdecisions\u002F` here — that folder belongs to `documentation-and-adrs` after the Decision is accepted. Optional project overlay: [templates\u002Fcards.md](templates\u002Fcards.md) as `.architecture\u002Fcards.md`.\n\n```bash\npython3 home\u002F.cursor\u002Fskills\u002Farchitecture-decision-making\u002Fscripts\u002Fcheck_decision.py PATH\npython3 ~\u002F.cursor\u002Fskills\u002Farchitecture-decision-making\u002Fscripts\u002Fcheck_decision.py PATH\n# two-way door:\npython3 home\u002F.cursor\u002Fskills\u002Farchitecture-decision-making\u002Fscripts\u002Fcheck_decision.py --short PATH\n```\n\nFirst path is this repo. Second is after `.\u002Finstall.sh`. Do not run `scripts\u002Fcheck_decision.py` from an arbitrary cwd.\n\n## Anti-patterns\n\n- Jumping to an ADR without a Decision\n- Kubernetes \u002F DDD \u002F CQRS \u002F event sourcing \u002F microservices because they look professional\n- Playing a **learning** card as if it were a **confident** card (see `00-user-context`)\n- Optimizing for imaginary scale\n- Inventing operators, budgets, or SLOs the repo does not have\n- Skipping Option 0\n- A 40-page architecture for a Compose app you run alone\n\n## Verification\n\n- [ ] `check_decision.py` passes (`--short` only for a two-way door)\n- [ ] Hand is from repo evidence, not a wish list\n- [ ] Scale is numbers or `unknown`\n- [ ] Option 0 was considered\n- [ ] User accepted the Decision or overrode with the trade-off named\n\n## Additional resources\n\n- [cards.md](cards.md) — how to build the hand\n- [reference.md](reference.md) — characteristics, failure modes, cost, standards\n- [examples.md](examples.md) — decisions at this operator's real scale\n","# Architecture Decision Making\n\nThis skill **makes** the decision. `documentation-and-adrs` **records** it. Do not fill an ADR template until this pipeline has a Decision.\n\n## Hand first\n\nInventory the cards we actually hold before naming options. See [cards.md](cards.md).\n\nDo not play a card that is not in the hand unless you name it as a **new card** (learn + operate + ongoing cost).\n\n## Pipeline\n\nProblem\n ↓\nConstraints\n ↓\nRequirements\n ↓\nOptions\n ↓\nTrade-offs\n ↓\nFailure modes\n ↓\nOperational cost\n ↓\nDecision\n\nDon't optimize architecture for imaginary scale.\n\n## When to use\n\n- Choosing storage, runtime, deploy shape, module boundary, or a major dependency\n- A change that would be expensive to reverse (one-way door)\n- The user asks for architecture, system design, or \"what should we use\"\n- Before `documentation-and-adrs` on a significant decision\n\n**When not to:**\n\n- a two-line bugfix or a rename\n- recording a decision already made (`documentation-and-adrs`)\n- performance work without measured load (`performance-optimization`)\n\n## Door type\n\n| Door | Meaning | Path |\n|---|---|---|\n| Two-way | Cheap to reverse this month (you operate it) | Short: Hand → Problem → Options → Decision |\n| One-way | Painful to undo (data, public contract, prod topology) | Full pipeline |\n\nIf unsure, treat as one-way. If the write-up would take longer than a reversible spike, take the short path and spike.\n\n## Workflow\n\nCopy and track:\n\n```\n- [ ] Hand inventoried (cards.md); new cards named\n- [ ] Evidence of scale stated (or \"unknown → assume single-operator \u002F small\")\n- [ ] Door type chosen\n- [ ] Pipeline completed (short or full)\n- [ ] Option 0 (status quo \u002F do nothing) considered\n- [ ] Decision packet written from templates\u002Fdecision.md\n- [ ] `python3 home\u002F.cursor\u002Fskills\u002Farchitecture-decision-making\u002Fscripts\u002Fcheck_decision.py PATH` passes\n- [ ] User accepted the Decision (or overrode with eyes open)\n- [ ] If significant: hand off to documentation-and-adrs\n```\n\n**Scale evidence (mandatory).** State what you know: users, RPS, data size, deploy frequency, boxes, operators. If you have no numbers, write `unknown` and design for the hand, not for a blog. Imaginary \"when we have millions of users\" is not a requirement.\n\n**Option 0** is always on the table: keep the current shape.\n\n**Characteristics.** Pick at most three that this Decision must protect (maintainability, operability, security, …). Catalog: [reference.md](reference.md). Do not score twelve ISO attributes.\n\n**Handoffs (do not duplicate):**\n\n| After Decision involves… | Load |\n|---|---|\n| Public\u002Fmodule contract | `api-and-interface-design` |\n| Trust boundary, secrets, auth | `security-and-hardening` |\n| Measured SLO\u002Fload | `performance-optimization` |\n| High-stakes candidate | `doubt-driven-development` |\n| Replacing something in prod | `deprecation-and-migration` |\n| Recording the why | `documentation-and-adrs` |\n\n## Output\n\nFill [templates\u002Fdecision.md](templates\u002Fdecision.md). Write it as a working file (`\u002Ftmp\u002Fdecision.md` or next to the change). Do not create `docs\u002Fdecisions\u002F` here — that folder belongs to `documentation-and-adrs` after the Decision is accepted. Optional project overlay: [templates\u002Fcards.md](templates\u002Fcards.md) as `.architecture\u002Fcards.md`.\n\n```bash\npython3 home\u002F.cursor\u002Fskills\u002Farchitecture-decision-making\u002Fscripts\u002Fcheck_decision.py PATH\npython3 ~\u002F.cursor\u002Fskills\u002Farchitecture-decision-making\u002Fscripts\u002Fcheck_decision.py PATH\n# two-way door:\npython3 home\u002F.cursor\u002Fskills\u002Farchitecture-decision-making\u002Fscripts\u002Fcheck_decision.py --short PATH\n```\n\nFirst path is this repo. Second is after `.\u002Finstall.sh`. Do not run `scripts\u002Fcheck_decision.py` from an arbitrary cwd.\n\n## Anti-patterns\n\n- Jumping to an ADR without a Decision\n- Kubernetes \u002F DDD \u002F CQRS \u002F event sourcing \u002F microservices because they look professional\n- Playing a **learning** card as if it were a **confident** card (see `00-user-context`)\n- Optimizing for imaginary scale\n- Inventing operators, budgets, or SLOs the repo does not have\n- Skipping Option 0\n- A 40-page architecture for a Compose app you run alone\n\n## Verification\n\n- [ ] `check_decision.py` passes (`--short` only for a two-way door)\n- [ ] Hand is from repo evidence, not a wish list\n- [ ] Scale is numbers or `unknown`\n- [ ] Option 0 was considered\n- [ ] User accepted the Decision or overrode with the trade-off named\n\n## Additional resources\n\n- [cards.md](cards.md) — how to build the hand\n- [reference.md](reference.md) — characteristics, failure modes, cost, standards\n- [examples.md](examples.md) — decisions at this operator's real scale\n",{"name":5,"description":7,"disable-model-invocation":43},true,"main","f5079c29c332b831168f6d7571d2598e98fe8e64","home\u002F.cursor\u002Fskills\u002Farchitecture-decision-making",0,"https:\u002F\u002Fgithub.com\u002Fmamahoos\u002Fdot-files","https:\u002F\u002Fgithub.com\u002Fmamahoos","DevOps \u002F Platform Engineer","2026-11-10 03:01:53",{"source":8,"skillName":5,"commands":53,"prompt":63,"zipAvailable":43},[54,57,60],{"tool":55,"command":56},"npx","npx skills add mamahoos\u002Fdot-files --skill architecture-decision-making",{"tool":58,"command":59},"bunx","bunx skills add mamahoos\u002Fdot-files --skill architecture-decision-making",{"tool":61,"command":62},"pnpm","pnpm dlx skills add mamahoos\u002Fdot-files --skill architecture-decision-making","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fmamahoos\u002Fdot-files\u002Fblob\u002Fmain\u002Fhome\u002F.cursor\u002Fskills\u002Farchitecture-decision-making\u002FSKILL.md",[65,71,75,79,85,89,93],{"path":66,"resourceType":67,"resourceTypeDesc":68,"sizeBytes":69,"sourceHtmlUrl":70},"cards.md","REFERENCE","参考文档",2901,"https:\u002F\u002Fgithub.com\u002Fmamahoos\u002Fdot-files\u002Fblob\u002Fmain\u002Fhome\u002F.cursor\u002Fskills\u002Farchitecture-decision-making\u002Fcards.md",{"path":72,"resourceType":67,"resourceTypeDesc":68,"sizeBytes":73,"sourceHtmlUrl":74},"examples.md",1803,"https:\u002F\u002Fgithub.com\u002Fmamahoos\u002Fdot-files\u002Fblob\u002Fmain\u002Fhome\u002F.cursor\u002Fskills\u002Farchitecture-decision-making\u002Fexamples.md",{"path":76,"resourceType":67,"resourceTypeDesc":68,"sizeBytes":77,"sourceHtmlUrl":78},"reference.md",3079,"https:\u002F\u002Fgithub.com\u002Fmamahoos\u002Fdot-files\u002Fblob\u002Fmain\u002Fhome\u002F.cursor\u002Fskills\u002Farchitecture-decision-making\u002Freference.md",{"path":80,"resourceType":81,"resourceTypeDesc":82,"sizeBytes":83,"sourceHtmlUrl":84},"scripts\u002Fcheck_decision.py","SCRIPT","脚本",1720,"https:\u002F\u002Fgithub.com\u002Fmamahoos\u002Fdot-files\u002Fblob\u002Fmain\u002Fhome\u002F.cursor\u002Fskills\u002Farchitecture-decision-making\u002Fscripts\u002Fcheck_decision.py",{"path":86,"resourceType":81,"resourceTypeDesc":82,"sizeBytes":87,"sourceHtmlUrl":88},"scripts\u002Ftest_check_decision.py",1176,"https:\u002F\u002Fgithub.com\u002Fmamahoos\u002Fdot-files\u002Fblob\u002Fmain\u002Fhome\u002F.cursor\u002Fskills\u002Farchitecture-decision-making\u002Fscripts\u002Ftest_check_decision.py",{"path":90,"resourceType":67,"resourceTypeDesc":68,"sizeBytes":91,"sourceHtmlUrl":92},"templates\u002Fcards.md",586,"https:\u002F\u002Fgithub.com\u002Fmamahoos\u002Fdot-files\u002Fblob\u002Fmain\u002Fhome\u002F.cursor\u002Fskills\u002Farchitecture-decision-making\u002Ftemplates\u002Fcards.md",{"path":94,"resourceType":67,"resourceTypeDesc":68,"sizeBytes":95,"sourceHtmlUrl":96},"templates\u002Fdecision.md",1366,"https:\u002F\u002Fgithub.com\u002Fmamahoos\u002Fdot-files\u002Fblob\u002Fmain\u002Fhome\u002F.cursor\u002Fskills\u002Farchitecture-decision-making\u002Ftemplates\u002Fdecision.md",[98,134,153,182,205,230],{"skillNo":99,"name":100,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":101,"licenseFileUrl":102,"sourceHtmlUrl":103,"categories":104,"keywords":115,"publishedAt":38},"01M71VCZ7RGA06SS6KY978AZTS","discernment-nudge","Apache-2.0","https:\u002F\u002Fgithub.com\u002Fmamahoos\u002Fdot-files\u002Fblob\u002Fmain\u002Fhome\u002F.cursor\u002Fskills\u002Fdiscernment-nudge\u002FLICENSE.txt","https:\u002F\u002Fgithub.com\u002Fmamahoos\u002Fdot-files\u002Fblob\u002Fmain\u002Fhome\u002F.cursor\u002Fskills\u002Fdiscernment-nudge\u002FSKILL.md",[105,110],{"categoryNo":106,"categoryName":107,"taxonomyType":108,"taxonomyTypeDesc":109},"01JBSEEDCAT000000000000018","写作与文案","SCENARIO","使用场景",{"categoryNo":111,"categoryName":112,"taxonomyType":113,"taxonomyTypeDesc":114},"01JBSEEDCAT000000000000036","内容创作者","PROFESSION","适用职业",[116,117,118,119,120,121,122,37,123,36,124,125,126,127,128,129,130,131,132,133],"discernment nudge","nudge","conversation","interpretation","short","up","only","invoke","you","analysis","code","review","claims","argument","assemble","how","run","recommendations",{"skillNo":135,"name":136,"nameZh":6,"description":137,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":138,"categories":139,"keywords":140,"publishedAt":38},"01M71VCTTZ4V9HGZF6E0HCJW7T","diagnosing-bugs","Diagnosis loop for hard bugs and performance regressions. Use when the user says \"diagnose\"\u002F\"debug this\", or reports something broken\u002Fthrowing\u002Ffailing\u002Fslow.","https:\u002F\u002Fgithub.com\u002Fmamahoos\u002Fdot-files\u002Fblob\u002Fmain\u002Fhome\u002F.cursor\u002Fskills\u002Fdiagnosing-bugs\u002FSKILL.md",[],[141,142,143,144,34,145,146,31,147,25,148,149,36,150,151,152],"bugs","diagnosing bugs","broken","diagnose","performance","failing","regressions","loop","debug","reports","diagnosis","user",{"skillNo":154,"name":155,"nameZh":6,"description":156,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":157,"categories":158,"keywords":165,"publishedAt":38},"01M71VCQZJWH05YTPC61MAGRNF","deprecation-and-migration","Manages deprecation and migration. Use when removing old systems, APIs, or features. Use when migrating users from one implementation to another. Use when migrating a database schema in production, such as renaming or dropping a column without downtime (expand\u002Fcontract). Use when deciding whether to maintain or sunset existing code.","https:\u002F\u002Fgithub.com\u002Fmamahoos\u002Fdot-files\u002Fblob\u002Fmain\u002Fhome\u002F.cursor\u002Fskills\u002Fdeprecation-and-migration\u002FSKILL.md",[159,162],{"categoryNo":160,"categoryName":161,"taxonomyType":108,"taxonomyTypeDesc":109},"01JBSEEDCAT000000000000010","后端与接口",{"categoryNo":163,"categoryName":164,"taxonomyType":113,"taxonomyTypeDesc":114},"01JBSEEDCAT000000000000037","律师与法务",[166,167,168,169,170,171,172,36,126,173,174,31,175,176,25,177,178,179,180,181],"deprecation","deprecation and migration","migration","expand","database schema","maintain","database","features","as","contract","schema","Existing","one","users","systems","column",{"skillNo":183,"name":184,"nameZh":6,"description":185,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":186,"categories":187,"keywords":188,"publishedAt":38},"01M71VCMZA9VYSWXX396XRPP1Z","debugging-and-error-recovery","Guides systematic root-cause debugging. Use when tests fail, builds break, something that worked yesterday broke, behavior doesn't match expectations, or you encounter any unexpected error. Use when you need to figure out what broke and why — a systematic approach to finding and fixing the root cause rather than guessing.","https:\u002F\u002Fgithub.com\u002Fmamahoos\u002Fdot-files\u002Fblob\u002Fmain\u002Fhome\u002F.cursor\u002Fskills\u002Fdebugging-and-error-recovery\u002FSKILL.md",[],[189,190,191,192,193,36,124,194,195,196,197,198,199,31,200,25,201,202,203,204],"error","error recovery","debugging","debugging and error recovery","recovery","guides","why","break","systematic","encounter","root cause","tests","root-cause","behavior","match","root",{"skillNo":206,"name":207,"nameZh":6,"description":208,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":209,"categories":210,"keywords":214,"publishedAt":38},"01M71VCGKVYAEHPKH569NVC8ZB","context-engineering","Optimizes agent context setup. Use when starting a new session, when agent output quality degrades, when switching between tasks, or when you need to configure rules files and context for a project.","https:\u002F\u002Fgithub.com\u002Fmamahoos\u002Fdot-files\u002Fblob\u002Fmain\u002Fhome\u002F.cursor\u002Fskills\u002Fcontext-engineering\u002FSKILL.md",[211],{"categoryNo":212,"categoryName":213,"taxonomyType":108,"taxonomyTypeDesc":109},"01JBSEEDCAT000000000000023","Skill与智能体开发",[215,216,217,218,219,220,221,222,223,36,224,124,225,226,227,34,228,31,25,229],"context","context engineering","engineering","project","context setup","new","files","agent context","switching","configure","tasks","agent context setup","new session","session","Rules",{"skillNo":231,"name":232,"nameZh":6,"description":233,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":234,"categories":235,"keywords":236,"publishedAt":38},"01M71VCARZSNE9Y80192V5FTZK","constraint-driven-development","Establishes a project's quality bar as a written contract and stops agents quietly lowering it. Interviews the user on which dimensions matter, supplies sane default thresholds when they have no number in mind, records everything in CONSTRAINTS.md, and watches the diff for a weakened bar — new @ts-ignore or eslint-disable suppressions, skipped or deleted tests, assertions stripped out, unimplemented stubs, thresholds edited down. Use when no quality bar is written down, when the user says \"set up constraints\" or \"define our standards\", when the user wants dimensions they care about — accessibility, web performance, coverage — set up as enforced constraints, when an agent keeps silencing checks or skipping tests to get to green, when you need a coverage or performance threshold and don't know what number to pick, or when an agent writes more code than anyone will read.","https:\u002F\u002Fgithub.com\u002Fmamahoos\u002Fdot-files\u002Fblob\u002Fmain\u002Fhome\u002F.cursor\u002Fskills\u002Fconstraint-driven-development\u002FSKILL.md",[],[237,238,239,240,241,242,243,244,245,218,145,246,247,121,220,36,248,124,126,249],"development","constraint driven development","constraint","driven","coverage","SET","which","get","green","default","pick","number","dimensions"]