设计与多媒体

DevOps

围绕服务交付体系做设计 —— 流水线、发布策略、环境、可靠性、On-call —— 并把决策沉淀为本地笔记。

它能做什么

一份面向"软件交付侧"的本地工作笔记。覆盖 CI/CD 流水线、发布与回滚策略、环境拓扑与漂移、SLO、On-call、事后复盘,以及 DORA 四个指标;每条建议都会点明它推动的是哪一项指标以及代价。会把上线决定、已发布版本、回滚记录、环境真实配置写入本地纯文本文件。它不写 Kubernetes 清单、不打镜像、不改 Terraform HCL、也不写某个 CI 产品的 Workflow YAML —— 那些是其他技能的事。

什么时候用它

  • 修复一条慢、抖、本地绿 CI 红的流水线
  • 选发布策略(滚动 / 蓝绿 / 灰度)、定回滚预案,或是不停机地推 schema 变更、回填、DNS 切换
  • 设定 SLO、错误预算、On-call 轮值,或写事后复盘报告
  • 收紧流水线密钥、OIDC、部署权限,或加固制品溯源与签名验证

技能文档

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/.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

SituationPlayDepth
Pipeline takes too long, or PR feedback is slowOrder 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, orderingpipelines.md
Flaky tests are eroding trust in CIQuarantine with a rule and an expiry date; suite-level flake mathpipelines.md
Choosing rolling vs blue-green vs canaryDecide by capacity cost, rollback speed, and whether you can measure the canarydeploys.md
"How do we roll this back?" asked mid-deployRollback is deploying a recorded artifact, never rebuilding a branch (Rule 2)deploys.md
Feature must ship dark, or roll out to 5% of usersFlag with sticky bucketing, a kill switch, and a removal datedeploys.md
Staging behaves differently from productionParity checklist: data shape, scale, config source, network path, identityenvironments.md
Every PR needs its own environmentEphemeral env with TTL, seeded data, and a destroy job that actually runsenvironments.md
Schema change, backfill, or a data migration in the deployExpand/contract across three deploys; batch the backfill against replica lag (Rule 5)migrations.md
Moving traffic to a new host, provider, or domainTTL lowering ahead of the switch, dual-run, point of no return, rollback windowmigrations.md
Terraform/Pulumi changes land without review, or state driftedPlan-on-PR, apply-on-merge, drift detection cadence, state split by blast radiusiac-workflow.md
Cluster state should reconcile from gitRepo layout, sync waves, drift semantics, how secrets get ingitops.md
Long-lived cloud keys sit in CI, or a secret leakedOIDC 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 deploysupply-chain.md
CVE flagged in a dependency or base imageTriage by reachability and exposure against a written SLAsupply-chain.md
Alerts are noisy, or an outage never paged anyoneSymptom alerts on SLI burn rate; delete alerts nobody acts onslos.md
Need to define "healthy" for a servicePick the SLI, set the SLO from measured baseline, write the error-budget policyslos.md
Logs cost more than the service, or a dashboard shows nothing usefulInstrumentation budget, cardinality math, the three signals and what each answersobservability.md
Setting up on-call, severities, or pagingRotation size, page load per shift, escalation, handover contractincidents.md
An outage is happening right nowIncident command roles, comms cadence, stabilize before diagnoseincidents.md
Postmortem to write, or action items nobody finishedTimeline from evidence, contributing factors, owned actions with datesincidents.md
Launch, traffic spike, or "will this hold?"Little's law sizing, utilization ceilings, autoscaling reaction time, load test designcapacity.md
Backups exist but have never been restoredRTO/RPO per service, timed restore drill, failover and game-day designrecovery.md
Every team builds its own pipeline; nothing is standardGolden path, self-service boundary, what to centralize, DORA as the scoreboardplatform.md
Anything else in deliveryName 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/.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.

StrategyCapacity costRollback speedRequiresUse when
RecreateRedeploy old (full downtime)NothingInternal tools, batch jobs, a maintenance window is acceptable
Rolling~1.1-1.3×Minutes: roll the old version back throughBackward-compatible API and schema during the windowThe default for stateless services
Blue-green2× for the switch windowSeconds: flip traffic backTwo full environments, a shared data layer that both versions can read and writeCutovers that must be instantly reversible
Canary~1.05×Seconds: shift the slice backTraffic splitting plus per-cohort metricsHigh-traffic services where a bad release is expensive
Feature flagInstant: flip the flagFlag infrastructure, sticky bucketing, cleanup disciplineDecoupling 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:

