{"id":76228,"plugin_id":"plugin_asdk_app_6ac056d5e2ec8191a72e04d7289f96b0","kind":"skill","collection_source":"plugin_package","comparison_source":null,"observed_at":"2026-11-02T18:11:41.078Z","digest":"d0702e0bb3f3d4d23240b83b76d6843f9737a900c03f83ba961573119c5fbe86","against":null,"payload":{"description":"Read and change a teacher's existing Planit lesson, worksheet, homework or saved classroom-tool output, then export an actual permitted PDF, PowerPoint or Word file.","included_files":[],"name":"resource-editing","skill_md_contents":"---\nname: resource-editing\ndescription: Read and change a teacher's existing Planit lesson, worksheet, homework or saved classroom-tool output, then export an actual permitted PDF, PowerPoint or Word file.\n---\n\nPrivacy boundary: this public plugin is for adult educators and creators. Never\ntransmit personal information about children under 13 to OpenAI. Use anonymous\nor synthetic inputs only; do not request, send or retrieve pupil names, pupil\nids, rosters, photographs, scripts, individual answers or individual results.\nApply this boundary whenever ages or identifiability are uncertain. Do not\nopen, screenshot, upload or read back private pupil records through a browser\nor another connector. Give the exact native link and hand the sensitive step\nto the adult user to complete independently. Do not read a record first merely\nto decide whether it contains personal information.\n\nUse these workflows only for anonymous or synthetic teaching content. Do not\nread an existing resource of uncertain privacy merely to check or sanitise it.\nIf it may contain pupil identities, scripts or individual answers/results,\nreturn its native link and hand it to the adult without browser readback.\nThe public API omits known child-personalised worksheets from lists and refuses\ntheir read, AI edit and PDF export, including lesson-linked native worksheet\nfiles. Accept that native handoff. Do not try another format, a lesson output,\nanother connector or the browser to retrieve the refused content. Anonymous\nteaching worksheets and teacher answer keys remain supported.\n\nIdentify the existing resource using its URL/id or `list_my_lessons`,\n`list_my_worksheets` or `list_saved_tools`. If several fit, ask which one.\nRead it before changing it: `get_lesson_markdown`, `get_worksheet`, or\n`get_saved_tool`. Keep the teacher's requested scope and language.\n\nFor AI changes, quote `ai_edit` with `quote_action`, then call `edit_lesson` or\n`edit_worksheet` with precise instructions. Re-read the result to verify the\nrequested content changed; an editor response can contain action failures.\nDon't silently spend more credits to repeat an uncertain edit. Check the\nresource and explain any incomplete change.\n\nFor saved classroom tools, change the actual inputs in the retrieved snapshot.\nKeep v:1, unchanged inputs and the seed. `update_saved_tool` replaces the\nsupplied snapshot; it does not merge fields. Use `duplicate_saved_tool` first\nwhen the teacher wants a new version while keeping the original. Look up the\nsaved item's exact slug in `get_planit_catalog` and read its `detailTool`.\nFor execution:mcp, preview the saved inputs with that row's `previewTool`,\nthen download with its `exportTool` using the same inputs and seed. These are\nindividually exposed operations; select only names present in the connected\nserver tool list. Do not pass a tool selector or call a generic executor.\nOnly the generated public slug/input allowlist is accepted for saved snapshots.\nBrowser/private tool state and unsafe legacy snapshots are refused. Hand those\nnative steps to the adult without reading private contents or bypassing the\nguard through another save, export or connector. Never claim an input update\nalready produced a download.\n\nFor another lesson output, quote the corresponding worksheet/homework or\npresentation_regenerate action, then call `generate_lesson_output`. Read\nthe actual completion event: worksheet/homework generation returns\n`worksheetId` or `homeworkId`. Use that owned document id with `get_worksheet`,\n`edit_worksheet` and `export_worksheet` for PDF. Those documents may not appear\nin `list_lesson_outputs`. For an existing lesson sheet, inspect\n`list_my_worksheets` and `get_worksheet` for its stored `lessonId`; do not guess\na matching document. On a stream error or timeout, inspect the existing\noutputs/documents before retrying. Creating another output uses credits.\n\nFor lesson presentation files, select a real supported output from\n`list_lesson_outputs` and call `export_lesson` with its supported format.\nTeacher support uses content_type: teacher_support and PDF or DOCX. Native\nlesson PDF supports presentation/worksheet output; homework is a worksheet\ndocument and uses `export_worksheet` with its actual id. Do not assume every\ncontent type supports every format. The native endpoint enforces access and produces\nthe actual bytes. A successful result includes an embedded resource with a\nMIME type, filename and blob; use the host's supported file/artifact handling\nto make that returned file available, without dumping base64 into the chat.\nIf the host cannot expose an embedded file, give the native editor link and\nstate that its download control completes the download. Never invent a URL.\n\nClassroom tool downloads require only a linked FREE account. PDF/CSV exports\nuse the catalogue row's individually listed `exportTool` when supported;\nprinting, copying, PNG and interactive\npresentation use the native browser controls. Suggesting and applying changes\nto free tool inputs uses no AI credits. Do not present upgrades or subscription\nrequirements for these tools.\n\nAn access denial is a real result: report it neutrally, with any returned reset\ntime. Offer a genuinely available preview/browser alternative when useful.\nDo not promote upgrades, present subscription offers, sell tokens or credits,\nlink checkout pages, or automatically purchase anything.\n"},"changes":[],"summary":"First saved snapshot. No earlier version is available for comparison.","summary_kind":"deterministic","summary_metadata":{}}