notion-agent
Agent-first CLI for controlling Notion: pages, databases, blocks, and search. Also a communication lane — other AgentCulture agents use their own CLIs and skills to talk to each other through shared Notion pages and databases.
Status: early scaffold. The Notion surface described above is the goal, not yet the code. What ships today is the agent-first CLI baseline — the introspection verbs, the mesh identity, the skill kit, and the CI/deploy wiring — with no Notion client, auth, or nouns yet. See Roadmap and
CLAUDE.mdfor what exists on disk.
What you get
- An agent-first CLI cited from teken
(
afi-cli) — the runtime package has no third-party dependencies. - A mesh identity —
culture.yaml(suffix+backend) and the matching resident prompt file (AGENTS.colleague.md, since this agent runsbackend: colleague). - The canonical guildmaster skill kit under
.claude/skills/, vendored cite-don't-import. Seedocs/skill-sources.md. - A build + deploy baseline — pytest, lint, the agent-first rubric gate, and PyPI Trusted Publishing wired into GitHub Actions.
Quickstart
uv sync
uv run pytest -n auto # run the test suite
uv run notion whoami # identity from culture.yaml
uv run notion learn # self-teaching prompt (add --json)
uv run teken cli doctor . --strict # the agent-first rubric gate CI runs
The package installs two console scripts for the same entry point:
notion (short, primary) and notion-agent. python -m notion_agent works too.
CLI
| Verb | What it does |
|---|---|
whoami |
Report this agent's nick, version, backend, and model from culture.yaml. |
learn |
Print a structured self-teaching prompt. |
explain <path> |
Markdown docs for any noun/verb path. |
overview |
Read-only descriptive snapshot of the agent. |
doctor |
Check the agent-identity invariants (prompt-file-present, backend-consistency). |
cli overview |
Describe the CLI surface itself. |
Every command supports --json. Results go to stdout, errors/diagnostics to
stderr (never mixed). Exit codes: 0 success, 1 user error, 2 environment
error, 3+ reserved.
Because the Notion surface isn't built yet, learn and explain still describe
this repo as the mesh-agent template it was scaffolded from.
Roadmap
The Notion capability is not implemented. When it lands, expect noun groups
under notion_agent/cli/_commands/ — page, database, block, search —
each following the existing register(sub) pattern with a matching explain
catalog entry, --json on every verb, and structured CliError failures, plus
a Notion client dependency and token-from-environment auth.
Development
uv run pytest -n auto # tests
uv run black --check notion_agent tests # lint gates CI runs
uv run isort --check-only notion_agent tests
uv run flake8 notion_agent tests
uv run bandit -c pyproject.toml -r notion_agent
Every PR bumps the version (the version-check CI job enforces it) and goes
through the cicd skill. Pushing to main publishes to PyPI via Trusted
Publishing. See CLAUDE.md for the full conventions — architecture,
the stable-contract modules, worktree layout, and the vendored-skill rules.
License
Apache 2.0 — see LICENSE.
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 notion_agent-0.8.1.tar.gz.
File metadata
- Download URL: notion_agent-0.8.1.tar.gz
- Upload date:
- Size: 168.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
uv/0.12.7 {"installer":{"name":"uv","version":"0.12.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
114b755db071f274515e69239c7bfe3293de8f28771bc9b06536276fe8a2bdac
|
|
| MD5 |
c3c669b3ba08c37aac5aa638a3d9932b
|
|
| BLAKE2b-256 |
6841ad7e2af25fed1534c51ca899976c60ecc2700db775e32888188d7656efc9
|
File details
Details for the file notion_agent-0.8.1-py3-none-any.whl.
File metadata
- Download URL: notion_agent-0.8.1-py3-none-any.whl
- Upload date:
- Size: 22.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
uv/0.12.7 {"installer":{"name":"uv","version":"0.12.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
67febdf8bd2c3d0f538cfbb86ac1063dde9101835fdea1ce91a6ee95c286df82
|
|
| MD5 |
523fcea7efc8b5a72ae6349d94d4987f
|
|
| BLAKE2b-256 |
40b460bb86d8810fbd6de7c7c0595eafe623f3ee09e82412bf014539791b4ff0
|