# Serp Keyword Harvester

> Collect and normalize search-demand inputs for public site projects before semantic-core work. Use when a UI/UX or SEO project needs seed keywords, SERP snapshots, autocomplete ideas, People Also Ask, related searches, or a dry-run keyword harvest with approval-gated external search APIs.

- **Type:** Skill
- **Install:** `agentstack add skill-sergekostenchuk-ui-ux-agent-skill-system-serp-keyword-harvester`
- **Verified:** Yes — security-reviewed for prompt injection and unsafe behavior
- **Seller:** [sergekostenchuk](https://agentstack.voostack.com/s/sergekostenchuk)
- **Installs:** 0
- **Category:** [Search](https://agentstack.voostack.com/c/search)
- **Latest version:** 0.1.0
- **License:** Apache-2.0
- **Upstream author:** [sergekostenchuk](https://github.com/sergekostenchuk)
- **Source:** https://github.com/sergekostenchuk/ui-ux-agent-skill-system/tree/main/core/skills/serp-keyword-harvester

## Install

```sh
agentstack add skill-sergekostenchuk-ui-ux-agent-skill-system-serp-keyword-harvester
```

Requires the [AgentStack CLI](https://agentstack.voostack.com/docs/cli). Works with Claude Code, Cursor, and any MCP-compatible agent.

## About

# SERP Keyword Harvester

This skill prepares raw search-demand evidence for the pre-design pipeline. It does not decide final site architecture or source/proxy policy; `serp-source-configurator` owns setup gates and this skill hands structured inputs to `semantic-core-builder`.

## Operating Modes

- `plan`: define seed keywords, locales, sources, approvals, and fallback.
- `harvest-local`: normalize user-provided keywords, exported CSVs, existing site text, or local reports.
- `harvest-external`: use approved SERP/autocomplete APIs or tools; approval required before network calls.
- `audit`: review an existing `reports/keyword-harvest.json`.

## Required Workflow

1. Read [references/keyword-harvest-contract.md](references/keyword-harvest-contract.md).
2. If OpenSERP, AKE, proxy, API keys, engine checkboxes, source settings, or paid-proxy limits are mentioned, route setup to `serp-source-configurator` first and consume its redacted `reports/serp-source-config.json` handoff.
3. If OpenSERP is already approved/configured, read [references/openserp-setup.md](references/openserp-setup.md) and use [assets/openserp-settings.example.json](assets/openserp-settings.example.json) only as a redacted contract, not as a credential store.
4. Confirm privacy and approval mode:
   - local inputs and user-provided public facts: allowed;
   - external SERP/API/crawling: explicit approval required;
   - private/authenticated sources: explicit approval plus data-handling note.
5. Collect or normalize seed keywords, market/locale, project type, and source provenance.
6. Write or update `reports/keyword-harvest.json` using [assets/keyword-harvest.schema.json](assets/keyword-harvest.schema.json) as the field contract.
7. Label every data group as `Ran`, `Skipped`, `Planned`, or `Manual`.
8. Hand off to `semantic-core-builder`; do not invent missing SERP evidence.

## Safety Rules

- Do not scrape or call external services without approval.
- Do not store API keys, cookies, private URLs, recovery codes, or `.env` values in reports.
- Treat OpenSERP as `optional-cloud` / `external-network`: no call without explicit approval, configured credentials, query scope, source config, and a data-transfer note.
- Do not decide proxy provider, paid budget, or engine selection inside this skill when it is not already explicit; use `serp-source-configurator`.
- If search APIs return 429/503 or are unavailable, mark the source `Skipped` and continue with local/user-provided inputs.

## Handoff Shape

```text
Mode:
Locale/market:
Seed keywords:
Sources used:
Sources skipped:
Source config:
Output path:
Privacy/approval note:
Next skill: semantic-core-builder
```

## Validation

When editing this skill, run:

```bash
python3 $CODEX_HOME/skills/.system/skill-creator/scripts/quick_validate.py $CODEX_HOME/skills/serp-keyword-harvester
python3 $CODEX_HOME/skills/senior-skill-architect/scripts/lint_production_skill.py $CODEX_HOME/skills/serp-keyword-harvester
```

## Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

- **Author:** [sergekostenchuk](https://github.com/sergekostenchuk)
- **Source:** [sergekostenchuk/ui-ux-agent-skill-system](https://github.com/sergekostenchuk/ui-ux-agent-skill-system)
- **License:** Apache-2.0

Install and usage instructions live in the source repository linked above.

## Pricing

- **Free** — Free

## Security capabilities

Automated source analysis of v0.1.0 — what this tool can access:

- **Network access:** no
- **Filesystem access:** no
- **Shell / process execution:** no
- **Environment & secrets:** yes
- **Dynamic code execution:** no

*"Yes" means the capability is present in the source — more access means more to trust, not that it is unsafe.*


## Versions

- **0.1.0** — security scan: passed — Imported from the upstream source.

## Links

- Listing page: https://agentstack.voostack.com/l/skill-sergekostenchuk-ui-ux-agent-skill-system-serp-keyword-harvester
- Seller: https://agentstack.voostack.com/s/sergekostenchuk
- Browse the marketplace: https://agentstack.voostack.com/browse

---
Listed on AgentStack — the marketplace for AI agent skills and MCP servers. Every listing is security-reviewed. Creators keep 70%.
