Content
46%Weight 40%Scale 1-5Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.
The body is highly actionable with concrete, mostly executable TypeScript examples and a useful scope-decision process for parallel routes, but it is severely bloated: heavily duplicated rules, standard Next.js documentation restated, and no progressive disclosure — everything lives in a single 1480-line file. Fixing redundancy and splitting topics into reference files would dramatically improve token efficiency.
Suggestions
Consolidate the form-actions-return-void rule and the action.ts/actions.ts naming guidance into single sections — they are each currently explained 2-3 times — and cut boilerplate Next.js documentation (basic error.tsx, not-found, standard Suspense examples) that Claude already knows.
Split topics into one-level-deep reference files (e.g., references/route-handlers.md, references/server-actions.md, references/parallel-routes.md, references/draft-mode.md) and keep SKILL.md as a concise overview with clearly signaled links, per progressive disclosure best practice.
Fix internal inconsistencies: replace 'prevState: any' in the useActionState example with a proper type, and unify on useActionState instead of mixing in the deprecated useFormState; add a verification checkpoint (e.g., run typecheck/build after creating server actions) to the mutation workflows.
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | The ~1480-line body restates the form-actions-return-void rule in at least three separate sections, repeats action.ts/actions.ts naming guidance twice ('CRITICAL: Server Action File Naming' and 'Server Actions File Organization'), and reproduces standard Next.js documentation (basic route handlers, error.tsx, not-found, Suspense) that Claude already knows. This matches 'noticeably verbose; several unnecessary explanations or padded sections' rather than the severely-padded floor, since genuine project-specific rules are present. | 2 / 5 |
Actionability | Most examples are complete, copy-paste-ready TypeScript with imports and full components, but a few use '{ ... }' placeholder bodies (e.g., the HTTP methods list, 'function handleSubmit(e: React.FormEvent<HTMLFormElement>) { ... }'), and one example uses 'prevState: any' — directly contradicting the skill's own CRITICAL no-'any' rule — while another mixes deprecated 'useFormState' with 'useActionState'. This places it at 'mostly executable guidance; concrete code with minor gaps'. | 4 / 5 |
Workflow Clarity | 'Step 0: Determine Parallel Route Scope' provides a genuine decision sequence with criteria and examples, and code examples include inline validation (throw errors), but the skill contains no verification checkpoints (e.g., run typecheck/build to confirm) for mutation and form workflows. This fits 'steps listed but validation gaps; checkpoints missing or implicit'. | 3 / 5 |
Progressive Disclosure | There are no bundle files at all: seven-plus distinct topics (route handlers, server actions, parallel routes, intercepting routes, error boundaries, draft mode, streaming) totaling ~1400 lines are inlined in one SKILL.md instead of being split into reference files. Although section headers exist, content that clearly belongs in separate files is fully inlined, matching the 'minimal structure; content that clearly belongs in separate files is inlined' anchor. | 2 / 5 |
Total | 11 / 20 Passed |