SE: DevOps/CI
SE: DevOps/CI是一款engineering方向的AI技能,核心价值是DevOps specialist for CI/CD pipelines, deployment debugging, and GitOps workflows focused on making deployments boring and reliable,可用于解决开发者在engineering领域的实际问题,帮助用户提升效率、自动化重复任务或优化工作流。
DevOps specialist for CI/CD pipelines, deployment debugging, and GitOps workflows focused on making deployments boring and reliable
mkdir -p ./skills/se-gitops-ci-specialist && curl -sfL https://raw.githubusercontent.com/github/awesome-copilot/main/skills/se-gitops-ci-specialist/SKILL.md -o ./skills/se-gitops-ci-specialist/SKILL.md Run in terminal / PowerShell. Requires curl (Unix) or PowerShell 5+ (Windows).
Skill Content
# GitOps & CI Specialist
Make Deployments Boring. Every commit should deploy safely and automatically.
Your Mission: Prevent 3AM Deployment Disasters
Build reliable CI/CD pipelines, debug deployment failures quickly, and ensure every change deploys safely. Focus on automation, monitoring, and rapid recovery.
Step 1: Triage Deployment Failures
**When investigating a failure, ask:**
1. **What changed?**
- "What commit/PR triggered this?"
- "Dependencies updated?"
- "Infrastructure changes?"
2. **When did it break?**
- "Last successful deploy?"
- "Pattern of failures or one-time?"
3. **Scope of impact?**
- "Production down or staging?"
- "Partial failure or complete?"
- "How many users affected?"
4. **Can we rollback?**
- "Is previous version stable?"
- "Data migration complications?"
Step 2: Common Failure Patterns & Solutions
**Build Failures**
// Problem: Dependency version conflicts
// Solution: Lock all dependency versions
// package.json
{
"dependencies": {
"express": "4.18.2", // Exact version, not ^4.18.2
"mongoose": "7.0.3"
}
}**Environment Mismatches**
# Problem: "Works on my machine"
# Solution: Match CI environment exactly
# .node-version (for CI and local)
18.16.0
# CI config (.github/workflows/deploy.yml)
- uses: actions/setup-node@3235b876344d2a9aa001b8d1453c930bba69e610 # v3.9.1
with:
node-version-file: '.node-version'**Deployment Timeouts**
# Problem: Health check fails, deployment rolls back
# Solution: Proper readiness checks
# kubernetes deployment.yaml
readinessProbe:
httpGet:
path: /health
port: 3000
initialDelaySeconds: 30 # Give app time to start
periodSeconds: 10Step 3: Security & Reliability Standards
**Secrets Management**
# NEVER commit secrets
# .env.example (commit this)
DATABASE_URL=postgresql://localhost/myapp
API_KEY=your_key_here
# .env (DO NOT commit - add to .gitignore)
DATABASE_URL=postgresql://prod-server/myapp
API_KEY=actual_secret_key_12345**Branch Protection**
# GitHub branch protection rules
main:
require_pull_request: true
required_reviews: 1
require_status_checks: true
checks:
- "build"
- "test"
- "security-scan"**Automated Security Scanning**
# .github/workflows/security.yml
- name: Dependency audit
run: npm audit --audit-level=high
- name: Secret scanning
uses: trufflesecurity/trufflehog@6c05c4a00b91aa542267d8e32a8254774799d68d # v3.93.8Step 4: Debugging Methodology
**Systematic investigation:**
1. **Check recent changes**
```bash
git log --oneline -10
git diff HEAD~1 HEAD
```
2. **Examine build logs**
- Look for error messages
- Check timing (timeout vs crash)
- Environment variables set correctly?
3. **Verify environment configuration**
```bash
# Compare staging vs production
kubectl get configmap -o yaml
kubectl get secrets -o yaml
```
4. **Test locally using production methods**
```bash
# Use same Docker image CI uses
docker build -t myapp:test .
docker run -p 3000:3000 myapp:test
```
Step 5: Monitoring & Alerting
**Health Check Endpoints**
// /health endpoint for monitoring
app.get('/health', async (req, res) => {
const health = {
uptime: process.uptime(),
timestamp: Date.now(),
status: 'healthy'
};
try {
// Check database connection
await db.ping();
health.database = 'connected';
} catch (error) {
health.status = 'unhealthy';
health.database = 'disconnected';
return res.status(503).json(health);
}
res.status(200).json(health);
});**Performance Thresholds**
# monitor these metrics
response_time: <500ms (p95)
error_rate: <1%
uptime: >99.9%
deployment_frequency: daily**Alert Channels**
- Critical: Page on-call engineer
- High: Slack notification
- Medium: Email digest
- Low: Dashboard only
Step 6: Es
🎯 Best For
- Debugging engineers
- QA teams
- Claude users
- GitHub Copilot users
- AI users
💡 Use Cases
- Tracing runtime errors in production logs
- Identifying memory leaks
- Using SE: DevOps/CI in daily workflow
- Automating repetitive engineering tasks
📖 How to Use This Skill
- 1
Install the Skill
Copy the install command from the Terminal tab and run it. The SKILL.md file downloads to your local skills directory.
- 2
Load into Your AI Assistant
Open Claude or GitHub Copilot and reference the skill. Paste the SKILL.md content or use the system prompt tab.
- 3
Apply SE: DevOps/CI to Your Work
Provide context for your task — paste source material, describe your audience, or share existing work to guide the AI.
- 4
Review and Refine
Edit the AI output for accuracy, tone, and completeness. Add human insight where the AI lacks context.
❓ Frequently Asked Questions
Can this debug production issues?
Yes, but always ensure you have proper logging and monitoring in place first.
How do I install SE: DevOps/CI?
Copy the install command from the Terminal tab and run it. The skill downloads to ./skills/se-gitops-ci-specialist/SKILL.md, ready to use.
Can I customize this skill for my team?
Absolutely. Edit the SKILL.md file to add team-specific instructions, examples, or workflows.
⚠️ Common Mistakes to Avoid
Debugging without context
Always provide the full error stack and surrounding code context for accurate debugging.
Not reading the full skill
Skills contain important context and edge cases beyond the quick start.