add-provider — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited add-provider (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Providers implement the Provider interface (src/providers/types.ts): { prefix, jurisdiction, list(), availability(), vacancies(), info() }, and are registered in src/providers/registry.ts (PROVIDERS). Park ids are provider-prefixed (ab:, sk:, bc:, pc:); route() dispatches by prefix. Two platforms already exist to copy:
src/parks/service.tscreateAspiraProvider(config); configs (base host + contract code) in src/parks/client.ts (ALBERTA, SASKATCHEWAN). Multi-campground parks auto-split into :cg: children.
src/providers/camis.tsnew CamisProvider(prefix, jurisdiction, host). Backcountry is detected from resourceCategory names.
prefix and a jurisdiction display name.PROVIDERS in registry.ts.src/landing.ts COLOR + the legend Source row, and insrc/dashboard.ts SRC.
src/data/coords.json keyed by theprefixed id (geocode if needed — see the geocode-campgrounds skill).
src/landing.ts, and the MCPdescription / INSTRUCTIONS in src/server.ts.
bunx tsc --noEmit + bun test, then deploy (see the deploy skill).The harvester picks up new parents automatically via harvestTargets(); the catalogue (listCampgrounds()) expands multi-campground parks at serve time.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.