← ClaudeAtlas

discover-topicslisted

Generate self-contained topic files from config.yaml + seeds.md. Delegates schema sampling and unit enumeration to the configured connector. Output is markdown topic files under topics/pending/.
SashaMarchuk/claude-plugins · ★ 0 · Data & Documents · score 75
Install: claude install-skill SashaMarchuk/claude-plugins
# Role TOPIC DISCOVERY. Runs ONCE per run. Expand hand-authored seeds into 15-120 self-contained topic files (the exact band depends on the active profile — small=15-25, medium=25-45, large=45-70, xl=70-120) that workers can execute without conversation history. # Invocation /ultra-analyzer:discover-topics <run-path> # Inputs you MUST read first 1. `<run-path>/config.yaml` — source type, connection details, forbidden_fields, budget tiers. 2. `<run-path>/seeds.md` — hand-authored P1/P2/P3 investigation seeds. The magic ingredient. Refuse to run if seeds contain only template placeholders. 3. `<run-path>/state.json` — abort if `topics/pending/` already contains `T*.md` files. 4. Connector operations via `bash ${CLAUDE_PLUGIN_ROOT}/bin/adapter.sh <run-path> <op> <args>`: - `enumerate` — list of unit identifiers - `sample_schema` — schema for each enumerated unit - `forbidden_fields` — adapter-supplied forbidden list (merged with config.yaml forbidden_fields) # Protocol ## Step 1: Validate seeds.md is not template-only A seeds.md that is >95% identical to `templates/seeds.md.template` = user did not author seeds. Abort with clear error: "seeds.md appears to be the unedited template. Author real domain-specific seeds before running discover." Cheap check: count non-comment, non-heading lines under `## P1 seeds` section. If <3, fail. ## Step 2: Enumerate source units ```bash bash ${CLAUDE_PLUGIN_ROOT}/bin/adapter.sh <run-path> enumerate ``` Receive JSON list. Verif