[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-ea0738f7-2916-4a51-91c7-39d6bc4d645c":3,"$fAyCIKw2g2Ze8f79zduLdrr4kv_wXXFRGH9j7Sjex1uA":43},{"id":4,"title":5,"description":6,"categoryId":7,"moduleId":8,"tags":9,"prompt":10,"icon":11,"source":12,"sourceUrl":13,"authorId":14,"authorName":15,"isPublic":16,"stars":17,"runs":18,"createdAt":19,"updatedAt":19,"module":20,"category":27,"packages":34},"ea0738f7-2916-4a51-91c7-39d6bc4d645c","brooks-lint","基于经典软件工程书籍的AI代码审查员，用于捕捉设计异味、耦合问题和架构风险。","cat_coding_review","mod_coding","sickn33,coding","---\nname: brooks-lint\ndescription: \"AI code reviewer grounded in classic software engineering books for catching design smells, coupling issues, and architectural risks.\"\ncategory: development\nrisk: safe\nsource: community\nsource_repo: hyhmrright\u002Fbrooks-lint\nsource_type: community\nlicense: \"MIT\"\nlicense_source: \"https:\u002F\u002Fgithub.com\u002Fhyhmrright\u002Fbrooks-lint\u002Fblob\u002Fmain\u002FLICENSE\"\ndate_added: \"2026-04-29\"\nauthor: hyhmrright\ntags: [code-review, architecture, software-design, refactoring, claude-code]\ntools: [claude, codex, cursor, gemini]\n---\n\n# 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\u002Fservices\u002FPaymentService.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 \u002F 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\u002Fsyntax linting to run alongside design review\n\n## Additional Resources\n\n- [GitHub Repository](https:\u002F\u002Fgithub.com\u002Fhyhmrright\u002Fbrooks-lint)\n- [Dev.to Article: I Synthesized 12 Classic Engineering Books into an AI Code Reviewer](https:\u002F\u002Fdev.to\u002Fhyhmrright\u002Fi-synthesized-12-classic-engineering-books-into-an-ai-code-reviewer-heres-what-it-caught-3ed1)\n- [Related skill: logic-lens](https:\u002F\u002Fgithub.com\u002Fhyhmrright\u002Flogic-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.\n","","imported","https:\u002F\u002Fgithub.com\u002Fsickn33\u002Fantigravity-awesome-skills","user_system_seed","SkillOPIC",true,198,1909,"2026-05-16 13:09:25",{"id":8,"name":21,"slug":22,"icon":23,"description":24,"sort":25,"createdAt":26},"编程开发","coding","mdi-code-braces","代码生成、调试、审查，提升开发效率",2,"2026-05-16 12:53:40",{"id":7,"name":28,"slug":29,"icon":30,"description":31,"moduleId":8,"sort":32,"skillCount":33,"createdAt":26},"代码审查","review","mdi-magnify-scan","代码质量分析、安全审查",4,145,[35],{"id":36,"skillId":4,"version":37,"fileName":38,"fileSize":39,"filePath":40,"fileHash":41,"manifest":42,"createdAt":19},"164ec82a-d141-484b-af43-8111773a4205","1.0.0","brooks-lint.zip",2963,"uploads\u002Fskills\u002Fea0738f7-2916-4a51-91c7-39d6bc4d645c\u002Fbrooks-lint.zip","898616782c950cfd83c84b78a750e825b21424f4bd5583d090a20aff213ea873","[{\"path\":\"SKILL.md\",\"isDirectory\":false,\"size\":6364}]",{"code":44,"message":45,"data":46},200,"success",{"items":47,"stats":48,"page":51},[],{"averageRating":49,"totalRatings":49,"ratingCounts":50},0,[49,49,49,49,49],{"limit":52,"offset":49,"hasMore":53,"nextOffset":52,"ratedOnly":16},15,false]