exloop
Human-led exploration with a persistent map. An AI companion that does not answer
your question for you: it asks one or two honing questions, walks one edge at a time,
keeps a map of where you have been, and offers the next step that is within reach. When
you do not yet have enough language or background to form a question, it first offers one
concrete foothold and lets your response set the direction. When
several explanations are in play, Idea Lab helps draw, attack, compare, and check them
without forcing an early winner. Both ship as skills for any AI tool that reads
SKILL.md files — Claude Code, Codex, and the like.
Installing
Most people get exloop by installing newlife, which depends on it:
python -m pip install newlife
newlife start my-research
start installs the exloop and Idea Lab skills, together with newlife's own, into every AI tool found
on the machine.
On its own:
python -m pip install exloop
python -c "import exloop; print(exloop.skills_dir())"
and copy the skill directories it contains into your AI tool's skills folder
(~/.claude/skills/, ~/.codex/skills/, ...).
Using it
Open a folder in your AI tool and say:
Explore this with me: your curiosity
The AI asks; you answer and decide. The map is kept silently in
~/.exloop/explorations/<slug>/, one folder per exploration — the same folder whichever
AI tool you switch to, because the identity is the slug, not the chat session. When you
close an exploration the AI archives the record into your research repository
(explorations/<slug>/). When a boundary has become a decidable question — you can say
what measurement would make the answer different — the AI says so once, and on your yes
hands the record to newlife (questions/<slug>/origin/), where the preregistration
discipline takes over.
Idea Lab is not a second entry point that must be completed first. It is an optional reasoning pattern inside exploration. The AI uses it when competing or underspecified explanations need to be made explicit, challenged, and distinguished.
What is in the package
skills/exloop/SKILL.mdwith its references: the protocol (four events — started, marked, pivoted, closed — and the map as their projection), the state model, and a bounded evidence-review method that returns source checks to the current exploration.skills/idea-lab/SKILL.mdwith domain profiles for formal theory, empirical and causal research, simulation, engineering and product mechanisms, and interpretive research.skills/exloop/scripts/exploration_state.py: the zero-dependency helper the skill runs —init,mark,pivot,show,close,list,archive,handoff, and aself-test.exloop.skills_dir(): the one Python function, so that newlife can locate the skill files. exloop has no other API and no dependencies.
Requires Python 3.11 or newer.
This repository
| Path | What it holds |
|---|---|
skills/exloop/ |
The persistent, human-led exploration skill and state helper. |
skills/idea-lab/ |
The optional Draw—Attack—Compare—Check reasoning pattern and domain profiles. |
src/exloop/__init__.py |
skills_dir(), the one Python function. |
scripts/install-skill.py |
Installs the master byte for byte into AI tool directories; --force to overwrite drifted copies. |
scripts/check_release_artifacts.py |
Refuses to ship anything but the skills: run it on dist/ before uv publish. |
python3 skills/exloop/scripts/exploration_state.py self-test
uv build --out-dir dist && python3 scripts/check_release_artifacts.py dist
The skill is used downstream by newlife, which depends on this package. Apache-2.0.
Metadata
Release files for exloop 0.3.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| exloop-0.3.0.tar.gz | 32.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| exloop-0.3.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 71.7 kB
Release files / exloop-0.3.0.tar.gz
| Download URL | exloop-0.3.0.tar.gz |
|---|---|
| Size | 32.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
03abf4cd5c49913cd08c08ed9f5b2dcb293a3c7a8f352c5851287854931e33f7
|
|
BLAKE2b-256 checksum How to use checksums |
18acd4fecdb9a13b2280f8760762c5a614a976ef853b414016676aebd73c6321
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.8.19
|
Release files / exloop-0.3.0-py3-none-any.whl
| Download URL | exloop-0.3.0-py3-none-any.whl |
|---|---|
| Size | 39.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
b436f7efed937157b3bd081f5db73440ff355d6add9f2fa1a5a43fe5a0f75f56
|
|
BLAKE2b-256 checksum How to use checksums |
ee98d9fd241cadc670f40582aa055033a0ea61699ed625f080920db268845d3c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.8.19
|