{"id":"7e81ae30-1e2b-4b42-a0d4-d4d49352c934","shortId":"NJjSUB","kind":"skill","title":"brooks-lint","tagline":"AI code reviewer grounded in classic software engineering books for catching design smells, coupling issues, and architectural risks.","description":"# Brooks Lint\n\n## Overview\n\nBrooks Lint is a Claude Code skill that reviews your code through the lens of 12 classic software engineering books. Instead of checking style rules, it asks: \"What would the authors of *The Pragmatic Programmer*, *Clean Code*, and *Designing Data-Intensive Applications* say about this code?\"\n\nIt synthesizes the principles from landmark engineering books into actionable, structured feedback — catching design smells, tight coupling, missing abstractions, and architectural risks that linters and AI tools typically miss.\n\nNamed after Fred Brooks, author of *The Mythical Man-Month* — because the hardest bugs are conceptual, not syntactic.\n\n## The 12 Books\n\n| Book | Key Principles Applied |\n|------|----------------------|\n| *The Pragmatic Programmer* | DRY, orthogonality, tracer bullets |\n| *Clean Code* | Naming, function size, comment clarity |\n| *The Mythical Man-Month* | Conceptual integrity, second-system effect |\n| *Designing Data-Intensive Applications* | Data consistency, fault tolerance, scalability |\n| *A Philosophy of Software Design* | Deep modules, information hiding, complexity |\n| *Refactoring* | Code smells, extract method, encapsulation |\n| *Working Effectively with Legacy Code* | Seams, characterization tests, dependency breaking |\n| *Domain-Driven Design* | Ubiquitous language, bounded contexts, aggregates |\n| *Release It!* | Stability patterns, timeouts, bulkheads, circuit breakers |\n| *Structure and Interpretation of Computer Programs* | Abstraction, recursion, metalinguistic abstraction |\n| *The Art of UNIX Programming* | Modularity, composability, rule of least surprise |\n| *Extreme Programming Explained* | YAGNI, simple design, collective ownership |\n\n## When to Use This Skill\n\n- Use when you want architectural feedback beyond what linters provide\n- Use before major refactors to identify structural debt\n- Use when reviewing code that \"works but feels wrong\"\n- Use when onboarding to a codebase to quickly map risk areas\n- Use for design reviews before starting a new module or service\n\n## How It Works\n\nBrooks Lint applies each book's core principles as a review lens:\n\n1. **Smell detection**: Flags violations of DRY, SRP, Law of Demeter, etc.\n2. **Coupling analysis**: Identifies tight dependencies and missing abstraction layers\n3. **Naming critique**: Applies Clean Code naming rules to variables, methods, classes\n4. **Architecture review**: Checks for DDIA-style data consistency and fault tolerance gaps\n5. **Stability patterns**: Flags missing timeouts, retries, and circuit breakers (Release It!)\n6. **Complexity scoring**: Applies APOSD complexity metrics to identify over-engineered sections\n\n## Installation\n\n```bash\n# Install via Claude Code plugin marketplace\n# Search: \"brooks-lint\" in Claude Code > Extensions\n\n# Or install via NPX (Antigravity)\nnpx antigravity-awesome-skills --claude\n# Then invoke: @brooks-lint\n```\n\n## Examples\n\n### Example 1: Review a Service Class\n\n```\n@brooks-lint review src/services/PaymentService.ts\n```\n\n**Brooks Lint output:**\n```\n[Pragmatic Programmer] DRY violation: payment validation logic duplicated in 3 places\n[Clean Code] Method processPayment() does 4 things — violates Single Responsibility\n[Release It!] No timeout on external payment gateway call — risk of cascade failure\n[DDIA] No idempotency key — retry on network error will double-charge\n[APOSD] PaymentService knows too much about UserRepository — high coupling\n```\n\n### Example 2: Full Codebase Architecture Review\n\n```\n@brooks-lint analyze the overall architecture of this codebase\n```\n\n### Example 3: Pre-Refactor Review\n\n```\n@brooks-lint what are the biggest design smells in this module before I refactor it?\n```\n\n## Review Categories\n\n| Category | Books Applied | What It Catches |\n|----------|--------------|-----------------|\n| **DRY / Duplication** | PP, Refactoring | Copy-paste code, shared logic not extracted |\n| **Naming** | Clean Code, DDD | Unclear names, domain language violations |\n| **Coupling** | APOSD, PP | Tight dependencies, missing interfaces |\n| **Stability** | Release It! | Missing timeouts, no retry logic, no circuit breakers |\n| **Data Integrity** | DDIA | Race conditions, non-idempotent operations |\n| **Complexity** | APOSD, SICP | Over-engineering, unnecessary abstraction |\n| **Legacy Debt** | WELC | Hard-to-test code, missing seams |\n| **Domain Clarity** | DDD, XP | Anemic models, missing bounded contexts |\n\n## Best Practices\n\n- Run `@brooks-lint` after writing new service layers or data pipelines\n- Combine with `@logic-lens` for full coverage: logic bugs + design smells\n- Use `@brooks-lint analyze architecture` weekly on growing codebases\n- Focus on CRITICAL and HIGH findings first — LOW findings are style suggestions\n\n## Related Skills\n\n- `@logic-lens` — Complementary: catches logic bugs; brooks-lint catches design issues\n- `@security-auditor` — Specialized security-only deep scan\n- `@lint-and-validate` — Style/syntax linting to run alongside design review\n\n## Additional Resources\n\n- [GitHub Repository](https://github.com/hyhmrright/brooks-lint)\n- [Dev.to Article: I Synthesized 12 Classic Engineering Books into an AI Code Reviewer](https://dev.to/hyhmrright/i-synthesized-12-classic-engineering-books-into-an-ai-code-reviewer-heres-what-it-caught-3ed1)\n- [Related skill: logic-lens](https://github.com/hyhmrright/logic-lens)\n\n## Limitations\n\nUse this skill only when the task clearly matches the scope described above (design review and architectural analysis). Brooks Lint applies AI-powered analysis grounded in established engineering principles. It should complement — not replace — human design review for production-critical decisions. Results reflect the principles of the 12 source books and may not apply to all architectural styles or domains.","tags":["brooks","lint","antigravity","awesome","skills","sickn33","agent-skills","agentic-skills","ai-agent-skills","ai-agents","ai-coding","ai-workflows"],"capabilities":["skill","source-sickn33","skill-brooks-lint","topic-agent-skills","topic-agentic-skills","topic-ai-agent-skills","topic-ai-agents","topic-ai-coding","topic-ai-workflows","topic-antigravity","topic-antigravity-skills","topic-claude-code","topic-claude-code-skills","topic-codex-cli","topic-codex-skills"],"categories":["antigravity-awesome-skills"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/sickn33/antigravity-awesome-skills/brooks-lint","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add sickn33/antigravity-awesome-skills","source_repo":"https://github.com/sickn33/antigravity-awesome-skills","install_from":"skills.sh"}},"qualityScore":"0.700","qualityRationale":"deterministic score 0.70 from registry signals: · indexed on github topic:agent-skills · 37911 github stars · SKILL.md body (5,800 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:50:43.325Z","embedding":null,"createdAt":"2026-04-29T18:50:34.990Z","updatedAt":"2026-05-18T18:50:43.325Z","lastSeenAt":"2026-05-18T18:50:43.325Z","tsv":"'/hyhmrright/brooks-lint)':688 '/hyhmrright/i-synthesized-12-classic-engineering-books-into-an-ai-code-reviewer-heres-what-it-caught-3ed1)':704 '/hyhmrright/logic-lens)':712 '1':303,410 '12':40,121,693,763 '2':315,479 '3':325,432,495 '4':337,439 '5':351 '6':363 'abstract':90,211,214,323,579 'action':81 'addit':682 'aggreg':196 'ai':4,97,699,736 'ai-pow':735 'alongsid':679 'analysi':317,731,738 'analyz':487,629 'anem':594 'antigrav':396,399 'antigravity-awesome-skil':398 'aposd':367,469,546,573 'appli':126,293,328,366,520,734,769 'applic':67,156 'architectur':20,92,243,338,482,490,630,730,772 'area':276 'art':216 'articl':690 'ask':51 'auditor':664 'author':55,105 'awesom':400 'bash':377 'best':599 'beyond':245 'biggest':506 'book':12,44,79,122,123,295,519,696,765 'bound':194,597 'break':187 'breaker':204,360,562 'brook':2,22,25,104,291,386,406,416,420,485,501,603,627,657,732 'brooks-lint':1,385,405,415,484,500,602,626,656 'bug':115,622,655 'bulkhead':202 'bullet':133 'call':452 'cascad':455 'catch':14,84,523,653,659 'categori':517,518 'character':184 'charg':468 'check':47,340 'circuit':203,359,561 'clariti':140,591 'class':336,414 'classic':9,41,694 'claud':29,380,389,402 'clean':60,134,329,434,537 'clear':721 'code':5,30,35,61,71,135,173,182,260,330,381,390,435,531,538,587,700 'codebas':271,481,493,634 'collect':232 'combin':613 'comment':139 'complement':746 'complementari':652 'complex':171,364,368,572 'compos':221 'comput':209 'conceptu':117,146 'condit':567 'consist':158,346 'context':195,598 'copi':529 'copy-past':528 'core':297 'coupl':17,88,316,477,545 'coverag':620 'critic':637,755 'critiqu':327 'data':65,154,157,345,563,611 'data-intens':64,153 'ddd':539,592 'ddia':343,457,565 'ddia-styl':342 'debt':256,581 'decis':756 'deep':167,669 'demet':313 'depend':186,320,549 'describ':725 'design':15,63,85,152,166,191,231,279,507,623,660,680,727,750 'detect':305 'dev.to':689,703 'dev.to/hyhmrright/i-synthesized-12-classic-engineering-books-into-an-ai-code-reviewer-heres-what-it-caught-3ed1)':702 'domain':189,542,590,775 'domain-driven':188 'doubl':467 'double-charg':466 'dri':130,309,425,524 'driven':190 'duplic':430,525 'effect':151,179 'encapsul':177 'engin':11,43,78,374,577,695,742 'error':464 'establish':741 'etc':314 'exampl':408,409,478,494 'explain':228 'extens':391 'extern':449 'extract':175,535 'extrem':226 'failur':456 'fault':159,348 'feedback':83,244 'feel':264 'find':640,643 'first':641 'flag':306,354 'focus':635 'fred':103 'full':480,619 'function':137 'gap':350 'gateway':451 'github':684 'github.com':687,711 'github.com/hyhmrright/brooks-lint)':686 'github.com/hyhmrright/logic-lens)':710 'ground':7,739 'grow':633 'hard':584 'hard-to-test':583 'hardest':114 'hide':170 'high':476,639 'human':749 'idempot':459,570 'identifi':254,318,371 'inform':169 'instal':376,378,393 'instead':45 'integr':147,564 'intens':66,155 'interfac':551 'interpret':207 'invok':404 'issu':18,661 'key':124,460 'know':471 'landmark':77 'languag':193,543 'law':311 'layer':324,609 'least':224 'legaci':181,580 'len':38,302,617,651,709 'limit':713 'lint':3,23,26,292,387,407,417,421,486,502,604,628,658,672,676,733 'lint-and-valid':671 'linter':95,247 'logic':429,533,559,616,621,650,654,708 'logic-len':615,649,707 'low':642 'major':251 'man':110,144 'man-month':109,143 'map':274 'marketplac':383 'match':722 'may':767 'metalinguist':213 'method':176,335,436 'metric':369 'miss':89,100,322,355,550,555,588,596 'model':595 'modul':168,285,511 'modular':220 'month':111,145 'much':473 'mythic':108,142 'name':101,136,326,331,536,541 'network':463 'new':284,607 'non':569 'non-idempot':568 'npx':395,397 'onboard':268 'oper':571 'orthogon':131 'output':422 'over-engin':372,575 'overal':489 'overview':24 'ownership':233 'past':530 'pattern':200,353 'payment':427,450 'paymentservic':470 'philosophi':163 'pipelin':612 'place':433 'plugin':382 'power':737 'pp':526,547 'practic':600 'pragmat':58,128,423 'pre':497 'pre-refactor':496 'principl':75,125,298,743,760 'processpay':437 'product':754 'production-crit':753 'program':210,219,227 'programm':59,129,424 'provid':248 'quick':273 'race':566 'recurs':212 'refactor':172,252,498,514,527 'reflect':758 'relat':647,705 'releas':197,361,444,553 'replac':748 'repositori':685 'resourc':683 'respons':443 'result':757 'retri':357,461,558 'review':6,33,259,280,301,339,411,418,483,499,516,681,701,728,751 'risk':21,93,275,453 'rule':49,222,332 'run':601,678 'say':68 'scalabl':161 'scan':670 'scope':724 'score':365 'seam':183,589 'search':384 'second':149 'second-system':148 'section':375 'secur':663,667 'security-auditor':662 'security-on':666 'servic':287,413,608 'share':532 'sicp':574 'simpl':230 'singl':442 'size':138 'skill':31,238,401,648,706,716 'skill-brooks-lint' 'smell':16,86,174,304,508,624 'softwar':10,42,165 'sourc':764 'source-sickn33' 'special':665 'src/services/paymentservice.ts':419 'srp':310 'stabil':199,352,552 'start':282 'structur':82,205,255 'style':48,344,645,773 'style/syntax':675 'suggest':646 'surpris':225 'syntact':119 'synthes':73,692 'system':150 'task':720 'test':185,586 'thing':440 'tight':87,319,548 'timeout':201,356,447,556 'toler':160,349 'tool':98 'topic-agent-skills' 'topic-agentic-skills' 'topic-ai-agent-skills' 'topic-ai-agents' 'topic-ai-coding' 'topic-ai-workflows' 'topic-antigravity' 'topic-antigravity-skills' 'topic-claude-code' 'topic-claude-code-skills' 'topic-codex-cli' 'topic-codex-skills' 'tracer':132 'typic':99 'ubiquit':192 'unclear':540 'unix':218 'unnecessari':578 'use':236,239,249,257,266,277,625,714 'userrepositori':475 'valid':428,674 'variabl':334 'via':379,394 'violat':307,426,441,544 'want':242 'week':631 'welc':582 'work':178,262,290 'would':53 'write':606 'wrong':265 'xp':593 'yagni':229","prices":[{"id":"64fbf718-00b4-41a0-a1cb-39ec837f0430","listingId":"7e81ae30-1e2b-4b42-a0d4-d4d49352c934","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"sickn33","category":"antigravity-awesome-skills","install_from":"skills.sh"},"createdAt":"2026-04-29T18:50:34.990Z"}],"sources":[{"listingId":"7e81ae30-1e2b-4b42-a0d4-d4d49352c934","source":"github","sourceId":"sickn33/antigravity-awesome-skills/brooks-lint","sourceUrl":"https://github.com/sickn33/antigravity-awesome-skills/tree/main/skills/brooks-lint","isPrimary":false,"firstSeenAt":"2026-04-29T18:50:34.990Z","lastSeenAt":"2026-05-18T18:50:43.325Z"}],"details":{"listingId":"7e81ae30-1e2b-4b42-a0d4-d4d49352c934","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"sickn33","slug":"brooks-lint","github":{"repo":"sickn33/antigravity-awesome-skills","stars":37911,"topics":["agent-skills","agentic-skills","ai-agent-skills","ai-agents","ai-coding","ai-workflows","antigravity","antigravity-skills","claude-code","claude-code-skills","codex-cli","codex-skills","cursor","cursor-skills","developer-tools","gemini-cli","gemini-skills","kiro","mcp","skill-library"],"license":"mit","html_url":"https://github.com/sickn33/antigravity-awesome-skills","pushed_at":"2026-05-18T08:24:49Z","description":"Installable GitHub library of 1,400+ agentic skills for Claude Code, Cursor, Codex CLI, Gemini CLI, Antigravity, and more. Includes installer CLI, bundles, workflows, and official/community skill collections.","skill_md_sha":"3f8d1ba15318628987a56a788c96714cd8aa18f2","skill_md_path":"skills/brooks-lint/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/sickn33/antigravity-awesome-skills/tree/main/skills/brooks-lint"},"layout":"multi","source":"github","category":"antigravity-awesome-skills","frontmatter":{"name":"brooks-lint","license":"MIT","description":"AI code reviewer grounded in classic software engineering books for catching design smells, coupling issues, and architectural risks."},"skills_sh_url":"https://skills.sh/sickn33/antigravity-awesome-skills/brooks-lint"},"updatedAt":"2026-05-18T18:50:43.325Z"}}