kjiwa

Pentimento — Development skill for Claude Code

Development community

Status, intent, and lineage over agent plan files.

How to install Pentimento

This entry records only its repository, not the path inside it, so there is no exact command to give. Open kjiwa/pentimento and copy the folder into ~/.claude/skills/, or the file into ~/.claude/agents/.

What Pentimento does

Status, intent, and lineage over agent plan files.

Alternatives in Development

  • LifeOS — ⛰️ The Life Operating System — an intent engineering platform that moves you from your current state to your i 18.7k ★
  • Auto — Smart router - Single entry point with natural language intent detection 2.8k ★
  • Icpg Intent — Manually create or update an iCPG intent (ReasonNode) for a file before implementing 705 ★

README

pentimento

Status, intent, and lineage over agent plan files.

[![check](https://github.com/kjiwa/pentimento/actions/workflows/check.yml/badge.svg)](https://github.com/kjiwa/pentimento/actions/workflows/check.yml) [![PyPI](https://img.shields.io/pypi/v/pentimento)](https://pypi.org/project/pentimento/) [![Python versions](https://img.shields.io/pypi/pyversions/pentimento)](https://pypi.org/project/pentimento/)

![demo](https://raw.githubusercontent.com/kjiwa/pentimento/main/demo/pentimento.gif)

Coding agents leave plan files behind. After a few hundred of them you cannot tell which finished, which you still care about, or which plan replaced which — the filenames are random and the files say nothing about their own state. pentimento derives that state and gives you a CLI to list, filter, and render the lot as a lineage tree.

Two kinds of plan are worth finding again:

  • The long one: an infrastructure migration designed over months grows subplans, absorbs decisions made in discussion, and leaves behind the branches you rejected — the part you want back a quarter later. A superseded plan is a decision record, not garbage, which is why superseded is the one status no derivation produces or overwrites.
  • The finished one that is not over: execution ends with findings you will not act on today. Tag it and set an intent, and list --tag or list --starred brings it back when you are ready to pick the thread up again.

A pentimento is the earlier composition showing through a repainted canvas; that is what a plans directory is.

Built with [Claude Code](https://claude.com/claude-code).

Install

pip install pentimento
# or from source:
pip install git+https://github.com/kjiwa/pentimento.git

Quick start

Point `AGENT_PLANS_DIR` at your plans directory (it defaults to `~/.claude/plans`), then:

pentimento backfill      # derive status/intent/created/parent/project once
pentimento list          # see the corpus
pentimento set som