SkillCheck validator, Cursor exports, and per-agent installers (#27)
Three more learnings from alirezarezvani/claude-skills, applied: 1. SkillCheck validator (scripts/skillcheck.mjs) — validates every SKILL.md against the authoring standard (frontmatter, name/folder match, trigger + produces clauses, required headings) plus tier referential integrity. Errors fail CI; --strict fails on warnings too. New skillcheck.yml workflow and a SkillCheck status badge in the README. Current: 0 errors / 14 advisory warnings across 172 skills. 2. Cursor export platform — build-exports.mjs now generates exports/cursor/<bundle>/<skill>/<skill>.mdc rule files. The PLATFORMS registry now supports per-skill filenames (file as a function). 3. Per-agent installers — scripts/install.sh unifies install for claude/hermes/codex/openclaw/cursor (--link, --target, --dry-run, --list). Curl-able one-liners codex-install.sh, openclaw-install.sh, and cursor-install.sh clone the library and install in a single command. README documents the one-line installs and Cursor exports; CHANGELOG and the authoring standard updated. Claude-Session: https://claude.ai/code/session_016JWn5jRD5tcEFKrubjQ6Px Co-authored-by: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,135 @@
|
||||
---
|
||||
description: "Create a structured SEO content brief for any target keyword or topic. Use when asked to write an SEO brief, content brief, keyword brief, or content strategy document. Produces a complete brief with target keyword, search intent, outline, competitor insights, internal links, and on-page SEO guidance."
|
||||
globs:
|
||||
alwaysApply: false
|
||||
---
|
||||
|
||||
# SEO Content Brief Skill
|
||||
|
||||
Produces a complete SEO content brief that writers can use to create content that ranks — combining search intent analysis, competitive insights, and on-page optimisation requirements into a single actionable document.
|
||||
|
||||
## Required Inputs
|
||||
|
||||
Ask the user for these if not provided:
|
||||
- **Target keyword or topic**
|
||||
- **Target audience** (who is searching for this?)
|
||||
- **Website or domain** (for internal linking context)
|
||||
- **Content goal** (rank for keyword / drive leads / build authority / support existing content)
|
||||
- **Current ranking or page** (if improving existing content — optional)
|
||||
- **Word count target or preference** (optional — if not provided, derive from search intent)
|
||||
|
||||
## Output Structure
|
||||
|
||||
---
|
||||
|
||||
# SEO Content Brief: [Target Keyword]
|
||||
|
||||
**Target keyword:** [Primary keyword]
|
||||
**Secondary keywords:** [Related terms to include naturally]
|
||||
**Search intent:** [Informational / Navigational / Commercial / Transactional]
|
||||
**Target word count:** [Range — e.g. 1,200–1,800 words]
|
||||
**Content type:** [Blog post / Landing page / Guide / Comparison / Listicle]
|
||||
**Audience:** [Who will read this]
|
||||
**CTA:** [What action should this page drive?]
|
||||
|
||||
---
|
||||
|
||||
## Search Intent Analysis
|
||||
|
||||
**What the searcher wants:** [What someone typing this keyword is actually trying to accomplish]
|
||||
|
||||
**What "good" looks like for this query:**
|
||||
- Format: [How results typically appear — guide, list, comparison table, etc.]
|
||||
- Depth: [Surface-level overview vs. comprehensive deep dive]
|
||||
- Tone: [Expert / Conversational / Technical / Beginner-friendly]
|
||||
|
||||
**User's next question:** [What they'll search for after reading a good answer — use for internal linking]
|
||||
|
||||
---
|
||||
|
||||
## Competitor Content Analysis
|
||||
|
||||
| Ranking page | Word count | Key sections covered | Gaps or weaknesses |
|
||||
|---|---|---|---|
|
||||
| [URL or description] | [~N words] | [Sections] | [What they're missing] |
|
||||
|
||||
**Opportunity to differentiate:** [Specific angle, data, or depth your content can add that competitors lack]
|
||||
|
||||
---
|
||||
|
||||
## Recommended Outline
|
||||
|
||||
Each heading is the exact H2/H3 to use (these are what Google reads):
|
||||
|
||||
**[H1: Title — include primary keyword, under 60 characters]**
|
||||
|
||||
**Introduction** (150–200 words)
|
||||
- Hook with the problem or question
|
||||
- State what the reader will learn
|
||||
- Include primary keyword naturally in first 100 words
|
||||
|
||||
**[H2: First main section]**
|
||||
- [Key points to cover]
|
||||
- [Include secondary keyword: X]
|
||||
|
||||
**[H2: Second main section]**
|
||||
- [Key points]
|
||||
|
||||
**[H2: Third main section]**
|
||||
- [Key points — consider a table or list here for featured snippet opportunity]
|
||||
|
||||
**[H2: FAQ section]** *(recommended for informational queries)*
|
||||
- Q: [Question from "People Also Ask" for this keyword]
|
||||
- Q: [Question 2]
|
||||
|
||||
**Conclusion** (100–150 words)
|
||||
- Summarise key takeaways
|
||||
- Include CTA
|
||||
|
||||
---
|
||||
|
||||
## On-Page SEO Requirements
|
||||
|
||||
| Element | Requirement |
|
||||
|---|---|
|
||||
| Title tag | [60 chars max — primary keyword near start] |
|
||||
| Meta description | [155 chars max — include keyword + benefit] |
|
||||
| H1 | [Match or close to title tag] |
|
||||
| Keyword density | [Use primary keyword 3–5x naturally; don't force it] |
|
||||
| Image alt text | [Describe image + include keyword where natural] |
|
||||
| Internal links | [3–5 internal links — see suggestions below] |
|
||||
| External links | [1–2 authoritative sources to cite] |
|
||||
|
||||
---
|
||||
|
||||
## Internal Linking Suggestions
|
||||
|
||||
| Anchor text | Link to | Why |
|
||||
|---|---|---|
|
||||
| [Relevant phrase] | [/page-path] | [Topic relevance] |
|
||||
|
||||
---
|
||||
|
||||
## Quality Checks
|
||||
|
||||
- [ ] Search intent is correctly identified (informational vs commercial)
|
||||
- [ ] Outline addresses the actual user question (not just the keyword)
|
||||
- [ ] Competitor gaps are specific and actionable
|
||||
- [ ] FAQ section addresses real "People Also Ask" questions
|
||||
- [ ] Title tag is under 60 characters and includes the keyword
|
||||
- [ ] Internal linking suggestions are relevant and specific
|
||||
|
||||
## Example Trigger Phrases
|
||||
|
||||
- "Write an SEO brief for the keyword [keyword]"
|
||||
- "Create a content brief for [topic]"
|
||||
- "What should I include in a blog post about [keyword]?"
|
||||
- "Build a content strategy brief for [topic]"
|
||||
|
||||
## Anti-Patterns
|
||||
|
||||
- [ ] Do not write an outline that answers a different question than the actual search intent — the brief must match what the searcher wants, not what the brand wants to say
|
||||
- [ ] Do not set keyword density targets so high that they produce unnatural writing — 3–5 natural mentions is guidance, not a quota
|
||||
- [ ] Do not skip the competitor gap analysis — without it, the brief produces content that duplicates what already ranks
|
||||
- [ ] Do not leave the FAQ section without real "People Also Ask" questions — fabricated questions miss search volume opportunities
|
||||
- [ ] Do not write a title tag longer than 60 characters — it will be truncated in search results and undermine ranking
|
||||
Reference in New Issue
Block a user