# Serp Source Configurator

> Configure SERP/search-demand source settings before keyword harvesting. Use when a UI/UX, SEO, or site project needs a user-facing source setup gate, OpenSERP self-host settings, proxy provider/API-key fields such as AKE, checkbox selection of Google/Yandex/Bing/DuckDuckGo/Ecosia/Baidu/manual sources, paid-proxy/budget limits, approval notes, or preflight checks before `serp-keyword-harvester` sends external queries.

- Skill: `sergekostenchuk/serp-source-configurator` (Agent Skill, multi-file: 7 files)
- Install (CLI): `npx skillmds@latest add sergekostenchuk/serp-source-configurator`
- Raw SKILL.md: https://api.skillmd.com/api/skills/sergekostenchuk/serp-source-configurator/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Marketing & Growth
- Author: sergekostenchuk (https://skillmd.com/u/sergekostenchuk)
- Updated: 2026-09-22
- Page: https://skillmd.com/skills/sergekostenchuk/serp-source-configurator

---


# SERP Source Configurator

This skill owns the setup gate before search-demand collection. It does not harvest keywords itself; it creates a redacted, approval-aware source configuration and hands it to `serp-keyword-harvester`.

## Operating Modes

- `design-ui`: define user-facing fields, checkboxes, statuses, and safe defaults for a source settings panel.
- `configure`: create or update a redacted `reports/serp-source-config.json`.
- `preflight`: check OpenSERP/base URL/proxy readiness and record `Ran`, `Skipped`, or `Planned`.
- `budget-gate`: set query limits, engine limits, cache TTL, timeout, and paid-proxy rules.
- `audit`: review an existing source config for secrets, missing approvals, unsafe paid settings, or unclear handoff.

## Required Workflow

1. Read [references/decision-framework.md](references/decision-framework.md).
2. If proxy providers, API keys, OpenSERP, AKE, paid traffic, or external network calls are involved, read [references/safety-boundaries.md](references/safety-boundaries.md).
3. For UI/dashboard requests, use [references/ui-controls.md](references/ui-controls.md) and [assets/source-config.template.json](assets/source-config.template.json).
4. Classify sources:
   - local/manual inputs: allowed by default;
   - direct OpenSERP engines: approval required before external queries;
   - proxy-backed engines: approval plus budget and proxy precheck required;
   - paid or account-mutating provider actions: explicit confirmation immediately before action.
5. Never store API keys, proxy credentials, cookies, recovery codes, or `.env` values in Markdown, HTML, task plans, wiki notes, reports, screenshots, or exported JSON.
6. Write only redacted configuration and runtime references such as `env:AKE_API_KEY`.
7. Validate the source config with [scripts/validate_serp_source_config.py](scripts/validate_serp_source_config.py).
8. Hand off to `serp-keyword-harvester` only after approval, selected engines, limits, and failure behavior are explicit.

## System Role

Use this skill between the SEO/site architecture layer and the keyword harvester:

```text
seo-llm-site-architect
-> serp-source-configurator
-> serp-keyword-harvester
-> semantic-core-builder
```

`serp-source-configurator` owns source settings, proxy gates, credential handling, budget limits, and preflight status. `serp-keyword-harvester` owns actual keyword/SERP evidence collection.

## Output Standard

```text
Mode:
Selected sources:
Disabled sources:
Proxy mode:
Credential handling:
Approval status:
Budget limits:
Preflight:
Output config:
Skipped/planned checks:
Next skill: serp-keyword-harvester
```

## Safety Rules

- Treat OpenSERP and provider APIs as `external-network`.
- User-entered API keys are runtime inputs only; redact them before any artifact is written.
- Do not create, refresh, rotate, buy, or mutate provider proxy ports unless the user explicitly asks for that specific action.
- Prefer direct/free engines first. Use paid proxy only for engines that need it, usually Google/Yandex.
- If proxy precheck fails, keep proxy sources `Skipped` and continue with direct/manual sources.
- Do not retry paid proxy failures aggressively.

## Validation

When editing this skill, run:

```bash
python3 $CODEX_HOME/skills/.system/skill-creator/scripts/quick_validate.py $CODEX_HOME/skills/serp-source-configurator
python3 $CODEX_HOME/skills/senior-skill-architect/scripts/lint_production_skill.py $CODEX_HOME/skills/serp-source-configurator
python3 $CODEX_HOME/skills/serp-source-configurator/scripts/validate_serp_source_config.py $CODEX_HOME/skills/serp-source-configurator/assets/source-config.template.json
```

