Reviewing
48 documents
Code Quality
Bulk operation verification
After any operation touching 5+ files, run a verification pass for stale references before marking complete.
Code hygiene: remove the old thing
When you replace or refactor code, delete what it supersedes. Leave no dead code, orphaned files, or commented-out blocks behind.
Dependency Injection
Constructor injection via `Microsoft.Extensions.DependencyInjection`. Use interface types for dependencies, not concr...
File paths
Use `pathlib.Path`, not `os.path`. All path manipulation should go through `pathlib`.
Law of Demeter and Tell, Don't Ask
Talk only to immediate collaborators and tell objects to act rather than asking for their internals, except across documented boundary, builder, and pipeline cases.
Naming
- `PascalCase` for types, methods, properties, public fields, constants, namespaces
No external dependencies in core libraries
`roadmap_lib` uses the standard library only. Do not add PyYAML, requests, or other third-party packages to core libr...
Scope discipline
Only modify what was requested. State the goal before starting. Note but do not fix adjacent issues.
Shell scripts
Shell script `main()` functions must only call other functions — no inline logic. Keep scripts composable and testable.
Type hints
Type hints are welcome but not required. Maintain Python 3.9 compatibility — use `from __future__ import annotations`...
Use roadmap_lib
Use functions from `roadmap_lib` for all roadmap operations (reading state, parsing frontmatter, finding steps, etc.)...
YAML frontmatter
Parse YAML frontmatter with the built-in frontmatter parser in `roadmap_lib`. Do not add a PyYAML dependency. The par...
Internationalization
Networking
Hyrum's Law: all observable behavior becomes contract
Treat every observable behavior of an interface as a contract a consumer may depend on: document guarantees, constrain incidental behavior, and never depend on the unspecified.
MCP server review checklist
Pre-merge checklist a reviewer runs over an MCP server's primitive design, tool contracts, and authorization.
Rate Limiting
Respect server rate limits. Handle 429 responses gracefully.
Timeouts
Always set both connection and read timeouts. Never use infinite timeouts.
Observability
Analytics
All significant user actions MUST be instrumented via an `AnalyticsProvider` interface (`track(event, properties)`). ...
Instrumented logging
Every component and flow must be instrumented with structured logging using the platform's best-in-class framework:
Platform Integration
Security
Authentication
Use OAuth 2.0 / OpenID Connect with PKCE for all public clients. The Implicit flow is
Authorization
**Server-side authorization is the only real authorization.** Client-side checks (hiding
Content Security Policy
Prevent XSS and injection with a strict CSP. Web apps only.
CORS
Cross-Origin Resource Sharing — get it right or don't enable it.
Dependency Security
Your dependencies are your attack surface. Manage them actively.
Input Validation
**Never trust client input.** Client-side validation is a UX feature, not a security control.
LLM red teaming
Adversarially test LLM and agent systems against the OWASP LLM Top 10 and gate releases on a tracked attack-success-rate threshold.
Privacy and security by default
Collect only what is needed. Prefer on-device processing.
Secure Storage
Tokens, credentials, and any sensitive data MUST use platform secure storage. Never store secrets in plaintext config...
Security Headers Checklist
Every web application should set these response headers:
Sensitive Data
Minimize what you collect, encrypt what you keep, never log what you shouldn't.
Token Handling
Short-lived (5-15 min). Include only necessary claims — no PII in JWTs
Transport Security
**TLS 1.2 minimum**, prefer TLS 1.3. Disable TLS 1.0 and 1.1 entirely.
Vulnerability prioritization by exploitability
Triage CVEs by exploitability — CISA KEV and high EPSS first, deprioritize unreachable transitive findings — not raw CVSS.
Skills And Agents
Agent Lint Checklist
Comprehensive lint checklist for validating Claude Code agent structure, content quality, and best practices
Performance: Speed and Token Efficiency
Optimize Claude Code extensions for speed and token efficiency through shell scripts, model selection, and progressive disclosure.
Rule Lint Checklist
Comprehensive lint checklist for validating Claude Code rule file content quality, best practices, and optimization
Skill Lint Checklist
Comprehensive lint checklist for validating Claude Code skill structure, content quality, and best practices
Testing
Flaky Test Prevention
Flaky tests destroy confidence. Quarantine them immediately — fix or delete, never ignore.
Post-generation verification
Every generated artifact MUST be verified:
Security Testing
Run security scans as part of post-generation verification (agenticdevelopercookbook://guidelines/testing/post-generation-verification). These a...