SLOBudget / 30 days1-hour page threshold (14.4× burn)
99%7 h 12 min14.4% of requests failing for an hour
99.9%43.2 min1.44% failing for an hour
99.95%21.6 min0.72% failing for an hour
99.99%4.32 min0.144% failing for an hour — usually beyond what a human page can save
Budget consumedWindowBurn rateAction
2%1 hour14.4×Page
5%6 hoursPage
10%3 daysTicket

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

SignatureMost likely causeFirst move
Deploy reported success, users still get the old versionCDN or proxy cache, a client bundle pinned by an old index, or a rolling deploy that never finishedVerify the running artifact identity on each instance, not the pipeline's exit code
Pipeline green, production brokenThe 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 worseThe 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 loadData volume and cardinality, not code — a query plan flips when the table is 1000× biggerCompare row counts and index usage, not configs (environments.md)
Intermittent CI failures with no code changeTest order dependence, shared fixtures, wall-clock/timezone assumptions, or a port already bound on the runnerRe-run the failing test alone and in reverse order before blaming infrastructure
Alert never fired during a real outageThe alert depends on the failing system (metrics pipeline down), or it evaluates missing data as OKTest alerts by breaking the thing deliberately; set missing-data behavior explicitly
Everything pages at once for one root causeNo dependency-aware inhibition; every downstream service alerts on its upstreamAlert on your own SLI only; inhibit downstream pages while the upstream page is firing
Retry storm turns a blip into an outageRetries without jitter or budget, plus timeouts longer than the caller'sCap retries at ~10% of request volume, exponential backoff with jitter, timeout budget shrinks per hop (capacity.md)
First deploy after a quiet period failsExpired credential, rotated token, drifted infrastructure, or a base image that no longer existsCheck credential expiry and drift before reading application logs (iac-workflow.md)
Restore fails when it is finally neededBackups were verified as existing, never as restorable — missing keys, roles, parameter groupsTimed restore drill into a scratch environment (recovery.md)
Anything elseGet the artifact identity, the config diff, and the timestamp of the last change to eitherThe 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.

MetricHow to measure it without new toolingThe lever that moves it
Deploy frequencyCount rows in releases/.md per weekBatch size (Rule 3), approval gates, pipeline duration
Change lead timeMerge timestamp → deploy timestamp, medianPipeline time (Rule 4), manual gates, environment queueing
Change failure rateReleases with a rollback or a hotfix within 24h ÷ all releasesTest signal quality, canary sizing, migration discipline
Time to restoreIncident start → service restored, from incidents/.mdRollback 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.

VariableTypeDefaultEffect
ci_platformgithub-actions | gitlab-ci | jenkins | buildkite | circleci | azure-devops | nonenoneDialect 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_toolterraform | opentofu | pulumi | cloudformation | cdk | ansible | noneterraformLanguage and workflow of iac-workflow.md, including the drift-check and policy-gate commands
deploy_modelpush | gitopspushWhether deploys are pipeline-driven (deploys.md) or reconciled from a repo (gitops.md)
environment_chainlist[dev, staging, prod]The promotion path in environments.md; each added environment adds a gate, a config set, and a cost line
deploy_strategy_defaultrolling | blue-green | canary | recreaterollingStanding choice in Release Strategies and the shape of every generated deploy plan
version_schemesemver | calver | git-shagit-shaIdentity stamped on artifacts and releases, and what releases/.md records
pipeline_time_budget_minnumber (min, 1-120)10The PR-feedback ceiling Rule 4 enforces and the threshold for calling a pipeline slow
slo_target_pctnumber (90-99.999)99.9Default availability target, its error budget, and every burn-rate threshold in slos.md
secrets_backendvault | aws-secrets-manager | gcp-sm | azure-kv | sops | 1password | ci-nativeci-nativeWhere secrets.md puts secrets, what the pointer scheme looks like, and how rotation is described
observability_stackprometheus-grafana | datadog | cloudwatch | new-relic | elastic | otel-generic | nonenoneQuery dialect and cost model in observability.md and slos.md
oncall_modelnone | business-hours | rotation-24x7 | follow-the-sunbusiness-hoursRotation sizing, escalation, and severity definitions in incidents.md; also whether paging advice applies at all
approval_gatenone | prod-only | allprod-onlyWhere a human approval sits in the promotion path, and what evidence the pipeline must capture for it
compliance_regimenone | soc2 | iso27001 | pci | hipaa | fedrampnoneForces 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

