跳到正文
cccskills
免费在 GitHub 公开

code-quality

Agents should invoke this skill for code reviews, linting/formatting setup, maintainability checks, complexity concerns, warning cleanup, coding standards, or quality gates in Rust, TypeScript, Python, shell, and mixed repos.

中文简介正在准备中。当前显示原文说明。

查看安装方法

包含的文件(1)

  • SKILL.md7.0 KB

SKILL.md(原文)

安装前可以查看交给 AI 代理的指令内容。

Code Quality

Structured code review and quality enforcement across common tech stacks. Checklists, linting strategies, and metrics to keep codebases healthy.

Quick Start

Run a Code Quality Check

  1. Run static analysis: Linters, type checkers, formatters
  2. Review against checklist: Language-specific items below
  3. Check complexity metrics: Cyclomatic < 25, data flow < 25
  4. Report findings: Structured output with severity and recommendations

Linting Configurations

Rust — Clippy Config

Standard clippy configuration (in Cargo.toml or .clippy.toml):

[lints.clippy]
cognitive_complexity = "warn"
pedantic = { level = "deny", priority = -1 }
nursery = { level = "deny", priority = -1 }
unwrap_used = "deny"

Standard commands:

cargo fmt
cargo clippy --all-targets --all-features -- -D warnings
cargo check
cargo test -- --test-threads=1

