Tool tree
gradeNot graded
list_foldersAnswer
List the person's folders already connected to GoodFolder with protection status and when each was last saved. This dashboard cannot connect or save a local filesystem folder.
View tool JSON
{
"name": "list_folders",
"kind": "answer",
"impl": "imperative",
"description": "List the person's folders already connected to GoodFolder with protection status and when each was last saved. This dashboard cannot connect or save a local filesystem folder.",
"inputSchema": {
"type": "object",
"properties": {},
"required": [],
"additionalProperties": false
},
"page": "/dashboard?demo=1"
}get_local_save_guidanceAnswer
Explain how to protect and save an existing folder on the local computer. Use this when someone asks to save or protect a local folder: the dashboard is not a save surface and this tool makes no changes.
View tool JSON
{
"name": "get_local_save_guidance",
"kind": "answer",
"impl": "imperative",
"description": "Explain how to protect and save an existing folder on the local computer. Use this when someone asks to save or protect a local folder: the dashboard is not a save surface and this tool makes no changes.",
"inputSchema": {
"type": "object",
"properties": {},
"required": [],
"additionalProperties": false
},
"page": "/dashboard?demo=1"
}get_workspace_contextAnswer
Read which GoodFolder, document, and Change Proposal the person currently has open.
View tool JSON
{
"name": "get_workspace_context",
"kind": "answer",
"impl": "imperative",
"description": "Read which GoodFolder, document, and Change Proposal the person currently has open.",
"inputSchema": {
"type": "object",
"properties": {},
"required": [],
"additionalProperties": false
},
"page": "/dashboard?demo=1"
}list_filesAnswer
List every file in the GoodFolder currently open, including which documents can be read or edited in the dashboard.
View tool JSON
{
"name": "list_files",
"kind": "answer",
"impl": "imperative",
"description": "List every file in the GoodFolder currently open, including which documents can be read or edited in the dashboard.",
"inputSchema": {
"type": "object",
"properties": {},
"required": [],
"additionalProperties": false
},
"page": "/dashboard?demo=1"
}read_document_outlineAnswer
Read the headings and structure of the document currently open. This does not change the document.
View tool JSON
{
"name": "read_document_outline",
"kind": "answer",
"impl": "imperative",
"description": "Read the headings and structure of the document currently open. This does not change the document.",
"inputSchema": {
"type": "object",
"properties": {},
"required": [],
"additionalProperties": false
},
"page": "/dashboard?demo=1"
}read_selected_textAnswer
Read the passage the person has selected in the open document. Returns no text when there is no active selection.
View tool JSON
{
"name": "read_selected_text",
"kind": "answer",
"impl": "imperative",
"description": "Read the passage the person has selected in the open document. Returns no text when there is no active selection.",
"inputSchema": {
"type": "object",
"properties": {},
"required": [],
"additionalProperties": false
},
"page": "/dashboard?demo=1"
}read_file_contextAnswer
Read a bounded line range from the open text file or a named text file. This never changes the file.
View tool JSON
{
"name": "read_file_context",
"kind": "answer",
"impl": "imperative",
"description": "Read a bounded line range from the open text file or a named text file. This never changes the file.",
"inputSchema": {
"type": "object",
"properties": {
"document": {
"type": "string",
"description": "Optional file path; defaults to the file currently open."
},
"startLine": {
"type": "number",
"description": "One-based first line, default 1."
},
"lineCount": {
"type": "number",
"description": "Number of lines, default 80 and at most 200."
}
},
"required": [],
"additionalProperties": false
},
"page": "/dashboard?demo=1"
}read_table_rangeAnswer
Read a bounded, structured range from a CSV or TSV file, including cell addresses and values. This never changes the table.
View tool JSON
{
"name": "read_table_range",
"kind": "answer",
"impl": "imperative",
"description": "Read a bounded, structured range from a CSV or TSV file, including cell addresses and values. This never changes the table.",
"inputSchema": {
"type": "object",
"properties": {
"document": {
"type": "string",
"description": "Optional CSV or TSV path; defaults to the file currently open."
},
"startRow": {
"type": "number",
"description": "One-based first row, default 1 and at most 200."
},
"startColumn": {
"type": "number",
"description": "One-based first column, default 1 and at most 40."
},
"rowCount": {
"type": "number",
"description": "Number of rows, default 25."
},
"columnCount": {
"type": "number",
"description": "Number of columns, default 12."
}
},
"required": [],
"additionalProperties": false
},
"page": "/dashboard?demo=1"
}read_imageAnswer
Read a small image from the open GoodFolder as a data URL, so it can be used in a reviewable visual proposal. This never changes the folder.
View tool JSON
{
"name": "read_image",
"kind": "answer",
"impl": "imperative",
"description": "Read a small image from the open GoodFolder as a data URL, so it can be used in a reviewable visual proposal. This never changes the folder.",
"inputSchema": {
"type": "object",
"properties": {
"path": {
"type": "string",
"description": "Image path in the open GoodFolder."
}
},
"required": [
"path"
],
"additionalProperties": false
},
"page": "/dashboard?demo=1"
}get_page_render_reportAnswer
Read what happened when the web page currently open was rendered in the dashboard: which files beside it were used, which it asked for and did not find, and any errors its own scripts reported. Use this after proposing a change to a web page. This never changes the folder.
View tool JSON
{
"name": "get_page_render_report",
"kind": "answer",
"impl": "imperative",
"description": "Read what happened when the web page currently open was rendered in the dashboard: which files beside it were used, which it asked for and did not find, and any errors its own scripts reported. Use this after proposing a change to a web page. This never changes the folder.",
"inputSchema": {
"type": "object",
"properties": {},
"required": [],
"additionalProperties": false
},
"page": "/dashboard?demo=1"
}get_document_historyAnswer
Read saves that mention the document currently open, newest first.
View tool JSON
{
"name": "get_document_history",
"kind": "answer",
"impl": "imperative",
"description": "Read saves that mention the document currently open, newest first.",
"inputSchema": {
"type": "object",
"properties": {
"limit": {
"type": "number",
"description": "Maximum entries, default 10 and at most 25."
}
},
"required": [],
"additionalProperties": false
},
"page": "/dashboard?demo=1"
}propose_new_goodfolderAction
Prepare a reviewable request for a brand-new empty GoodFolder. The owner must accept it in the dashboard before any folder is created. Never use this for an existing local folder.
View tool JSON
{
"name": "propose_new_goodfolder",
"kind": "act",
"impl": "imperative",
"description": "Prepare a reviewable request for a brand-new empty GoodFolder. The owner must accept it in the dashboard before any folder is created. Never use this for an existing local folder.",
"inputSchema": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Name for the brand-new empty GoodFolder, at most 80 characters."
},
"explanation": {
"type": "string",
"description": "Why this new workspace is needed, at most 1,000 characters."
}
},
"required": [
"name",
"explanation"
],
"additionalProperties": false
},
"page": "/dashboard?demo=1"
}list_change_proposalsAnswer
List Change Proposals for the GoodFolder currently open, including their review status and affected documents.
View tool JSON
{
"name": "list_change_proposals",
"kind": "answer",
"impl": "imperative",
"description": "List Change Proposals for the GoodFolder currently open, including their review status and affected documents.",
"inputSchema": {
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "Optional status: open, accepted, rejected, or needs-review."
}
},
"required": [],
"additionalProperties": false
},
"page": "/dashboard?demo=1"
}explain_change_proposalAction
Explain one Change Proposal with the exact before and suggested text for human review.
View tool JSON
{
"name": "explain_change_proposal",
"kind": "act",
"impl": "imperative",
"description": "Explain one Change Proposal with the exact before and suggested text for human review.",
"inputSchema": {
"type": "object",
"properties": {
"proposalId": {
"type": "string",
"description": "Change Proposal id."
}
},
"required": [
"proposalId"
],
"additionalProperties": false
},
"page": "/dashboard?demo=1"
}propose_file_changeAction
Create a reviewable one-file suggestion. text_replace works on any file readable as text, source files included; table_update takes exact CSV/TSV cells; asset_replace puts a file somebody already sent up in place of this one. This never changes the file; only the folder owner can accept it.
View tool JSON
{
"name": "propose_file_change",
"kind": "act",
"impl": "imperative",
"description": "Create a reviewable one-file suggestion. text_replace works on any file readable as text, source files included; table_update takes exact CSV/TSV cells; asset_replace puts a file somebody already sent up in place of this one. This never changes the file; only the folder owner can accept it.",
"inputSchema": {
"type": "object",
"properties": {
"document": {
"type": "string",
"description": "Exact file path in the current GoodFolder."
},
"operation": {
"type": "string",
"enum": [
"text_replace",
"table_update",
"asset_replace"
],
"description": "The kind of reviewable change."
},
"section": {
"type": "string",
"description": "Optional named section or context for a text replacement."
},
"originalText": {
"type": "string",
"description": "Exact current text for text_replace, at most 20,000 characters."
},
"replacementText": {
"type": "string",
"description": "Suggested text for text_replace, at most 20,000 characters."
},
"changes": {
"type": "array",
"maxItems": 100,
"description": "Exact CSV/TSV cell changes for table_update.",
"items": {
"type": "object",
"properties": {
"address": {
"type": "string"
},
"before": {
"type": "string"
},
"replacement": {
"type": "string"
}
},
"required": [
"address",
"before",
"replacement"
],
"additionalProperties": false
}
},
"stagingAssetId": {
"type": "string",
"description": "Short-lived temporary upload id for a later asset_replace operation."
},
"mimeType": {
"type": "string",
"description": "Uploaded asset MIME type for a later asset_replace operation."
},
"extension": {
"type": "string",
"description": "Uploaded asset extension for a later asset_replace operation."
},
"explanation": {
"type": "string",
"description": "Why the change is useful, at most 500 characters."
},
"title": {
"type": "string",
"description": "Short Change Proposal title."
}
},
"required": [
"document",
"operation",
"explanation",
"title"
],
"additionalProperties": false
},
"page": "/dashboard?demo=1"
}propose_document_changeAction
Compatibility alias for propose_file_change with the text_replace operation. This does not change the document; only the folder owner can accept it.
View tool JSON
{
"name": "propose_document_change",
"kind": "act",
"impl": "imperative",
"description": "Compatibility alias for propose_file_change with the text_replace operation. This does not change the document; only the folder owner can accept it.",
"inputSchema": {
"type": "object",
"properties": {
"document": {
"type": "string",
"description": "Document path in the current GoodFolder."
},
"section": {
"type": "string",
"description": "Selected passage or named section."
},
"originalText": {
"type": "string",
"description": "Exact current text, at most 20,000 characters."
},
"replacementText": {
"type": "string",
"description": "Suggested replacement, at most 20,000 characters."
},
"explanation": {
"type": "string",
"description": "Short reason for the suggestion, at most 500 characters."
},
"title": {
"type": "string",
"description": "Short Change Proposal title."
}
},
"required": [
"document",
"section",
"originalText",
"replacementText",
"explanation",
"title"
],
"additionalProperties": false
},
"page": "/dashboard?demo=1"
}propose_document_mediaAction
Create one reviewable Change Proposal that adds generated media and inserts its Markdown or HTML reference into a text document. The bytes wait outside the folder; accepting the whole proposal adds the media and edits the document in one Save. This never changes the folder by itself.
View tool JSON
{
"name": "propose_document_media",
"kind": "act",
"impl": "imperative",
"description": "Create one reviewable Change Proposal that adds generated media and inserts its Markdown or HTML reference into a text document. The bytes wait outside the folder; accepting the whole proposal adds the media and edits the document in one Save. This never changes the folder by itself.",
"inputSchema": {
"type": "object",
"properties": {
"document": {
"type": "string",
"description": "Exact path of the text document in the open GoodFolder."
},
"assetPath": {
"type": "string",
"description": "New path the image, video, or audio file will have if accepted, including its extension."
},
"assetDataUrl": {
"type": "string",
"description": "The generated image, video, or audio as a base64 data URL. Inline media is limited to 25 MB."
},
"anchorText": {
"type": "string",
"description": "Exact existing document text to anchor the insertion, at most 20,000 characters."
},
"insertionText": {
"type": "string",
"description": "Markdown or HTML that refers to assetPath, at most 20,000 characters."
},
"placement": {
"type": "string",
"enum": [
"before",
"after"
],
"description": "Put insertionText before or after anchorText."
},
"section": {
"type": "string",
"description": "Optional section name shown during review."
},
"explanation": {
"type": "string",
"description": "Why the media belongs here, at most 500 characters."
},
"title": {
"type": "string",
"description": "Short Change Proposal title."
}
},
"required": [
"document",
"assetPath",
"assetDataUrl",
"anchorText",
"insertionText",
"placement",
"explanation",
"title"
],
"additionalProperties": false
},
"page": "/dashboard?demo=1"
}propose_generated_fileAction
Create a reviewable DOCX, XLSX, PDF, PowerPoint, or bitmap image from structured content. The complete file waits outside the folder for the owner to preview and accept; this never changes the folder by itself.
View tool JSON
{
"name": "propose_generated_file",
"kind": "act",
"impl": "imperative",
"description": "Create a reviewable DOCX, XLSX, PDF, PowerPoint, or bitmap image from structured content. The complete file waits outside the folder for the owner to preview and accept; this never changes the folder by itself.",
"inputSchema": {
"type": "object",
"properties": {
"path": {
"type": "string",
"description": "New or existing path in the open GoodFolder, with a matching .docx, .xlsx, .pdf, .pptx, .png, .jpg, .jpeg, or .webp extension."
},
"artifactType": {
"type": "string",
"enum": [
"document",
"spreadsheet",
"pdf",
"presentation",
"image"
],
"description": "Type of complete file to prepare."
},
"content": {
"type": "object",
"description": "Structured file content: blocks for document/PDF, sheets for spreadsheet, slides for presentation, or a PNG/JPEG/WebP dataUrl for image."
},
"brand": {
"type": "object",
"description": "Optional common brand kit with name, backgroundColor, accentColor, and a PNG/JPEG/WebP logoDataUrl returned by read_image."
},
"explanation": {
"type": "string",
"description": "Why this complete file was prepared, at most 500 characters."
},
"title": {
"type": "string",
"description": "Short Change Proposal title."
}
},
"required": [
"path",
"artifactType",
"content",
"explanation",
"title"
],
"additionalProperties": false
},
"page": "/dashboard?demo=1"
}comment_on_change_proposalSensitive Action
Add a comment to a Change Proposal for the people reviewing it. This adds discussion but does not change any document.
View tool JSON
{
"name": "comment_on_change_proposal",
"kind": "transact",
"impl": "imperative",
"description": "Add a comment to a Change Proposal for the people reviewing it. This adds discussion but does not change any document.",
"inputSchema": {
"type": "object",
"properties": {
"proposalId": {
"type": "string",
"description": "Change Proposal id."
},
"comment": {
"type": "string",
"description": "Comment, at most 4,000 characters."
}
},
"required": [
"proposalId",
"comment"
],
"additionalProperties": false
},
"page": "/dashboard?demo=1"
}comment_on_documentAction
Leave a review comment on a selected passage in the open document. This does not change the document.
View tool JSON
{
"name": "comment_on_document",
"kind": "act",
"impl": "imperative",
"description": "Leave a review comment on a selected passage in the open document. This does not change the document.",
"inputSchema": {
"type": "object",
"properties": {
"quotedText": {
"type": "string",
"description": "Exact selected passage, at most 20,000 characters."
},
"comment": {
"type": "string",
"description": "Comment, at most 4,000 characters."
}
},
"required": [
"quotedText",
"comment"
],
"additionalProperties": false
},
"page": "/dashboard?demo=1"
}get_timelineAnswer
Read a folder's timeline of saves, newest first. Each entry says who saved it, what changed in plain language, and which files mattered most.
View tool JSON
{
"name": "get_timeline",
"kind": "answer",
"impl": "imperative",
"description": "Read a folder's timeline of saves, newest first. Each entry says who saved it, what changed in plain language, and which files mattered most.",
"inputSchema": {
"type": "object",
"properties": {
"folder": {
"type": "string",
"description": "Folder name. Leave off for the first folder."
},
"limit": {
"type": "number",
"description": "How many entries (default 10, max 25)."
}
},
"required": [],
"additionalProperties": false
},
"page": "/dashboard?demo=1"
}find_savesAnswer
Search one folder's timeline by text in a save's label or by file path. Answers like “when did we touch the invoice?”.
View tool JSON
{
"name": "find_saves",
"kind": "answer",
"impl": "imperative",
"description": "Search one folder's timeline by text in a save's label or by file path. Answers like “when did we touch the invoice?”.",
"inputSchema": {
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "Text to look for in labels or file paths."
},
"folder": {
"type": "string",
"description": "Folder name. Leave off for the first folder."
}
},
"required": [
"query"
],
"additionalProperties": false
},
"page": "/dashboard?demo=1"
}explain_saveAction
Explain one save in plain language: who made it, when, what changed, and which files were involved.
View tool JSON
{
"name": "explain_save",
"kind": "act",
"impl": "imperative",
"description": "Explain one save in plain language: who made it, when, what changed, and which files were involved.",
"inputSchema": {
"type": "object",
"properties": {
"number": {
"type": "number",
"description": "The save's number from the timeline."
},
"folder": {
"type": "string",
"description": "Folder name. Leave off for the first folder."
}
},
"required": [
"number"
],
"additionalProperties": false
},
"page": "/dashboard?demo=1"
}preview_restoreAnswer
Preview going back to an earlier save: which files would be brought back. For one previewable file, use propose_restore_file to open a reviewable browser proposal; a connected computer can restore the whole folder. This never changes anything by itself.
View tool JSON
{
"name": "preview_restore",
"kind": "answer",
"impl": "imperative",
"description": "Preview going back to an earlier save: which files would be brought back. For one previewable file, use propose_restore_file to open a reviewable browser proposal; a connected computer can restore the whole folder. This never changes anything by itself.",
"inputSchema": {
"type": "object",
"properties": {
"number": {
"type": "number",
"description": "The save number to go back to."
},
"folder": {
"type": "string",
"description": "Folder name. Leave off for the first folder."
}
},
"required": [
"number"
],
"additionalProperties": false
},
"page": "/dashboard?demo=1"
}propose_restore_fileAction
Prepare a reviewable replacement of one previewable file with its exact bytes from an earlier save. The folder changes only if its owner accepts the proposal.
View tool JSON
{
"name": "propose_restore_file",
"kind": "act",
"impl": "imperative",
"description": "Prepare a reviewable replacement of one previewable file with its exact bytes from an earlier save. The folder changes only if its owner accepts the proposal.",
"inputSchema": {
"type": "object",
"properties": {
"path": {
"type": "string",
"description": "Exact file path to bring back from the earlier save."
},
"number": {
"type": "number",
"description": "Earlier save number to use."
},
"folder": {
"type": "string",
"description": "Folder name. Leave off for the open folder."
}
},
"required": [
"path",
"number"
],
"additionalProperties": false
},
"page": "/dashboard?demo=1"
}