원클릭으로
sync-compose-config
When new environment variables or configuration options are added, sync compose.advanced.yaml and .env.example
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
When new environment variables or configuration options are added, sync compose.advanced.yaml and .env.example
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
| name | sync-compose-config |
| description | When new environment variables or configuration options are added, sync compose.advanced.yaml and .env.example |
| compatibility | opencode |
| metadata | {"workflow":"compose-config"} |
When a PR introduces new environment variables, config options, or feature flags to the SleepLab codebase (e.g. in server.py, api/, docker/entrypoint.sh, docker-compose.yml or any backend module). This skill ensures the compose configuration files stay in sync.
Search the PR diff for new environment variable reads. Common patterns:
os.environ.get("VAR_NAME"
os.getenv("VAR_NAME"
os.environ["VAR_NAME"]
${VAR_NAME:-}
${VAR_NAME:?error}
Also check for new feature flags or configuration that might need env var support.
compose.advanced.yamlAdd the new env var under the appropriate section in app.environment:
| Var type | How to add |
|---|---|
| Required secret | ${VAR_NAME:?error} with a comment explaining how to generate the value |
| Optional with default | ${VAR_NAME:-default} with a comment explaining what it controls |
| Optional, no default | ${VAR_NAME:-} with a comment |
| Optional, disabled by default | ${VAR_NAME:-false} with a comment |
Section ordering (maintain this order in the file):
# --- Database ---# --- Security ---# --- API / Networking ---# --- Optional: OpenAI ---# --- Optional: SleepHQ cloud import ---# --- Optional: Import webhook ---# --- Optional: Wearable data integration ---# --- Time zones ---.env.exampleAdd the matching entry under the correct section with:
# Required section, empty value, comment describing how to generateCheck that:
.env.example matches the ${VAR_NAME:-default} fallback in compose.advanced.yaml${VAR_NAME:?error} in the compose file and are empty in .env.example under # Requiredcompose.yaml does NOT need updating — it intentionally has hardcoded defaults for zero-config startup.compose.advanced.yaml and .env.example.openssl rand -hex 32 for key generation).