---
title: Distill — OpenCode V2 Plugin by Jad Madi (@jadmadi)
description: >-
  Finds repeated multi-step workflows in session history and proposes a skill,
  command, or subagent for them.
href: /project/opencode-plugins/distill/
category: Safety
version: 2026.9.0
builtUnder: 2.0.16
license: MIT
repo: 'https://github.com/jadmadi/opencode-distill'
author: Jad Madi
runtime: OpenCode V2
telemetry: 0% (Local First)
installCommand: 'opencode plugin add github:jadmadi/opencode-distill'
tags:
  - distill
  - skills
  - workflow-capture
  - history
---
# Distill — OpenCode V2 Plugin

Finds repeated multi-step workflows in session history and proposes a skill, command, or subagent for them.

- **Website**: https://jadmadi.net/project/opencode-plugins/distill/
- **Repository**: https://github.com/jadmadi/opencode-distill
- **Category**: Safety
- **Version**: v2026.9.0 (CalVer)
- **Tested Runtime**: OpenCode v2.0.16
- **License**: MIT
- **Artifact**: `distill.ts`
- **Updated**: 2026-09-25
- **Author**: [@JadMadi](https://x.com/jadmadi)

## Quick Install

Install with a single command in OpenCode V2:

```bash
opencode plugin add github:jadmadi/opencode-distill
```

### Manual / Local Install

Copy distill.ts into ~/.config/opencode/plugins/ and restart the TUI.

## The Problem It Solves

The same procedure gets repeated by hand instead of becoming a reusable artifact, and nothing should be written until you apply it.

## What It Does

Finds repeated multi-step workflows in session history and proposes a skill, command, or subagent for them.

## Slash Commands

| Command | Description |
| :--- | :--- |
| `/distill` | Propose reusable artifacts from session history, list proposals, or apply one. |

## Limitations & Safety Rules

Writes only on an explicit /distill apply and never overwrites an existing artifact. It calls ctx.generate.text, so set DISTILL_MODEL on providers that reject transient generation.

## Frequently Asked Questions (Agent Q&A)

### Q: What problem does Distill solve?
The same procedure gets repeated by hand instead of becoming a reusable artifact, and nothing should be written until you apply it.

### Q: How do I install and run Distill?
Run `opencode plugin add github:jadmadi/opencode-distill` in your terminal.

### Q: Does this plugin transmit telemetry or code externally?
No. It operates with 0% telemetry, local-first in ~/.config/opencode/plugins/.

## Links & Resources

- Dedicated Page: https://jadmadi.net/project/opencode-plugins/distill/
- All OpenCode Plugins: https://jadmadi.net/project/opencode-plugins/
- GitHub Repository: https://github.com/jadmadi/opencode-distill
- Changelog: https://github.com/jadmadi/opencode-distill/blob/main/CHANGELOG.md
- Author Profile: https://jadmadi.net/about/
