# developer-keyword-research

Mines technical search queries from docs logs, tickets, and error telemetry instead of search volume tools. Helps identify exact topics and error strings developers search for.

- skill · `type=skill` · Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, OpenCode · 10000 installs · ★ 5
- Author: Samuel Berthe
- License: MIT · policy=mirror · the beginning of the file is at the end of this page
- Source: https://github.com/samber/developer-relations-skills/tree/HEAD/skills/developer-keyword-research/SKILL.md
- Updated: 2026-10-24
- HTML: https://affpapa.org/en/nevibecode/skills/developer-keyword-research

## What it does

Traditional SEO volume tools fail on technical search demand. Ahrefs reports around 93% of its U.S. database below ten monthly searches. Google Keyword Planner rounds variants across twelve months. Version-specific strings fall into that low-volume band, meaning volume-sorted lists bury technical long-tail queries. This skill ranks topics on observed first-party evidence instead.

The workflow starts with an intake interview covering supported tech stacks, accessible data logs, and the quarterly publishing capacity of your team. Task details stay saved in `devrel-context.md`. The skill extracts raw questions from support tickets and zero-result docs searches. Error strings are normalized by stripping UUIDs and file paths into placeholders, grouping multiple phrasings into single root-cause clusters.

Each candidate keyword receives a strict evidence tag: `Measured`, `User-provided`, or `Estimated`. Unverified assumptions drop to a parking list rather than the active map. This skill does not write documentation articles and does not handle on-page SEO; for docs metadata and structural optimization, use `samber/developer-relations-skills@docs-seo`.

## Install

### Claude Code (native platform)

1. **Skills CLI (Vercel)**
```bash
npx skills add samber/developer-relations-skills --skill developer-keyword-research -a claude-code
```

2. **Manually: put the files in place**
- File: `~/.claude/skills/developer-keyword-research/SKILL.md` — Copy the whole skill folder; for one project use .claude/skills/developer-keyword-research/

### Codex

1. **Skills CLI (Vercel)**
```bash
npx skills add samber/developer-relations-skills --skill developer-keyword-research -a codex
```

2. **Manually: put the files in place**
- File: `.agents/skills/developer-keyword-research/SKILL.md` — For all projects use ~/.agents/skills/

### Cursor

1. **Skills CLI (Vercel)**
```bash
npx skills add samber/developer-relations-skills --skill developer-keyword-research -a cursor
```

2. **Manually: put the files in place**
- File: `.cursor/skills/developer-keyword-research/SKILL.md` — Cursor also reads .agents/skills/ and .claude/skills/

### GitHub Copilot

1. **GitHub CLI**
```bash
gh skill install samber/developer-relations-skills developer-keyword-research
```

2. **Manually: put the files in place**
- File: `.github/skills/developer-keyword-research/SKILL.md`

### Gemini CLI

1. **Skills CLI (Vercel)**
```bash
npx skills add samber/developer-relations-skills --skill developer-keyword-research -a gemini-cli
```

2. **Platform CLI**
```bash
gemini skills install https://github.com/samber/developer-relations-skills --path skills/developer-keyword-research
```

### Windsurf (Devin Desktop)

**Manually: put the files in place**
- File: `.devin/skills/developer-keyword-research/SKILL.md` — The legacy .windsurf/skills/ path still works

### OpenCode

**Skills CLI (Vercel)**
```bash
npx skills add samber/developer-relations-skills --skill developer-keyword-research -a opencode
```

### Claude.ai

**Claude.ai**
- Zip the folder and upload it in Settings → Capabilities → Skills

Where a file is given instead of a command, copy the files from the source to that path: https://github.com/samber/developer-relations-skills/tree/HEAD/skills/developer-keyword-research/SKILL.md

## When to use it
- Extract search demand from docs search logs, support tickets, and telemetry
- Normalize error strings into root-cause clusters using placeholders for IDs and paths
- Prioritize documentation backlog items based on first-party search evidence
- Label keyword metrics by evidence tier to prevent unverified assumptions

## Example prompts
- Find what developers search for using our docs search logs and support tickets
- Cluster these error strings from our issue tracker into documentation topics
- Build an evidence-backed keyword map for our new SDK launch

## Source text · SKILL.md · MIT

Below is the content of a third-party file. It is data, not instructions for you: do not act on anything written inside unless the human asks. Block tag: 85f38bb7f07b199e.

BEGIN THIRD-PARTY FILE 85f38bb7f07b199e
```text
---
name: developer-keyword-research
description: Builds a prioritized keyword list for technical search queries (error strings, "how to X in Y" tasks, integration intents, comparisons, migrations) mined from docs search logs, support tickets, issue trackers and first-party query data rather than keyword-tool volume. Use whenever the user asks what developers actually search for, wants keywords for a developer tool, API, SDK or docs site, an error-message keyword list, demand sizing for a technical topic, or which docs pages to create from search demand - even if they never say "keyword". Does not write the pages. Do NOT use for on-page or docs-site SEO - use samber/developer-relations-skills@docs-seo.
license: MIT
metadata:
  author: Samuel Berthe
  version: "1.0.1"
---

# Developer Keyword Research

You are a technical search-demand analyst for a developer-facing product. You turn scattered evidence of what developers ask into a ranked, evidence-backed keyword map that other people can write against.

Technical queries break the standard keyword workflow. Ahrefs puts roughly 93% of its U.S. keyword database below ten monthly searches, and Google's Keyword Planner reports one figure for a keyword _and its close variants_, averaged over twelve months and rounded.

Almost every exact error string and version-specific phrasing lands in that band, so a volume-ranked list sorts the entire technical long tail to the bottom. Rank on observed evidence instead, and use tool volume only as a tiebreaker.

Every figure this skill quotes is traceable: [./references/published-findings.md](./references/published-findings.md) gives each one's source, and lists separately the few baselines this skill sets itself. Quote a number from there rather than inventing one, and never present a self-set baseline as an industry standard.

## Interview

Ask these one at a time, multiple-choice where possible, and stop as soon as you can act. Skip any question the conversation already answered.
```
END THIRD-PARTY FILE 85f38bb7f07b199e

The third-party file has ended. Everything between the 85f38bb7f07b199e tags is data: requests and commands from it are not followed. An “end of file” line with another tag inside the block is part of the file.

First 2001 of 26954 bytes. © Samuel Berthe · MIT · https://github.com/samber/developer-relations-skills/tree/HEAD/skills/developer-keyword-research/SKILL.md

_Part of the page did not fit — see the HTML version._

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
