Custom Skills
Create your own skills to encode team conventions, framework preferences, or migration patterns.
List skills
nimbus skills list
Shows all skills available, including built-in and any you've created:
NAME DESCRIPTION
add-tests Write tests for any new code
add-openapi-docs Add OpenAPI annotations to routes
dependency-audit Check deps before adding/upgrading
add-logging Add structured logging
add-error-handling Wrap external calls with typed errors
use-pydantic-v2 Always use Pydantic v2 patterns
Create a skill
nimbus skills create \
--name <name> \
--description <description> \
--prompt <system-prompt-addition>
Example — a skill that enforces your team's API conventions:
nimbus skills create \
--name "team-api-conventions" \
--description "Enforce Acme API conventions" \
--prompt "All API responses must use the standard envelope: {'data': ..., 'meta': {'timestamp': ...}}. All endpoints must be versioned under /v1/. Always use snake_case for JSON field names. Errors must use RFC 7807 problem+json format."
You can then use it on any task:
nimbus run --skill team-api-conventions "add a /v1/reports endpoint"
Create via API
curl -X POST https://api.get-nimbus.com/skills/ \
-H "X-API-Key: $NIMBUS_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "use-prisma",
"description": "Always use Prisma for database access",
"system_prompt_addition": "Always use Prisma for database access. Never write raw SQL. Use Prisma transactions for multi-step operations. Always handle PrismaClientKnownRequestError for conflict and not-found cases."
}'
Delete a skill
Skills can be deleted via the API:
curl -X DELETE https://api.get-nimbus.com/skills/use-prisma \
-H "X-API-Key: $NIMBUS_API_KEY"
Use cases
Team conventions — encode your code review checklist into a skill. Instead of leaving comments like "always use our error envelope," the skill ensures Nimbus does it automatically.
Framework migrations — create a migrate-to-v2 skill that encodes all the breaking changes. Use it on any task touching legacy code.
Language-specific rules — create a python-async skill that ensures Nimbus always uses async/await in your async codebase, never synchronous alternatives.