{"id":97185,"plugin_id":"plugin_asdk_app_6ae6a074de8081918e6c9b624ae76b63","kind":"skill","collection_source":"plugin_package","comparison_source":null,"observed_at":"2026-11-15T07:37:45.893Z","digest":"d2f1a7a269c6b6ad05f8eb8517e74e59a53b26621c3255cb18758d860a2198e6","against":null,"payload":{"description":"Use when a FlatRate Pro technician wants to find repair jobs, log explicitly described work, update job hours or vehicle details, or change a specific job's status.","included_files":[{"relative_path":"agents/openai.yaml","size_in_bytes":260}],"name":"structured-job-log","skill_md_contents":"---\r\nname: structured-job-log\r\ndescription: \"Use when a FlatRate Pro technician wants to find repair jobs, log explicitly described work, update job hours or vehicle details, or change a specific job's status.\"\r\n---\r\n\r\n# Structured job log\r\n\r\nWork only with the connected technician's jobs. A request to search or estimate\r\nis not permission to create or update records. Follow the user's explicit scope\r\nand preserve every unspecified field.\r\n\r\n1. For retrieval, call `listRecentJobs` with a limit of 1-20 or\r\n   `searchJobsByVehicle` with the user's title/vehicle query and supplied\r\n   `date`, `startDate`, or `endDate`. Summarize actual matches and returned IDs.\r\n2. For creation, collect a job name or description and explicit relevant\r\n   category, hours, vehicle, and date. Ask for missing or ambiguous details.\r\n   Do not infer book time, actual time, or a category from vague repair notes.\r\n3. If the user requests a labor estimate, call `estimateJob` for the repair.\r\n   Present it as an estimate and ask whether to use it before creating a record.\r\n4. Call `createJob` only for an explicitly requested structured entry. Use\r\n   `updateJob` for requested partial edits or `updateJobStatus` for a status\r\n   change (`pending`, `in_progress`, or `complete`). Resolve a real job ID first;\r\n   clarify multiple matches rather than selecting one arbitrarily.\r\n5. Respect client confirmations before writes. Locked or verified jobs cannot\r\n   be changed. Never bypass a denial or alter a different record to work around it.\r\n6. Report only server-confirmed changes, including the actual ID and fields.\r\n   Surface errors and uncertain responses; check existing records before retrying\r\n   a create. Do not claim success from a timeout.\r\n7. Do not perform bulk fuzzy edits, organization verification, billing, or file\r\n   uploads through this workflow. If authentication is needed, direct the user\r\n   to the client's OAuth connection flow. Never ask for credentials in chat.\r\n\r\nExamples: \"Find my brake jobs from February 10, 2025\" is read-only;\r\n\"Log the repair I finished\" requires clarification; \"Mark that job complete\"\r\nrequires a uniquely identified editable job.\r\n"},"changes":[],"summary":"First saved snapshot. No earlier version is available for comparison.","summary_kind":"deterministic","summary_metadata":{}}