- Modified the autodev state to reflect the current testing phase and details of the new `jetson-e2e` tests. - Enhanced the "How to Test" documentation to provide clearer instructions on the demo replay validation process, including video and tlog alignment steps. - Updated architectural documentation to include the new demo replay operator flow and its dependencies. - Documented the removal of deprecated auto-sync features and clarified the operator-facing UI for replay validation. - Added new entries in the dependencies table for upcoming tasks related to the demo replay flow. These changes improve clarity and usability for operators and developers working with the demo replay system.
8.9 KiB
name, description, category, tags, disable-model-invocation
| name | description | category | tags | disable-model-invocation | |||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| deploy | Comprehensive deployment skill covering status check, env setup, containerization, CI/CD pipeline, environment strategy, observability, deployment procedures, and deployment scripts. 7-step workflow: Status & env check, Docker containerization, CI/CD pipeline definition, environment strategy, observability planning, deployment procedures, deployment scripts. Uses _docs/04_deploy/ structure. Trigger phrases: - "deploy", "deployment", "deployment strategy" - "CI/CD", "pipeline", "containerize" - "observability", "monitoring", "logging" - "dockerize", "docker compose" | ship |
|
true |
Deployment Planning
Plan and document the full deployment lifecycle: check deployment status and environment requirements, containerize the application, define CI/CD pipelines, configure environments, set up observability, document deployment procedures, and generate deployment scripts.
Core Principles
- Docker-first: every component runs in a container; local dev, blackbox tests, and production all use Docker
- Infrastructure as code: all deployment configuration is version-controlled
- Observability built-in: logging, metrics, and tracing are part of the deployment plan, not afterthoughts
- Environment parity: dev, staging, and production environments mirror each other as closely as possible
- Save immediately: write artifacts to disk after each step; never accumulate unsaved work
- Ask, don't assume: when infrastructure constraints or preferences are unclear, ask the user
- Plan, don't code: this workflow produces deployment documents and specifications, not implementation code (except deployment scripts in Step 7)
Context Resolution
Fixed paths:
- DOCUMENT_DIR:
_docs/02_document/ - DEPLOY_DIR:
_docs/04_deploy/ - REPORTS_DIR:
_docs/04_deploy/reports/ - SCRIPTS_DIR:
scripts/ - ARCHITECTURE:
_docs/02_document/architecture.md - COMPONENTS_DIR:
_docs/02_document/components/
Announce the resolved paths to the user before proceeding.
Input Specification
Required Files
| File | Purpose | Required |
|---|---|---|
_docs/00_problem/problem.md |
Problem description and context | Greenfield only |
_docs/00_problem/restrictions.md |
Constraints and limitations | Greenfield only |
_docs/01_solution/solution.md |
Finalized solution | Greenfield only |
DOCUMENT_DIR/architecture.md |
Architecture (from plan or document skill) | Always |
DOCUMENT_DIR/components/ |
Component specs | Always |
Prerequisite Checks (BLOCKING)
architecture.mdexists — STOP if missing, run/planfirst- At least one component spec exists in
DOCUMENT_DIR/components/— STOP if missing - Create DEPLOY_DIR, REPORTS_DIR, and SCRIPTS_DIR if they do not exist
- If DEPLOY_DIR already contains artifacts, ask user: resume from last checkpoint or start fresh?
Artifact Management
Directory Structure
DEPLOY_DIR/
├── containerization.md
├── ci_cd_pipeline.md
├── environment_strategy.md
├── observability.md
├── deployment_procedures.md
├── deploy_scripts.md
└── reports/
└── deploy_status_report.md
SCRIPTS_DIR/ (project root)
├── deploy.sh
├── pull-images.sh
├── start-services.sh
├── stop-services.sh
└── health-check.sh
.env (project root, git-ignored)
.env.example (project root, committed)
Save Timing
| Step | Save immediately after | Filename |
|---|---|---|
| Step 1 | Status check & env setup complete | reports/deploy_status_report.md + .env + .env.example |
| Step 2 | Containerization plan complete | containerization.md |
| Step 3 | CI/CD pipeline defined | ci_cd_pipeline.md |
| Step 4 | Environment strategy documented | environment_strategy.md |
| Step 5 | Observability plan complete | observability.md |
| Step 6 | Deployment procedures documented | deployment_procedures.md |
| Step 7 | Deployment scripts created | deploy_scripts.md + scripts in SCRIPTS_DIR/ |
Resumability
If DEPLOY_DIR already contains artifacts:
- List existing files and match to the save timing table
- Identify the last completed step
- Resume from the next incomplete step
- Inform the user which steps are being skipped
Progress Tracking
At the start of execution, create a TodoWrite with all steps (1 through 7). Update status as each step completes.
Workflow
Step 1: Deployment Status & Environment Setup
Read and follow steps/01_status-env.md.
Step 2: Containerization
Read and follow steps/02_containerization.md.
Step 3: CI/CD Pipeline
Read and follow steps/03_ci-cd-pipeline.md.
Step 4: Environment Strategy
Read and follow steps/04_environment-strategy.md.
Step 5: Observability
Read and follow steps/05_observability.md.
Step 6: Deployment Procedures
Read and follow steps/06_procedures.md.
Step 7: Deployment Scripts
Read and follow steps/07_scripts.md.
Escalation Rules
| Situation | Action |
|---|---|
| Unknown cloud provider or hosting | ASK user |
| Container registry not specified | ASK user |
| CI/CD platform preference unclear | ASK user — default to GitHub Actions |
| Secret manager not chosen | ASK user |
| Deployment pattern trade-offs | ASK user with recommendation |
| Missing architecture.md | STOP — run /plan first |
| Remote target machine details unknown | ASK user for SSH access, OS, and specs |
Common Mistakes
- Implementing during planning: Steps 1–6 produce documents, not code (Step 7 is the exception — it creates scripts)
- Hardcoding secrets: never include real credentials in deployment documents or scripts
- Ignoring blackbox test containerization: the test environment must be containerized alongside the app
- Skipping BLOCKING gates: never proceed past a BLOCKING marker without user confirmation
- Using
:latesttags: always pin base image versions - Forgetting observability: logging, metrics, and tracing are deployment concerns, not post-deployment additions
- Committing
.env: only.env.examplegoes to version control;.envmust be in.gitignore - Non-portable scripts: deployment scripts must work across environments; avoid hardcoded paths
Methodology Quick Reference
┌────────────────────────────────────────────────────────────────┐
│ Deployment Planning (7-Step Method) │
├────────────────────────────────────────────────────────────────┤
│ PREREQ: architecture.md + component specs exist │
│ │
│ 1. Status & Env → steps/01_status-env.md │
│ → reports/deploy_status_report.md │
│ + .env + .env.example │
│ [BLOCKING: user confirms status & env vars] │
│ 2. Containerization → steps/02_containerization.md │
│ → containerization.md │
│ [BLOCKING: user confirms Docker plan] │
│ 3. CI/CD Pipeline → steps/03_ci-cd-pipeline.md │
│ → ci_cd_pipeline.md │
│ 4. Environment → steps/04_environment-strategy.md │
│ → environment_strategy.md │
│ 5. Observability → steps/05_observability.md │
│ → observability.md │
│ 6. Procedures → steps/06_procedures.md │
│ → deployment_procedures.md │
│ [BLOCKING: user confirms deployment plan] │
│ 7. Scripts → steps/07_scripts.md │
│ → deploy_scripts.md + scripts/ │
├────────────────────────────────────────────────────────────────┤
│ Principles: Docker-first · IaC · Observability built-in │
│ Environment parity · Save immediately │
└────────────────────────────────────────────────────────────────┘