agentsclimarketplace

Aos codereview

Skill riz007/architect-os/skills/aos-codereview

AI-native software engineering operating system for modern application architecture, scaffolding, and AI-assisted development.

Install
npx -y skills add riz007/architect-os --skill aos-codereview

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

Comprehensive pull request review covering correctness, readability, security, performance, testing, breaking changes, and dependencies. Produces BLOCK/REQUEST/NIT decisions with specific comments and a final APPROVE or REQUEST CHANGES verdict. Use when user asks to review a PR, check code before merging, or says "is this ready to ship".

SKILL.md

5.0 KB, as published. Nobody here has run it

/aos-codereview

Select the changed files (or paste a diff), then run /aos-codereview.

For targeted reviews: /aos-codereview security · /aos-codereview breaking · /aos-codereview tests · /aos-codereview perf

For a deeper security audit, follow up with /aos-audit.


What gets checked

Correctness

  • All branches handled — no missing else, no unhandled null / undefined
  • Off-by-one errors in loops, slices, and pagination
  • Async operations properly awaited — no floating promises
  • Errors not silently swallowed in catch blocks
  • Boundary conditions: 0, 1, max, empty string, empty array, invalid inputs
  • Concurrency risks: race conditions, duplicate submissions, non-atomic read-modify-write

Readability

  • Function names are accurate — getUser only gets, does not also mutate
  • Functions fit on a screen — if scrolling is needed, split it
  • Comments explain why, not what — no "increment counter by 1"
  • No dead code, commented-out blocks, or leftover development TODOs
  • No unexplained abbreviations — spell out usr, mgr, tmp, d
  • Style consistent with the surrounding codebase

Breaking changes

  • Public API changes are backward-compatible or have a documented migration path
  • Database schema changes include a migration — columns not dropped without deprecation phase
  • New required environment variables documented in .env.example
  • Config format changes handle the previous format gracefully
  • Consumers of shared libraries or modules notified if the interface changes

Dependencies

  • New packages are actively maintained (last release < 12 months)
  • New packages don't duplicate functionality already in the project
  • Licence of new packages is compatible with the project (no GPL in a proprietary codebase)
  • npm audit / pip audit shows no new HIGH or CRITICAL vulnerabilities
  • Lock file updated and committed

Security (quick scan — use /aos-audit for a full audit)

  • No SQL string concatenation — parameterised queries only
  • No new secrets in source code
  • User input not passed to eval, exec, shell commands, or file paths without sanitisation
  • New endpoints have auth guards unless explicitly public
  • Sensitive data not written to logs

Performance

  • No new N+1 query patterns introduced
  • New collections are paginated — no unbounded list endpoints
  • No synchronous I/O in async request handlers
  • Cache invalidated where relevant when underlying data changes

Testing

  • New behaviour has new tests — no uncovered code paths
  • Existing tests still pass — the diff does not break them
  • Tests are meaningful — not just asserting a function was called
  • Tests cover the error paths introduced in this change

Review etiquette

  • Comments are kind, specific, and actionable
  • Blocking issues labelled [BLOCK], non-blocking changes labelled [REQUEST], minor points labelled nit:
  • Positive patterns called out — praise reinforces good decisions
  • All comments batched in one review pass — not drip-fed across days

Output format

[BLOCK] Correctness — floating promise in payment handler
File: src/payments/payment.controller.ts:52
Issue: processRefund() called without await — errors silently lost, caller returns before work completes
Fix: await this.paymentService.processRefund(id)

[BLOCK] Security — new admin endpoint missing auth guard
File: src/admin/admin.controller.ts:18
Issue: DELETE /admin/users/:id has no @UseGuards — any unauthenticated request can delete users
Fix: add @UseGuards(JwtAuthGuard, AdminGuard)

[REQUEST] Testing — no test for the new >$500 discount edge case
File: src/orders/order.service.ts:89
Fix: add: it('should apply 20% discount when order total exceeds $500')

[REQUEST] Dependencies — lodash added but only _.get() is used
Fix: replace with optional chaining (user?.address?.city) and remove the dependency

nit: variable 'tmp' on line 34 — consider renaming to 'activeUserReport'

DECISION: REQUEST CHANGES — 2 blocks · 1 request · 1 nit

Comment severity guide

LabelMeaningMust fix before merge?
[BLOCK]Correctness bug, security issue, or breaking change without migrationYes
[REQUEST]Missing test, unclear code, or improvable design — important but not blockingAuthor's call
nit:Minor naming, formatting, or style pointNo
[praise]Pattern worth calling out positivelyNo action

Full reference

See REFERENCE.md for correctness patterns, breaking-change handling, and comment examples.

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.