Skip to main content

cc-steer

Your best training data is rotting in ~/.claude. cc-steer mines every correction, interrupt, and rejected plan from your transcripts into judge-refined, TRL-ready SFT/DPO/KTO pairs on HuggingFace.

CI PyPI PolyForm Noncommercial license

Get started

uvx cc-steer scan

One pass over ~/.claude/projects fills ~/.cc-steer/feedback.db with every correction you typed, every plan you rejected, every question you answered, and every inline review comment, conversational context included. stats shows what landed:

Terminal running 'uvx cc-steer stats' — 2,792 steering events counted across five source kinds

Driving with an agent? Paste this:

Run `uvx cc-steer scan` to mine my Claude Code transcripts into ~/.cc-steer/feedback.db.
Then run `uvx cc-steer stats` and report how much steering was collected per source kind.
Docs: https://yasyf.github.io/cc-steer/

Use cases

Build a training set from feedback you already gave

You've spent months telling Claude "no, not like that", and that signal evaporates as transcripts rotate out. Judge the corpus, then distill the accepted events into atomic pairs, the corrective ones grounded in the code they fault:

uvx cc-steer triage
uvx cc-steer refine
uvx cc-steer enrich

uvx cc-steer pairs prints the deliverable. Each training pair is distilled from your own steering and carries the conversational window and code evidence behind it.

See how you actually steer, across every project

Your taste is mostly tacit, and you notice a rule only when it's violated. The corpus makes it legible:

uvx cc-steer list --source plan_review

On my machine the split is 1,840 answered questions, 714 mid-session corrections, 212 rejected plans, 21 interrupts, and 5 review comments. Another machine's history folds in too. Mirror it with rsync and point scan --transcripts at it; scans are repeatable, so several mirrors fold into one corpus.

Push a private SFT/DPO/KTO dataset to your HuggingFace namespace

A judged corpus in SQLite trains nothing. Export projects it into TRL-ready configs:

uvx cc-steer export --push
traces: train 1156  test 115
sft: train 499  test 67
dpo: train 363  test 44
kto: train 1156  test 115

Four configs land as per-split parquet in a private <hf-user>/cc-steer-traces, next to a generated dataset card. Splits group on the session hash, so a session never straddles train and test.

Retrain the watcher that steers you back

The exported views close the loop: cc-steer's live watcher — a local 4-bit LoRA that drafts steers as you work — retrains from them on Tinker, gated so a worse model never ships:

uvx --from 'cc-steer[retrain]' cc-steer retrain --component watcher

With a Tinker key in ~/.cc-steer/tinker.env, one run curates the training pool, trains under a hard spend cap ($15 default), scores the candidate server-side against a frozen eval, and promotes only on a strict beat of the incumbent: higher sentinel AUC, fire budget held, coverage wins. On a promote, the watch daemon restarts on the new adapter; on a reject, production never notices. --component gate retrains the stage-1 lexical gate the same way, minus the GPU bill, and cc-steer pipeline install-launchd schedules both for Sunday 4am.

More in the docs

  • Incremental scanning explains how content digests and one-transaction commits keep re-scans cheap and interrupt-safe.
  • Triage, audit, and eval cover prompt-versioned judging, a seeded audit sample, and mechanical metrics that need no LLM calls.
  • view-samples serves a local dashboard for browsing refined pairs and their full lineage.
  • The Python API drives the scanner and the feedback store from your own code.
  • Retraining covers the weekly gate and watcher lanes, the promotion gate's math, and the frozen-eval store.

cc-steer is alpha. The pipeline runs end to end, and the judge prompt still iterates (v6 today).

Read the docs for the full guide. Licensed under PolyForm Noncommercial 1.0.0.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cc_steer-0.13.0.tar.gz (168.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

cc_steer-0.13.0-py3-none-any.whl (198.6 kB view details)

Uploaded Python 3

File details

Details for the file cc_steer-0.13.0.tar.gz.

File metadata

  • Download URL: cc_steer-0.13.0.tar.gz
  • Upload date:
  • Size: 168.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for cc_steer-0.13.0.tar.gz
Algorithm Hash digest
SHA256 f7e58e40fd8de07f6543e29787bc78d9f4d7187d9330154dd6c2afda1899e031
MD5 2086b685dc59c9f0547a83bc4e68e957
BLAKE2b-256 ef6b00c45fe27226d80ed7bb87cc1bfcff9e520741aebb40cb3043239ad46035

See more details on using hashes here.

Provenance

The following attestation bundles were made for cc_steer-0.13.0.tar.gz:

Publisher: release-pypi.yml on yasyf/cc-steer

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cc_steer-0.13.0-py3-none-any.whl.

File metadata

  • Download URL: cc_steer-0.13.0-py3-none-any.whl
  • Upload date:
  • Size: 198.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for cc_steer-0.13.0-py3-none-any.whl
Algorithm Hash digest
SHA256 079a8512144efbd487d27c5338a885a01e6d507c3019916f45ee5dd10cf78419
MD5 42b4b71d30051cc00d559bbe2c129e4f
BLAKE2b-256 2c692de7298463250ee3067361584d00e09b4f8f1d2fdf5e2f019a4b7738f40f

See more details on using hashes here.

Provenance

The following attestation bundles were made for cc_steer-0.13.0-py3-none-any.whl:

Publisher: release-pypi.yml on yasyf/cc-steer

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

0.20.0

2 files

0.19.0

2 files

0.18.0

2 files

0.17.0

2 files

0.16.0

2 files

0.15.0

2 files

0.14.0

2 files

This release

0.13.0 This release

2 files

0.12.1

2 files

0.12.0

2 files

0.11.0

2 files

0.10.0

2 files

0.9.1

2 files

0.9.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page