This skill should be used when the user asks to "deploy with OpenShip", "manage a self-hosted OpenShip instance", "debug an OpenShip deployment", or manage its domains, storage, backups, or upgrades through the CLI.
SkillScore45Maintained
Automatic
◆DevOps & SRE pack
Last verified 10/10/2026
What it changes
Passed 9 of 20 test cases with the skill, and 3 of 20 without it.
Without skill15%
With skill45%
Checks it passed that the model alone missed
Checks active context using `openship context list`.
Checks whether a custom updater exists before upgrading.
Specifies using the global `--json` flag on native CLI commands.
and 5 more in the full report
6 fixed3 passed either way11 still failing0 broke3 errored
Pass-rate lift
+30 pp
Tokens
+3%
Agent turns
0%
Response time
-43%
Model gemini-3.6-flashMeasured 10/10/2026v29 of 23 cases passed with skill · 20 comparable
Tokens, turns and time describe resource use, not a dollar price.
See it in action
One of 6 test cases the skill fixed. Same model, same prompt, with and without the skill.
1 of 6
Prompt
We are writing an automated script to inspect OpenShip project status and build logs. What output format should we specify for reliable script parsing?
What was checked, without and with the skill
Checked
Without skill
With skill
Advises against parsing plain text CLI output when writing scripts.
Passed
Passed
Specifies using the global `--json` flag on native CLI commands.
Missed
Passed
case-09 · gemini-3.6-flash · 10/10/2026 · answers are capped and redacted
What's inside
The instructions your model reads when the skill loads.
SKILL.md34 lines2 files
Deploy and operate OpenShip
Prefer the CLI and an existing self-hosted instance. Use a cloud or desktop workflow when the user requests it. Keep application deployments separate from installing or upgrading the OpenShip control plane.
Choose the instance and command
Check openship --version and openship context list. Select the intended self-hosted context before a remote operation. Never assume the active context points to the user's server.
Use native commands with the global --json flag. Read CLI access for context and authentication details, and automation for CI logins and scripts that pass explicit project IDs. Do not print stored tokens.
Check the installed command's --help. Use openship api for routes without a working command, after checking the matching implementation. In v0.8.0, server ssh is a stub despite appearing in help. A successful help command does not prove an operation works.
upstream.json records the bundled release, exact source URLs, and hashes. If the installed CLI or server differs, verify the relevant source at that version before relying on a flag or API contract.
Deploy an application
Inspect the repository, existing project link, build entry point, service topology, persistent volumes, and current domain ownership. Use projects and services for commands.
Use the companion openship-config skill to author a small openship.json. When only this ZIP is installed, use the official config guide. Keep repeatable build and routing choices in the repository. Keep actual credentials in the instance's environment settings.
Run openship --json config validate, then use deployment commands for the appropriate repository or folder deploy. A valid file does not prove its image builds or that the destination has sufficient capacity.
Check deployment completion, the active deployment, service health, logs, and the public URL. Report the deployed revision and any checks still pending. Use edge and monitoring and logs for diagnosis, and build failures when the deploy goes red.
Read only the guide needed for the operation:
Self-hosted GitHub App: repository authorization and automatic deployment.
Domains: ownership, DNS, ports, and HTTPS. Reconcile existing ownership before moving a hostname. Domain and SSL failures covers certificates that do not issue.
Rollback and redeploy: return to a previous version or rebuild one from scratch.
Persistent storage: volumes and data that must survive redeployment.
Maintain the self-hosted instance
Use self-host infrastructure for servers and backups, and running OpenShip for lifecycle commands. Inspect how the instance was installed and whether it has a custom updater before selecting an upgrade command.
Updates: CLI and server lifecycle.
Backups and restore: protection and recovery of application data.
Instance migration: control-plane export and import.
Use the user's existing authorization for the requested operation. Preparing a deployment is not authorization to replace a running instance or restore over its data.
This skill should be used when writing, reviewing, or refactoring Python code. Covers code integration, idiomatic patterns, docstring formatting, anti-abstraction rules, and software engineering basics.