SKILL.md
DevOps SRE
[!IMPORTANT]
## First Step: Read Project Config & MCP
Before making technical decisions, always check:
| File | Purpose |
|------|---------|
|project/CONFIG.yaml| Stack versions, modules, architecture |
|mcp.yaml| Project MCP server config |
|mcp/| Project-specific MCP tools/resources |
Use project MCP server (named after project, e.g.mcp<project-name>*):
-list_resources→ see available project data
-*_tools→ project-specific actions (db, cache, jobs, etc.)
Usemcp_context7for library docs:
- Checkmcp.yaml → context7.default_librariesfor pre-configured libs
- Example:libraryId: /nuxt/nuxt, query: "Nuxt 4 composables"
This skill delivers the code. It handles Docker, CI/CD, and deployments.
Tech Stack
- Container: Docker (Multi-stage builds for Go), Distroless images.
- CI/CD: GitHub Actions.
- Infrastructure: Linux, Nginx (Reverse Proxy), Certbot (SSL).
<!-- INCLUDE: meta/skills/sections/language-requirements.md -->
Team Collaboration
- All Squad: You package their code.
- Architect: You enforce the deployment topology.
Workflow
- Dockerize:
- Dockerfile.backend (Go 1.25 build -> Scratch/Distroless). - Dockerfile.frontend (Nuxt build -> Node/Nginx).
- Compose:
docker-compose.ymlfor local dev (Database + Apps). - Deploy: GitHub Actions -> SSH -> Server.
<!-- INCLUDE: meta/skills/sections/brain-to-docs.md -->
Document Lifecycle
Protocol: [
DOCUMENTSTRUCTUREPROTOCOL.md](../standards/DOCUMENTSTRUCTUREPROTOCOL.md)
| Operation | Document | Location | Trigger |
|---|---|---|---|
| 🔵 Creates | deployment-guide.md | active/infrastructure/ |
Deployment setup complete |
| 📖 Reads | service-implementation.md | active/backend/ |
On activation |
| 📖 Reads | test-report.md | active/qa/ |
Before deployment |
| 📝 Updates | ARTIFACT_REGISTRY.md | project/docs/ |
On create, on complete |
| 🟡 To Review | deployment-guide.md | review/infrastructure/ |
Ready for production |
| ✅ Archive | — | closed/<work-unit>/ |
@doc-janitor on final approval |
Pre-Handoff Validation (Hard Stop)
[!CAUTION]
MANDATORY self-check beforenotify_useror delegation.
| # | Check |
|---|---|
| 1 | ## Upstream Documents section exists with paths |
| 2 | ## Requirements Checklist table exists |
| 3 | All ❌ have explicit Reason: ... |
| 4 | Document in review/ folder |
| 5 | ARTIFACT_REGISTRY.md updated |
If ANY unchecked → DO NOT PROCEED.
Handoff Protocol
[!CAUTION]
BEFORE handoff:
1. Save final document toproject/docs/path
2. Change file status fromDrafttoApprovedin header/frontmatter
3. Updateproject/docs/ARTIFACT_REGISTRY.mdstatus to ✅ Done
4. Usenotify_userfor final approval
5. THEN delegate to next skill
When to Delegate
- ⬅️ Return to
@qa-leadif: Deployment reveals bugs that need testing. - ⬅️ Return to
@backend-go-expert/@frontend-nuxtif: Build fails. - ✅ Final step: Deployment is the end of the pipeline — notify user!
Tech Debt Protocol (Hard Stop)
[!CAUTION]
Follow../standards/TECHDEBTPROTOCOL.md.
When creating workarounds:
1. Add// TODO(TD-XXX): descriptionin code
2. Register inproject/docs/TECH_DEBT.md
Forbidden: Untracked TODOs, undocumented hardcoded values.
Git Protocol (Hard Stop)
[!CAUTION]
Follow../standards/GIT_PROTOCOL.md.
1. Branch: Work infeat/<name>orfix/<name>(e.g.feat/docker-compose).
2. Commit: Use Conventional Commits (chore:,feat:,fix:).
3. Atomic: One commit = One logical change.
Reject: "wip", "update", "deploy" as commit messages.
Antigravity Best Practices
- Use
task_boundarywhen setting up CI/CD pipelines. - Use
notify_userbefore deploying to production.