Skip to content
Back to skills

Gz Complexity Distill

ASecurity

Use when the operator says "run distillation" or "refresh complexity corpus", or a distillation pass is due.

  • 9 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added October 19, 2026
researchpythongobashdjango

Works with

  • terminal
  • cli

Security analysis

A100/100

Scanned October 19, 2026

npx -y skills add tvproductions/gzkit --skill gz-complexity-distill --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Gz Complexity Distill?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Gz Complexity Distill
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/tvproductions-gz-complexity-distill/badge)](https://www.skillsdirectory.com/skills/tvproductions-gz-complexity-distill)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

SKILL.md
---
name: gz-complexity-distill
description: Use when the operator says "run distillation" or "refresh complexity corpus", or a distillation pass is due.
category: code-quality
lifecycle_state: active
owner: gzkit-governance
last_reviewed: 2026-10-17
metadata:
  skill-version: "0.4.1"
  govzero-framework-version: "v6"
  govzero_layer: "Layer 3 - File Sync"
gz_command: complexity distill
model: opus
---

# gz-complexity-distill

Operator-runnable skill that produces a dated distilled-characteristics
document by measuring the gzkit exemplar corpus and joint-authoring the
output with the operator. The skill is the canonical operator surface for
the four-ADR complexity-doctrine cluster's distillation cadence
(ADR-0.0.27 → ADR-0.0.28 → ADR-0.0.29 → ADR-0.0.30).


> **Self-Escalation (opus-tier).** The dialogue with the operator stays in the main session: a subagent cannot ask the operator a question or hear the answer, and what the operator adds is this skill's primary input. When the session model is below opus-tier, you may spawn an `Agent` with `model="opus"` for a bounded drafting or QC track that needs no operator input — pass the operator's words verbatim and the relevant context (ADR IDs, OBPI IDs, prior decisions), and treat what it returns as a draft you verify, not as the operator-facing result.

## When to Use

Three triggers, any of which makes a distillation pass due:

1. **Annual calendar (default).** Re-distillation runs once per year.
   Rationale from ADR-0.0.27 § Decision Cadence: the Python ecosystem
   evolves on roughly annual cycles; semi-annual is over-eager,
   biennial risks doctrine staleness.
2. **Drift signal — advisor verdict-frequency drift > 25% from the
   baseline of the last distillation.** Minimum re-distillation interval
   of six months to prevent thrashing. The drift comparison is against the
   distilled-characteristics baseline, not the raw measurement
   distributions.
3. **Operator judgment.** The operator may also trigger ad-hoc when a
   ground-breaking project emerges that warrants corpus amendment.

The cadence is itself amendable per OBPI-0.0.27-01's protocol; this skill
mechanizes the cadence the parent ADR codifies.

**A pass is OBPI work the operator initiates** (operator ruling 2026-10-11). A
trigger says a pass is due; it does not start one. `ADR-0.0.27` is terminal and
the foundation kind is closed to new authoring, so a recurring pass is proposed
as a Feature Checklist item of a feature ADR and runs through
`gz-obpi-pipeline` once the operator initiates it (`AGENTS.md` § OBPI
Acceptance Protocol). This skill is the method inside that OBPI, and the Gate 5
named below is that OBPI's completion attestation, recorded with
`gz obpi complete`.

## Corpus

The corpus list, per-project path filters, pinned commit SHAs, and
rationale for inclusion are the single source of truth at
`data/exemplar_corpus.json`. This skill does not duplicate that content —
it cites the file by path and lets the destination CLI verb load the
canonical model (`gzkit.models.exemplar.load_corpus`).

The corpus is operator-curated against the auditable selection
methodology codified at `.gzkit/rules/complexity-doctrine.md`. Per-project
path filters declare which paths enter the measurement set and which are
excluded with rationale (strategically-complex modules — Django ORM
query compiler, mypy unification core — are correctly excluded).

## Methodology

Distillation is an **agent-drafted, operator-attested ceremony**, not a
black-box pipeline. The seam is canonical to gzkit's Operator Economy of
Effort doctrine: the agent produces the substantive draft against
observed evidence; the operator audits, adds the practitioner-eye
observation per metric, and attests at Gate 5.

The six-step joint authoring sequence (binding, from ADR-0.0.27
§ Decision):

1. Agent runs the measurement pipeline against the pinned-SHA corpus and
   loads the resulting baseline artifact at
   `docs/governance/complexity/baselines/{YYYY-MM-DD}/baseline.json`.
2. Agent drafts metric-aggregate prose per canonical metric (median,
   p75, p90, p95, p99 with inter-project variance commentary).
3. Operator adds the **Practitioner-eye observation** per metric. The
   agent never fabricates this block — it is the OEE seam.
4. Together, agent + operator author the per-metric triple: numeric
   boundary (percentile-of-corpus + absolute-number-at-that-percentile),
   qualitative band (comfortable craft / investigate / refactor),
   doctrinal frame (Fowler / Martin / Page-Jones / Constantine).
5. Agent proposes classifier rule-table updates against the new
   percentiles; operator audits.
6. Agent narrates the diff against the prior distillation (no-op on
   first run) — any boundary that moved > 10% gets explicit operator
   narration.

The output document conforms to the **OBPI-0.0.27-04** brief shape: a
dated distilled-characteristics document at
`docs/governance/complexity/distilled-characteristics-{YYYY-MM-DD}.md`
with frontmatter (`corpus_revision`, `baseline_artifact_path`,
`distillation_date`, `prior_distillation_path`), a per-metric section for
each canonical metric, a "Diff against prior distillation" section, and a
"Citation form" section quoting the citation contract. Previous
distillations are never overwritten — every run produces a new dated
document.

## Output Contract

The destination CLI verb writes a new dated distilled-characteristics
document under `docs/governance/complexity/`. Form on stdout: a
human-readable progress summary naming the corpus revision under
measurement, the baseline artifact path produced, the destination
document path written, and the count of per-metric sections rendered.
Exit 0 on a clean run; exit 3 (policy breach) when the run would
overwrite an existing same-date document (REQ-0.0.27-04-05 no-overwrite
guard); exit 1 on user/config error; exit 2 on system/IO error.

The destination document conforms to OBPI-04's contract: frontmatter,
per-metric triples, cold-start or diff section, citation form. Downstream
foundation ADRs (0.0.28 / 0.0.29 / 0.0.30) cite the document — not the
raw distributions and not the corpus directly — by `(file path, section
anchor, corpus_revision)` tuple.

## Workflow

The operator runs:

```bash
uv run gz complexity distill --corpus data/exemplar_corpus.json
```

The verb composes the OBPI-0.0.27-03 measurement pipeline with the
OBPI-0.0.27-04 distillation render and writes a dated
`distilled-characteristics-{YYYY-MM-DD}.md` under
`docs/governance/complexity/`. Operator follow-up at Gate 5 fills the
per-metric **Practitioner-eye observation** placeholders the verb
leaves intact (REQ-0.0.27-04-10 — the OEE seam, the agent never
fabricates that block).

Common invocations (full options + exit codes in the
[`complexity-distill` manpage](../../../docs/user/manpages/complexity-distill.md)):

```bash
uv run gz complexity distill                    # default run against canonical corpus
uv run gz complexity distill --no-prior         # cold-start (skip prior auto-detect)
uv run gz complexity distill --allow-dated-sibling   # write -1 sibling on collision
```

The verb closed the OBPI-0.0.27-06 waiver path tracked by GHI #400.

## References

- **Parent ADR:** ADR-0.0.27 — Exemplar Corpus Doctrine
  (`docs/design/adr/foundation/ADR-0.0.27-exemplar-corpus-doctrine/`)
- **Brief:** OBPI-0.0.27-06-distill-skill
- **Producer brief:** OBPI-0.0.27-04-distillation-pass — defines the
  output document shape this skill is bound to produce
- **Engine:** `src/gzkit/complexity/distillation.py` — the distillation
  rendering surface (frozen Pydantic models + render functions)
- **Corpus:** `data/exemplar_corpus.json` — the pinned-SHA corpus
- **Doctrine rule:** `.gzkit/rules/complexity-doctrine.md` — selection
  methodology, cadence, citation contract
- **Vendor mirror sync:** `.gzkit/rules/skill-surface-sync.md` — edit
  this canonical file; the vendor mirrors (roster: `.gzkit.json` § `vendors`)
  are emitted by
  `gz agent sync control-surfaces`
- **Output Contract invariant:** `.gzkit/rules/tool-skill-runbook-alignment.md`
  Invariant 3 — destination verb's default form must honor this skill's
  Output Contract section

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.