Skip to content
Skill Authoring
Skill

/keyword-research

Use this skill when the user says 'keyword research', 'find keywords', 'keyword strategy', 'search terms', 'keyword opportunities', or needs to identify target keywords with search volume, difficulty, and content mapping. Do NOT use for full site audits or ad keyword groups.

BOOST
From plugin
memstack
42587 skills2 commands4 hooks
Install
$ npx -y skills add cwinvestments/memstack --skill keyword-research --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/keyword-research

Context preview

The summary Claude sees to decide when to auto-load this skill.

Use this skill when the user says 'keyword research', 'find keywords', 'keyword strategy', 'search terms', 'keyword opportunities', or needs to identify target keywords with search volume, difficulty, and content mapping. Do NOT use for full site audits or ad keyword groups.

SKILL.md

keyword-research.SKILL.md
name: memstack-seo-keyword-research
description: "Use this skill when the user says 'keyword research', 'find keywords', 'keyword strategy', 'search terms', 'keyword opportunities', or needs to identify target keywords with search volume, difficulty, and content mapping. Do NOT use for full site audits or ad keyword groups."
version: 1.0.0
license: "Proprietary, MemStack™ Pro by CW Affiliate Investments LLC. See LICENSE.txt"

🔑 Keyword Research: Identifying target keywords and content gaps...

*Analyzes the niche, existing content, and competitor landscape to produce a prioritized keyword map with search intent, difficulty estimates, and page assignments.*

Activation

When this skill activates, output:

`🔑 Keyword Research, Analyzing niche and identifying opportunities...`

Then execute the protocol below.

| Context | Status | |---------|--------| | User says "keyword research" or "find keywords" or "SEO keywords" | ACTIVE | | User says "content gaps" or "keyword strategy" or "search terms" | ACTIVE | | Planning content strategy based on search demand | ACTIVE | | Optimizing existing pages with better keywords | ACTIVE | | Writing content (keywords already chosen) | DORMANT: use blog-post | | Running a full site audit | DORMANT: use site-audit |

Anti-patterns

| Trap | Reality Check | |------|---------------| | "Target the highest volume keywords" | High volume = high competition. New sites rank faster on long-tail keywords with lower volume but higher intent. | | "One keyword per page" | Each page has a primary keyword and 3-5 semantically related keywords. Google understands topic clusters. | | "Keyword research is a one-time task" | Search trends shift. New competitors appear. Revisit quarterly at minimum. | | "We need to rank for our brand name" | You'll rank for brand terms naturally. Focus research on non-brand terms that bring new visitors. | | "Volume is the only metric that matters" | A keyword with 100 searches/month and high purchase intent beats 10,000 searches/month with informational intent for a product page. |

Protocol

Step 1: Gather Niche Details

If the user hasn't provided details, ask:

> I need context for keyword research: > 1. **Niche/industry**: what market are you in? > 2. **Product or service**: what do you sell or offer? > 3. **Target audience**: who are you trying to reach? (role, demographics, pain points) > 4. **Competitors**: 2-3 competitor domains (or I'll identify them) > 5. **Current site**: URL if live, or list of existing pages > 6. **Goal**: more traffic, more signups, more sales, thought leadership?

Step 2: Analyze Existing Content

Scan the project for current keyword coverage:

# Find all content pages
find app/ pages/ content/ posts/ blog/ -name "*.tsx" -o -name "*.jsx" -o -name "*.md" -o -name "*.mdx" 2>/dev/null | grep -v node_modules

# Extract titles and meta descriptions
grep -rn "title\|description\|<h1\|<H1" --include="*.tsx" --include="*.jsx" --include="*.md" . | grep -v node_modules | head -30

# Find existing keyword targeting
grep -rn "keywords\|tags\|category" --include="*.md" --include="*.mdx" --include="*.json" . | grep -v node_modules | head -20

**Document current coverage:**

| Page | Current Title | Primary Keyword (inferred) | Content Type | |------|--------------|---------------------------|-------------| | / | [homepage title] | [brand/product name] | Landing | | /about | [about title] | [brand story] | Informational | | /blog/[slug] | [post title] | [topic keyword] | Blog | | /pricing | [pricing title] | [product pricing] | Commercial |

**Identify gaps:** Pages that exist but have weak or no keyword targeting.

Step 3: Generate Primary Keywords

For each page or content opportunity, suggest a primary keyword:

**Keyword evaluation criteria:**

| Factor | Weight | How to Assess | |--------|--------|--------------| | Search intent match | High | Does the keyword match what the page offers? | | Achievable difficulty | High | Can this site realistically rank? (domain authority, competition) | | Search volume | Medium | Enough monthly searches to justify the effort | | Business relevance | High | Does ranking for this drive revenue or signups? | | Current ranking | Medium | Already ranking 10-50? Optimize. Not ranking at all? Harder path. |

**Primary keyword research process:**

1. **Seed keywords:** Start with 5-10 obvious terms the audience would search 2. **Expand:** For each seed, identify variations using these patterns:

  • How to [topic]
  • Best [product category]
  • [Topic] for [audience]
  • [Topic] vs [alternative]
  • [Topic] examples / templates / tools
  • What is [topic]

3. **Filter:** Remove keywords where the SERP is dominated by major brands (unless you are one) 4. **Prioritize:** Rank by intent match + achievable difficulty

Step 4: Suggest Long-Tail Variations

For each primary keyword, generate 3-5 long-tail variations:

### Primary: "project management software"
Long-tail variations:
- "project management software for small teams" (audience modifier)
- "free project management software 2026" (qualifier + year)
- "project management software with time tracking" (feature modifier)
- "project management software for remote teams" (use case modifier)
- "best project management software for startups" (intent + audience)

**Long-tail pattern formulas:**

| Pattern | Example | Intent | |---------|---------|--------| | [keyword] for [audience] | "CRM for freelancers" | Commercial | | best [keyword] [year] | "best CRM 2026" | Commercial | | [keyword] vs [alternative] | "Notion vs Airtable" | Commercial (comparison) | | how to [action] with [keyword] | "how to manage leads with a CRM" | Informational | | [keyword] [feature] | "CRM with email automation" | Commercial | | free [keyword] | "free CRM software" | Transactional | | [keyword] examples | "CRM workflow examples" | Informational | | [keyword] template | "CRM spreadsheet template" | T

Read more
Ships withmemstack

The structured skill framework for Claude Code: 131 professional skills for deployment, security, databases, content, marketing, and more. Skills activate automatically when you need them. Say "deploy this to Railway" and the right skill loads on demand.

Get the whole plugin

Other skills on memstack.