{"id":14085,"plugin_id":"plugin_asdk_app_6a987ea9fc5c81919ff2a89743a2969a","kind":"skill","collection_source":null,"comparison_source":null,"observed_at":"2026-09-30T23:08:45.952Z","digest":"6dbe6eee07c2a708ed94d8eda7d8e515d2194d92e694e18ce3012d068a98a2ec","against":null,"payload":{"name":"notebook-management","description":"Manage notebooks in wott by finding, reviewing, creating, and updating notebooks. Use when the user wants to work with wott notebooks or needs notebook information and context for a task.","included_files":[{"relative_path":"agents/openai.yaml","size_in_bytes":274},{"relative_path":"assets/wott-small.png","size_in_bytes":52883},{"relative_path":"assets/wott.png","size_in_bytes":490946},{"relative_path":"evaluations/README.md","size_in_bytes":7181},{"relative_path":"evaluations/ambiguous-notebook.json","size_in_bytes":1651},{"relative_path":"evaluations/create-notebook.json","size_in_bytes":1854},{"relative_path":"evaluations/delete-notebook.json","size_in_bytes":2270},{"relative_path":"evaluations/find-notebook.json","size_in_bytes":1869},{"relative_path":"evaluations/move-notebook.json","size_in_bytes":1810},{"relative_path":"evaluations/notebook-workflow.json","size_in_bytes":2136},{"relative_path":"evaluations/update-notebook.json","size_in_bytes":1818},{"relative_path":"examples/create-notebook.md","size_in_bytes":1705},{"relative_path":"examples/find-notebook.md","size_in_bytes":1998},{"relative_path":"examples/update-notebook.md","size_in_bytes":1508},{"relative_path":"reference/notebook-tool-reference.md","size_in_bytes":23880},{"relative_path":"reference/notebook-workflows.md","size_in_bytes":8538}],"skill_md_contents":"---\n\nname: notebook-management\ndescription: Manage notebooks in wott by finding, reviewing, creating, and updating notebooks. Use when the user wants to work with wott notebooks or needs notebook information and context for a task.\nmetadata:\n  short-description: Manage wott notebooks and build context\n  \n---\n\n# Notebook Management\n\nUse the wott MCP server to help the authenticated user find, understand, create, and update notebooks.\n\nNotebooks contain the user's knowledge and can provide context for research, projects, and other tasks.\n\n## Quick start\n\n1. Identify what the user wants to do with a notebook.\n2. For notebook-specific workflows, consult the relevant guide in `reference/`.\n3. Find the relevant notebook using the available notebook listing or search capabilities.\n4. Retrieve notebook details or content with `get_notebook` when needed.\n5. Create or update notebooks using the appropriate MCP tool.\n6. Use relevant notebook information to build context for the user's task.\n7. Confirm the MCP operation succeeded before reporting a change.\n\n## Tool-call guardrails\n\n* Always use the authenticated wott user.\n* Never ask the user for a Firebase UID, OAuth access token, Firebase credentials, Firestore credentials, or internal server secrets.\n* Never fabricate notebook IDs.\n* Never fabricate notebook content or project relationships.\n* Do not access another user's notebooks.\n* Do not perform a write operation when the target notebook or requested change is ambiguous.\n* For updates, modify only the fields requested by the user.\n* Do not claim a notebook was created or updated unless the MCP tool confirms success.\n* If a write operation fails, report the failure accurately.\n* Do not blindly retry a failed write operation when it could create a duplicate or unintended change.\n* Use the tool schemas exposed by the wott MCP server as the source of truth for available arguments and fields.\n\n## Workflow\n\n### 1. Find or identify a notebook\n\nUse the available notebook search or listing capability when the user refers to a notebook by:\n\n* Name\n* Topic\n* Keyword\n* Description\n* Project\n\nFor detailed notebook identification and search workflows, read:\n\n`reference/notebook-workflows.md`\n\nExamples of requests that should trigger this workflow:\n\n* \"Find my robotics notebook.\"\n* \"Show me my research notebooks.\"\n* \"Find my notebooks about humanoid robotics.\"\n* \"Which notebooks are in my Robotics project?\"\n\nIf exactly one notebook clearly matches, continue.\n\nIf multiple notebooks could match, ask the user to clarify.\n\nIf no relevant notebook is found, tell the user.\n\n### 2. Read a notebook\n\nUse `get_notebook` when the user wants information, details, or content from a specific notebook.\n\nIf the user provides a notebook ID, use it directly.\n\nIf the user provides only a notebook name or description, resolve the notebook first.\n\nFor detailed read and resolution workflows, read:\n\n`reference/notebook-workflows.md`\n\nFor the available tool arguments and expected notebook output, read:\n\n`reference/notebook-tool-reference.md`\n\n### 3. Create a notebook\n\nUse `create_notebook` when the user clearly asks for a new notebook.\n\nBefore creating:\n\n1. Determine the notebook name.\n2. Determine any project relationship specified by the user.\n3. Determine other required fields from the MCP tool schema.\n4. Check for an obvious duplicate when appropriate.\n5. Resolve the project when necessary.\n6. Create the notebook.\n7. Verify the returned result.\n\nFor the detailed creation workflow, read:\n\n`reference/notebook-workflows.md`\n\nFor the tool schema and output details, read:\n\n`reference/notebook-tool-reference.md`\n\nSee:\n\n`examples/create-notebook.md`\n\nfor a concrete creation workflow.\n\nDo not create a notebook merely because the user discusses a topic.\n\n### 4. Update a notebook\n\nUse `update_notebook` when the user asks to modify an existing notebook.\n\nBefore updating:\n\n1. Identify the target notebook.\n2. Resolve it if necessary.\n3. Determine exactly what the user wants changed.\n4. Update only the requested fields.\n5. Preserve unrelated notebook information.\n6. Verify the result.\n7. Report the change.\n\nFor detailed update behavior, read:\n\n`reference/notebook-workflows.md`\n\nFor the tool schema, read:\n\n`reference/notebook-tool-reference.md`\n\nSee:\n\n`examples/update-notebook.md`\n\nfor a concrete example.\n\nIf multiple notebooks match, ask the user to clarify before making a change.\n\n### 5. Build context from notebooks\n\nUse wott notebooks as a knowledge source when the user's task depends on information stored in their notebooks.\n\nFor example:\n\n> What do my notes say about humanoid robotics?\n\nFollow this general workflow:\n\n```text\nidentify topic\n      ↓\nsearch relevant notebooks\n      ↓\nselect relevant notebooks\n      ↓\nget_notebook\n      ↓\nextract relevant information\n      ↓\nbuild context\n      ↓\nanswer user\n```\n\nFor detailed context-building workflows, read:\n\n`reference/notebook-workflows.md`\n\nFor a concrete example, read:\n\n`examples/find-notebook.md`\n\nDo not summarize unrelated notebook content.\n\nDo not invent information that is not present in wott.\n\n### 6. Build context across multiple notebooks\n\nWhen one notebook is insufficient, search for additional relevant notebooks.\n\n```text\nuser's task\n     ↓\nsearch topic\n     ↓\nrelevant notebooks\n     ↓\nretrieve relevant content\n     ↓\ncombine information\n     ↓\nbuild task-specific context\n```\n\nUse only information relevant to the user's request.\n\nWhen multiple notebooks contain overlapping information, avoid unnecessary repetition.\n\nWhen notebooks contain conflicting information, preserve the distinction rather than silently choosing one.\n\nFor detailed workflows, read:\n\n`reference/notebook-workflows.md`\n\n### 7. Project-aware notebook workflows\n\nWhen the user specifies a project:\n\n> Find the notebooks about locomotion in my Robotics project.\n\nPreserve the project context throughout the workflow.\n\n```text\nidentify project\n      ↓\nfind notebooks in project\n      ↓\nsearch/filter for topic\n      ↓\nretrieve relevant notebooks\n      ↓\nbuild context\n```\n\nDo not assume a notebook belongs to a project unless wott or the user establishes the relationship.\n\nFor project-aware workflows, read:\n\n`reference/notebook-workflows.md`\n\nWhen resolving the project itself is necessary, use the `project-management` skill.\n\n## Notebook identification rules\n\nWhen the user provides a notebook name:\n\n1. Search or list notebooks.\n2. Compare the returned results with the user's request.\n3. If exactly one notebook is an obvious match, use it.\n4. If multiple notebooks match, ask the user to clarify.\n5. If no notebook matches, tell the user.\n\nWhen the user provides a notebook ID, use it directly when the tool accepts it.\n\nNever fabricate notebook IDs.\n\n## Notebook creation rules\n\nCreate a notebook only when the user clearly requests creation.\n\nExamples:\n\n* \"Create a notebook called Robotics Research.\"\n* \"Create a notebook for this research.\"\n* \"Create a notebook in my Robotics project.\"\n\nBefore creating, check for an obvious duplicate when appropriate.\n\nIf the user specifies a project, preserve that relationship.\n\nIf the project is ambiguous and the relationship is required, ask the user to clarify.\n\nFor detailed creation behavior, read:\n\n`examples/create-notebook.md`\n\n## Notebook update rules\n\nOnly modify information the user requested.\n\nFor example:\n\n> Rename my robotics notebook to Humanoid Manipulation.\n\nOnly change the notebook name.\n\nDo not overwrite its content, description, project relationship, or other fields unless the user explicitly requests those changes.\n\nFor detailed update behavior, read:\n\n`examples/update-notebook.md`\n\n## Context-building rules\n\nWhen the user asks wott to help answer a question using their existing knowledge:\n\n1. Identify the topic.\n2. Search relevant notebooks.\n3. Retrieve relevant notebook content when necessary.\n4. Extract information relevant to the current task.\n5. Build a concise context from that information.\n6. Use the context to answer the user's request.\n\nPrefer relevant information over exhaustive retrieval.\n\nDo not present information as coming from wott when it was inferred independently.\n\nFor detailed context workflows, read:\n\n`reference/notebook-workflows.md`\n\nFor examples, read:\n\n`examples/find-notebook.md`\n\n## Authentication\n\nAll notebook operations must use the authenticated wott user.\n\nThe model must never request or expose:\n\n* Firebase UID\n* OAuth access token\n* Firebase credentials\n* Firestore credentials\n* Internal server secrets\n\nNever attempt to access another user's notebooks.\n\n## Errors\n\nIf a notebook cannot be found, tell the user clearly.\n\nIf multiple notebooks match, ask the user to clarify.\n\nIf a project relationship is ambiguous and affects the requested operation, ask for clarification.\n\nIf wott returns an authorization error, do not attempt to bypass it.\n\nIf an MCP operation fails, report the failure accurately.\n\nNever claim success unless the MCP tool confirms it.\n\n## References and examples\n\nThe `reference/` directory contains detailed notebook-management guidance that should be consulted when the task requires more specific workflow or tool information.\n\n* `reference/notebook-workflows.md` — detailed workflows for finding, reading, creating, updating, resolving ambiguous notebook references, handling project relationships, and building context from one or more notebooks.\n* `reference/notebook-tool-reference.md` — wott notebook MCP tools, tool annotations, proposed input schemas, output schemas, structured output, and notebook data representation.\n\nThe `examples/` directory contains concrete examples of common notebook-management workflows.\n\n* `examples/create-notebook.md` — creating a notebook, checking duplicates, and preserving project context.\n* `examples/update-notebook.md` — identifying and safely updating an existing notebook.\n* `examples/find-notebook.md` — finding notebooks, resolving ambiguous results, retrieving notebook content, and building context.\n\nRead the relevant reference or example file when it provides guidance needed for the current task. Do not load unrelated reference files unnecessarily.\n"},"changes":[],"summary":"First saved snapshot. No earlier version is available for comparison.","summary_kind":"deterministic","summary_metadata":{}}