A standalone Claude Code plugin for Mountain Project / onX Adventure development. Provides skills for API testing, debugging topo overlays, auditing data packs, managing release branches, checking deployment status, and managing Firebase Remote Config feature flags.
Install as a local Claude Code plugin:
claude plugin add /path/to/mp-toolsOr install directly from GitHub:
claude plugin add github:onXmaps/mp-toolsInteract with Mountain Project API endpoints to fetch topos, photos, routes, and packages.
Use this skill when:
- Testing the
getPhotosToposendpoint for areas or routes - Debugging topo overlay data structure
- Fetching photo metadata
- Exploring API responses during development
- Validating API integration
- Investigating data sync issues
Key features:
- Command-line API client script (TypeScript)
- Support for all major Mountain Project endpoints
- Anonymous/unauthenticated access
- JSON output for easy parsing
- Comprehensive API reference documentation
Example usage:
# Fetch topos for an area
npx tsx mp-api.ts getPhotosTopos --areaId 105717538
# Fetch topos for a route
npx tsx mp-api.ts getPhotosTopos --routeId 105717329
# Get photos without topo data
npx tsx mp-api.ts getPhotos --areaId 105717538
# List available packages
npx tsx mp-api.ts getPackageListSee plugins/mp-tools/skills/api-client/SKILL.md for complete documentation.
Audit mobile data packs to find missing, failed, corrupt, or stale packs across all project types (climb, hike, mtb, ski, trailrun).
Use this skill when:
- Checking if data packs failed to generate
- Finding missing or malformed packs
- Verifying Climb packs contain topo content
- Investigating why offline data is missing or outdated
Key features:
- Filesystem audit script covering all project types
- Artisan validation workflow (with Docker)
- Climb topo verification via
bin/verify_datapack.py - Regeneration command reference
See plugins/mp-tools/skills/datapack-audit/SKILL.md for complete documentation.
Guidance for creating and managing Mountain Project release branches.
See plugins/mp-tools/skills/release-branch/SKILL.md for complete documentation.
Check whether an adventure-project PR, branch, or commit has been deployed to the Daily or Production environments.
Use this skill when:
- Verifying if a merged PR has reached Production or Daily
- Answering questions like "is this on prod yet?" or "has X been deployed?"
- Checking which commits are queued between the current deployed tag and a target commit
How it works:
- Reads
container_tagfromonx-daily.tfvarsandonx-production.tfvarsin theatlantis-adventure-projectrepo - Uses
git merge-base --is-ancestorto determine if the target commit is included in each deployed tag - Reports a clear ✅/❌ summary per environment
See plugins/mp-tools/skills/deployment-status/SKILL.md for complete documentation.
Manage per-user access to Firebase Remote Config feature flags using natural language.
Use this skill when:
- Adding or removing users from a feature flag/gate
- Listing who currently has access to a feature
- Checking whether a specific person has access
- Managing beta access for new features
Key features:
- Natural language resolution — say "Add Jason Anderson to the photo upload feature"
fetch— read-only snapshot of all flags and their current users straight from Firebase- Local user database (name → MP ID) seeded via
fetch --update-registry - Flag alias map so "photo upload", "photo uploads", and "photo upload feature" all resolve to the right key
- Reports unrecognized conditions and condition count (X/300) with 80%/100% warnings
- Falls back to Firebase Auth for email-based lookups
- Clear prompts when a user or flag can't be found
One-time setup:
cd plugins/mp-tools/skills/feature-flags/scripts && ./setup.shExample usage:
What's currently in Firebase?
Fetch the topo flag state from Firebase
Add Jason Anderson to the photo upload feature
Remove Zander Goepfert from topo
Who has access to photo uploads?
Add jason@example.com to the topo flag
See plugins/mp-tools/skills/feature-flags/SKILL.md for complete documentation.
See plugins/mp-tools/skills/feature-flags/SPEC.md for design decisions and implementation status.
- Node.js (for running TypeScript scripts)
tsxfor executing TypeScript:npm install -g tsxjq(optional, for JSON parsing in terminal)- Python 3 + Firebase credentials (for
feature-flagsskill — runsetup.sh)
For Mountain Project / onX Adventure development, see:
CoreAP/Docs/GetPhotosTopos.md— getPhotosTopos API documentationCoreAP/Docs/Sync.md— Sync endpoint documentationCoreAP/CoreMp/MpApi.swift— iOS API client implementationCoreAP/CLAUDE.md— Project overview and conventions
To add new skills or improve existing ones:
- Create a new skill directory:
plugins/mp-tools/skills/<skill-name>/ - Add
SKILL.mdwith proper frontmatter (nameanddescriptionfields required) - Add
scripts/,references/, orassets/as needed - Update this README
- Test with Claude Code
- 1.4.0 — Add
fetchcommand tofeature-flags: read-only Firebase snapshot,--update-registryto seed local user DB, unrecognized condition reporting, condition limit warnings; add SPEC.md - 1.3.0 — Add
feature-flagsskill for managing Firebase Remote Config feature gates - 1.2.0 — Add
deployment-statusskill for checking Daily/Production deploy status - 1.1.0 — Add
datapack-auditskill for mobile data pack failure detection - 1.0.0 — Initial release with
api-clientandrelease-branchskills