Skip to content
cccskills
FreePublished on GitHub

check-code-hygiene

Check code for standardization, readability, maintenance complexity, and defensive coding practices

The English summary is being prepared. Showing the original description.

See how to install

Files included (1)

  • SKILL.md3.3 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

Analyze the apple-fm codebase for code hygiene issues. Generate a report on standardization, readability, maintenance complexity, and defensive coding.

Scope: src/, apple-fm-helper/main.swift, and (where relevant) tests/.

Analysis Areas

1. Standardization

  • File naming: src/ is lowercase/camelCase matching the primary concept (cliArgs.ts, protocol.ts, session.ts). Flag a name that matches neither.
  • Identifier casing: camelCase values, PascalCase types, SCREAMING_SNAKE constants. Flag inconsistencies.
  • Import style: all relative imports use .js; import type for type-only imports (eslint enforces order — if lint passes, order is fine). The .js check is your responsibility.
  • Error messages: throws should be descriptive and actionable (e.g. --temp expects a number, got "abc"). Flag terse throw new Error('failed').
  • Protocol parity: the event names / error codes in src/protocol.ts, apple-fm-helper/main.swift, tests/fixtures/stub-helper.js, and docs/4-protocol.md must all agree. Flag any divergence.

2. Readability

  • File length: flag any src/*.ts over ~200 LOC.
  • Function length / nesting: flag functions over ~50 lines or nesting deeper than 3.
  • Magic numbers: defaults like the compaction threshold, keep-recent count, timeout, and chars-per-token live as named constants — flag any new inline literal that should be one.
  • Comments: house style is why, not what. Flag both noise comments and missing rationale on non-obvious code (e.g. the cumulative-partial diffing in the Swift streaming path).

3. Maintenance Complexity

  • Layering: only apple-fm-helper/main.swift may touch FoundationModels; only helper.ts spawns the process; pure logic stays in protocol.ts / session.ts / cliArgs.ts. Flag any layer violation (e.g. session.ts spawning directly instead of going through an injected GenerateFn).
  • Dependencies: package.json dependencies stays empty. Flag additions.
  • Duplicate patterns: spot-check with grep for repeated spawn/JSON idioms.

4. Defensive Coding

  • Boundary validation: parseArgs rejects unknown commands/flags and bad numbers; parseEvent throws on malformed lines; helper.ts bounds the subprocess with a timeout and captures stderr. Verify these still hold.
  • any / non-null: grep src/ for : any, as any, <any>, and ! non-null assertions (tests get a pass). House style is unknown + narrowing.
  • Subprocess safety: stdin EPIPE swallowed; timeout kills the child; nonzero exit surfaces stderr. Flag any regression.
  • Swift helper: every failure path emits an error event (not a bare crash) and exits nonzero; availability is checked before generation.

Report Format

For each finding: File (path + lines), Category (standardization | readability | maintenance | defensive), Severity (high | medium | low), Description, Suggestion.

End with a prioritized top-N (apple-fm is small — expect 0–5 in a healthy state). Suggest Hot Sheet tickets (hs-task for cleanups, hs-bug for defects) for non-trivial findings.

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

Run all available tests and linters, check for anti-patterns, and generate a comprehensive code quality report

The English summary is being prepared. Showing the original description.

brianwestphal/apple-fm7Updated Jul 22, 2026

Check requirements docs against implementation and report discrepancies

The English summary is being prepared. Showing the original description.

brianwestphal/apple-fm7Updated Jul 22, 2026

Read the latest Glassbox code review and apply all feedback annotations

The English summary is being prepared. Showing the original description.

brianwestphal/apple-fm7Updated Jul 22, 2026

Read the Hot Sheet worklist and work through the current priority items

The English summary is being prepared. Showing the original description.

brianwestphal/apple-fm7Updated Jul 22, 2026

Run as a distributed worker — continuously claim, work, and release Up Next tickets

The English summary is being prepared. Showing the original description.

brianwestphal/apple-fm7Updated Jul 22, 2026

hs-bug

Free

Create a new bug ticket in Hot Sheet

The English summary is being prepared. Showing the original description.

brianwestphal/apple-fm7Updated Jul 22, 2026

See all skills by brianwestphal

Report a problem with this skill