ID Protocol
ID is Git-like infrastructure for portable human-AI identity context.
Git versions code. ID versions the reviewed context that tells AI tools how to work with a person.
It is not another assistant. It is the profile, contract, and release layer that can travel across tools.
profile.* -> source
soul.md -> build artifact
context.compact.json -> release bundle
idctl diff -> semantic identity diff
validate -> CI gate
provenance -> blame surface
freshness -> stale detection
What It Covers
- canonical owner-managed profile files
- compact derived
soul.mdfor fast agent bootstrap - portable interop artifacts (
context.compact,interop.v1,mcp) - validation, freshness, and publish-safety checks
- semantic identity diffs via
idctl diff - integration points for
SET,agentsgen, and other repo workflows
Works Across Tools
Claude Code
|
v
profile.* + soul.md + context.compact.json
|
v
ChatGPT / Gemini / Cursor / Continue / OpenAI API
The value is simple: create one reviewed profile, then reuse it across tools without rebuilding user context from scratch.
See docs/WILD.md for concrete cross-tool workflows.
Start In 5 Minutes
Install:
brew install markoblogo/tap/id-protocol
Bootstrap:
idctl init --owner-id <owner-id>
idctl refresh-soul --owner-id <owner-id>
make validate
make compact
You end up with:
profile.minimal.mdas the first owner checkpointsoul.mdas the short reviewed handoff layercontext.compact.jsonas the portable compact artifact
Check what changed before sharing or switching tools:
idctl diff --owner-id <owner-id> --since 7d
Core Files
Source of truth:
profiles/<owner>/profile.minimal.mdprofiles/<owner>/profile.core.mdprofiles/<owner>/profile.extended.mdprofiles/<owner>/CHANGELOG.md
Derived layers:
profiles/<owner>/soul.mdprofiles/<owner>/context.compact.jsonprofiles/<owner>/interop.v1.jsonprofiles/<owner>/mcp.context.resource.json
Why This Exists
- system prompts are fragile and usually copied by hand
- chat-native memory is product-siloed and hard to audit
- repo instructions help per repo, not across tools or roles
IDkeeps user context explicit, versioned, reviewable, and portable
soul.md exists because the full profile stack is often too heavy for the first pass. It gives agents a short bootstrap surface without replacing the canonical profile files.
Ecosystem Role
IDowns portable human contextagentsgenowns repo-scoped agent contextSETcan orchestrate both layers
Practical rule:
- use
IDfor the human - use
agentsgenfor the repository - use
SETwhen you want orchestration around both
Quick Paths
Lite:docs/LITE.mdShare:docs/SHARE.mdBench:docs/BENCH.mdWild:docs/WILD.mdIdentity Diff:docs/IDENTITY_DIFF.mdSoul:docs/SOUL.mdIntegrations:docs/INTEGRATIONS.mdReleases:docs/RELEASES.md- full docs index:
docs/README.md
Live Public Metrics
Runs analyzed: 4
| Metric | Value | Meaning |
|---|---|---|
| onboarding latency | 1.15 | Less is better |
| clarification turns | 0.85 | Less hand-offs |
| task success | 0.6 | Higher is better |
| alignment index | 18.3 | Higher is better |
Profile freshness score (owner markoblogo): 0.0
Key artifacts:
- profiles/markoblogo/profile.core.md: score=0.0 age=98 ttl=14
- profiles/markoblogo/profile.extended.md: score=0.0 age=97 ttl=30
Current CLI Surface
idctl init --owner-id <owner-id>
idctl refresh-soul --owner-id <owner-id>
idctl validate
idctl diff --owner-id <owner-id>
idctl export-compact --owner-id <owner-id>
idctl export-interop --owner-id <owner-id>
idctl export-mcp --owner-id <owner-id>
Current Status
Today ID functions as:
- a protocol/spec reference
- a validated tooling reference
- a compact onboarding path
- a Git-like diff/review surface for AI identity context
- an installable CLI package on PyPI/Homebrew
Latest release: v0.4.0 adds idctl diff, wild workflows, and Git-like identity context positioning.
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 id_protocol-0.4.0.tar.gz.
File metadata
- Download URL: id_protocol-0.4.0.tar.gz
- Upload date:
- Size: 57.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bc39c857030ef39420aef57ce900266af8234b455d4fcca65cf2aab837a8c053
|
|
| MD5 |
421afbfdc940fe12807c73adee2f5274
|
|
| BLAKE2b-256 |
8555cdcd15b428a3f3b4afa18b584c31481a34fc53cd7fffa5729ab6ff5af498
|
Provenance
The following attestation bundles were made for id_protocol-0.4.0.tar.gz:
Publisher:
pypi-publish.yml on markoblogo/ID
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
id_protocol-0.4.0.tar.gz -
Subject digest:
bc39c857030ef39420aef57ce900266af8234b455d4fcca65cf2aab837a8c053 - Sigstore transparency entry: 2102621209
- Sigstore integration time:
-
Permalink:
markoblogo/ID@41f17f2cfacd3c08ed3f16970d6905963d74ec09 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/markoblogo
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
pypi-publish.yml@41f17f2cfacd3c08ed3f16970d6905963d74ec09 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file id_protocol-0.4.0-py3-none-any.whl.
File metadata
- Download URL: id_protocol-0.4.0-py3-none-any.whl
- Upload date:
- Size: 62.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6c387f5ac4682f6c5797123a78860d9af6887c109e73dfc5fcc82b10c49f2501
|
|
| MD5 |
204f32f1f9207d0c37714a065b0b2b66
|
|
| BLAKE2b-256 |
7990579dfd055b612c7fad92c729cc4e845c670518ef02365fec0f53bca40c4a
|
Provenance
The following attestation bundles were made for id_protocol-0.4.0-py3-none-any.whl:
Publisher:
pypi-publish.yml on markoblogo/ID
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
id_protocol-0.4.0-py3-none-any.whl -
Subject digest:
6c387f5ac4682f6c5797123a78860d9af6887c109e73dfc5fcc82b10c49f2501 - Sigstore transparency entry: 2102621484
- Sigstore integration time:
-
Permalink:
markoblogo/ID@41f17f2cfacd3c08ed3f16970d6905963d74ec09 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/markoblogo
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
pypi-publish.yml@41f17f2cfacd3c08ed3f16970d6905963d74ec09 -
Trigger Event:
workflow_dispatch
-
Statement type: