Coding agents
One prompt for an agent with a terminal, one address for Claude.ai or ChatGPT over MCP. No token to make either way.
Send this prompt to your agent
Fetch https://sumibako.com/skill.md in full and follow it. If your web tool summarizes pages, use curl.It reads the skill and uses it for this session. Nothing is installed.
No account yet? You make one when you approve the first request. It is free, and nothing here is behind the paywall. The skill is listed and audited on skills.sh.
“Write up the migration plan and give me a link I can send the team.”
You
In your own words. The skill tells the agent when a link is what you want.
Connect this machine
WXYZ-4821
The first run prints a link: open it, check the code matches, connect. A connector asks you to sign in instead.
sumibako.com/p/Migration-plan-k2f8
The page is filed under Agent notes in your vault, and the agent hands you the address to send on.
$ npx sumibako publish docs/plans/auth.md --public Created Auth rewrite planhttps://sumibako.com/vault/Auth-rewrite-plan-jd76 Share this: https://sumibako.com/p/Auth-rewrite-plan-jd76 # ... your agent revises the plan and runs it again$ npx sumibako publish docs/plans/auth.md --public Updated Auth rewrite planhttps://sumibako.com/vault/Auth-rewrite-plan-jd76 Share this: https://sumibako.com/p/Auth-rewrite-plan-jd76Second run, same page, same link. A plan revised five times is one page, not five.
The same thing done by hand, for a specific client or for one that speaks MCP instead of running commands. Two steps either way. A terminal needs nothing pasted and reads the file off disk, so a 30KB plan costs nothing to send; Claude.ai and ChatGPT connect over MCP, sign you in and ask what to allow.
Which agent are you connecting?
Point it at a Markdown file in your project. The first time, this prints a link instead of filing anything, because this machine is not connected yet.
$ npx sumibako publish docs/plan.md --publicCheck the code on the page matches the one in the terminal, then approve. Run the same command again and it files the page and prints the link. From then on there is nothing to approve: publishing a revised file updates the same page, so a plan revised five times is one page and one link, not five.
Gives Claude Code the tools directly instead of a command. The command line is still the better path here, because it reads the file off disk rather than sending it through the model.
claude mcp add --transport http sumibako https://sumibako.com/api/mcp \
--header "Authorization: Bearer sbk_your_token_here"The skill is what teaches an agent the rules here, including the part about not creating duplicates. It is one Markdown file, and you can read it before your agent does at sumibako.com/skill.md.
Six tools, the same over MCP and the command line. Read and write are always granted. Publishing is the one you choose when you make a token; a connector you sign in to may publish only pages it wrote.
| Tool | Needs | What it does |
|---|---|---|
| write_page | Write | Files Markdown as a page, creating it or updating one it has seen before. |
| read_page | Read | Reads a page back as Markdown, which is the form to edit and send back. |
| edit_page | Write | Adds to a page, or replaces one exact piece of text, without re-sending the rest. |
| search_pages | Read | Finds pages by their words, or lists the newest when asked for nothing. |
| publish_page | Publish | Puts a page on the web and returns the link, or takes it back down. |
| get_account | Read | Plan, limits, usage, and what this connection is allowed to do. |
Delete anything
There is no delete in the API at all, so a loop cannot destroy your writing. Unpublishing takes a link off the web and leaves the page where it is.
Put your notes in front of strangers
Published pages carry noindex, and turning that off is a decision you make yourself, per page, in the app. An agent can produce a link to send to someone; it cannot make one findable by a search engine.
Reach anyone else's vault
A token is scoped to the account that made it and nothing else.
Publish, if you said no
Turn the permission off when you make the token and it can still read, write and edit, privately.
The full surface, for when you want it. None of it is needed to finish the setup above.
A page you no longer have on disk is still editable: open --markdown prints it as Markdown, and that is the same text --find matches against.
The same capabilities over plain HTTP, for a script or a CI job that would rather not shell out. Send the token as a bearer header. Errors come back as JSON with a stable code, so a client can tell a plan limit from a bad request without reading the sentence.
curl -X POST https://sumibako.com/api/agent/v1/pages \
-H "Authorization: Bearer $SUMIBAKO_TOKEN" \
-H "Content-Type: application/json" \
-d '{"externalId":"docs/plan.md","markdown":"# Plan\n\nFirst draft.","publish":true}'A hosted connector signs you in rather than taking a token. Paste the address, press Connect, and you are shown what the connector may do before anything is granted.
What it may do is narrower than what a token can do. It reads and writes pages, and it can put a page it wrote on the web so it can hand you a link. It cannot delete anything, and it cannot publish a page you wrote yourself - that stays yours, whatever you approve. A token you create can do all three, because you tick the boxes.
Each connection gets its own row under Settings, Coding agents. Revoking it there stops it on its next request. Removing the connector at the other end is a separate action, and worth doing too - revoking here makes it stop working, not disappear from the app you added it to.
Anything that can run a command or speak MCP. Claude Code, Codex and Cursor have a terminal, so the CLI is the better path there - the file goes straight from disk instead of through the model. Claude.ai and ChatGPT have no terminal, so they connect over MCP and sign in rather than holding a token. A CI job can use either the CLI or the HTTP API directly.
No, as long as it uses the default behaviour. Every page is filed under a stable key, which the CLI sets to the file's path in the repository, so filing the same document again updates the same page. That is the single most important behaviour here: an agent revising a plan five times in a session produces one page and one link, not five.
Yes. It reads the page back as Markdown, changes the part that is wrong, and writes it back - or appends a line without touching the rest. A replacement has to match exactly once; if the text it is looking for appears twice, the request is refused rather than guessed at, because guessing rewrites the wrong paragraph and nobody finds out.
The previous version is kept for fourteen days, and the last twenty revisions of a page are available under Version history in the document menu. Restoring snapshots the current state first, so a restore is itself undoable.
It copies one Markdown file into your agent's skills directory - Claude Code, Cursor, Codex, Copilot and around forty others, whichever it finds installed. It is the ecosystem's own installer, not ours, and it runs no code from us at any point. The file teaches your agent what Sumibako is and the rules for using it well, so you never have to name the tool in a request. You can read it before installing: it is one file in a public repository.
Yes. Paste the prompt at the top of this page and your agent fetches the skill from sumibako.com/skill.md and follows it for that session, with nothing copied into its configuration. The difference from npx skills add is only permanence: add copies one file into every agent on the machine and is done, the prompt leaves nothing behind and has to be pasted again next time.
Almost never. An agent that can run commands prints a link on its first run, you approve it in the browser, and it carries on - nothing typed, nothing pasted, which is also why the agent can start the setup itself instead of waiting for you. An agent with no terminal signs in the same way: paste the address into its connector form and approve what it asks for. What still wants a real token is a caller with nobody at a screen, which means CI and scripts, where it goes in an environment variable.
No. A token is not a session. It can only reach the pages endpoints, it carries only the permissions you gave it, it cannot delete, and it cannot change your account or billing. Revoke it in Settings and it stops working on its next request.
Both take an agent's Markdown perfectly well. Neither can hand it back as a link. Notion has no API or tool that turns on Share to web, so somebody opens Notion and clicks through Share and Publish for every page; Obsidian has no hosted page at all unless you buy Publish for a whole site. Here publishing is one flag on the same command, and the address it prints keeps working when the agent revises the file.
Under a page called Agent notes, made the first time an agent writes and never again. That keeps a plan-per-session out of the middle of your own writing. It is an ordinary page once it exists, so rename it, move it, or drag things out of it; new arrivals still land there, because it is tracked by id rather than by name.
No, and the free plan is not a trial of this. It holds 1,000 pages and 1,000 published ones, which is more agent-written pages than a person files in a year. Pro removes both ceilings and raises storage, and that is the whole difference.