enumeratelisted
Install: claude install-skill opendatadiscovery/odd-team
# Enumerate Scanner Scope
Generate or refresh the coverage manifest for scanner at `$ARGUMENTS`.
## Protocol
1. **Read scanner definition** at `$ARGUMENTS`:
- Extract target repo, scope, and what constitutes an "item"
- Identify the glob pattern or enumeration method for items in scope
2. **Check for existing manifest** at `state/coverage/{scanner-id-dashed}.yaml`:
- If exists: this is a re-enumeration (detect new/changed/deleted items)
- If not: this is initial enumeration
3. **Enumerate all items in scope**:
- Use the appropriate method from `state/coverage/README.md` enumeration table
- For code: glob the target repo for matching files/directories
- For docs: fetch/read SUMMARY.md or file listing
- For spec: list models/endpoints from spec files
- Record the current commit hash of the target repo
4. **Write or update manifest** at `state/coverage/{scanner-id-dashed}.yaml`:
```yaml
scanner_id: "{scanner-id}"
scanner_path: "{path to scanner definition}"
scope_description: "{what's being enumerated}"
scope_source: "{glob pattern or method used}"
target_repo: "{relative path to repo}"
repo_commit_at_enumeration: "{current HEAD commit}"
last_enumerated: "YYYY-MM-DD"
total_items: N
scanned_items: 0
coverage_pct: 0
items:
- path: "{relative path within repo}"
status: not-scanned
# ... one entry per item
```
5. **For re-enumeration** (manifest already exists):
- Compare current file list