SPICEHomeOperationsMissionsBusiness appsKnowledgeGovernancePlanMake a requestApprovalsDigestSitesBoardsCentral Administration

City Registry · the Yellow Pages

75 tool(s) you may use · mission, inputs, output, access — grouped by taxonomy

(untaxed)

Tool Mission Required Optional Output Access
Tool.AddFile Add a public document (PDF datasheet, spec, web page) to a library by its URL (PnP Add-PnPFile): fetched by SPICE from public addresses only, its text extracted page by page into a ContentType.SourceDocument row keyed from the URL (a re-add replaces it). site, url list, key Member
Tool.AddNodes BRAINSTORM.23g: put many items on the mind map in one call, all children of one parent - SharePoint's UpdateListItems batch of New commands. Deterministic (the caller names the titles); written as the tool, so on the moderated Ideas list they wait for approval. Skips titles already under that parent. parent, titles site, list Member
Tool.AdvanceListItem Move a list item to the next Status its ContentType's Transitions declare (SharePoint's workflow status move): validates the arc, refuses an undeclared move and a missing RequiresField, then persists; an arc that declares Workflow= starts that workflow on the item. Same move as the form's Next-step button. site, list, itemId, to Member
Tool.Advise The city advisor: gather the city's wisdom (KnowledgeArticles) + agency (crews) + open gaps + building blocks, analyse where the gaps are, and return ranked SUGGESTIONS - what to build/approve next, which single-covered seats to staff, and the next standard to borrow. The anti-paperclip move (Bostrom's maximiser lesson): it PROPOSES, you dispose - it never makes a system change itself. Deterministic, no LLM. A building-block station: compose before Tool.MakePage and the belt publishes the suggestions as a page. Args: none. Member
Tool.ApprovalGate V11.23i a reusable governance gate station: halts a pipeline before a step that spends money (estimatedCostUsd over costThreshold, default 1.00) or touches an external system (external=true), and raises a Pending checkpoint on /approvals. Passes through with approved=true, or when neither costly nor external. The 'get me onboard before we commit money/external' control. Args: approved, estimatedCostUsd, costThreshold, external, pipeline, reason, summary. Deterministic, no LLM. approved, estimatedCostUsd, costThreshold, external, pipeline, reason, summary Member
Tool.ApproveBuild The operator's approve+build for a PARKED autonomous build (the human half of the anti-paperclip gate). When autonomous builds are gated, the crew parks a composable build as a Pending approval on /approvals; this records the matching Approved entry and then builds it (delegates to Tool.RequestCapability ungated). So a system change happens only on a human decision. Args: need (required), routingId/site/from (optional). need routingId, site, from Member
Tool.ArXiv Fetch and index academic papers from arXiv.org Member
Tool.Ask V11.23c ask the agency layer what handles a need: posts your question (Chat) to the Hub bus (see /comms) and answers deterministically from the declared agencies/pipelines - recommends the best agency, its entry CEO to send a Task to, and the pipelines it can run. The resolve step of the handoff router (no LLM). Args: input (required), from (optional). input from Member
Tool.BuildPipeline V11.23h the self-evolution primitive: build a NEW pipeline at runtime from existing catalog machines, written as declared rows (machine-bound WorkCenters + Routing + ordered RoutingOperations) via the provisioning seam - so it appears on /blueprints and is runnable via Tool.RunPipeline immediately. No code, no new grammar; this is the minimum block that lets the system build the rest itself (gap -> research -> build -> runnable). Args: routingId (required), then machines (csv of Tool ids, in order) OR need (composed from the catalog); optional site (default Manufacturing), title, product. Idempotent per row-Key. routingId machines, need, site, title, product Member
Tool.Catalog.FitsRequisition Judge every catalog candidate of a purchase requisition's category by its declared fit rules (DT.Catalog.Fits.Category: each rule Yes, No or Unchecked with the reason) and price them by the catalog rollups; recommend the cheapest fitting candidate delivered to the requisition's country within its budget. Args: site, list, itemId (the requisition); recommend=true also writes RecommendedOfferRef and a Fit check section to the requisition's Comments as the caller. site, list, itemId recommend Member
Tool.CityAutopilot The city's LLM-agent OODA step: one autonomous pass that OBSERVES the city (Tool.CityStatus), DECIDES the single next capability to build (Tool.Llm reasoning over the briefing), and ACTS (Tool.RequestCapability - build it when composable from the building blocks, else escalate a gap). Pure orchestration over existing machines; the composable-only safety boundary is inherited from Tool.RequestCapability. Safe no-op when no real LLM is configured (offline Echo provider observes only). Args: dryRun (optional - observe+decide without acting), from (optional requester). dryRun, requireApproval, from Member
Tool.CityStatus Query the city: one consolidated briefing of the platform's live state - machine + building-block + crew counts, the production lines that have run, pending approvals, and the open capability gaps (what needs doing). The read half of self-management; pairs with Tool.RequestCapability / Tool.BuildPipeline / Tool.RunPipeline to act. No args. Deterministic, no LLM. site Member
Tool.ComposeBriefing AGT.67: a seat's briefing composed from the layers declared in Scope.SeatBriefing (global rules, hubs, open work, the seat's own site, and approved wisdom when a topic is given): each layer is a SavedQuery, a fact an earlier layer delivered is not repeated, each layer keeps to its character budget and says what it held back. Args: seat (required), topic (optional, turns on the task layer). Member
Tool.CostRollup Roll up router-recorded LLM spend over a period. Returns Markdown showing total spend, top departments, top models. Args: sinceDays / sinceHours / topN. sinceHours, sinceDays, topN Lead
Tool.CrawlContentSources BRAINSTORM.9: crawl every ticked content source with its provider and upsert one mind-map node per folder under a root node per source; re-crawling merges. site, sources, list Member
Tool.DeepResearch Tavily research for in-depth multi-source synthesis Member
Tool.Dispatch V11.23d the handoff router's execute step: resolve a need to the best declared agency + its best-matching pipeline, post the Task to the Hub bus (Submitted->Done on /comms), and RUN the pipeline via Tool.RunPipeline (cost + provenance on /production). Args: input (required need), site (optional, default Manufacturing), from (optional). Operator + recursive sub-agency execution are later slices. input site, from Member
Tool.ExportDeckPptx V11.22g Markdown outline -> real .pptx (PresentationML) export via dependency-free OpenXML - the download sibling of Tool.RenderSlideDeck (same outline grammar, same parse). Args: outline (required Markdown, one '#'-heading per slide, '-'/'*' bullets), topic (optional cover title), audience (optional cover subtitle). Output: a Markdown summary followed by the .pptx package as Base64 (data:pptx;base64,...). Emits the ISO/IEC 29500 minimal part set (presentation + presProps + master + layout + theme + one part per slide) so PowerPoint opens it without repair. outline topic, audience Member
Tool.ExportDocumentDocx V11.22f Markdown -> real .docx (WordprocessingML) export via dependency-free OpenXML - the download sibling of Tool.RenderDocument (same Markdown subset, same input). Args: markdown (required body), title (optional), author (optional). Output: a Markdown summary followed by the .docx package as Base64 (data:docx;base64,...). Closes the OpenSwarm 'Docs Agent -> Word' gap the system way: an OPC package is a zip of XML parts, so no library is needed. markdown title, author Member
Tool.FetchKnowledge Fetch a knowledge slot on demand. Use when you need data that wasn't pre-loaded into the briefing - recent items from a list, an actor's memory log, or a saved CAML query summary. Argument: expression='Kind(arg, name=value)'. expression Member
Tool.FileIssue BRAINSTORM.26b: an agent files what it cannot do or fix itself on the backlog's Issues list (/sites/Projects/Lists/Issues) - Bug, Improvement (a suggestion), New Feature (a missing tool or capability) or Feedback - so being stuck becomes a work item, not a dead end. Deterministic; an open issue with the same title is not filed twice. kind, title, description context Member
Tool.FindStockMedia V11.22u stock-media station: real stock photos for a query via Pexels (free tier) - the B-roll/visuals stage, a sibling to image generation. Args: query (required, or 'topic'), count (1-10, default 3), orientation (landscape/portrait/square). Returns Markdown photo URLs + photographer credit + Pexels page (attribution). Gated on Plugins:pexels:ApiKey; degrades to a success notice when absent so it is pipeline-safe. query count, orientation Member
Tool.GenerateImage V11.22k image generation as one machine with interchangeable vendors (IImageProvider strategy). Args: prompt (required), provider (optional: pollinations [free/keyless, default] | cloudflare [FLUX, free tier, 1024x1024] | gemini [Nano Banana, needs billing] | fal [paid]), model/width/height/steps (optional). Returns the image inline as a data:image base64 URI (vendors return bytes; a URL-only vendor surfaces its link). Keyed vendors degrade to an actionable 'not configured' notice. prompt provider, model, width, height, steps Member
Tool.GenerateVideo V11.22e provider-agnostic video generator (Sora / Veo / Seedance / RunwayML). Gated on Plugins:videogen:ApiKey + Plugins:videogen:Endpoint - degrades silently when either is absent. Args: prompt (required), durationSec (optional, default 8, capped at 60). Returns Markdown summary of the request + raw response. Cost-aware by design: durationSec clamping + V8.5a per-actor cost ceiling on Actor.VideoGen. prompt durationSec Member
Tool.GetFile Read the extracted text of a library document a page range at a time (PnP Get-PnPFile -AsString), with its page count and source URL; read-gated like the list. site, itemId list, pages, maxChars Member
Tool.ListSchema Returns a list's resolved ContentType field schema as JSON. Call before AddListItem to learn what fields the list expects. site, list Assistant
Tool.ListSiteTemplates BRAINSTORM.27c: SharePoint's template picker for agents - the templates a site can be created from, with key (STS#0), category, the lists and features they bring; catalogue=true adds SharePoint's full WEBTEMP catalogue and the Fab 40, built or not. category, catalogue Member
Tool.Llm DeepSeek-backed language model for reasoning, drafting, and code generation Member
Tool.MakePage V11.23l a Parts-Factory machine: manufacture a SharePoint page artifact by cloning a declared page template (Scope.PageTemplates), filling its {{tokens}} from the args, and writing a ContentType.Page item (PageName/Title/Layout) into the site's pages library via provisioning - so it renders the normal SP way at /sites/{site}/Pages/{slug} (Page.xslt + MasterPage). Idempotent per page key; C# is the seam, the template + rules are data. Args: site, pageName (required), title, template (default OneColumnHtml), list (default SitePages), plus template tokens (e.g. body). site, pageName title, template, list, body Member
Tool.ProposeProject BRAINSTORM.22: the demand funnel (Project Server demand management) - turns a mind-map node into a proposal: ONE approval request that, when approved, creates the project on /sites/Projects (Status Planning), one ProjectTask per approved child node in map order, and links the node back (ProjectRef, Stage Project). The node moves to Stage Proposal at once. Deterministic, no model. site, list, itemId code Member
Tool.ProposeSiteKit BRAINSTORM.28d: the New site outcome - takes a node's approved site kit (child shape-kit-node, a PnP Provisioning Template), maps it with the PnpToDelta XSLT into fields, content types and a list feature for the target site (a new site from Brainstorm.SiteKitTemplate when it does not exist), and parks ONE approval request. Deterministic, no model. site, list, itemId, target Member
Tool.QualityGate V11.22r QC inspection station: checks the payload (defaults to priorOutput) against acceptance criteria - mustContain (';'-separated required substrings), forbid (';'-separated banned substrings), mustMatch (';'-separated XPath assertions, payload parsed as XML). On pass it returns the payload unchanged (transparent filter); on fail it returns success=false so the run halts (the QC gate + rework). XSD structure + Schematron-in-XPath business rules, reusing existing protocols. payload, mustContain, forbid, mustMatch Member
Tool.ReadNodes BRAINSTORM.17: read mind-map items by id with progressive disclosure - a summary (title, path, status, parent, children, links) or every column. ids site, list, detail Member
Tool.RenderDocument V11.22d inline Markdown -> HTML5 document renderer with a print-friendly stylesheet. Subset supported: headings (# ## ###), paragraphs, bullet lists (- or *), numbered lists (1.), bold (**text**), italic (*text*), inline code (`code`), links ([text](url)), images ![alt](src). V11.22j: an image src of gen:prompt resolves to a free Pollinations image URL. Args: markdown (required body), title (optional cover heading), author (optional byline). Output: complete HTML5 document - any headless-Chromium wrapper can ingest it for PDF export. View live at /studio/doc. markdown title, author Member
Tool.RenderSlideDeck V11.22b inline Markdown -> HTML5 deck renderer. One section per '#'-prefixed slide heading; '-'/'*' bullets become li entries. V11.22j: a Markdown image line ![alt](gen:prompt) adds a hero image to the slide - gen: resolves to a free Pollinations image URL (browser fetches it; renderer stays pure), http(s) URLs pass through. Args: outline (required Markdown), topic (optional cover title), audience (optional subtitle). Output: complete HTML5 document with a self-contained inline stylesheet. No file I/O - the caller chooses where to persist. View live at /studio/deck. outline topic, audience Member
Tool.Request V11.23e the agency MVP front door: drop a need and it triages via the declared DT.AgencyTriage DMN table (Kind + HasHandler -> Answer | Process | Decompose) and acts - Answer via Tool.Ask, Process via Tool.Dispatch (runs a pipeline). The decision is logged on /comms. Args: input (required), kind (chat|task|multitask, default task), site (optional, default Manufacturing), from (optional). input kind, site, from Member
Tool.RequestCapability The crew's capability front door (the Factorio research-tree move): drop a need and it either BUILDS it from the existing building-block machines (delegates to Tool.BuildPipeline when fully composable from the catalog) or REQUESTS a new block (files a gap to /gaps + /forge naming the missing primitive) when the crew can't build it from their blocks. Pure orchestration over Tool.ResearchGap (compose-check) + Tool.BuildPipeline (self-build) + the gap backlog (request). Args: need (required), routingId (optional, derived from the need), site (optional, default Manufacturing), from (optional). need routingId, site, from, requireApproval Member
Tool.RequestFeatureActivation BRAINSTORM.27c: Manage site features > Activate, as a request - parks an ActivateFeature on a site for approval. feature, site justification Member
Tool.RequestFeatureStapling BRAINSTORM.27c: SharePoint's feature stapling as a request - parks a stapler Feature (FeatureSiteTemplateAssociation) so every new site from a template gets a feature. feature, template justification Member
Tool.ResearchGap V11.23g the Research plant's core: compose a candidate pipeline for a capability gap from existing catalog machines (keyword match over Tool parts), and flag the need's aspects no machine covers as 'needs a new machine (code)'. Reuse-first; code is the rare escalation. Posts the proposal to /comms. Args: input (required need). Deterministic, no LLM. input Member
Tool.RunPipeline V11.22m/o the agency's pipeline machine. DNA path: pass routingId (+site) to run a DECLARED Routing from the DB - its operations + station MachineToolId bindings (the ISA-88 procedure model, reusing Erp.Tm). Ad-hoc path: pass steps (JSON array of {name, tool, args?}). Threads each step's output to the next as priorOutput (Pipes-and-Filters: stations talk through the payload, not to each other), returns a JSON run record (genealogy). Any other args are shared run inputs. Fail-fast: a failed step stops the run. routingId, site, steps Member
Tool.SearchRows BRAINSTORM.17: search list items by words across the lists MapChat.SearchLists names (SharePoint search's result source, as data); returns ids, paths and snippets. query limit, lists Member
Tool.SelectXPath A building-block station that reads ONLY the slice of the payload it needs, via XPath, and leaves the rest of the belt untouched - the Pipes-and-Filters / Content-Enricher discipline as a reusable filter machine. A line composes it to pull a node from an upstream XML product (xml={{priorOutput}} xpath=//Deck/Title); the slice becomes this step's output. Args: xml (required), xpath (required), separator (optional, joins multiple matches). Deterministic, no LLM. xml, xpath separator Member
Tool.SendMessage V11.23a the agency send_message: post a typed message or task onto the Hub bus, addressed to an operator or agency. Args: to (required target), input (required body/task), kind (chat|task|multitask, default task), expectedOutput (optional acceptance target), from (optional sender), parentId (optional sub-task link). Monitored on /comms; the dynamic handoff router (later cycle) picks up posted Tasks and routes them to a competent handler (operator | pipeline | sub-agency). to, input kind, expectedOutput, from, status, parentId Member
Tool.SiteContents BRAINSTORM.27d: SharePoint's Site Contents for agents - what a site is for and what each list holds, one line each, with the links to the list and About this list. The first step of progressive disclosure; Tool.ListSchema is the next. site Member
Tool.Storage Read/write to the SPICE storage layer (lists, libraries, property bag) Lead
Tool.SuggestIdeas BRAINSTORM.5: propose child ideas for a mind-map node - one model call over the node, its path, siblings and children (rejected ideas fed back as do-not-repeat), each idea written as a child row that waits for approval (content approval on the list). site, list, itemId steer, count Member
Tool.SyncExternalList STUDIOS.6: keep a list in step with a line-of-business system (SharePoint BCS External List): fetch each named Connector, map its body to rows with its Transform, upsert every row by its key - merge an existing item (only the connector's own columns change), add a new one. Deterministic, no LLM. connector, site, list key, contentType Member
Tool.TransformXslt V11.22n declarative pipeline transform station: apply a declared XSLT to the XML payload (reuse-of-XSLT, no code per transform). Decoupled - reads only its input + stylesheet, nothing about adjacent stations. Args: xslt (required stylesheet string), xml (payload; defaults to priorOutput from the previous station). Returns the transformed XML/text. mapper, xslt, xml Member
Tool.WebFetch Fetch a public URL as text (web_fetch); LAN and private addresses are refused. url maxChars Member
Tool.WebSearch Search the public web for technical references and current information Member

Comms/Inbox

Tool Mission Required Optional Output Access
Tool.SendMail Deliver a message to the operator's in-city mailbox (the Hub Inbox list, read at /sites/Hub/Lists/Inbox). The city has no real email - this list IS the inbox, so use this when you would 'email' or 'notify' the operator with a summary or update. Args: subject (REQUIRED), body (REQUIRED), from (optional). Returns an XML <MailDelivered>. body subject, from, key XML <MailDelivered> Member

Governance/Provisioning

Tool Mission Required Optional Output Access
Tool.ContentOrganizerProcessing SharePoint's Content Organizer Processing job: routes again what still waits in every site's Drop Off Library. No arguments. Pointer text Manager
Tool.RecycleBinCleanup SharePoint's Recycle Bin timer job: purges every site's recycled rows older than RecycleBinRetentionPeriod days (Scope.RecycleBin). No arguments. Pointer text Manager
Tool.RequestSite Request a new site from an offered site template (SharePoint's self-service site creation with approval): validates the template (not Hidden), the name (letters/digits, not taken) and parks an Open ApprovalRequest carrying the AddSiteBlueprint delta. An approver's Approve verdict builds the site; the tool never builds. Args: template, siteName, requester, justification. template, siteName requester, justification Pointer text Member
Tool.ReviewInactiveSites SharePoint's inactive site policy, the notify half: lists the site collections with no new content in InactiveSite.Days (Scope.SitePolicies), leaving out sites already locked ReadOnly/NoAccess and My Sites, and delivers ONE message a week to the operator's Hub inbox (Tool.SendMail) with each site's last content date and the farm map link /admin/farm, where a farm administrator locks it. Never locks anything itself. No args. Pointer text Member

Integration/Call

Tool Mission Required Optional Output Access
Tool.CallConnector Make the HTTP call declared by a Connector part - endpoint, verb, headers and body all come from the declaration rather than from the call, so an outbound integration is DATA. Any extra argument is substituted into the connector's {{token}} placeholders, which is how one connector serves many seats or symbols. A connector whose endpoint still contains an unresolved {{env:VAR}} is deliberately NOT called and reports that fact, so an integration stays inert until an operator sets the variable. Args: connector (required - a Connector part Id), plus whatever tokens that connector declares. connector Pointer text Member

Knowledge/Chat

Tool Mission Required Optional Output Access
Tool.ChatAgent V25.92 chat with an agent or agency and get a real in-character LLM reply. Composes the agent's persona (role/goal/backstory) and routes your message through the agent provider router (with cost telemetry + fallback - replies via the Echo stub when no provider key is set). Both your message and the reply post to the Hub bus as Chat, so the exchange animates on the Observatory and shows on /comms. Args: to (required agent/agency id; an agency answers as its entry CEO), input (required message), from (optional sender, default 'operator'). to input, from, preview, scope, trace text (in-character reply) Member

Knowledge/Evolution

Tool Mission Required Optional Output Access
Tool.DualDispatch V25.96 assign the same task to two agencies, but only when they share the task's domain expertise (otherwise single-dispatch). Reuses the deterministic agency ranker for the same-domain decision; each selected agency answers as its entry CEO through the provider router (cost gate + fallback). Outputs are A/B'd, posted to the bus as a MultiTask bundle so the eval loop scores each district, and filed to the wisdom ledger (default home Agency.Research). Bounded to at most two dispatches - no swarm. Args: input (required task/brief), from (optional, default 'operator'), home (optional wisdom-library agency, default 'Agency.Research'), bar (optional min domain-match score, default 1), file (optional 'false' to skip filing). Returns an XML <DualDispatch> with each agency's answer. input from, home, bar, file XML <DualDispatch> Member
Tool.EvaluateRun Evaluate a populate run and file a ModelEval verdict: reads the most recent sources from the populated list, scores them with an LLM-as-judge on the five-dimension rubric (coverage, specificity, citation, actionability, honesty), and writes one ModelEvals row attributing the score to the model that produced the sources (recomparable over time). Args: site/department (default ResearchEnrichment), list (populated list to read, default Sources), evalList (default ModelEvals), task (default source-extraction), model (EvalModel override; defaults to the rows' dominant SourceModel), sample (recent rows to judge, default 8). Returns a pointer; writes no eval if there is nothing to judge or no provider answers (never fabricates a verdict). site, list, evalList, task, model, sample Pointer text Member

Knowledge/Publish

Tool Mission Required Optional Output Access
Tool.DeleteListItem Delete a list item (SharePoint UpdateListItems Cmd=Delete). The row goes to the site recycle bin and can be restored from /sites/{site}/_recycle. With the Write right a caller may delete rows it authored; deleting another's row (or one with no Author) needs Manage. Args: site (REQUIRED), list (REQUIRED), itemId (REQUIRED - the row key, 'item:' prefix optional). site, list, itemId JSON Member
Tool.ExtractSources Populate the Source Library: mine research text into N rated, taxonomized SourceCard rows. Routes one LLM call asking for each cited source as a labeled block (URL/TITLE/CATEGORY/RATING/WHY), clamps rating + category to the declared SourceTaxonomy vocabulary, and writes the rows to the Sources list. Args: input (REQUIRED - research to mine, or a prior step's output), site/department (default ResearchEnrichment), list (default Sources), model (the SourceModel stamp; defaults to the provider used), max (cap, default 8). Returns a pointer; writes 0 rows + an honest error if no provider answers (never fabricates sources). input, site, list, model, max Pointer text Member
Tool.HarvestFeeds Fill the Source Library from the declared feed Connector parts (RSS/Atom): fetch each feed, write one SourceCard per item carrying the feed's own title, link and summary, and skip URLs already catalogued. Rates nothing - rows land SourceRating=Unrated, so machine-collected rows stay one facet click away from judged ones. No LLM call, no cost. Args: connector (optional - one Connector id or a comma list), taxonomy (optional - a Connector Taxonomy group, e.g. Radar/Models; with neither, every UNTAGGED feed), site/list (default ResearchEnrichment/Sources), contentType (optional - a SourceCard child the target list declares, e.g. ContentType.ModelRelease), max (items per feed, default 15). Returns a pointer; a dead feed is named rather than folded into the total. connector, contentType, taxonomy, site, list, max Pointer text Member
Tool.HarvestQuotes Record today's price for every instrument on the declared watchlist (Scope.Watchlist) as one typed MarketSignal row per symbol per day: price, percent move since the previous close, currency, exchange and observation time. Keyless, deterministic, no LLM. Re-running the same day is a no-op; tomorrow adds a row, so the list becomes a price history rather than a snapshot. Args: connector (default Connector.YahooQuote), site/list (default MarketDesk/Signals). connector, site, list Pointer text Member
Tool.ModerateListItem Approve or reject a list item on a list with content approval (SharePoint UpdateListItems Cmd=Moderate): status 0 Approved, 1 Rejected, with an optional approval comment. A pending or rejected item is seen only by approvers and its author. Needs the approve right on the list (Edit level or higher). Versioned, fires ItemUpdated. Args: site (REQUIRED), list (REQUIRED), itemId (REQUIRED - the row key, 'item:' prefix optional), status (REQUIRED, 0 or 1), comment. site, list, itemId, status comment JSON Lead
Tool.PublishToList Publish a pipeline step's output as a typed, retrievable list item. Files the prior step's output (or an explicit body) as one row in a named list so it is FetchKnowledge-retrievable via ListView. Args: list (REQUIRED), site/department (REQUIRED), contentType (optional - validates the row), bodyField (field that receives the body, default 'Body'), titleField (default 'Title'), title (optional - derived from the first line), summaryField (optional - a bounded lead from the body), key (optional - a stable row id, 'item:' prefix optional, default a fresh row-<guid>; publishing again with the same key REPLACES that whole row, so a re-run is idempotent - to change single fields use Tool.UpdateListItem), and field-<Name>=<value> for extra typed fields. Returns a short pointer sentence (so a downstream SendMail delivers a pointer, not the body). list site, contentType, bodyField, titleField, title, summaryField, body, key Pointer text Member
Tool.UpdateListItem Update fields on an existing list item (SharePoint UpdateListItems Cmd=Update / MERGE): only the field-<Name>=<value> args supplied change, every other column keeps its value. Each field must be declared on the row's ContentType and validate; Author and _-prefixed engine fields are refused. Same write as the list Edit form: versioning snapshot, policy gate, ItemUpdated alerts and webhooks. Args: site (REQUIRED), list (REQUIRED), itemId (REQUIRED - the row key, 'item:' prefix optional), field-<Name>. Returns JSON with the changed field names. site, list, itemId JSON Member

Knowledge/Query

Tool Mission Required Optional Output Access
Tool.XQuery Run an XQuery 3.1 expression over the MERGED part spine (central Parts.xml plus every App manifest plus the cycle ledger) and return the result. Keyless, deterministic, no LLM. This is how an agent asks the platform about itself - which parts exist, what a Feature declares, which cycles shipped - instead of grepping 14 files. The Saxon Processor refuses all external resource resolution (da5561d), so doc(), unparsed-text() and http URIs cannot reach the filesystem or the network. DECLARED 2026-09-22: the invoker (XQueryToolInvoker.cs:16) had claimed this ToolId since it shipped, but NO Tool part declared it - so the tool the Ship Manual tells agents to use was itself invisible to //Tool, and any RequiresTool reference to it hard-failed XSD IDREF at boot. Found by dogfooding, when the de-risk crew was declared as parts and could not name the tool it uses. query, tag Pointer text Member

Platform/Academy

Tool Mission Required Optional Output Access
Tool.TrainingDrill Run the city-agent training drills: for each declared challenge (Scope.TrainingDrills - a task + the expected tool), show a test agent the registry summary and score whether it discovers the right tool ('can our agents use the city?'). Each result posts to the bus so the eval loop scores Agency.Academy. Args: role (level given to the test agent, default Member), from (optional). Returns an XML Training report with per-drill results + an overall score. roles, role, from XML <Training> Member

Platform/Registry

Tool Mission Required Optional Output Access
Tool.Registry The City Registry lookup: returns a role-scoped manifest of the tools you may use - each tool's mission, required and optional inputs, the output it returns, its taxonomy path, and the access level. Joins the declared Tool parts with their live arg schemas; gated by role. Progressive disclosure: summary by default, detail=full or tool=Tool.X to drill in. Args: role (default Manager), query (taxonomy/name/mission keyword), detail (summary|full), tool (drill one). Returns an XML Registry of Component manifests. role, query, detail, tool XML <Registry> Member

SelfBuild/Genesis

Tool Mission Required Optional Output Access
Tool.AutoGenesis The gated self-build loop. Senses the city's most-demanded UNMET capability over GapSink (deterministic, no LLM), drafts a minimal-agency delta (AddAgency + entry AddActorProfile), and PARKS one Open ApprovalRequest per need. NEVER builds directly: a human Approve verdict drives the existing quorum + applier loop to birth the district. Honest + safe: refuses on thin signal (< 2 distinct non-seed origins, #30), self-excludes Genesis/AutoGenesis/seed demand, closes a need only when a WORKING agency serves it, caps district sprawl at 2 idle births, and enforces role >= Manager. Args: role (REQUIRED, >= Manager), from (default scheduler), floor (optional). Returns an XML <AutoGenesis>. role from, floor XML <AutoGenesis> Manager
Tool.BuildDivision Propose a new department/agency SITE - a Mission Division (its own lists, features and crew) - from a free-text description of what it should do. Deterministic and gated: composes one AddSiteBlueprint (SiteTemplate.MissionDivision) and PARKS it as an Open ApprovalRequest; a human Approve verdict then builds the site. Never builds directly. Args: task (REQUIRED), from (optional). Returns an XML <DivisionProposal>. task from XML <DivisionProposal> Manager

SelfImprovement/Skills

Tool Mission Required Optional Output Access
Tool.ExtractSkill Seal a successful production run into a new declarative <Skill> part - the missing half of the self-improvement loop, so proven routes compound instead of evaporating. Reuses the provisioning seam (<AddSkill>): no new part kind, no new write path; the run's machine sequence becomes the Skill's RequiresTool chain, and it round-trips on /agency/parts immediately. Honest by design: refuses to seal a run that did not succeed (#30) and is idempotent. Args: pipelineId (optional - else the latest successful run), skillId (optional - else derived), category (default Processing), name, from. Returns an XML <SkillExtraction>. pipelineId, skillId, category, name, department, role, gate, from XML <SkillExtraction> Manager

Strategy/Readiness

Tool Mission Required Optional Output Access
Tool.ReadinessScore Deterministic readiness scorecard (no LLM) over the live Board.Health eval loop: scores each value-stream (district), EXCLUDES Agency.Strategy's own district so the instrument never grades itself, and emits a confidence / signal-density that refuses a confident verdict when the health signal is thin (V25.91). The honesty half of the Strategy office; Tool.Roadmap consumes it. Args: none. Returns an XML <ReadinessScorecard>. XML <ReadinessScorecard> Manager

Strategy/Roadmap

Tool Mission Required Optional Output Access
Tool.Roadmap The city's decider: gathers the deterministic readiness scorecard (Tool.ReadinessScore) and has the Chief Strategy Officer reason over it to produce an advisory verdict - what to build first and when, plus a go/no-go on standing up a heavy hosted product - filed to the strategy ledger and rendered on /board/strategy. Honest by design: on thin signal it refuses a confident verdict without burning an LLM call (#30). Advisory only - recommends, never gates. Args: from (optional, default 'scheduler'). Returns an XML <Roadmap>. from XML <Roadmap> Manager