Content
67%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.
A well-structured, largely actionable project skill: concrete code, specific paths, project-specific gotchas (metadataBase gap, sitemap auto-discovery, tenant-domain canonicals), and a closing verification checklist. The main deductions are the eight-item general-writing section that re-teaches SEO knowledge Claude already has, and the truncated dynamic-metadata / missing JSON-LD examples.
Suggestions
Cut or drastically shrink "General SEO Writing Rules" — keep only the non-obvious items (one primary keyword per page, unique title/description) and drop what Claude already knows (alt text, mobile-first, descriptive link text, URL hygiene).
Complete the `generateMetadata` example or remove it, and add a minimal JSON-LD `<script type="application/ld+json">` embed example alongside the schema-type list.
Consider moving the Google Image Search checklist and blog-post guidelines into one-level-deep reference files to slim the main SKILL.md toward an overview.
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | The project-specific sections are appropriately lean (e.g. the `metadataBase` gap, per-route-group sitemap discovery, `robots.txt` location), but "General SEO Writing Rules" spends eight numbered items on things Claude already knows — "Write for humans first", "Descriptive link text... not 'click here'", "Alt text on images", "Mobile-first... Google uses mobile-first indexing", "Keep URLs short, lowercase, hyphenated". This fits the level-3 anchor (mostly efficient but includes some unnecessary explanation) better than level 4, where over-explanation would be only minor. | 3 / 5 |
Actionability | Most guidance is executable: a copy-paste-ready static `metadata` export, a concrete `metadataBase` value, a sitemap entry object, a doc frontmatter block, and good/bad title examples ("How Grida Canvas Renders 10K Nodes at 60 FPS" vs "Exciting Updates!"). Minor gaps keep it below 5: the dynamic example is truncated pseudocode (`generateMetadata({ params }): Promise<Metadata> { ... }`) and the JSON-LD section names schema types without any embed example. | 4 / 5 |
Workflow Clarity | The body is organized per-surface (Next.js pages → docs → blog → crawl control → general rules) and closes with an explicit "Verification Checklist" ("Before shipping a public page or post: title/description set, description under 160 chars and unique, OG image absolute and returns 200..."), which serves as a validation checkpoint. It is not 5 because there is no feedback loop (check → fix → re-check) and no ordered pre-ship sequence — sections are parallel guidance rather than a sequenced workflow with error-recovery steps; it is not 3 because the checklist makes validation explicit rather than merely implied. | 4 / 5 |
Progressive Disclosure | No bundle files exist (no references/, scripts/, or assets/ directories), so all content lives in this one file; the ~240 lines are broken into well-labeled sections (Scope table, per-surface sections, Known Gaps, checklist) that are easy to navigate. It is not 5 because the file exceeds the simple-skill threshold and some content (the Google Image Search checklist and the blog guidelines) could plausibly be split into one-level-deep reference files; it is not 3 because what is inline is appropriately sectioned and nothing is buried. | 4 / 5 |
Total | 15 / 20 Passed |