Route SaaS and infrastructure tasks to the right first-party CLI, MCP, generated client, or installed skill, and route project-CLI/release work through proportional typed-CLI, packaging, publication, and updater stages. Use when a task mentions Coolify, Shopify without a more specific commerce task, GitLab, AWS, Google Cloud, Docker, Kubernetes, Terraform, Sentry, Datadog, Snowflake, Databricks, Auth0, Twilio, Contentful, Sanity, Algolia, an uncovered SaaS/infra product, a TypeScript project CLI, release automation, multi-platform binaries, or self-update. Enforces auth/context checks, read-only-first exploration, previews before mutations, separate publish/update authority, and capability-harvest lookup for unknown services.
Use this skill when the user asks for work involving a SaaS or infrastructure product and no more specific installed skill already owns the task.
This is the routing layer for config/capability-harvest-seeds.json and wiki/tools/service-cli-coverage.md. It turns the harvested registry into agent behavior without installing every MCP or bespoke skill.
rg --files skills/personal | rg '<service>|<domain>' · qmd search "<service> skill mcp cli"wiki/tools/service-cli-coverage.md and config/capability-harvest-seeds.json to identify the preferred interface.npm run promote:capabilities -- --limit 25 · rg -i "<service>" raw/registries/agent-capabilities config/capability-harvest-seeds.jsonPrefer the lowest-friction interface that can do the job:
| Rank | Interface | Use when |
|---|---|---|
| 1 | Specific installed skill or plugin MCP | The task matches an installed capability and the tool is available. |
| 2 | First-party CLI | The CLI has a stable documented surface and the task is shell-friendly. |
| 3 | Existing PrintingPress CLI | Repeated API/data work benefits from local SQLite sync + search/sql. |
| 4 | Official MCP / Smithery candidate | The agent runtime needs MCP and the server has credible source/auth metadata. |
| 5 | Raw HTTP/API | Last resort after checking docs and credentials. |
Do not install MCPs from the raw harvest just because they exist. Treat MCP candidates as leads that need auth, permission, and owner review.
Do not conflate these jobs:
Compose only the stages the project needs:
Before publish or executable replacement, load wiki/workflows/workflow-run-contract.md#release-and-self-update-proof-profile. Record the exact target account/registry/channel, artifacts and hashes, SBOM/provenance/signing, the separately approved mutation-plan digest, remote receipts, post-release checks, and rollback. Never infer update authority from the existence of an update command or grant five tools authority because they appeared in one thread. [Source: X 2082947912498024751, 2082947914599469127, 2082947917237928407, 2082947920056483928, 2082947922648281278; exact-revision Stricli, Sentry API, Craft, Fossilize, and binpatch exploration receipts, 2026-08-12]
For Coolify deployment or infrastructure work, load [[coolify]] before acting. Use its built-in team-scoped MCP with an expiring read token for inventory, health, deployments, and logs. The current docs call MCP read-only while also listing lifecycle tools under a deploy ability, so a routine MCP connection must not carry deploy, read:sensitive, write, or root. For an approved mutation, freeze team/project/environment/server/resource UUIDs and current health/backup/rollback state, then use a separate short-lived deploy token for lifecycle actions or the official coolify CLI/API with explicit write authority. Capture deployment ID, health/logs, DNS/TLS, backup/restore when data is involved, cancel/rollback, and canonical writeback.
For Liquid themes, landing or product pages, Admin GraphQL, store data, Theme Check, or publication, stop and load the more specific shopify-commerce skill plus [[shopify]]. Shopify Dev MCP is the docs/schema/validation surface, not an authenticated Admin connection. Shopify CLI owns named-store/theme context and development or unpublished theme previews. Default to read-only context, minimum Admin scopes, no customer data in prompts or receipts, and no live-theme publish or store mutation without an exact plan, reversal, and explicit approval.
Before any SaaS/infra command:
--dry-run, plan, preview, diff, validate, template, or equivalent before mutation.Use this skill to cover recurring gaps that do not need their own local skill yet:
glab; GitHub defaults to gh.aws, Google Cloud via gcloud/bq; Azure has dedicated personal skills.coolify CLI, and REST API, governed by [[coolify]] and the self-hosted-PaaS capability route.After using a service CLI, capture:
For project-CLI and release work, additionally capture:
For recurring successful patterns, update wiki/tools/service-cli-coverage.md or create a service-specific skill.
shopify-commerce - specific Shopify theme, Admin, CLI, and publication workflow.find-skills - discover upstream skills before hand-rolling.skill-auditor - audit external skills before install.wrangler, supabase, clerk-setup, firebase-basics, azure-*, gws-* - service-specific owners where already installed.