# PlotCoder — for agents A storyline wall. Cards are scenes, beats are the big turns, arrows say what follows or pays off what. An agent driven by a person has every tool a person here has; the person directs, the agent operates. Call the tools; never fake a mouse. Already have PlotCoder's tools in front of you — list_words, read_wall and the rest, under whatever name your session gives the server or the connector (plotcoder-board, plotcoder, PlotCoder — or no name at all, only an id: know the server by its tools, list_words and read_wall)? Then your way in is this page and one more: read the day-one guide, make the calls under Call these first, and you are working. No tools in front of you? The doors are how a server is wired in. The day-one guide: https://plotcoder.com/day-one.md — about 40 KB, the method, the reading, cards and what can be left open, threads, versions, set aside, the cast, what the tools refuse and what a reply's tail means; it is cut from the whole guide, so the two say the same, and the first calls below are the ones it names. Read it once, before your first call if you can; the tool descriptions carry the rest, and the whole guide's Pages section is the one to read before write_scene. The whole guide is https://plotcoder.com/guide.md: come to it when the writer says write it, how long, export, a series, a structure to compare with, or lock the numbers. Where this page and the guide differ, the guide wins. ## Call these first 1. list_words — the room's words, the app's meaning. 2. list_workflows — what a writer can ask you for — and, in its first workflow, what a treatment should answer: the questions to put to the writer before you build, each with the tool its answer lands in. 3. list_projects — which wall you are about to read: the projects this door can see, who is on each, and which one is in hand. On an account it may be a project from earlier work that is not the one the writer means — then new_project (or open_project) comes before the three reads below, not after them. On a folder it says so, and there is one wall. 4. read_wall — the reading: the beats, the runs, the setups, and what the wall asks. The records — every card, the cast, the places, the rows — are list_board's. A fresh folder holds a sample wall (Maya, Tom, the letter) and the reading says so only when it is the sample; it is not the writer's. An account can hold a wall from earlier work that is neither the sample nor what the writer means to work now: every reading names the project it read and list_projects names who is on it; ask the writer before touching it, and new_project starts theirs beside it. 5. list_reminders — the house principles the app starts with, and the writer's own; read them before you change anything. Reminders live on the project and go with it. 6. list_board — the records — every card, the cast, the places, the rows — with their ids, which the reading does not carry and every write needs. Make the first three before anything else: list_words and list_workflows are the app's and read no project, and their first line says so; list_projects says which wall is in hand. Then the three reads — read_wall, list_reminders, list_board — of the wall you are to work, and not of a wall you are about to leave: when the writer has told you to start a project of your own, or the project in hand is not theirs to work, new_project or open_project comes first, so you never spend your first reading on someone else's wall. A write's tail counts the wall's questions until your first read_wall of the wall in hand, and quotes them after it; starting or opening a project, or opening a board, begins that again. every other reading opens with the door it came through — the project it read and how many the account holds — and a write's tail says where it landed; list_projects lists the projects. After open_project or open_board make those three again, and after new_project read the wall once it holds cards. If those calls say the account holds no project, there is nothing more to read: go to new_project next — a name is enough; pages sets the target and board names the first board when the writer has them, and set_target and rename_board set them later. On an account with no project yet, read_wall has nothing to read and says so, and list_reminders gives the house principles every project starts with. No server in front of you, and no shell to take the shell door? Nothing gets you in from inside the session: say so, and ask the person to wire the server and start a new session. ## Rules - Questions, not fixes, until the writer says. - No opinions about how many beats there should be. Marking the turns a treatment plainly makes is reading it, not an opinion: mark them, say which, and let the writer strike or add. - Page counts are estimates. - Ask before delete_board, delete_project, empty_account, delete_account, unlock_numbers, remove_file, an import_project that replaces, or claim_account — the writer gives the email and the password; never invent one. export_project first, when something might be wanted back. - Do not invent people or a logline. What the treatment states — an age, a job, a bad knee — is not invented: it goes in the person's notes. An unnamed person is named by their role — Dana's mother, the dispatcher — which is a name until the writer gives one. A scene is one place and one stretch of time; a new place or time is a new card. A beat is a whole card; a setup arrow lands on the scene's card, so a payoff never needs a card of its own. Acts are groups titled Act one, Act two, when the treatment has them; the wall never asks whether an act is a sequence. Paper colour means nothing to the app. Under target is a fact to report plainly, like over; neither is a verdict. A thing the writer has not decided is an open card in their words (set_open), or an open field — the logline, the premise, a card's place or when, a board's or the project's name take open beside the value — never a guess to fill the field; a thing whose far end the writer knows and not where it is first seen — the letter, the ring — is a thread (create_thread) with an open start, and the wall asks from that end. ## No tools in front of you? The doors — the MCP server as a package, the shell door, the hosted door at https://mcp.plotcoder.com, the account's sign-in — are on a page of their own: https://plotcoder.com/wiring.md. Someone holding the tools needs none of it.