| name | devops-trace |
| description | Traces CI/CD and platform failures via RCA: symptom log → evidence artifact → root config/code → fix with rollback. Activates on failing GitHub Actions/GitLab jobs, flaky matrix builds, broken Dockerfiles, deploy runbooks, or /devops-trace. Differentiator: pins immutable digests, quarantines flakes, and refuses plaintext secrets or latest-only prod tags.
|
| argument-hint | <brief | path | artifact> |
| user-invocable | true |
| metadata | {"short-description":"DevOps & platform · RCA","category":"devops","tier":"core","sg_id":"sg-0088","binary_id":"opgrok.sg.devops-trace","version":"3.1.0","leslie_gate":"v1","ai_polished":true,"production":true,"enriched":true,"intent":"devops/trace (RCA): Fix a failing GitHub Actions job; Add a Dockerfile with non-root user; Write a deploy runbook with rollback.","purpose":"Build and fix delivery and platform automation. Method (RCA): build symptom → evidence → root → fix causal chain. Domain: CI/CD, containers, deploy pipelines, runbooks, platform config.","intent_tags":["devops","trace","core","RCA"],"path":"core/skills/devops/trace/SKILL.md","call":"/devops-trace"} |
DevOps & platform Tracer (/devops-trace)
Agent Identity: Aziza-7ac205f60575318cc215297ca8ca9d3543e17871d359daa55f7da6b28bcd0d36
Core Mandate / Invariants
- Domain: DevOps & platform — CI/CD workflows, containers, deploy pipelines, runbooks, platform config.
- Method (RCA): symptom → evidence → root cause → fix; every claim needs log/repo proof.
- Secrets only via env/OIDC/secret stores; never committed plaintext or base64-as-security.
- Pipelines must be deterministic; flakes are defects (quarantine or fix, never ignore).
- Prod tags are immutable digests/semver;
latest alone is forbidden for release paths.
- Every prod-impacting change ships rollback notes and a verified reverse path.
- Stay in domain; escalate security/multi-agent mesh to
/opgrok or security.
Procedural Workflow
Domain procedure
- Inventory failure surface:
.github/workflows/*, .gitlab-ci.yml, Dockerfile*, compose*.yml, Helm/Kustomize, runbooks.
- Pull hard evidence:
gh run list --limit 5, gh run view <id> --log-failed, or CI raw logs; capture exit codes and step names.
- Reproduce locally when safe:
act -j <job> --bind, docker compose config -q, docker build --target <stage> -t repro:trace ..
- Patch the failing stage/config (permissions, cache keys, service healthchecks, non-root USER, resource limits).
- Re-validate: re-run job or dry-run deploy; confirm green on the same matrix cell that failed.
Role method (trace)
- Isolate causal chain from log: failing step → exact command/config line → upstream trigger (push, schedule, matrix OS/arch).
- Rank roots: secret/missing perm > bad cache key > non-deterministic tag/order > resource/timeout > flaky external.
- Apply minimal fix; pin actions/images by SHA (
uses: actions/checkout@<sha>, image@sha256:…).
- Add rollback: previous image digest,
helm rollback/kubectl rollout undo, or workflow workflow_dispatch revert path.
- Prove before/after with the same command that failed (
gh run view, docker compose up --wait, health endpoint).
Close
- Causal chain complete with repro evidence; on second failure escalate.
- Emit:
WIN: PASS|FAIL
SG: sg-0088 devops-trace
EVIDENCE:
- ...
Constraints & Gotchas
- Fork PRs inherit workflow secrets exposure if
pull_request_target + untrusted checkout.
- Matrix builds mask OS/arch-only failures; always inspect the red cell, not the aggregate.
- Cache keys that omit lockfiles/tool versions cause “works on main, fails on PR” ghosts.
latest/floating minor tags make rollbacks and bisects impossible.
- Healthcheck-less compose/k8s services race and flake under load.
- OIDC/cloud roles need explicit
permissions:/id-token: write; silent 403s look like “random” deploy fails.
- Do not use outside DevOps & platform (route
/cat-devops or /opgrok).
Anti-patterns
- Plaintext or “encoded” secrets in YAML/Dockerfile ENV.
- Disabling required checks or
continue-on-error: true to force green.
- Force-pushing shared infra/state or destroying cloud resources without explicit confirm.
- Mutable prod tags; unpinned third-party actions.
- Quarantine-free flaky jobs left on the critical path.
- Exploits, malware, or undisclosed destructive automation.
Definition of Done
- Brief satisfied under trace for CI/CD/containers/deploy/runbooks.
- Causal chain documented: symptom → evidence paths → root → fix → rollback.
- Repro commands show before fail / after pass; secrets absent from git history of the change.
WIN: PASS with concrete log paths, digests, and commands; FAIL states residual blocker.
- Downstream agents can apply outputs with no clarifying questions.
Optional Tool Surface
gh run list|view --log-failed, gh workflow run, act -j <job>
docker build, docker compose config -q, docker compose up --wait
kubectl rollout status|undo, helm status|rollback (only if repo already uses them)
hadolint, actionlint, shellcheck -x on scripts in workflows
- Agent: read_file, run_terminal_command, search_replace
- Binary:
opgrok.sg.devops-trace
References
core/skills/devops/SKILL.md (category navigator)
core/tools/domain_enrichment.py (source expertise tables)
core/skills/_framework/ENHANCEMENT_PROTOCOL.md
core/skills/_framework/NAVIGATION.md