/phase-9-deployment
Deploy to production — CI/CD pipelines, environment config, deployment strategies. Triggers: deployment, CI/CD, production, Vercel
Claude Code
$ npx -y skills add ww-w-ai/bkit-claude-code --skill phase-9-deployment --agent claude-code
Codex
$ npx skills add ww-w-ai/bkit-claude-code --skill phase-9-deployment -a codex -y
Cursor
$ npx skills add ww-w-ai/bkit-claude-code --skill phase-9-deployment -a cursor -y
Gemini CLI
$ npx skills add ww-w-ai/bkit-claude-code --skill phase-9-deployment -a gemini-cli -y
GitHub Copilot
$ npx skills add ww-w-ai/bkit-claude-code --skill phase-9-deployment -a github-copilot -y
OpenCode
$ npx skills add ww-w-ai/bkit-claude-code --skill phase-9-deployment -a opencode -y
Windsurf
$ npx skills add ww-w-ai/bkit-claude-code --skill phase-9-deployment -a windsurf -y
SKILL.md
phase-9-deployment.SKILL.mdname: phase-9-deployment
classification: capability
classification-reason: Pattern guidance may overlap with model's built-in knowledge as it improves
deprecation-risk: medium
effort: medium
user-invocable: false
description: |
Deploy to production — CI/CD pipelines, environment config, deployment strategies.
Triggers: deployment, CI/CD, production, Vercel
agent: bkit:infra-architect
allowed-tools:
- Read
- Write
- Edit
- Glob
- Grep
- Bash
user-invocable: false
next-skill: null
pdca-phase: act
task-template: "[Phase-9] {feature}"Phase 9: Deployment
> Production deployment
Purpose
Deliver the completed application to users.
What to Do in This Phase
1. **Prepare Deployment Environment**: Infrastructure setup 2. **Build**: Create production build 3. **Execute Deployment**: Actual deployment 4. **Verification**: Post-deployment operation check
Deliverables
docs/02-design/
└── deployment-spec.md # Deployment specification
docs/04-report/
└── deployment-report.md # Deployment report
(Infrastructure config files)
├── vercel.json # Vercel configuration
├── Dockerfile # Docker configuration
└── k8s/ # Kubernetes configuration
PDCA Application
- **Plan**: Establish deployment plan
- **Design**: Design deployment configuration
- **Do**: Execute deployment
- **Check**: Verify deployment
- **Act**: Problem resolution and completion report
Level-wise Application
| Level | Deployment Method | |-------|-------------------| | Starter | Static hosting (Netlify, GitHub Pages) | | Dynamic | Vercel, Railway, etc. | | Enterprise | Kubernetes, AWS ECS, etc. |
Starter Deployment (Static Hosting)
# GitHub Pages
npm run build
# Deploy dist/ folder to gh-pages branch
# Netlify
# Configure netlify.toml then connect Git
Dynamic Deployment (Vercel)
# Vercel CLI
npm i -g vercel
vercel
# Or auto-deploy via Git connection
Enterprise Deployment (Kubernetes)
# k8s/deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: my-app
spec:
replicas: 3
template:
spec:
containers:
- name: app
image: my-app:latest---
Environment Management
Environment Configuration Overview
┌─────────────────────────────────────────────────────────────┐
│ Environment Variable Flow │
├─────────────────────────────────────────────────────────────┤
│ │
│ Development │
│ └── .env.local → Developer local machine │
│ │
│ Staging │
│ └── CI/CD Secrets → Preview/Staging environment │
│ │
│ Production │
│ └── CI/CD Secrets → Production environment │
│ └── Vault/Secrets Manager (Enterprise) │
│ │
└─────────────────────────────────────────────────────────────┘
Environment Classification
| Environment | Purpose | Data | Variable Source | |-------------|---------|------|-----------------| | **Development** | Local development | Test data | `.env.local` | | **Staging** | Pre-deployment verification | Test data | CI/CD Secrets | | **Production** | Live service | Real data | CI/CD Secrets + Vault |
---
CI/CD Environment Variable Configuration
GitHub Actions
# .github/workflows/deploy.yml
name: Deploy
on:
push:
branches: [main, staging]
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set environment
run: |
if [ "${{ github.ref }}" == "refs/heads/main" ]; then
echo "DEPLOY_ENV=production" >> $GITHUB_ENV
else
echo "DEPLOY_ENV=staging" >> $GITHUB_ENV
fi
- name: Build
env:
# General environment variables (can be exposed)
NEXT_PUBLIC_APP_URL: ${{ vars.APP_URL }}
NEXT_PUBLIC_API_URL: ${{ vars.API_URL }}
# Secrets (sensitive info)
DATABASE_URL: ${{ secrets.DATABASE_URL }}
AUTH_SECRET: ${{ secrets.AUTH_SECRET }}
API_STRIPE_SECRET: ${{ secrets.API_STRIPE_SECRET }}
run: npm run build
- name: Deploy to Vercel
env:
VERCEL_TOKEN: ${{ secrets.VERCEL_TOKEN }}
run: |
npx vercel --prod --token=$VERCEL_TOKENGitHub Secrets Configuration Guide
Repository Settings → Secrets and variables → Actions
1. Repository secrets (sensitive info)
├── DATABASE_URL
├── AUTH_SECRET
├── API_STRIPE_SECRET
└── VERCEL_TOKEN
2. Repository variables (general settings)
├── APP_URL
├── API_URL
└── NODE_ENV
3. Environment-specific secrets
├── production/
│ ├── DATABASE_URL (production DB)
│ └── API_STRIPE_SECRET (live key)
└── staging/
├── DATABASE_URL (staging DB)
└── API_STRIPE_SECRET (test key)Vercel Environment Variable Configuration
Project Settings → Environment Variables
┌─────────────────┬─────────────┬─────────────┬─────────────┐
│ Variable Name │ Development │ Preview │ Production │
├─────────────────┼─────────────┼─────────────┼─────────────┤
│ DATABASE_URL │ dev-db │ staging-db │ prod-db │
│ AUTH_SECRET │ dev-secret │ stg-secret │ prod-secret │
│ API_STRIPE_* │ test key │ test key │ live key │
└─────────────────┴─────────────┴─────────────┴─────────────┘
Configuration steps:
1. Project Settings → Environment Variables
2. Add New Variable
3. Select environment (Development / Preview / Production)
4. Check Sensitive (if sensitive info)
---
Secrets
Read more
name: phase-9-deployment
classification: capability
classification-reason: Pattern guidance may overlap with model's built-in knowledge as it improves
deprecation-risk: medium
effort: medium
user-invocable: false
description: |
Deploy to production — CI/CD pipelines, environment config, deployment strategies.
Triggers: deployment, CI/CD, production, Vercel
agent: bkit:infra-architect
allowed-tools:
- Read
- Write
- Edit
- Glob
- Grep
- Bash
user-invocable: false
next-skill: null
pdca-phase: act
task-template: "[Phase-9] {feature}"Phase 9: Deployment
> Production deployment
Purpose
Deliver the completed application to users.
What to Do in This Phase
1. **Prepare Deployment Environment**: Infrastructure setup 2. **Build**: Create production build 3. **Execute Deployment**: Actual deployment 4. **Verification**: Post-deployment operation check
Deliverables
docs/02-design/ └── deployment-spec.md # Deployment specification docs/04-report/ └── deployment-report.md # Deployment report (Infrastructure config files) ├── vercel.json # Vercel configuration ├── Dockerfile # Docker configuration └── k8s/ # Kubernetes configuration
PDCA Application
- **Plan**: Establish deployment plan
- **Design**: Design deployment configuration
- **Do**: Execute deployment
- **Check**: Verify deployment
- **Act**: Problem resolution and completion report
Level-wise Application
| Level | Deployment Method | |-------|-------------------| | Starter | Static hosting (Netlify, GitHub Pages) | | Dynamic | Vercel, Railway, etc. | | Enterprise | Kubernetes, AWS ECS, etc. |
Starter Deployment (Static Hosting)
# GitHub Pages npm run build # Deploy dist/ folder to gh-pages branch # Netlify # Configure netlify.toml then connect Git
Dynamic Deployment (Vercel)
# Vercel CLI npm i -g vercel vercel # Or auto-deploy via Git connection
Enterprise Deployment (Kubernetes)
# k8s/deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: my-app
spec:
replicas: 3
template:
spec:
containers:
- name: app
image: my-app:latest---
Environment Management
Environment Configuration Overview
┌─────────────────────────────────────────────────────────────┐ │ Environment Variable Flow │ ├─────────────────────────────────────────────────────────────┤ │ │ │ Development │ │ └── .env.local → Developer local machine │ │ │ │ Staging │ │ └── CI/CD Secrets → Preview/Staging environment │ │ │ │ Production │ │ └── CI/CD Secrets → Production environment │ │ └── Vault/Secrets Manager (Enterprise) │ │ │ └─────────────────────────────────────────────────────────────┘
Environment Classification
| Environment | Purpose | Data | Variable Source | |-------------|---------|------|-----------------| | **Development** | Local development | Test data | `.env.local` | | **Staging** | Pre-deployment verification | Test data | CI/CD Secrets | | **Production** | Live service | Real data | CI/CD Secrets + Vault |
---
CI/CD Environment Variable Configuration
GitHub Actions
# .github/workflows/deploy.yml
name: Deploy
on:
push:
branches: [main, staging]
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set environment
run: |
if [ "${{ github.ref }}" == "refs/heads/main" ]; then
echo "DEPLOY_ENV=production" >> $GITHUB_ENV
else
echo "DEPLOY_ENV=staging" >> $GITHUB_ENV
fi
- name: Build
env:
# General environment variables (can be exposed)
NEXT_PUBLIC_APP_URL: ${{ vars.APP_URL }}
NEXT_PUBLIC_API_URL: ${{ vars.API_URL }}
# Secrets (sensitive info)
DATABASE_URL: ${{ secrets.DATABASE_URL }}
AUTH_SECRET: ${{ secrets.AUTH_SECRET }}
API_STRIPE_SECRET: ${{ secrets.API_STRIPE_SECRET }}
run: npm run build
- name: Deploy to Vercel
env:
VERCEL_TOKEN: ${{ secrets.VERCEL_TOKEN }}
run: |
npx vercel --prod --token=$VERCEL_TOKENGitHub Secrets Configuration Guide
Repository Settings → Secrets and variables → Actions
1. Repository secrets (sensitive info)
├── DATABASE_URL
├── AUTH_SECRET
├── API_STRIPE_SECRET
└── VERCEL_TOKEN
2. Repository variables (general settings)
├── APP_URL
├── API_URL
└── NODE_ENV
3. Environment-specific secrets
├── production/
│ ├── DATABASE_URL (production DB)
│ └── API_STRIPE_SECRET (live key)
└── staging/
├── DATABASE_URL (staging DB)
└── API_STRIPE_SECRET (test key)Vercel Environment Variable Configuration
Project Settings → Environment Variables ┌─────────────────┬─────────────┬─────────────┬─────────────┐ │ Variable Name │ Development │ Preview │ Production │ ├─────────────────┼─────────────┼─────────────┼─────────────┤ │ DATABASE_URL │ dev-db │ staging-db │ prod-db │ │ AUTH_SECRET │ dev-secret │ stg-secret │ prod-secret │ │ API_STRIPE_* │ test key │ test key │ live key │ └─────────────────┴─────────────┴─────────────┴─────────────┘ Configuration steps: 1. Project Settings → Environment Variables 2. Add New Variable 3. Select environment (Development / Preview / Production) 4. Check Sensitive (if sensitive info)
---
Secrets
A Claude Code plugin that verifies AI-generated code against its own design specs. Three commands. Anyone — even someone vibe-coding for the first time — can ship robust, production-quality software.
Other skills on bkit.
More skills from other plugins.
agentmail
Use your assigned AgentMail inbox to read email tasks, explicitly send or reply, and check delivery. Provided automatically by…
adr-create
Create a new Architecture Decision Record with sequential numbering and AgentDB registration
Questions about phase-9-deployment.
- Which coding agents can use phase-9-deployment?
- phase-9-deployment installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.

