tinker-ai-skill

The skill turns your Claude Code sessions into a dataset, trains a LoRA on Tinker and builds a GGUF for local use.

  • 319 ★ on the repository
  • Last commit
  • MIT
Skill

Extended access

Why this level

  • The skill reads local transcripts containing code and secrets and launches paid training in an outside service.
All reasons and checks

drost-ai/tinker-ai-skill

Install

In your terminal, with SkillFoxx CLI

npx skillfoxx add skills/tinker-ai-skill

Detects the agents on your machine, shows the access level and pins the version.

Other ways to install

Access and checks

How we review

Extended accessThe tool runs code or makes network calls and only reads external data.

  • The skill reads local transcripts containing code and secrets and launches paid training in an outside service.

This is third-party code. Review the repository files before installing.

What it does

tinker-ai-skill guides an agent through nine steps of fine-tuning a model on your own coding-agent sessions. Claude Code transcripts are copied first, then normalised and anonymised: each session gets its own random names, folders and addresses, and secrets are replaced. The data is then sliced to the context length, split into training and held-out sets, and LoRA training starts on Tinker. Afterwards the agent compares the base model with checkpoints, merges the LoRA into the base, converts the result to GGUF and serves it in llama.cpp with the same settings used in training. Each step has a script, eleven in all, and there are six reference notes. A synthetic transcript generator lets you dry-run the whole pipeline in five minutes with no real data and no spend. The agent stops before anything that costs money.

Who it is for. Developers and researchers who want a local model tuned to their own repositories, commands and debugging habits.

Good fit when

  • Months of Claude Code sessions have piled up and must become a training dataset.
  • Before training, all names, addresses and secrets must be replaced in every session.
  • You want a trial run on synthetic data with no spend.
  • A finished LoRA is merged with the base model to get a GGUF for llama.cpp.

Not a fit when

  • You need a simple chat model setup: this pipeline is tailored to agent transcripts.
  • You have no Tinker key and do not want to pay for training.
  • Sessions contain other people's data that you have no right to use.

Example request

Fine-tune Qwen3.6-35B-A3B on my Claude Code sessions from the last three months. Run the synthetic example first and stop before the paid launch.

Limitations

You need Python 3.11 or newer, `uv`, a Tinker key and optionally a Weights and Biases key; steps 8 and 9 also need a built llama.cpp and disk space. Training is paid: per the README at November 2026 prices it costs from a few dollars to a few hundred, and the smoke test prints the token count. `identity.json` must list your names, emails and domains, otherwise anonymisation is incomplete. By default Claude Code deletes sessions after 30 days, so set `cleanupPeriodDays`. The last commit dates from November 2026.

How to disable. Delete the `~/.claude/skills/tinker-ai-skill` folder. Delete collected datasets, Tinker checkpoints and the `.env` and `identity.json` files separately.

FAQ

How do I install it in Claude Code?

Clone the repository with `git clone https://github.com/drost-ai/tinker-ai-skill.git ~/.claude/skills/tinker-ai-skill`. The folder name must remain `tinker-ai-skill`.

How do I test the pipeline for free?

Generate a synthetic transcript with `scripts/make_sample_transcript.py` and go through the steps up to `train_tinker.py` without `--train`. It prints a training row and the token count.

What happens to secrets in sessions?

The anonymisation script replaces every credential value and picks its own random identity for each session. If anything leaks, the build fails.

Which agents does it work with?

Installation is described for Claude Code, OpenAI Codex and OpenCode. Transcripts from other agents are converted to the schema in the reference note and continue from step 2.

What do I decide and what does the agent do?

You choose projects to exclude, the model and context length, the system prompt and the learning rate when no calibrated default exists. The agent does the rest following `SKILL.md`.

Discussion

No questions or reviews yet.

Skills

A skill for Claude Code and Gemini CLI that runs LLM fine-tuning from dataset to GGUF export, on NVIDIA GPUs and Apple Silicon

SkillExtended access283Repository stars

90 specialist skills and the Nexus orchestrator for Claude Code, Codex and Antigravity: bugs, tests, security, review, UX

SkillExtended access99Repository stars

The xskill CLI gathers sanitized session trajectories from Claude Code, Codex and OpenCode and grows a shared skill library.

CLIExtended access129Repository stars

A Claude Code skill and /looper command that interviews you and builds an agent loop with checks, an independent reviewer and stop rules before it runs

SkillBroad access717Repository stars

Claude Code skills that delegate UI to Gemini via agy and code to Codex, with cross-review and parallel git worktrees.

SkillBroad access94Repository stars

README in short

The skill packages the tested process the authors used to build the open Tess-4 and Tess-4.5 models from their own sessions. Each rule is recorded as a lesson from past mistakes.

README badge

Original SKILL.md

---
name: tinker-ai-skill
description: Turn your own coding-agent session transcripts (Claude Code JSONL) into a supervised fine-tuning dataset and train a LoRA on Tinker with the tinker-cookbook. Use when the user wants to fine-tune a model on their agent sessions, build an SFT dataset from transcripts, anonymize or de-identify transcripts, slice long sessions to a context length with compaction context, or train and evaluate on Tinker. Covers collection, cleaning (secrets, PII, paths), chunking, train/val splits, training, sampling, and the pitfalls that cost us runs.
license: MIT
compatibility: Python 3.11+, uv or pip, tinker-cookbook>=0.6.0 (installs tinker, torch, tml-renderers), a Tinker API key, optionally a Weights & Biases API key. Scripts run from the skill directory; dataset steps are offline, training and sampling call the Tinker service and cost money.
metadata:
  author: Migel Tissera
  version: "1.0.0"
  source: https://github.com/drost-ai/tinker-ai-skill
---

# Fine-tune a coding model on your own agent transcripts (Tinker)

You are helping someone turn the sessions they already ran with a coding agent into
training data, and fine-tune an open model on it with [Tinker](https://thinkingmachines.ai/tinker).
This skill distils a pipeline that shipped several public models. Follow the steps
in order; each script is small, offline unless stated, and prints what it did.

All commands below run from this skill's directory (`tinker-ai-skill`). Read `references/` when a step
needs judgement; the scripts' docstrings (`python scripts/<name>.py --help`) explain
every flag.

## Before you start

1. **Keep the transcripts.** Claude Code deletes transcripts after 30 days by default.
   Tell the user to add `"cleanupPeriodDays": 3650` to `~/.claude/settings.json` now.
2. **Keys.** Copy `.env.example` to `.env` and fill in `TINKER_API_KEY`
   (console at tinker.thinkingmachines.ai) and `WANDB_API_KEY` (wandb.ai/authorize).
   Never print, commit, or paste these values anywhere; the scripts read `.env`.
3. **Environment.** `uv venv && uv pip install -r requirements.txt` (or `pip install -r requirements.txt`).
   Python 3.11+. Use that interpreter for every script.
4. **Budget.** Training costs tokens x price. Always run a script's default (offline)
   mode first; only `--train`, `sample_checkpoint.py` and `export_checkpoint.py` touch
   the service. Confirm the estimated cost with the user before launching.
5. **For local serving (steps 8-9).** A built [llama.cpp](https://github.com/ggml-org/llama.cpp)
   checkout recent enough for the model's architecture, disk for the base model plus
   the merged copy (about 2 bytes per parameter each), and RAM for the largest shard.

## The workflow

### Step 1. Collect transcripts into a dataset location

```
python scripts/collect_sessions.py --data-dir ./data            # ~/.claude/projects by default
python scripts/collect_sessions.py --data-dir ./data --project my-repo --since 2026-01-01

Report a problem