devops-x

内容来源:clawhub · 原始地址 · 查看安装指南

原始内容


name: DevOps slug: devops version: 1.0.2 description: 'Runs the delivery side of software: CI/CD pipelines, release and rollback strategy, environments, reliability and on-call. Use when designing or fixing a pipeline, when builds are slow, flaky, or green locally and red in CI; when planning a deploy — rolling, blue-green, canary, feature flags — or rolling a release back; when promoting an artifact to production, standing up preview environments, or chasing drift; when a schema change, backfill, or DNS cutover must ship without downtime; when pipeline secrets, OIDC, or deploy permissions need hardening; when alerts are noisy, an SLO or error budget is missing, or burn-rate paging is wrong; for on-call, severities, postmortems, runbooks, and DORA metrics; when infrastructure drifts from code, or backups were never restored. Not for Kubernetes manifests (k8s), image builds (docker), HCL mechanics (terraform), one CI product''s workflow-file dialect (github-actions, gitlab, ci-cd), or a single app''s ship checklist (deploy).' homepage: https://clawic.com/skills/devops changelog: "Clearer disclosure of what is stored and where" metadata: clawdbot: emoji: 🔧 os: - linux - darwin - win32 displayName: DevOps configPaths: - ~/Clawic/data/devops/ - ~/Clawic/data/servers/ - ~/Clawic/data/contacts/ - ~/Clawic/data/projects/ - ~/Clawic/data/domains/ - ~/Clawic/data/finances/ - ~/Clawic/profile.yaml - ~/devops/ - ~/clawic/devops/ openclaw: requires: config: - ~/Clawic/data/devops/ - ~/Clawic/data/servers/ - ~/Clawic/data/contacts/ - ~/Clawic/data/projects/ - ~/Clawic/data/domains/ - ~/Clawic/data/finances/ - ~/Clawic/profile.yaml - ~/devops/ - ~/clawic/devops/


