跳到正文
cccskills
免费在 GitHub 公开

code-review

Review Ruby and Rails code as a principal engineer. Use when the user asks for a code review, PR review, diff review, or wants risks, regressions, security issues, Rails idiom problems, UI state issues, or test gaps identified before merging.

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

lylo/pagecord星标 194(GitHub 194 + cccskills 0)

实测评分 未实测

查看安装方法

包含的文件(1)

  • SKILL.md4.4 KB

SKILL.md(原文)

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

Code Review

Review as a principal Ruby and Rails engineer. Prioritise correctness, maintainability, security, Rails idiom, and fit with the existing Pagecord codebase.

Review posture

  • Lead with findings, ordered by severity.
  • Focus on bugs, regressions, security holes, broken edge cases, data integrity issues, and missing high-value tests.
  • Do not rewrite the feature unless the current design creates real risk.
  • Prefer small, concrete suggestions over broad architectural commentary.
  • If there are no material issues, say so clearly and mention any residual risk or unverified area.
  • Cite exact files and lines whenever possible.

What to inspect

  • Read the changed code and the surrounding existing patterns before judging it.
  • Check controllers, models, routes, views, jobs, mailers, policies, migrations, tests, and background behaviour touched by the change.
  • Trace the real data flow: params, authorisation, model state, persistence, callbacks, jobs, mail delivery, cache invalidation, and redirects.
  • Look for behaviour that differs between kept/discarded records, premium/free users, current blog vs other blogs, admin vs app contexts, and HTML UI vs direct requests.
  • For UI changes, check loading, sending, sent, and error states; redirects after async work; counts read after background jobs; and relevant system tests when they exist.

Rails and Ruby standards

  • Prefer idiomatic Rails over custom machinery: RESTful controllers, model methods, scopes, callbacks where appropriate, concerns for shared behaviour, and Rails helpers instead of hand-rolled plumbing.
  • Keep controllers skinny but useful. Use private controller methods for local orchestration rather than service objects unless the repo already has an established abstraction.
  • Keep models rich enough to express domain rules. Use concerns when shared behaviour is real and cohesive.
  • Use namespaces to clarify ownership and domain context, not as decoration.
  • Prefer clear Active Record relations and scopes over manual filtering.
  • Avoid N+1 queries. Check index pages, admin tables, partial loops, mailers, and jobs for missing includes, preload, or eager_load.
  • Prefer fewer lines when clarity is preserved. Remove unnecessary branches, objects, indirection, and defensive code that does not protect a real boundary.
  • Apply DRY pragmatically. Leverage existing helpers and patterns first; introduce a new abstraction only if it also simplifies current or near-current code.

Security and data integrity

  • Check authentication and authorisation server-side, especially when the UI hides or disables controls.
  • Review direct-request bypasses: forged params, altered IDs, hidden fields, method spoofing, feature flags, and cross-user access.
  • Check strong params, mass assignment, open redirects, unsafe rendering, HTML sanitisation, file uploads, API tokens, rate limits, and background jobs.
  • Confirm destructive operations act on the intended scope and handle discarded records deliberately.
  • Check migrations for reversibility, lock risk, defaults, nullability, indexes, and production safety.
  • Be alert to secrets, tokens, PII leaks, logging of sensitive data, and accidental exposure in admin or API responses.

Testing expectations

  • Prefer focused model, job, mailer, controller, request, and integration tests over system tests unless the risk is truly browser behaviour.
  • Tests should prove important behaviour and regressions, not mirror implementation.
  • Look for missing tests around permissions, direct requests, feature flags, lifecycle transitions, multi-record ownership, and edge cases introduced by the change.
  • Do not ask for exhaustive coverage when a small targeted test would cover the risk.
  • If a change is UI-only, consider whether a view/controller test is enough before suggesting a system test.

Output format

Use this structure:

  1. Findings
  2. Open questions or assumptions
  3. Brief summary
  4. Tests reviewed or recommended

For each finding include severity (Critical, High, Medium, or Low), file and line, the concrete risk, and the smallest defensible fix. Keep summaries short. Do not bury findings after praise or general commentary.

评价

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

评论

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

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

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

0 / 1000 字

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

同一仓库的技能

ci

免费

Run the local CI sequence for this repo. Use when the user asks to run CI, verify a branch before push, or check code quality with the full local pipeline.

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

lylo/pagecord1942026年10月26日 更新

Apply core Ruby on Rails best practices for architecture, naming, RESTful routing, authorisation, safety, and maintainability. Use by default for Rails coding, refactoring, debugging, feature implementation, migrations, controller/model changes, and code review tasks so baseline standards stay consistent.

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

lylo/pagecord1942026年10月26日 更新

ui-review

免费

Review UI changes for state, timing, redirects, async behaviour, and browser-level test gaps. Use when the user asks specifically for a UI review or frontend workflow review.

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

lylo/pagecord1942026年10月26日 更新

查看 lylo 的全部技能

报告此技能的问题