{
  "markdown": "# claude-ops-skills\n\nEstate-agnostic Claude Code skills for **operating a server**: investigate a\nproblem, dig to the code-level root cause, write it up internally, ship a\nredacted report outside, save resumable session state, and transfer active\nownership through a verifiable two-party handover.\n\nThe seven host-bound skills are generalized copies of skills that run on a\nlive fleet.\nEvery host name, address, product, database and path has been replaced with a\nplaceholder — each host-bound skill opens with a **Host binding** table listing\nwhat to fill in. The two handover skills are generic additions designed around\nthe same evidence-first and explicit-boundary conventions.\n\n## Operating policy\n\n[`policy/`](policy/) holds the estate-agnostic **agent operating policy** these\nskills assume: a platform-neutral [`AGENTS.master.md`](policy/AGENTS.master.md)\nplus overlays for [POSIX-admin](policy/overlays/posix.md) and\n[restricted Windows](policy/overlays/windows-user.md), with symbolic\n[`PLACEHOLDERS.md`](policy/PLACEHOLDERS.md). A deployed agent file is a\nprojection of master + a platform overlay + a private estate overlay (not in\nthis repo). [`policy/projections/`](policy/projections/) holds rendered\nprojections ready to import from `~/.claude/CLAUDE.md` — today\n`linux-posix.md` (host-admin Linux); the private estate overlay binds its\n`$PLACEHOLDERS` and never leaves the host. Production-code invariants (TDD, secrets-in-code) are not\nduplicated here — the master points at\n[coding-rules](https://github.com/vvanagas/coding-rules) as their canonical\nsource.\n\n## The skills\n\n| Skill | Invocation | What it does |\n|---|---|---|\n| [`doc-this`](skills/doc-this/SKILL.md) | user | Runs a structured diagnostic (hypothesis ladder → probes → diagnosis) and writes a deep troubleshooting doc. The only one that *investigates and saves*. |\n| [`dig-this`](skills/dig-this/SKILL.md) | user | Code-level root-cause investigation when the bug points at a source artefact. Read-only; locates the *executing* file, cross-checks live-vs-shipped, counts the class-of-bug, finds a negative control. Investigates only — writes nothing. |\n| [`ctx-bug`](skills/ctx-bug/SKILL.md) | user | Turns an investigation already done this session into a **redacted, externally-shippable** bug report. Carries the deterministic redaction pattern table. Save-only. |\n| [`ctx-internal-bug`](skills/ctx-internal-bug/SKILL.md) | user | The **internal** sibling of `ctx-bug`: writes a comprehensive, full-diagnostic-detail internal bug report (light scrub — access-secrets only; IPs/hostnames/digests/symbols retained) from an investigation already done this session, using two bundled report templates. Save-only. |\n| [`ctx-retro`](skills/ctx-retro/SKILL.md) | user | Post-hoc retrospective for a change or incident already resolved — reconstructs the change-set from the ops git repo. Analyze-and-save. |\n| [`ctx-save`](skills/ctx-save/SKILL.md) | user | Minimum state to resume work later. **Read its redaction stance before adopting** — the artifact is unredacted by design and host-local. |\n| [`ctx-next`](skills/ctx-next/SKILL.md) | user / auto-read | Continuation pointer: one `next_steps.md` at the repo root, absent by default, deleted when empty. Status here; pain in `pending`. |\n| [`python-tools`](skills/python-tools/SKILL.md) | agent | Python toolchain and standing libraries (uv, mypy --strict, ruff, pytest, typer, rich, httpx, pydantic, …). Tools only — not coding rules. |\n| [`ctx-outstanding`](skills/ctx-outstanding/SKILL.md) | user | The REVIEW member of the family: sweeps the estate's OUTSTANDING watchlist — flags due/overdue date-gated checks, reports open counts, and (on request) closes or adds items. Sole maintainer of the watchlist file; never executes the items. |\n| [`ctx-handoff`](skills/ctx-handoff/SKILL.md) | user | Sender-side PREPARE: writes an immutable, evidence-classed handover offer for a named receiver. The sender remains owner. |\n| [`ctx-accept`](skills/ctx-accept/SKILL.md) | user | Receiver-side VALIDATE/COMMIT: re-runs critical assertions, classifies drift, synthesizes the mandate, and explicitly accepts with an effective time or rejects. |\n\nThe operational-documentation path composes as: `doc-this` or `dig-this`\ninvestigates → `ctx-internal-bug` writes the full-detail internal report →\n`ctx-bug` ships the redacted one out → `ctx-retro` writes the post-mortem →\n`ctx-save` parks the session. Between sessions, `ctx-outstanding` sweeps the\nstanding watchlist so open items and date-gated checks don't silently age out.\n\nThe ownership-transfer path is deliberately separate:\n`ctx-handoff` **offers** → `ctx-accept` **validates and commits or rejects** →\nthe receiver records the first checkpoint. An offer is never evidence that\nownership moved.\n\n## Design commitments\n\n- **Refuse-guard floors.** Each save-skill states what must be true before it\n  will write, and refuses otherwise. Never invent evidence.\n- **Deterministic redaction, not judgement.** `ctx-bug` redacts via a fixed\n  pattern table — zero LLM discretion on whether a token is a secret.\n- **Asymmetric redaction.** Internal docs keep diagnostic detail (addresses,\n  service names, versions) because stripping it guts them; only outbound\n  reports are scrubbed hard. The boundary is the skill, not the habit.\n- **Investigate/save separation.** A skill either runs the investigation or\n  writes the artifact, never both by accident.\n- **Transactional ownership.** `OFFERED` is not `ACCEPTED`. Handover claims\n  carry evidence classes and receiver-side revalidation; ownership changes only\n  through an explicit receipt with an effective time.\n- **Immutable audit.** Material corrections create a new offer revision.\n  Receipts bind to the exact offer digest, and first checkpoints get their own\n  record.\n\n## Install\n\nCopy a skill directory into `~/.claude/skills/` (personal, loads everywhere)\nor `.claude/skills/` in a repo (project-scoped). Personal overrides project\nwhen names collide. Then fill in its Host binding table.\n\nInstall `ctx-handoff` and `ctx-accept` together and bind them to the same\nhandover store, identity scheme, UTC clock convention, and redaction boundary.\n\n## Not included\n\nThe host-context loader (`ctx-infra` on the origin fleet) is deliberately\nabsent. Its entire value *is* the specifics — topology, addresses, open\nrisks — so a generalized version would be an empty shell, and the real one\ndoes not belong in a git remote. Write your own; keep it local.\n\n`ctx-save` artifacts are unredacted by design: keep the context store on the\nhost, out of any repo with a remote. Handover artifacts may be shared with a\nnamed receiver, so the pair requires an explicit `HOST-LOCAL` or `SHARED`\nstorage mode and never carries access-granting values.\n",
  "bytes": 6770,
  "sha": "9b7ded671008226794532cebacb3be854f173ecb76460f677ad0dc27f4d15ef9",
  "repo_slug": "vvanagas/claude-ops-skills",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/okf_vvanagas_claude_ops_skills_pending_index_9a75f95c/readme"
}