TrapWhy it failsDo instead
Rebuilding the artifact for productionThe tested bytes and the shipped bytes differ; every "only in prod" bug starts herePromote 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 momentKeep the previous artifact deployable and its identity recorded (Rule 2)
Migration and application change in one deployThe rollback path no longer exists the moment the migration runsExpand/contract across three deploys (Rule 5)
Alerting on CPU, memory, or restart countsThey fire when nothing is wrong and stay quiet when everything isSymptom SLI plus burn rate (Rule 7); resources belong on dashboards
Staging with toy dataQuery plans, timeouts, and pagination bugs only appear at production cardinalityMatch shape and order of magnitude, anonymized (environments.md)
Long-lived cloud keys in CI secretsThey outlive the person who created them and grant more than the job needsOIDC federation, scoped per environment (Rule 6)
Canary at 1% for two minutes on a low-traffic serviceThe sample cannot detect the regression it exists to catchSize the canary from the rule of three, or use blue-green
Deploy freeze as risk managementBatches the quarter's changes into one release nobody can bisectSmaller, more frequent releases; freeze only what the calendar genuinely forbids (Rule 3)
Postmortem action items with no owner or dateCompletion rate collapses and the same incident recursOne owner, one date, tracked in ## Due until closed (incidents.md)
Runbook that lives in the system that goes downThe wiki is on the cluster that is on fireRunbook in artifacts/, plus a copy the on-call can open offline
Secret "rotated" by adding a new oneThe old credential stays valid forever; the leak is still liveRotation is issue → cut over → revoke → verify the old one fails (secrets.md)
Retry logic added without a budgetRetries multiply load exactly when the system is weakestCap 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 genuineGate on provenance and a CVE policy; batch and review majors (supply-chain.md)
One giant IaC state or one giant pipelineEvery change waits behind every other change, and one bad apply blocks all of themSplit by blast radius and lifecycle (iac-workflow.md)
Buying an observability platform before defining an SLICost scales with cardinality and the question stays unansweredDefine the SLI, instrument that, then price the storage (observability.md)
Measuring the team by deploy count aloneDeploy frequency without change failure rate rewards shipping breakageRead 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.

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.

常见问题

它到底把什么写到磁盘上?
config.yaml 声明目录下的本地纯文本笔记:config、memory,以及按主题分文件(如 pipelines.md、deploys.md、environments.md 等)。数据不出本机,所有密钥一律不落盘 —— 粘贴进来的敏感值会被替换成 env:DEPLOY_TOKEN、vault:secret/ci/deploy 这类指针。
它跑流水线还是只给建议?
只给建议。它负责设计流水线、选发布策略、定回滚规则,并把需要长期留存的产物(决策、制品 ID、复盘、Runbook)写下来;真正执行的是用户的 CI 与其他技能。
它明确不做什么?
不写 Kubernetes 清单、不做集群调试;不写 Dockerfile;不处理 Terraform HCL 语法;不写某个 CI 产品的 Workflow YAML;也不充当单个应用的"上线 Checklist"。它管的是这些工具背后的流程 —— 策略、晋升、可靠性目标、On-call、四个指标 —— 而不是工具本身。

相关技能

在已有代码库里接手需求、修复缺陷、安全上线并持续运维。

179 次安装11 星标

为 Google Cloud 架构选型、部署调试、安全加固与成本优化,每次建议都附带每月美元估算。

120 次安装4 星标

在 EC2、Lambda、RDS、VPC、IAM 等核心服务上做架构、排查、加固与成本优化,每次建议都给出月度开销与故障域。

作者 Iván138 次安装2 星标

根据风险信号决定先规划还是直接执行,并按风险等级匹配规划深度,包含步骤、估算与回滚。

96 次安装2 星标

以 kubectl 为先的分诊流程诊断 Kubernetes 工作负载故障并审查清单,判断全部落在本地笔记上。

作者 Iván133 次安装4 星标

解决 Terraform 卡点:调试 plan/apply 失败、安全重构线上资源、精确钉住 provider 与模块版本。

121 次安装3 星标