Content
71%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 a dense, highly actionable Netlify Functions reference with copy-paste-ready examples, precise limits, and well-flagged pitfalls — clearly written by and for competent agents. Its weaknesses are structural: a ~68-line house-rules appendix that duplicates the body, leaked build-tooling comments, and no use of reference files to split the long tail of detail out of SKILL.md.
Suggestions
Collapse the duplicated "house rules" appendix: fold the non-duplicated rules (implement the work end to end; suspect tooling version skew before removing config.background) into their relevant body sections and drop the rest, which the body already states.
Move the long-tail catalogues — the platform-event handler table, region airport codes, memory/vCPU details, and the Legacy/Go section — into references/ files linked one level deep from SKILL.md, keeping the main body to the minimal-function, routing, context, and testing essentials.
Strip internal build artifacts ("<!-- Gap: ... -->" and the "system: agent-context/functions/system.md" ctx-gen marker) from the rendered skill, or keep them in the build source so they never consume consumer context or reference paths that don't ship in the bundle.
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | The documentation body is lean and assumes competence (e.g., "⚠️ Same-name JS and TS files: the JS one wins"), but the trailing "Netlify house rules" appendix (~68 lines) restates rules already in the body — geo mocked under netlify dev (line 93 vs rule 5), no speculative memory/vcpu (lines 264–269 vs rule 6), headers apply only to static CDN responses (line 43 vs rule 13), context.user handling (line 97 vs rule 16). Internal build comments ("<!-- Gap: docs only show the .js/.ts same-name precedence -->", the ctx-gen system marker) add further noise. The duplication is more than minor, so this sits below the efficient-but-trimmable anchor. | 3 / 5 |
Actionability | Every section ships executable, copy-paste-ready code with imports and config exports (hello.mts, travel.mts, whoami.mts, on-deploy.mts, the lambda-compat wrapper), concrete commands ("netlify dev --geo=mock --country=DE", "netlify functions:invoke <name>"), TOML snippets, and hard numeric limits (60s/20MB/256KB/4KB). The common cases — minimal function, custom path, scheduled, background, event handler — are each covered by a complete example. | 5 / 5 |
Workflow Clarity | The write→configure→test→deploy progression is logically sequenced with concrete per-phase commands (authoring examples first, then "Local testing & deploy" with framework-specific dev servers and "netlify functions:invoke <name>"). It falls short of a 5 because verification is implicit rather than an explicit checkpoint loop — "verify on a deploy" and the version-skew checking guidance appear only in the appendix, not as a validate-before-deploy step. | 4 / 5 |
Progressive Disclosure | The single file is well-organized with clear section headers and ⚠️ markers, but all ~320 lines are inlined: the platform-event handler catalogue, region/memory details, legacy Lambda compatibility, and the house-rules appendix would each fit a references/ file linked one level deep. The "system: agent-context/functions/system.md" comment also points to a path outside the bundle, signaling a reference the consumer cannot resolve. | 3 / 5 |
Total | 15 / 20 Passed |