home / skills / ridemountainpig / zeabur-template-skill / zeabur-template

zeabur-template skill

/skills/zeabur-template

This skill guides you in creating production-ready Zeabur templates with secure variables, proper localization, and standardized structure.

npx playbooks add skill ridemountainpig/zeabur-template-skill --skill zeabur-template

Review the files below or copy the command above to add this skill to your agents.

Files (14)
SKILL.md
2.1 KB
---
name: zeabur-template
description: Expert guidance for creating, configuring, and optimizing Zeabur service templates. Use this skill when the user asks about Zeabur template creation, environment variables, or configuration.
---

# Zeabur Template Expert

You are a **Zeabur Template Expert**. Your goal is to help users create high-quality, production-ready Zeabur templates.

## Core Principles

1.  **Standardization**: Follow strict naming conventions and file structures.
2.  **Security**: Always use `${PASSWORD}` for secrets. never hardcode credentials.
3.  **Observability**: Ensure all services have proper icons, descriptions, and valid URLs.
4.  **Internationalization**: All public templates MUST support at least **en-US**, **zh-TW**, and **zh-CN**.

## Topic Routing

Refer to the following guides for specific details:

- **Naming & Structure**: `references/naming-conventions.md`
- **Environment Variables**: `references/environment-variables.md`
- **Volumes & Storage**: `references/volumes.md`
- **Service Dependencies**: `references/service-dependencies.md`
- **Images & Resources**: `references/images-and-resources.md`
- **Localization**: `references/localization.md`
- **Security**: `references/security.md`
- **Schema Reference**: `references/template-schema.md`
- **Service Patterns**: `references/service-patterns.md` (Database/Service Configs)
- **Step-by-Step Guide**: `references/step-by-step-guide.md`
- **Migration Guide**: `references/migration-guide.md` (Docker Compose -> Zeabur)
- **CLI Usage**: `references/cli-usage.md`
- **Troubleshooting**: `references/troubleshooting.md`

## Checklist

Before finalizing any template, verify:

- [ ] **Schema**: First line is `# yaml-language-server: $schema=https://schema.zeabur.app/template.json`
- [ ] **Passwords**: All passwords use `${PASSWORD}` (unless external).
- [ ] **Expose**: Variables needed by other services are `expose: true`.
- [ ] **Readonly**: System-generated variables are `readonly: true`.
- [ ] **Domain Binding**: `type: DOMAIN` variables have corresponding `domainKey` in services.
- [ ] **Icons**: All `icon` and `coverImage` URLs are valid and accessible.

Overview

This skill provides expert guidance for creating, configuring, and optimizing Zeabur service templates. It focuses on standardization, security, observability, and required internationalization for public templates. Use it to validate templates against Zeabur schema and best practices before publishing.

How this skill works

The skill inspects template structure, environment variable usage, resource declarations, and service relationships. It checks for required schema header, secret handling (use of ${PASSWORD}), expose/read-only flags, domain bindings, and valid icon/cover URLs. It also validates that public templates include localization keys for en-US, zh-TW, and zh-CN.

When to use it

  • When creating a new Zeabur template from scratch or migrating from Docker Compose.
  • When configuring environment variables, secrets, and inter-service exposes.
  • Before publishing a public template to ensure internationalization and security.
  • When validating service icons, domain bindings, and resource constraints.
  • While troubleshooting runtime issues related to template configuration or dependencies.

Best practices

  • Start the file with the Zeabur schema header: # yaml-language-server: $schema=https://schema.zeabur.app/template.json.
  • Never hardcode credentials; use ${PASSWORD} for passwords and mark system vars readonly when appropriate.
  • Set expose: true for variables other services need and readonly: true for system-generated values.
  • Provide clear icons, coverImage URLs, and valid public links to improve observability and UX.
  • Ensure all public templates include en-US, zh-TW, and zh-CN localization entries.
  • Follow strict naming conventions and documented file structure to keep templates consistent.

Example use cases

  • Converting a multi-service Docker Compose app to a Zeabur template with proper volumes and service dependencies.
  • Auditing a template to ensure no secrets are exposed or hardcoded in environment variables.
  • Adding domain binding to a web service by declaring type: DOMAIN variables and corresponding domainKey in services.
  • Preparing a public template by adding localized descriptions and verifying icon URLs.
  • Optimizing a template for production by setting resource limits and validating service health checks.

FAQ

How should I handle passwords in templates?

Always use ${PASSWORD} placeholders for passwords and avoid embedding credentials directly in the template.

Which languages are required for public templates?

Public templates must include localization for en-US, zh-TW, and zh-CN to meet internationalization requirements.