Key rules to enforce:

  • No .unwrap() in non-test code (use ? or .expect("reason"))
  • All public items have rustdoc (#[warn(missing_docs)])
  • #[must_use] on functions that return values that should be checked
  • When using #[allow(...)], always add a comment explaining why
  • If no good explanation exists for #[allow(...)], fix the issue instead

TypeScript — ESLint + Strict Mode

Recommended tsconfig.json strictness:

{
  "compilerOptions": {
    "strict": true,
    "noUncheckedIndexedAccess": true,
    "noImplicitReturns": true,
    "noFallthroughCasesInSwitch": true,
    "exactOptionalPropertyTypes": true
  }
}

Key rules to enforce:

  • No any — use unknown and type guards instead
  • No // @ts-ignore — fix the type issue or use // @ts-expect-error with explanation
  • Prefer const over let, never use var
  • Use discriminated unions for state modeling
  • Explicit return types on exported functions

Python — Ruff + Mypy

Recommended pyproject.toml:

[tool.ruff]
target-version = "py312"
line-length = 88

[tool.ruff.lint]
select = ["E", "F", "W", "I", "N", "UP", "ANN", "B", "A", "C4", "DTZ", "ISC", "PIE", "PT", "RET", "SIM", "TCH", "ARG", "PTH", "ERA"]

[tool.mypy]
strict = true
warn_return_any = true
warn_unreachable = true

Key rules to enforce:

  • Type hints on all public functions and methods
  • Docstrings on all public classes, functions, and methods
  • Use pathlib.Path over os.path
  • Use uv as package manager
  • No bare except: — always catch specific exceptions

Code Review Checklists

Universal Checklist (All Languages)

Correctness:

  • Does the code do what it claims to do?
  • Are edge cases handled (empty collections, null/None, zero, negative)?
  • Are error paths handled gracefully?
  • Are there any off-by-one errors?

Clarity:

  • Can you understand the code without the PR description?
  • Are variable/function names descriptive and consistent?
  • Are complex sections commented with "why" (not "what")?
  • Is the code self-documenting where possible?

Architecture:

  • Does this change respect existing module boundaries?
  • Is the change at the right abstraction level?
  • Are dependencies reasonable (not pulling in a huge lib for one function)?

Testing:

  • Are new functions/methods covered by tests?
  • Do tests cover edge cases and error paths?
  • Are tests readable and maintainable?

Security (flag for a security follow-up if concerns found):

  • No hardcoded secrets or credentials
  • User input is validated before use
  • No SQL injection, XSS, or path traversal vectors

Rust-Specific Checklist

  • cargo fmt applied
  • cargo clippy clean (pedantic + nursery)
  • No .unwrap() outside tests
  • Error handling uses ? with proper error types
  • Public items have rustdoc comments
  • #[allow(...)] includes explanatory comment
  • New functions have unit tests
  • Cyclomatic complexity < 25 per function
  • Data flow complexity < 25 per function

TypeScript/React-Specific Checklist

  • No any types
  • Strict mode compliance
  • Components have clear prop types
  • Hooks follow rules of hooks
  • No unnecessary re-renders (check memo/callback usage)
  • Bundle impact considered for new dependencies

Django/Python-Specific Checklist

  • Type hints present on public interfaces
  • Ruff + mypy clean
  • No N+1 queries (use select_related/prefetch_related)
  • Migrations are reviewed and reversible
  • No business logic in views (use service layer)

Complexity Metrics

Cyclomatic Complexity

Measures the number of independent paths through code. Recommended threshold: < 25.

ComplexityRisk LevelAction
1-10LowSimple, well-structured code
11-20ModerateConsider simplification if growing
21-24HighRefactoring recommended
25+ViolationMust refactor before merge

How to reduce:

  • Extract helper functions for each branch
  • Use early returns / guard clauses
  • Replace complex conditionals with lookup tables or pattern matching
  • Use strategy pattern for variant-dependent behavior

Data Flow Complexity

Measures how many variables interact within a function. Recommended threshold: < 25.

How to reduce:

  • Extract pure functions that take fewer parameters
  • Group related parameters into structs/objects
  • Split functions that transform data in multiple stages

Measurement Tools

LanguageToolCommand
Rustcargo clippy (cognitive_complexity)Built into clippy config
TypeScripteslint-plugin-sonarjsConfigure complexity rule
Pythonradonradon cc <file> -s -a
PythonruffRule C901 (mccabe complexity)

Review Output Format

When delivering a code review:

## Code Review: [PR/File/Module]

**Date:** YYYY-MM-DD

### Summary
[1-2 sentences: overall quality assessment]

### Findings

| # | Severity | File | Line(s) | Finding | Suggestion |
|---|---|---|---|---|---|
| 1 | High | src/app.rs | 45-67 | Cyclomatic complexity 28 (limit: 25) | Extract match arms into helper functions |
| 2 | Medium | src/ui.rs | 120 | Unwrap without context | Use `.expect("reason")` or `?` |

### Positive Observations
[What's well-written — acknowledge good code]

### Metrics
- Linter: [clean / N warnings]
- Tests: [pass / fail]
- Complexity: [within limits / violations noted above]

### Security Notes
[Items to flag for follow-up, if any]

Integration

  • Can run linters, formatters, and type checkers without asking, per the project's AGENTS.md/CLAUDE.md execution policies.
  • Cross-reference: this pack's code-reviewer skill for adversarial review of a focused change set, and design-patterns for fixing complexity violations through better structure.

评价

还没有评价。欢迎分享你的使用感受。

评论

无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。

还没有评论。来写第一条吧。

提交后会立即公开。请勿填写邮箱、电话等个人信息。URL 最多 2 个。

0 / 1000 字

此表单受 reCAPTCHA 保护,适用 Google 的隐私权政策和服务条款。

同一仓库的技能

Audit GitHub Actions that run AI agents for prompt injection, unsafe interpolation, sandbox gaps, and permissive actor rules. Use for agentic CI workflows, not general application code review.

中文简介正在准备中。当前显示原文说明。

waybarrios/opencode-power-pack5412026年10月12日 更新

Audit and improve project-rules files (AGENTS.md, CLAUDE.md, .agents/instructions, local overrides) so the agent keeps accurate project context. Use when the user asks to check, audit, review, update, improve, or fix their AGENTS.md or CLAUDE.md, mentions "project rules maintenance" or "agent context optimization", or when the codebase has changed enough that the rules file may be stale. Scans the repository for every rules file, grades each against a quality rubric, outputs a quality report, and applies targeted edits only after user approval.

中文简介正在准备中。当前显示原文说明。

waybarrios/opencode-power-pack5412026年10月12日 更新

Capture learnings from the current session into the project-rules file (AGENTS.md, CLAUDE.md, or local override) so future sessions benefit. Use when the user says "revise the rules", "update AGENTS.md / CLAUDE.md with what we just learned", "save this to project memory", "remember this for next time", or at the end of a productive session when valuable context has emerged that is not yet documented. This complements agents-md-improver — improver audits, while this one captures.

中文简介正在准备中。当前显示原文说明。

waybarrios/opencode-power-pack5412026年10月12日 更新

ai-slop

免费

Operational rubric that turns "don't make AI slop" into observable properties, severity levels, evidence requirements, and repair actions for interface design. Use as the reference rubric when building or reviewing marketing sites, product interfaces, dashboards, portfolios, or e-commerce pages, especially alongside frontend-design.

中文简介正在准备中。当前显示原文说明。

waybarrios/opencode-power-pack5412026年10月12日 更新

Design a feature architecture by analyzing existing codebase patterns and conventions, then provide a comprehensive implementation blueprint with specific files to create or modify, component designs, data flows, and a build sequence. Use this skill when the user asks for an architecture design, an implementation plan for a non-trivial feature, or when dispatched as a sub-task during feature-dev architecture phase.

中文简介正在准备中。当前显示原文说明。

waybarrios/opencode-power-pack5412026年10月12日 更新

Deeply analyze an existing codebase feature by tracing execution paths, mapping architecture layers, understanding patterns and abstractions, and documenting dependencies. Use this skill when you need to understand how a feature works before modifying or extending it, when dispatched as a sub-task during feature-dev exploration, or when the user asks "how does X work in this codebase".

中文简介正在准备中。当前显示原文说明。

waybarrios/opencode-power-pack5412026年10月12日 更新

查看 waybarrios 的全部技能

报告此技能的问题