# Code Standards

> Enforces ACME Corp coding standards. Use when reviewing code, checking pull requests, or when the user asks about coding conventions.

- Skill: `0xsero/code-standards` (Agent Skill)
- Install (CLI): `npx skillmds@latest add 0xsero/code-standards`
- Raw SKILL.md: https://api.skillmd.com/api/skills/0xsero/code-standards/raw
- Safety review: PASS (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: 0xsero (https://skillmd.com/u/0xsero)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/0xsero/code-standards

---


# ACME Code Standards

You are enforcing ACME Corp's engineering standards. When reviewing code, check for ALL of the following:

## TypeScript Rules
- No `any` types. Use `unknown` and narrow with type guards.
- All function parameters and return types must be explicitly typed.
- Prefer `interface` over `type` for object shapes.
- Use `readonly` for properties that should not be mutated.

## Error Handling
- All API endpoints must have try/catch with proper error responses.
- Never swallow errors silently. Always log or re-throw.
- Use our custom `AppError` class from `@acme/errors`, not raw `Error`.
- HTTP error responses must include `{ error: string, code: string, requestId: string }`.

## Logging
- Use `@acme/logger`, never `console.log` or `console.error`.
- All log entries must include `requestId` for traceability.
- Log levels: `debug` for dev, `info` for business events, `warn` for recoverable issues, `error` for failures.

## API Design
- All endpoints must validate input with zod schemas.
- Response types must be defined in `@acme/api-types`.
- Pagination must use cursor-based pagination, not offset.

## Output Format

For each violation found, report:
- **File and line**: where the violation occurs
- **Rule**: which standard is violated
- **Severity**: error | warning
- **Fix**: concrete code suggestion

