miseenplace
Every ask, in its place. An agent-native CLI and set of skills that lay out the asks, promises and nudges from your chat before the day starts: a chef's mise en place for your workday, for Claude Code, Codex, Gemini CLI and Cursor.
Paste this into your agent
Install miseenplace with `uv tool install miseenplace-cli`, run `miseenplace skills` to find the
bundled agent skills, copy them into your skills directory, then run the setup skill and
follow it. Ask me only for things you cannot find out yourself.
No account? uvx --from miseenplace-cli mep demo runs a two-minute tour on fictional data.
Where the skills go
| Tool | Skills directory (user level) | Project level |
|---|---|---|
| Claude Code | ~/.claude/skills/ |
.claude/skills/ |
| Codex | ~/.agents/skills/ |
.agents/skills/ |
| Gemini CLI | ~/.gemini/skills/ (alias ~/.agents/skills/) |
.gemini/skills/ |
| Cursor | ~/.cursor/skills/ (also reads ~/.agents/skills/) |
.cursor/skills/ |
Paths are from each tool's documentation at the time of writing; if your version differs, check your tool's docs. Copy the bundled skills with the directory for your tool (Claude Code shown):
mkdir -p ~/.claude/skills && cp -r "$(mep skills)"/* ~/.claude/skills/
Claude Code can also install it as a plugin, with no copying:
/plugin marketplace add ankitkpandey1/miseenplace
/plugin install miseenplace@miseenplace
Why
Chat is where work is asked for and promised, and it scrolls away. To-do apps start empty and trust you to copy things in. miseenplace reads your chat, keeps only what needs you, and turns it into an audit-logged action list your agent can drive.
- One line per ask.
mep inboxshowsid · who · where · ask · action, nothing else. Your own earlier answers hide the asks you already handled. - One call per decision.
mep triage 12 --todofiles the item with link, topic and context filled in. - Agents cannot post free text.
draftstores the exact words;sendtakes only a draft id, after you said yes to that text. - Cheap to run. The CLI does the deterministic work, so a small model can drive it. A tested output budget keeps a ten-message loop near 500 tokens.
- Your data, your storage. Local files, a private git repository, or a backend you write in 30 minutes.
- Stdlib only. No runtime dependencies. Python 3.11 to 3.14.
| Plain to-do app | miseenplace | |
|---|---|---|
| Captures asks from chat | you copy them in | reads the chat |
| Remembers you already answered | no | hides answered asks |
| History | edits overwrite | append-only audit log, replay-validated |
| Agent can drive it | via a UI or an API | terse CLI plus short skills |
| Agent can post for you | n/a | only a stored draft you approved |
| Where data lives | the vendor | files you own, optionally in git |
Daily use
mep inbox # only what needs you
mep triage 12 --todo --eta fri # journal it
mep triage 13 --reply-draft "Thursday" # stores the text, posts nothing
mep send d1a2b3c4e # after your yes on that exact text
mep top # what first
mep standup --since yesterday # Did / Next / Waiting on
mep watch # block until something needs you
Skills
skills/ follows the Agent Skills standard and also installs as a Claude Code plugin (.claude-plugin/).
| Skill | Does |
|---|---|
setup |
install, connect a source, verify |
journal |
keep items and the work diary |
inbox-triage |
inbox into journal items and drafted replies |
inbox-watch |
background watcher; wakes the agent on new asks |
learn-style |
learns how you write so drafts sound like you |
Storage
# config.toml in the data root
[storage]
backend = "git" # local (default) | git | "package.module:ClassName"
remote = "git@host:me/my-data.git"
The git backend pulls before reads and commits and pushes after writes; a failed push is an error. See writing a storage backend.
Sources
Zulip and a demo source ship today. A new one takes about 30 minutes: writing a source.
Your data is personal
The journal, your sent-message archive, your style file and a verbatim log of your requests live in your data root, never in this repository. Read security, especially what the consent gate does not guarantee.
Docs
Quickstart · Concepts · CLI · Data model · Sources · Agent cost · Security · Contributing
Apache-2.0.
Metadata
Release files for miseenplace-cli 0.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| miseenplace_cli-0.1.1.tar.gz | 135.7 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| miseenplace_cli-0.1.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 207.1 kB
Release files / miseenplace_cli-0.1.1.tar.gz
| Download URL | miseenplace_cli-0.1.1.tar.gz |
|---|---|
| Size | 135.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
ba302784126b798e9c255b586c556f19bcf1505089abca02e585ca3e5c7c5571
|
|
BLAKE2b-256 checksum How to use checksums |
959a705fc31ba60a9acb04d55211397d1d9b444cb6cd15f7ad87379856b65aa0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.2
|
Release files / miseenplace_cli-0.1.1-py3-none-any.whl
| Download URL | miseenplace_cli-0.1.1-py3-none-any.whl |
|---|---|
| Size | 71.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
d84c04b1a0d1649f052b689dea8c84e8ac2700391a7335146e6e12815d5ad437
|
|
BLAKE2b-256 checksum How to use checksums |
58a7ab74ce1e7c05edb4810cb89f340e03f97a4d3732a806f0dad6f0e375c11f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.2
|
Security for miseenplace-cli 0.1.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.