원클릭으로
documentation
This skill should be used when reviewing for documentation drift, missing API docs, or stale comments.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
This skill should be used when reviewing for documentation drift, missing API docs, or stale comments.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Canonical algorithm for consuming DECISIONS_CONTEXT index — scan index, identify relevant entries, Read full bodies on demand, cite verbatim IDs inline.
This skill should be used when evaluating implementation quality before submission, checking correctness, security, and simplicity.
This skill should be used when performing a code review to apply the standard 6-step review process.
This skill should be used when the user asks to "add accessibility", "check ARIA", "handle keyboard navigation", "add focus management", or creates UI components, forms, or interactive elements. Provides WCAG 2.2 AA patterns for keyboard navigation, ARIA roles and states, focus management, color contrast, and screen reader support.
Consumption algorithm for FEATURE_KNOWLEDGE variable — pre-computed feature context
This skill should be used when reviewing code for SOLID violations, tight coupling, or layering issues.
| name | documentation |
| description | This skill should be used when reviewing for documentation drift, missing API docs, or stale comments. |
| user-invocable | false |
| allowed-tools | Read, Grep, Glob |
Domain expertise for documentation quality and alignment. Use alongside devflow:review-methodology for complete documentation reviews.
DOCUMENTATION MUST MATCH REALITY
Outdated documentation is worse than no documentation. It actively misleads. Every code change that affects behavior requires a documentation check. Comments that explain "what" instead of "why" are noise. The best documentation is code that doesn't need documentation.
| Issue | Problem | Fix |
|---|---|---|
| Missing docstrings | Complex functions without explanation | Add JSDoc with params, returns, throws |
| Outdated comments | Comments that contradict code | Update or remove |
| "What" comments | // Loop through users | Explain "why" instead |
| Magic algorithms | Complex logic without explanation | Document algorithm and rationale |
| Transition residue | "We no longer do X" notes, in-file changelogs, or refs to removed code/sections | Remove — git holds the history |
Brief Example - Missing vs. Complete:
// BAD: No documentation on complex function
export function calculateProratedAmount(plan: Plan, startDate: Date, endDate: Date): number;
// GOOD: Purpose, params, returns, edge cases documented
/**
* Calculates prorated billing amount when switching plans mid-cycle.
* @param plan - The new plan to prorate to
* @returns Prorated amount in cents (can be negative for downgrades)
*/
export function calculateProratedAmount(plan: Plan, startDate: Date, endDate: Date): number;
| Issue | Problem | Fix |
|---|---|---|
| Missing params | Callers don't know valid values | Document all params with types and constraints |
| Missing returns | Return shape unknown | Describe return structure and units |
| Missing errors | Callers don't know what to catch | List all thrown error types |
Brief Example - Incomplete vs. Complete:
// BAD: No params, no errors documented
/** Creates a subscription. */
async function createSubscription(userId: string, planId: string): Promise<Subscription>;
// GOOD: Full contract documented
/**
* @param userId - User's unique identifier
* @param planId - Plan ID from /plans endpoint
* @throws {UserNotFoundError} If userId doesn't exist
* @throws {PlanNotFoundError} If planId doesn't exist
*/
async function createSubscription(userId: string, planId: string): Promise<Subscription>;
| Issue | Problem | Fix |
|---|---|---|
| Code-comment drift | Comment says 3 retries, code does 5 | Update comment or use constant |
| Stale README | Examples use removed functions | Keep README in sync with code |
| Missing changelog | Breaking changes undocumented | Document all notable changes |
Brief Example - Drift vs. Aligned:
// BAD: Comment doesn't match code
// Retries up to 3 times
for (let i = 0; i < 5; i++) { /* ... */ }
// GOOD: Use constant to keep aligned
const MAX_RETRIES = 5;
for (let i = 0; i < MAX_RETRIES; i++) { /* ... */ }
For extended examples and detection commands:
| Severity | Description | Examples |
|---|---|---|
| CRITICAL | Actively misleading | Comments contradict code; API docs with wrong types; README with broken steps; Changelog missing breaking changes |
| HIGH | Significant gaps | Public APIs undocumented; Complex algorithms unexplained; Errors not documented; Migration guides missing |
| MEDIUM | Moderate issues | Some params undocumented; Examples could be clearer; "What" comments instead of "why" |
| LOW | Minor improvements | Could add more examples; Formatting inconsistencies; Typos |
Before approving changes: