본문으로 건너뛰기

Versioned Prompts

You don't need to do this by hand

This page explains how things work under the hood. In normal use, your AI sessions run these skit commands for you; see skit → As a user.

In IST, the instructions an AI session follows are not text you paste into a chat. They are files shipped in a kit, installed with skit, and versioned like any other package.

This page explains why.

Prompts are what you ship​

A Manager/Worker setup works because every session gets the same instructions: how to delegate, how to report, which tools to call. Those instructions are as much a part of the system as the CLIs themselves. If they drift, behavior drifts.

So IST treats them as a release artifact:

Kit partWhat it isWhere it ends up
ProfileThe system prompt and allowed tools for one role (e.g. tda-worker)~/.ist/profiles/
PromptAn on-demand instruction a session reads with skit prompt show <name>~/.ist/prompts/global/ or ~/.ist/prompts/profiles/<profile>/
CLI dependenciesThe commands the prompts tell the AI to runGlobal npm packages
Hooks, states, permission packsSupporting filesSee Installation Locations

A kit has a name and a version (@ist/tda-kit@<version>), and skit install records which version of which kit wrote which files in ~/.ist/installed-kits.json.

What versioning gives you​

Reproducibility​

Two machines that install the same kit version get the same profile and prompt files. A kit also pins the CLI versions its prompts were written against, so a prompt never tells the AI to use a flag the installed CLI does not have.

An IST release goes one step further: snapshot install @ist/beta installs a tested combination of CLIs and kits at fixed versions. Run snapshot current to see what you have.

Clean upgrades and rollback​

Re-installing a kit removes the files recorded for its previous version before copying the new ones. A prompt that was dropped in the new version disappears instead of lingering.

Because any published version can be installed again, rolling back is an ordinary install:

skit install @ist/tda-kit@<previous-version>

You can check what is installed at any time:

skit list
skit prompt list

Ownership is explicit​

skit knows which files belong to which kit. Anything under ~/.ist/prompts/ or ~/.ist/profiles/ that no kit owns shows up in skit orphans, which makes hand edits visible instead of silent.

Slots: where your own instructions go​

Kits are shared; your project's rules are not. Kit authors therefore leave slots: a profile tells the AI to read a prompt that the kit does not ship, and you provide it.

The TDA profiles use a conventions slot. On startup, a tda-worker session is told to run:

skit prompt show conventions --profile tda-worker 2>/dev/null \
|| skit prompt show conventions

and to continue without it if neither exists. To fill the slot, write the file yourself:

FileRead by
~/.ist/prompts/profiles/tda-worker/conventions.mdtda-worker sessions only
~/.ist/prompts/global/conventions.mdEvery role that looks for conventions

Because no kit owns these files:

  • Upgrading or reinstalling the kit does not touch them. Your conventions survive kit updates.
  • skit orphans lists them. That is expected. Don't run skit orphans --clean without checking the list.

The general rule: put shared, versioned behavior in kits, and put local, project-specific rules in slots.

Next​