Universal agent activity ledger. Records what AI agents do.
Project description
inscript
Universal agent activity ledger.
When an AI agent works on code, inscript records everything: which project, which files, what changed. Any tool can read ~/.inscript/ for context.
Install
pip install inscript
What it records
~/.inscript/
active_project ← which codebase right now
active_session ← current session ID
config.toml ← retention policy
sessions/
<session-id>/
meta.json ← start time, project, status
touches.jsonl ← every file read/edit/write
diffs.jsonl ← raw changes (Edit old→new, Write content hash)
summary.json ← stats written on session end
overlap/
<project-hash>.jsonl ← when 2+ sessions touch the same files
Setup
inscript init # configure retention, storage, diffs
Then add hooks to ~/.claude/settings.json:
{
"hooks": {
"SessionStart": [
{
"hooks": [{ "type": "command", "command": "inscript-hook" }]
}
],
"PostToolUse": [
{
"matcher": "Read|Edit|Write|Glob|Grep",
"hooks": [{ "type": "command", "command": "inscript-hook", "async": true }]
}
],
"Stop": [
{
"hooks": [{ "type": "command", "command": "inscript-hook" }]
}
]
}
}
CLI
inscript # status: active project + session
inscript log # activity log for current session
inscript log <id> # activity log for a specific session
inscript overlap # show file collisions across sessions
inscript export <id> # export session as markdown
inscript cleanup # enforce retention policy
inscript init # setup wizard
Python API
from inscript_pkg import active_project, active_session, list_sessions
project = active_project() # Path or None
session = active_session() # session ID or None
all_sessions = list_sessions() # [{session_id, start_time, project, status}, ...]
How it works
Three Claude Code hooks write to ~/.inscript/:
- SessionStart → creates
sessions/<id>/meta.json - PostToolUse → appends to
touches.jsonlanddiffs.jsonl - Stop → writes
summary.jsonwith session stats
Any MCP server, script, or tool can read these files. No coordination needed. The agent doesn't know inscript exists.
Overlap detection
When two Claude Code sessions work on the same project simultaneously, inscript records which files both sessions touch. Run inscript overlap to see collisions.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file tiltshift-0.7.0.tar.gz.
File metadata
- Download URL: tiltshift-0.7.0.tar.gz
- Upload date:
- Size: 18.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
144fa25981c8d1b16a74ba4de93a609eec5710a98c107c522779a27506caffc0
|
|
| MD5 |
72024a13b2e9c752a0929f98060d6771
|
|
| BLAKE2b-256 |
62983c3f546346c84b62fedf2fb9696a2825228b803d1288b537d4b8feb8d191
|
File details
Details for the file tiltshift-0.7.0-py3-none-any.whl.
File metadata
- Download URL: tiltshift-0.7.0-py3-none-any.whl
- Upload date:
- Size: 18.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
086bbb35d88fed79ecbfe5b19ca0822476628059277e35b510e5ebd6ad1caf3f
|
|
| MD5 |
18e1b7c4b570bd2bc08418f33afc9631
|
|
| BLAKE2b-256 |
697317e0388700b1f551fe8ad96f7da4056cd06b9dc9ec7de7eaca61c090a536
|