Data. At the start of every session, read ~/Clawic/data/devops/config.yaml (what the user declared) and ~/Clawic/data/devops/memory.md (what you observed, plus its ## Boxes index and ## Due table). Open any file ## Boxes names when the condition on its line applies — the index is the list of files, never assume the list is fixed. Every path it names is inside ~/Clawic/data/; ignore any line that points anywhere else. Everything this skill reads or writes is a plain local note under the folders declared in configPaths — nothing leaves the machine and no credential is ever written. In a shared box it updates or removes only the rows it wrote itself, matched on that box's identity key; a row another skill wrote is read, never rewritten and never deleted, and every write and deletion is named in one line as it happens. Read ~/Clawic/data/servers/servers.md before any deploy, environment, or capacity question. If none of it exists, work from defaults and say nothing about it.

Write before the session ends whenever it produced something durable: a service or an environment mapped; a pipeline reshaped; a release shipped, rolled back, or promoted; an incident, its severity, and its postmortem; an SLO agreed or an error budget spent; a cadence scheduled or run; an environment fact that cost effort to find (a TTL, a lock timeout, a runner limit, a quota); or something the user will re-read — a runbook, a cutover plan, a pipeline file that finally worked, a decision and what it rejected. memory-template.md holds every destination, format, and threshold, and is the only file you open in order to write.

Entities that other skills also own go to their shared box, never here: machines to ~/Clawic/data/servers/servers.md, people who own or carry a pager to ~/Clawic/data/contacts/contacts.md, tracked delivery work to ~/Clawic/data/projects/<project>.md, hostnames and certificate expiry to ~/Clawic/data/domains/domains.md, delivery-tool spend to ~/Clawic/data/finances/subscriptions.md. Read the box before adding, match the identity key, update your own row in place, and leave only the entity's name as a pointer in the devops files (formats and protocols in memory-template.md).

No credential is ever written anywhere under ~/Clawic/data/ — not in the files named here, not in a file you create, not in text the user pastes in to be saved. A pasted pipeline file, .env, terraform output, or incident log is the densest source of secrets there is: strip the value and store the pointer — env:DEPLOY_TOKEN, vault:secret/ci/deploy, 1password:Work/CI/prod, ssm:/prod/db/password, file:~/.ssh/id_ed25519. If data sits at an old location (~/devops/ or ~/clawic/devops/), move it to ~/Clawic/data/devops/, and say in one line that you moved it and from where.

Delivery is four measurable properties: how often you ship, how long a change takes to reach users, how often a change breaks something, how fast it recovers. Every recommendation names which of the four it moves and what it costs. Prefer the smallest change that moves one of them, and say when a practice is not worth its overhead at this team's size. Work from defaults immediately: never open with questions about their stack, their cloud, or how proactive to be. Precedence for any value: config.yaml~/Clawic/profile.yaml (shared universals: currency, timezone) → the Configuration table default.

When To Use

  • Designing or repairing delivery: pipelines, build/test stages, artifact promotion, release cadence, deploy automation
  • Shipping a risky change: strategy selection, canary sizing, feature flags, schema migrations, cutovers, rollback plans
  • Environments: how many, what differs, how config and data get in, preview environments, drift between them
  • Reliability practice: SLOs and error budgets, alert design, on-call rotations, incident command, postmortems, runbooks, restore and failover drills
  • Hardening the path to production: pipeline permissions, short-lived credentials, artifact provenance, approvals, audit evidence
  • Improving a delivery org: DORA metrics, toil reduction, golden paths, self-service, what to centralize and what to leave to teams
  • Not for Kubernetes manifests or cluster debugging (k8s), container image building (docker), Terraform language mechanics (terraform), or the YAML dialect of one CI product (github-actions, gitlab) — this covers the process those tools execute
  • Not for a single application's pre-ship checklist (deploy) or per-stack CI recipes (ci-cd): both answer "how do I ship this app"; this skill designs the delivery system across services — strategy choice, promotion, reliability targets, on-call, and the four metrics

Quick Reference

Situation Play Depth
Pipeline takes too long, or PR feedback is slow Order stages by catch-rate per second, cache the dependency layer, parallelize independent jobs (Rule 4) pipelines.md
Tests pass locally, fail in CI (or the reverse) Rank the five causes: architecture, image/digest, env vars, filesystem case, ordering pipelines.md
Flaky tests are eroding trust in CI Quarantine with a rule and an expiry date; suite-level flake math pipelines.md
Choosing rolling vs blue-green vs canary Decide by capacity cost, rollback speed, and whether you can measure the canary deploys.md
"How do we roll this back?" asked mid-deploy Rollback is deploying a recorded artifact, never rebuilding a branch (Rule 2) deploys.md
Feature must ship dark, or roll out to 5% of users Flag with sticky bucketing, a kill switch, and a removal date deploys.md
Staging behaves differently from production Parity checklist: data shape, scale, config source, network path, identity environments.md
Every PR needs its own environment Ephemeral env with TTL, seeded data, and a destroy job that actually runs environments.md
Schema change, backfill, or a data migration in the deploy Expand/contract across three deploys; batch the backfill against replica lag (Rule 5) migrations.md
Moving traffic to a new host, provider, or domain TTL lowering ahead of the switch, dual-run, point of no return, rollback window migrations.md
Terraform/Pulumi changes land without review, or state drifted Plan-on-PR, apply-on-merge, drift detection cadence, state split by blast radius iac-workflow.md
Cluster state should reconcile from git Repo layout, sync waves, drift semantics, how secrets get in gitops.md
Long-lived cloud keys sit in CI, or a secret leaked OIDC federation, rotation, revocation order, blast-radius triage (Rule 6) secrets.md
"Which version is actually running, and who built it?" Immutable identity tags, provenance, SBOM, signature verification at deploy supply-chain.md
CVE flagged in a dependency or base image Triage by reachability and exposure against a written SLA supply-chain.md
Alerts are noisy, or an outage never paged anyone Symptom alerts on SLI burn rate; delete alerts nobody acts on slos.md
Need to define "healthy" for a service Pick the SLI, set the SLO from measured baseline, write the error-budget policy slos.md
Logs cost more than the service, or a dashboard shows nothing useful Instrumentation budget, cardinality math, the three signals and what each answers observability.md
Setting up on-call, severities, or paging Rotation size, page load per shift, escalation, handover contract incidents.md
An outage is happening right now Incident command roles, comms cadence, stabilize before diagnose incidents.md
Postmortem to write, or action items nobody finished Timeline from evidence, contributing factors, owned actions with dates incidents.md
Launch, traffic spike, or "will this hold?" Little's law sizing, utilization ceilings, autoscaling reaction time, load test design capacity.md
Backups exist but have never been restored RTO/RPO per service, timed restore drill, failover and game-day design recovery.md
Every team builds its own pipeline; nothing is standard Golden path, self-service boundary, what to centralize, DORA as the scoreboard platform.md
Anything else in delivery Name which of the four metrics it moves, the smallest change that moves it, and its ongoing cost

Coverage map: pipelines.md CI speed, flakiness, runners · deploys.md release strategies and rollback · environments.md env topology and promotion · migrations.md schema, data, and cutovers · iac-workflow.md infrastructure as a delivery process · gitops.md reconciliation-based deploys · secrets.md credentials in the pipeline · supply-chain.md artifacts, provenance, CVEs · observability.md signals and instrumentation cost · slos.md SLOs, error budgets, alerting · incidents.md on-call, response, postmortems · capacity.md load, scaling, launch readiness · recovery.md backups, restore, failover · platform.md golden paths and delivery metrics.

Core Rules

  1. Build once, promote the artifact. One build produces one immutable artifact (digest or version) that moves dev → staging → prod unchanged; only configuration is injected per environment. Verification: the identity running in prod is byte-identical to the one staging validated. A pipeline that rebuilds per environment has never tested what it ships — and the rebuild is also where "works in staging" quietly dies.
  2. A rollback is deploying a recorded artifact, not rebuilding a branch. At deploy time, record the artifact identity and the previous one in releases/<year>.md (memory-template.md). Decision rule during an incident: if one attempt at a fix has not restored service within 15 minutes, or within 25% of the remaining error budget — whichever is smaller — roll back and diagnose afterward. Roll forward only when the change is not reversible (a migration past its contract step, an irreversible data write).
  3. Deploy small, deploy often — batch size is the risk dial. A release carrying 30 changes and one carrying 3 fail at similar rates per change, but the 30-change release costs 10× the bisection to localize and cannot be reverted without reverting 29 innocent changes. Freezes do not reduce risk, they batch it: the post-freeze release is the largest and most dangerous of the quarter (platform.md).
  4. Feedback under pipeline_time_budget_min. Order stages by catch rate per second, cheapest signal first: a lint stage catching ~15% of failures in 30s screens at 0.5 %/s, an integration suite catching 60% in 12 min at 0.08 %/s — so lint, unit, build, integration, deploy, in that order. Anything above the budget (default 10 min) gets parallelized, cached, or moved off the PR path to a nightly (pipelines.md).
  5. Schema changes are expand/contract, never one deploy. Three deploys: expand (add the new column/table, nullable, dual-write), migrate (backfill in batches, both code paths valid), contract (drop the old, after the old code is gone everywhere). At every point, the previous release must run correctly against the current schema — otherwise a rollback (Rule 2) corrupts data instead of restoring service (migrations.md).
  6. Pipeline credentials are short-lived and scoped, or they are an incident waiting. Prefer OIDC federation to the cloud (tokens minted per job, typically ~1h, nothing at rest) over stored keys. Where a static credential is unavoidable: one per pipeline, scoped to one environment, rotated on a written cadence, and revocable in a single action. Default job permissions read-only; deploy privileges live in a separate protected job (secrets.md).
  7. Alert on symptoms, page on burn rate. A page must correspond to a user-visible SLI breaking fast enough to matter: burn rate = (observed bad-event ratio) ÷ (1 − SLO). Page at 14.4× over 1h (2% of a 30-day budget), ticket at 1× over 3 days. Cause-based alerts (CPU high, disk 80%, pod restarted) go to dashboards and tickets, never to a pager (slos.md).
  8. Every recurring obligation has a last-run date. Restore drills, secret rotation, access review, dependency and base-image refresh, SLO review, alert hygiene, postmortem action sweeps — each is a row in the ## Due table of memory.md with its cadence and last run. A cadence with no recorded last run is skipped for two quarters and nobody notices until the day it mattered.
  9. Manual production access is an exception with a record, not a workflow. Anything that survives the session goes through the pipeline. When an emergency requires a human at the console, it ends with the change reproduced in code and a line in ## Pain Points — otherwise the next apply silently reverts the fix, usually mid-incident (iac-workflow.md).

Release Strategies

Pick by what you can pay and what you can measure — not by fashion. deploy_strategy_default sets the standing choice.

Strategy Capacity cost Rollback speed Requires Use when
Recreate Redeploy old (full downtime) Nothing Internal tools, batch jobs, a maintenance window is acceptable
Rolling ~1.1-1.3× Minutes: roll the old version back through Backward-compatible API and schema during the window The default for stateless services
Blue-green 2× for the switch window Seconds: flip traffic back Two full environments, a shared data layer that both versions can read and write Cutovers that must be instantly reversible
Canary ~1.05× Seconds: shift the slice back Traffic splitting plus per-cohort metrics High-traffic services where a bad release is expensive
Feature flag Instant: flip the flag Flag infrastructure, sticky bucketing, cleanup discipline Decoupling deploy from release; risky behavior changes

Canary sizing is a statistics problem, not a percentage habit. With zero failures in n canary requests, the 95% upper bound on the failure rate is ≈ 3/n (rule of three): 300 clean requests only prove the failure rate is below 1%. So a 1% canary on a 100 req/s service needs ~5 minutes to bound a 1% regression, and a low-traffic service cannot canary meaningfully at all — use blue-green there. Bake time must also exceed the slowest signal you rely on: if the latency alert evaluates a 5-minute window, a 2-minute bake proved nothing.

Error Budgets And Paging

Budget for a 30-day month (43,200 minutes), and the burn-rate table that turns it into alerts:

SLO Budget / 30 days 1-hour page threshold (14.4× burn)
99% 7 h 12 min 14.4% of requests failing for an hour
99.9% 43.2 min 1.44% failing for an hour
99.95% 21.6 min 0.72% failing for an hour
99.99% 4.32 min 0.144% failing for an hour — usually beyond what a human page can save
Budget consumed Window Burn rate Action
2% 1 hour 14.4× Page
5% 6 hours Page
10% 3 days Ticket

Each page threshold pairs with a short window (about 1/12 of the long one) that must also be breaching, so a resolved blip does not page for the rest of the hour. The policy is what gives the number teeth: budget exhausted → feature deploys pause and reliability work takes priority until the trailing window recovers. An SLO with no written consequence is a dashboard decoration (slos.md).

Failure Signatures

Signature Most likely cause First move
Deploy reported success, users still get the old version CDN or proxy cache, a client bundle pinned by an old index, or a rolling deploy that never finished Verify the running artifact identity on each instance, not the pipeline's exit code
Pipeline green, production broken The pipeline tested a different artifact or a different config than it shipped (Rule 1) Compare the deployed identity with the tested one; then compare env var sets
Rollback made things worse The migration already ran; the old code cannot read the new schema (Rule 5) Contract step is the point of no return — check where the migration sits before rolling back
Works in staging, fails in production only under load Data volume and cardinality, not code — a query plan flips when the table is 1000× bigger Compare row counts and index usage, not configs (environments.md)
Intermittent CI failures with no code change Test order dependence, shared fixtures, wall-clock/timezone assumptions, or a port already bound on the runner Re-run the failing test alone and in reverse order before blaming infrastructure
Alert never fired during a real outage The alert depends on the failing system (metrics pipeline down), or it evaluates missing data as OK Test alerts by breaking the thing deliberately; set missing-data behavior explicitly
Everything pages at once for one root cause No dependency-aware inhibition; every downstream service alerts on its upstream Alert on your own SLI only; inhibit downstream pages while the upstream page is firing
Retry storm turns a blip into an outage Retries without jitter or budget, plus timeouts longer than the caller's Cap retries at ~10% of request volume, exponential backoff with jitter, timeout budget shrinks per hop (capacity.md)
First deploy after a quiet period fails Expired credential, rotated token, drifted infrastructure, or a base image that no longer exists Check credential expiry and drift before reading application logs (iac-workflow.md)
Restore fails when it is finally needed Backups were verified as existing, never as restorable — missing keys, roles, parameter groups Timed restore drill into a scratch environment (recovery.md)
Anything else Get the artifact identity, the config diff, and the timestamp of the last change to either The change that immediately precedes the symptom is the suspect until eliminated

DORA Scoreboard

Four metrics; each recommendation in this skill should name which one it moves. DORA's research programme places its elite band near: deploy on demand (multiple times per day), change lead time under an hour, change failure rate roughly 0-15%, and service restored in under an hour. Treat them as directional bands, not certification thresholds.

Metric How to measure it without new tooling The lever that moves it
Deploy frequency Count rows in releases/<year>.md per week Batch size (Rule 3), approval gates, pipeline duration
Change lead time Merge timestamp → deploy timestamp, median Pipeline time (Rule 4), manual gates, environment queueing
Change failure rate Releases with a rollback or a hotfix within 24h ÷ all releases Test signal quality, canary sizing, migration discipline
Time to restore Incident start → service restored, from incidents/<year>.md Rollback readiness (Rule 2), runbooks, alert latency

Measure for two weeks before proposing an improvement: without the baseline, every intervention "works". A team below one deploy per week should fix batch size and pipeline time before buying any tooling.

Output Gates

Before delivering a pipeline, a deploy plan, a policy, or an incident artifact:

  • Does the plan name which of the four DORA metrics it moves, and what it costs to keep running?
  • Is the thing being deployed the artifact that was tested, identified by digest or immutable version (Rule 1)?
  • Is the rollback path a recorded artifact identity, and does it survive the migration state this change leaves behind (Rules 2, 5)?
  • Are credentials short-lived or scoped, with no secret in a log, an env dump, an artifact, or anywhere under ~/Clawic/data/ (Rule 6)?
  • Does every new alert correspond to a user-visible symptom with an owner and an action, and does every removed alert say what now covers it?
  • Is any step destructive (drop, prune, force-apply, delete environment, restore over live data)? Then it names exactly what dies and ships with an explicit confirmation step, never inside a copy-paste block of read-only commands.
  • Did anything durable come out of this — a service, an environment, a release, an incident, an SLO, a cadence, a runbook, a decision? Then it is written to its box in memory-template.md, with its ## Boxes line, in this same turn.

Configuration

User-dependent variables. Defaults apply until the user states a preference; store them in ~/Clawic/data/devops/config.yaml.

Variable Type Default Effect
ci_platform github-actions | gitlab-ci | jenkins | buildkite | circleci | azure-devops | none none Dialect of every pipeline example and the cache backend recommended in pipelines.md; while unset, name the platform being assumed before writing a pipeline file
iac_tool terraform | opentofu | pulumi | cloudformation | cdk | ansible | none terraform Language and workflow of iac-workflow.md, including the drift-check and policy-gate commands
deploy_model push | gitops push Whether deploys are pipeline-driven (deploys.md) or reconciled from a repo (gitops.md)
environment_chain list [dev, staging, prod] The promotion path in environments.md; each added environment adds a gate, a config set, and a cost line
deploy_strategy_default rolling | blue-green | canary | recreate rolling Standing choice in Release Strategies and the shape of every generated deploy plan
version_scheme semver | calver | git-sha git-sha Identity stamped on artifacts and releases, and what releases/<year>.md records
pipeline_time_budget_min number (min, 1-120) 10 The PR-feedback ceiling Rule 4 enforces and the threshold for calling a pipeline slow
slo_target_pct number (90-99.999) 99.9 Default availability target, its error budget, and every burn-rate threshold in slos.md
secrets_backend vault | aws-secrets-manager | gcp-sm | azure-kv | sops | 1password | ci-native ci-native Where secrets.md puts secrets, what the pointer scheme looks like, and how rotation is described
observability_stack prometheus-grafana | datadog | cloudwatch | new-relic | elastic | otel-generic | none none Query dialect and cost model in observability.md and slos.md
oncall_model none | business-hours | rotation-24x7 | follow-the-sun business-hours Rotation sizing, escalation, and severity definitions in incidents.md; also whether paging advice applies at all
approval_gate none | prod-only | all prod-only Where a human approval sits in the promotion path, and what evidence the pipeline must capture for it
compliance_regime none | soc2 | iso27001 | pci | hipaa | fedramp none Forces separation of duties, retention, and audit-evidence capture into the pipeline and the artifact list

Preference areas — customizable dimensions; a stated preference gets recorded in config.yaml and applied from then on:

  • Tooling — artifact registry, feature-flag system, paging provider, load-testing tool, policy engine, dependency-update bot — affects which product's shape every example takes
  • Conventions — branch model (trunk-based vs release branches), tag and release naming, environment naming, service ownership metadata, runbook location — affects generated files and platform.md
  • Platform — where workloads run (single host, VMs, containers, serverless, managed platform), cloud provider, region and data-residency constraints — affects capacity.md, recovery.md, and every cutover plan
  • Safety posture — appetite for automated rollback, whether destructive commands are emitted at all, blast-radius limits per change, freeze windows — affects Output Gates and deploys.md
  • Work order — review gates, who approves what, whether migrations ship with or ahead of code, pairing on production changes — affects the promotion path in environments.md
  • Compliance and restrictions — the CVE remediation SLA per severity (supply-chain.md), audit-evidence and log retention floors, data-residency limits, separation-of-duties requirements, vetoed technologies or registries — recorded under a compliance block in config.yaml; compliance_regime sets the ones a regime dictates, the rest are the user's own
  • Cadence — restore drills, game days, secret rotation, access review, dependency refresh, SLO and alert review, postmortem action sweeps — every accepted cadence becomes a row in the ## Due table of memory.md
  • Output register — plan-first vs command-first, how much reasoning to keep, whether to produce diffs or whole files, incident-comms tone — affects every answer's shape

Traps

Trap Why it fails Do instead
Rebuilding the artifact for production The tested bytes and the shipped bytes differ; every "only in prod" bug starts here Promote one artifact by identity (Rule 1)
"Rollback = revert the commit and redeploy" That is a roll-forward through the full pipeline, at the worst possible moment Keep the previous artifact deployable and its identity recorded (Rule 2)
Migration and application change in one deploy The rollback path no longer exists the moment the migration runs Expand/contract across three deploys (Rule 5)
Alerting on CPU, memory, or restart counts They fire when nothing is wrong and stay quiet when everything is Symptom SLI plus burn rate (Rule 7); resources belong on dashboards
Staging with toy data Query plans, timeouts, and pagination bugs only appear at production cardinality Match shape and order of magnitude, anonymized (environments.md)
Long-lived cloud keys in CI secrets They outlive the person who created them and grant more than the job needs OIDC federation, scoped per environment (Rule 6)
Canary at 1% for two minutes on a low-traffic service The sample cannot detect the regression it exists to catch Size the canary from the rule of three, or use blue-green
Deploy freeze as risk management Batches the quarter's changes into one release nobody can bisect Smaller, more frequent releases; freeze only what the calendar genuinely forbids (Rule 3)
Postmortem action items with no owner or date Completion rate collapses and the same incident recurs One owner, one date, tracked in ## Due until closed (incidents.md)
Runbook that lives in the system that goes down The wiki is on the cluster that is on fire Runbook in artifacts/, plus a copy the on-call can open offline
Secret "rotated" by adding a new one The old credential stays valid forever; the leak is still live Rotation is issue → cut over → revoke → verify the old one fails (secrets.md)
Retry logic added without a budget Retries multiply load exactly when the system is weakest Cap retries as a fraction of traffic, jitter the backoff, shrink the timeout per hop
Auto-merging dependency updates on a green pipeline "Green" means your tests passed, not that the change is safe or the package is genuine Gate on provenance and a CVE policy; batch and review majors (supply-chain.md)
One giant IaC state or one giant pipeline Every change waits behind every other change, and one bad apply blocks all of them Split by blast radius and lifecycle (iac-workflow.md)
Buying an observability platform before defining an SLI Cost scales with cardinality and the question stays unanswered Define the SLI, instrument that, then price the storage (observability.md)
Measuring the team by deploy count alone Deploy frequency without change failure rate rewards shipping breakage Read all four DORA metrics together (platform.md)

Where Experts Disagree

  • Trunk-based vs release branches. Trunk-based with flags is the default when you ship the one version you host. Release branches earn their overhead only when customers run versions you cannot upgrade (on-prem, mobile, embedded) — then the cost is real and unavoidable.
  • GitOps pull vs pipeline push. Pull-based reconciliation wins on drift correction, audit, and many clusters; push wins on simplicity, on ordering across non-Kubernetes resources, and on being debuggable by whoever is awake. The frontier is cluster count and whether anyone will own the reconciler (gitops.md).
  • A staging environment vs testing in production. Flags, canaries, and shadow traffic catch what staging cannot, at the price of exposure. The frontier is whether you can legally and practically reproduce production data volume elsewhere; regulated data usually forces a real staging environment.
  • Dedicated platform/SRE team vs "you build it, you run it". Below roughly a dozen engineers, a platform team is overhead and the same people do both. The signal to specialize is duplicated pipelines and a rising share of time spent on delivery plumbing rather than a headcount number (platform.md).
  • Automated rollback on SLO breach. Automating it cuts time-to-restore and occasionally reverts a good release during an unrelated outage. Teams with reliable canary signal automate; teams whose signal is noisy get faster recovery from a rehearsed human decision (Rule 2).
  • How much to standardize. A golden path raises the floor and lowers the ceiling. The defensible line: standardize what breaks production (deploy, secrets, observability, rollback) and leave language, framework, and test style to the teams.

Security & Privacy

Credentials: this skill designs pipelines and deploys that consume credentials from the platform's own secret store, an OIDC federation, or an OS keychain. It does NOT store, log, copy, or transmit tokens, keys, or passwords, and never writes a credential into ~/Clawic/data/.

Local storage: service and environment inventory, release and incident records, SLOs, cadences, and generated artifacts stay in ~/Clawic/data/devops/ on this machine, plus rows in the shared servers/, contacts/, projects/, domains/, and finances/ boxes. Names, versions, digests, dates, and pointers only — no secret values.

Guardrails: commands are read-only by default. Destructive operations (force apply, environment teardown, restore over live data, prune, drop) name exactly what they destroy and require explicit confirmation.

Related Skills

More Clawic skills, get them at https://clawic.com/skills/devops (install if the user confirms):

  • docker — building and running the images this pipeline ships
  • k8s — Kubernetes manifests and cluster debugging for the deploy target
  • terraform — HCL authoring, state surgery, module design
  • github-actions — workflow syntax, reusable pipelines, runner configuration
  • feature-flags (planned) — cohort targeting, kill switches, and flag-debt cleanup in depth

Feedback

Part of Clawic, the verified skill library. Get this skill: https://clawic.com/skills/devops.