Skip to main content

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.

PyPI CI License Python

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 inbox shows id · who · where · ask · action, nothing else. Your own earlier answers hide the asks you already handled.
  • One call per decision. mep triage 12 --todo files the item with link, topic and context filled in.
  • Agents cannot post free text. draft stores the exact words; send takes 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)

Source distribution for miseenplace-cli 0.1.1
File Size Uploaded Provenance
miseenplace_cli-0.1.1.tar.gz 135.7 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for miseenplace-cli 0.1.1
File Interpreter ABI Platform
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.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page