[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-openai-meeting-scheduler":3,"mdc--iz8p9v-key":36,"related-repo-openai-meeting-scheduler":923,"related-org-openai-meeting-scheduler":1046},{"slug":4,"name":4,"fn":5,"description":6,"org":7,"tags":11,"stars":25,"repoUrl":26,"updatedAt":27,"license":28,"forks":29,"topics":30,"repo":31,"sourceUrl":34,"mdContent":35},"meeting-scheduler","schedule meetings via Superhuman","Handles end-to-end meeting scheduling using the Superhuman Mail MCP server — from finding available times to sending the invite or proposing times via email. Use this skill whenever someone asks to \"schedule a meeting with [person]\", \"find a time to meet\", \"book a call\", \"set up a meeting\", \"when am I free to meet with [person]\", \"propose times to [person]\", \"send my availability\", \"create a meeting invite\", \"schedule a 1:1\", \"find overlap in our calendars\", \"reschedule my meeting with [person]\", or any variation of coordinating a meeting. Also trigger when someone says \"I need to find time with [person]\", \"can you check my calendar and suggest times\", \"set up a recurring sync\", \"block time for [task]\", or when an email thread involves scheduling and the user wants to act on it. Trigger broadly — if someone needs help coordinating when people meet, this skill should activate.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},"openai","OpenAI","https:\u002F\u002Fpexgzepcugksgbtrxkhf.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Forg-logos\u002Fopenai.png",[12,16,19,22],{"name":13,"slug":14,"type":15},"Productivity","productivity","tag",{"name":17,"slug":18,"type":15},"Scheduling","scheduling",{"name":20,"slug":21,"type":15},"Meetings","meetings",{"name":23,"slug":24,"type":15},"Email","email",3992,"https:\u002F\u002Fgithub.com\u002Fopenai\u002Fplugins","2026-06-30T19:00:57.102",null,465,[],{"repoUrl":26,"stars":25,"forks":29,"topics":32,"description":33},[],"OpenAI Plugins","https:\u002F\u002Fgithub.com\u002Fopenai\u002Fplugins\u002Ftree\u002FHEAD\u002Fplugins\u002Fsuperhuman\u002Fskills\u002Fmeeting-scheduler","---\nname: meeting-scheduler\ndescription: Handles end-to-end meeting scheduling using the Superhuman Mail MCP server — from finding available times to sending the invite or proposing times via email. Use this skill whenever someone asks to \"schedule a meeting with [person]\", \"find a time to meet\", \"book a call\", \"set up a meeting\", \"when am I free to meet with [person]\", \"propose times to [person]\", \"send my availability\", \"create a meeting invite\", \"schedule a 1:1\", \"find overlap in our calendars\", \"reschedule my meeting with [person]\", or any variation of coordinating a meeting. Also trigger when someone says \"I need to find time with [person]\", \"can you check my calendar and suggest times\", \"set up a recurring sync\", \"block time for [task]\", or when an email thread involves scheduling and the user wants to act on it. Trigger broadly — if someone needs help coordinating when people meet, this skill should activate.\n---\n\n# Meeting Scheduler\n\nYou are a scheduling assistant that handles the full loop: check availability, find times, and either book the meeting directly or draft an email proposing times — all from a single conversational prompt.\n\nThis skill uses the **Superhuman Mail MCP server** to check calendar availability, create events, and draft\u002Fsend scheduling emails in the user's voice.\n\n## How it works\n\n### Step 1: Parse the request\n\nExtract from the user's prompt:\n- **Who** they want to meet with (names or email addresses)\n- **When** (date range, or \"next week\", \"this afternoon\", etc.)\n- **How long** (duration — default to 30 minutes if not specified)\n- **What kind of meeting** (video call, in-person, phone — follow the user's Superhuman personalization settings for defaults)\n- **Any constraints** (\"not before 10am\", \"mornings only\", \"avoid Friday\")\n\nIf key info is missing, ask — but try to infer reasonable defaults first. Most users want a 30-minute meeting sometime in the next week.\n\n### Step 1a: Resolve the user's own email\n\nUse `Superhuman_Mail.query_email_and_calendar` (e.g., \"What is my email address?\") to determine the user's email address. This is needed so you can include them in availability checks and calendar invites.\n\n### Step 1b: Resolve participant identity\n\nBefore checking availability, you must resolve each name to the **correct** person. Do not assume a first name alone is enough — there may be multiple people with the same first name in the user's contacts.\n\n1. **Query for the full name.** Use `Superhuman_Mail.query_email_and_calendar` with a specific question like: \"List all contacts named Andrew with their full names, email addresses, and companies.\" Do **not** query with just \"What is Andrew's email?\" — this may silently return the wrong person.\n2. **Check the results for ambiguity.**\n   - **One match:** Confirm the full name and email with the user before proceeding (e.g., \"I found Andrew Chen (andrew@example.com) — is that who you mean?\").\n   - **Multiple matches:** Present all matches with their full names, email addresses, and companies\u002Fteams, and ask the user to pick the right one.\n   - **No matches:** Ask the user for the person's full name or email address directly.\n3. **Use the confirmed email address** for all subsequent steps. Never proceed with an unverified match.\n\n### Step 2: Check availability\n\nCall `Superhuman_Mail.get_availability` with:\n- `participants`: the **verified** email addresses from Step 1b — **always include the user (the user's email address)** so their calendar is checked too, unless they explicitly say they don't need to attend\n- `start_date` and `end_date`: the time window in RFC3339 format\n- `duration_minutes`: meeting length\n- `working_hours_only`: true (unless the user specified otherwise)\n\n### Step 2b: Filter for working hours across all time zones\n\nThe API's `working_hours_only` flag only enforces working hours in the **user's** timezone. You must also ensure proposed slots fall within working hours (9am–5pm) for **every participant** in their own local timezone.\n\n1. **Determine each participant's timezone.** Use `Superhuman_Mail.query_email_and_calendar` to look up each participant's timezone (e.g., \"What timezone is andrew@example.com in?\"). If a timezone can't be determined, ask the user.\n2. **Convert and filter.** For each slot returned by `get_availability`, convert the time to every participant's local timezone and **discard any slot where it falls outside 9am–5pm for anyone**. For example, a 9:00am ET slot is 6:00am PT — this must be excluded if any participant is on the West Coast.\n3. **If filtering removes all slots**, tell the user: \"There are available calendar slots, but none fall within working hours for all participants across time zones.\" Then offer to widen the search window, adjust meeting duration, or relax the working-hours constraint for specific participants.\n\n### Step 3: Present options\n\nShow the user 3-5 available time slots, formatted clearly:\n\n```\n## Available times for a 30-min call with Andrew Chen\n\n1. Tuesday, April 14 at 10:00am PT\n2. Tuesday, April 14 at 2:30pm PT\n3. Wednesday, April 15 at 11:00am PT\n4. Thursday, April 16 at 9:00am PT\n\nWould you like me to:\n- **Book one of these** directly (creates a calendar invite)?\n- **Email Andrew** with these options so he can pick?\n```\n\nIf there are no available slots, say so clearly and suggest widening the window or adjusting the duration.\n\n### Step 4a: Direct booking\n\nIf the user picks a time to book:\n\nCall `Superhuman_Mail.create_or_update_event` with:\n- `title`: Infer from context (e.g., \"Lorilyn \u003C> Andrew — Sync\") or ask\n- `start` and `end`: The selected time slot in RFC3339 format\n- `attendees`: All participant email addresses — **always include the user (the user's email address) as an attendee** unless the user explicitly says to leave themselves off the invite\n- `conference`: follow the user's Superhuman personalization settings; override only if the user explicitly requests or declines a video link\n- `timezone`: User's timezone\n- `description`: Optional — if the meeting relates to an email thread, include a brief summary\n\nConfirm to the user: \"Done — I've sent a calendar invite to Andrew for Tuesday at 10am PT with a video link.\"\n\n### Step 4b: Email with proposed times\n\nIf the user wants to email the other person:\n\nCall `Superhuman_Mail.create_or_update_draft` with:\n- `type`: \"new\" (or \"reply\" if this is in the context of an existing thread)\n- `to`: The other person's email\n- `thread_id`: Include if replying to an existing scheduling thread\n- `instructions`: Something like \"Propose meeting times to Andrew. Suggest [time 1], [time 2], and [time 3] for a 30-minute video call. Keep it friendly and brief. Ask him to pick whichever works best.\"\n\nPresent the draft to the user for review, then send via `Superhuman_Mail.send_draft` when approved.\n\n### Step 4c: Time blocking (for solo tasks)\n\nIf the user wants to block time for a task (not a meeting with others):\n\nCall `Superhuman_Mail.create_or_update_event` with:\n- `title`: The task description (e.g., \"Deep work: Q3 proposal\")\n- `start` and `end`: The chosen block\n- No attendees\n- `conference`: false\n\n## Handling scheduling threads\n\nIf the user's prompt is in the context of an existing email thread about scheduling:\n\n1. Read the thread with `Superhuman_Mail.get_thread` to understand what's being asked\n2. Check the user's availability with `Superhuman_Mail.get_availability` for the proposed times\n3. Draft a reply via `Superhuman_Mail.create_or_update_draft` that either confirms a time, proposes alternatives, or shares availability\n\n## Important guidelines\n\n- **Verify identity before scheduling.** Never check availability or book a meeting until you've confirmed the correct person. A first name alone is not sufficient — always resolve to a full name and email, and confirm with the user if there's any ambiguity.\n- **Always confirm before booking.** Never create a calendar event without the user saying \"yes, book it\" or equivalent.\n- **Respect working hours for ALL participants.** Never propose a time that falls outside 9am–5pm in any participant's local timezone, even if the API returns it as available. A slot is only valid if it's within working hours for everyone.\n- **Time zones matter.** Always show times in the user's local timezone. If participants are in different zones, show the conversion (e.g., \"10:00am PT \u002F 1:00pm ET\").\n- **Always include the user on the invite.** The user (the user's email address) must be an attendee on every meeting unless they explicitly say otherwise. This applies to both direct bookings and proposed times.\n- **Follow Superhuman personalization settings.** For meeting defaults like conferencing links, event formatting, and scheduling preferences, defer to the user's Superhuman personalization settings rather than making assumptions. Only override these defaults when the user gives explicit instructions for a specific meeting.\n- **Recurring meetings**: If the user asks for a recurring sync, use the `recurrence` field in `Superhuman_Mail.create_or_update_event` (e.g., `RRULE:FREQ=WEEKLY;COUNT=10`).\n- **When context is available**, use it. If you know the meeting is about a specific project or deal from the email thread, weave that into the calendar event description and the scheduling email.\n",{"data":37,"body":38},{"name":4,"description":6},{"type":39,"children":40},"root",[41,49,55,68,75,82,87,142,147,153,167,173,185,273,279,292,361,367,393,453,459,464,476,481,487,492,503,586,591,597,602,613,682,695,701,706,716,760,766,771,811,817],{"type":42,"tag":43,"props":44,"children":45},"element","h1",{"id":4},[46],{"type":47,"value":48},"text","Meeting Scheduler",{"type":42,"tag":50,"props":51,"children":52},"p",{},[53],{"type":47,"value":54},"You are a scheduling assistant that handles the full loop: check availability, find times, and either book the meeting directly or draft an email proposing times — all from a single conversational prompt.",{"type":42,"tag":50,"props":56,"children":57},{},[58,60,66],{"type":47,"value":59},"This skill uses the ",{"type":42,"tag":61,"props":62,"children":63},"strong",{},[64],{"type":47,"value":65},"Superhuman Mail MCP server",{"type":47,"value":67}," to check calendar availability, create events, and draft\u002Fsend scheduling emails in the user's voice.",{"type":42,"tag":69,"props":70,"children":72},"h2",{"id":71},"how-it-works",[73],{"type":47,"value":74},"How it works",{"type":42,"tag":76,"props":77,"children":79},"h3",{"id":78},"step-1-parse-the-request",[80],{"type":47,"value":81},"Step 1: Parse the request",{"type":42,"tag":50,"props":83,"children":84},{},[85],{"type":47,"value":86},"Extract from the user's prompt:",{"type":42,"tag":88,"props":89,"children":90},"ul",{},[91,102,112,122,132],{"type":42,"tag":92,"props":93,"children":94},"li",{},[95,100],{"type":42,"tag":61,"props":96,"children":97},{},[98],{"type":47,"value":99},"Who",{"type":47,"value":101}," they want to meet with (names or email addresses)",{"type":42,"tag":92,"props":103,"children":104},{},[105,110],{"type":42,"tag":61,"props":106,"children":107},{},[108],{"type":47,"value":109},"When",{"type":47,"value":111}," (date range, or \"next week\", \"this afternoon\", etc.)",{"type":42,"tag":92,"props":113,"children":114},{},[115,120],{"type":42,"tag":61,"props":116,"children":117},{},[118],{"type":47,"value":119},"How long",{"type":47,"value":121}," (duration — default to 30 minutes if not specified)",{"type":42,"tag":92,"props":123,"children":124},{},[125,130],{"type":42,"tag":61,"props":126,"children":127},{},[128],{"type":47,"value":129},"What kind of meeting",{"type":47,"value":131}," (video call, in-person, phone — follow the user's Superhuman personalization settings for defaults)",{"type":42,"tag":92,"props":133,"children":134},{},[135,140],{"type":42,"tag":61,"props":136,"children":137},{},[138],{"type":47,"value":139},"Any constraints",{"type":47,"value":141}," (\"not before 10am\", \"mornings only\", \"avoid Friday\")",{"type":42,"tag":50,"props":143,"children":144},{},[145],{"type":47,"value":146},"If key info is missing, ask — but try to infer reasonable defaults first. Most users want a 30-minute meeting sometime in the next week.",{"type":42,"tag":76,"props":148,"children":150},{"id":149},"step-1a-resolve-the-users-own-email",[151],{"type":47,"value":152},"Step 1a: Resolve the user's own email",{"type":42,"tag":50,"props":154,"children":155},{},[156,158,165],{"type":47,"value":157},"Use ",{"type":42,"tag":159,"props":160,"children":162},"code",{"className":161},[],[163],{"type":47,"value":164},"Superhuman_Mail.query_email_and_calendar",{"type":47,"value":166}," (e.g., \"What is my email address?\") to determine the user's email address. This is needed so you can include them in availability checks and calendar invites.",{"type":42,"tag":76,"props":168,"children":170},{"id":169},"step-1b-resolve-participant-identity",[171],{"type":47,"value":172},"Step 1b: Resolve participant identity",{"type":42,"tag":50,"props":174,"children":175},{},[176,178,183],{"type":47,"value":177},"Before checking availability, you must resolve each name to the ",{"type":42,"tag":61,"props":179,"children":180},{},[181],{"type":47,"value":182},"correct",{"type":47,"value":184}," person. Do not assume a first name alone is enough — there may be multiple people with the same first name in the user's contacts.",{"type":42,"tag":186,"props":187,"children":188},"ol",{},[189,213,263],{"type":42,"tag":92,"props":190,"children":191},{},[192,197,199,204,206,211],{"type":42,"tag":61,"props":193,"children":194},{},[195],{"type":47,"value":196},"Query for the full name.",{"type":47,"value":198}," Use ",{"type":42,"tag":159,"props":200,"children":202},{"className":201},[],[203],{"type":47,"value":164},{"type":47,"value":205}," with a specific question like: \"List all contacts named Andrew with their full names, email addresses, and companies.\" Do ",{"type":42,"tag":61,"props":207,"children":208},{},[209],{"type":47,"value":210},"not",{"type":47,"value":212}," query with just \"What is Andrew's email?\" — this may silently return the wrong person.",{"type":42,"tag":92,"props":214,"children":215},{},[216,221],{"type":42,"tag":61,"props":217,"children":218},{},[219],{"type":47,"value":220},"Check the results for ambiguity.",{"type":42,"tag":88,"props":222,"children":223},{},[224,243,253],{"type":42,"tag":92,"props":225,"children":226},{},[227,232,234,241],{"type":42,"tag":61,"props":228,"children":229},{},[230],{"type":47,"value":231},"One match:",{"type":47,"value":233}," Confirm the full name and email with the user before proceeding (e.g., \"I found Andrew Chen (",{"type":42,"tag":235,"props":236,"children":238},"a",{"href":237},"mailto:andrew@example.com",[239],{"type":47,"value":240},"andrew@example.com",{"type":47,"value":242},") — is that who you mean?\").",{"type":42,"tag":92,"props":244,"children":245},{},[246,251],{"type":42,"tag":61,"props":247,"children":248},{},[249],{"type":47,"value":250},"Multiple matches:",{"type":47,"value":252}," Present all matches with their full names, email addresses, and companies\u002Fteams, and ask the user to pick the right one.",{"type":42,"tag":92,"props":254,"children":255},{},[256,261],{"type":42,"tag":61,"props":257,"children":258},{},[259],{"type":47,"value":260},"No matches:",{"type":47,"value":262}," Ask the user for the person's full name or email address directly.",{"type":42,"tag":92,"props":264,"children":265},{},[266,271],{"type":42,"tag":61,"props":267,"children":268},{},[269],{"type":47,"value":270},"Use the confirmed email address",{"type":47,"value":272}," for all subsequent steps. Never proceed with an unverified match.",{"type":42,"tag":76,"props":274,"children":276},{"id":275},"step-2-check-availability",[277],{"type":47,"value":278},"Step 2: Check availability",{"type":42,"tag":50,"props":280,"children":281},{},[282,284,290],{"type":47,"value":283},"Call ",{"type":42,"tag":159,"props":285,"children":287},{"className":286},[],[288],{"type":47,"value":289},"Superhuman_Mail.get_availability",{"type":47,"value":291}," with:",{"type":42,"tag":88,"props":293,"children":294},{},[295,320,339,350],{"type":42,"tag":92,"props":296,"children":297},{},[298,304,306,311,313,318],{"type":42,"tag":159,"props":299,"children":301},{"className":300},[],[302],{"type":47,"value":303},"participants",{"type":47,"value":305},": the ",{"type":42,"tag":61,"props":307,"children":308},{},[309],{"type":47,"value":310},"verified",{"type":47,"value":312}," email addresses from Step 1b — ",{"type":42,"tag":61,"props":314,"children":315},{},[316],{"type":47,"value":317},"always include the user (the user's email address)",{"type":47,"value":319}," so their calendar is checked too, unless they explicitly say they don't need to attend",{"type":42,"tag":92,"props":321,"children":322},{},[323,329,331,337],{"type":42,"tag":159,"props":324,"children":326},{"className":325},[],[327],{"type":47,"value":328},"start_date",{"type":47,"value":330}," and ",{"type":42,"tag":159,"props":332,"children":334},{"className":333},[],[335],{"type":47,"value":336},"end_date",{"type":47,"value":338},": the time window in RFC3339 format",{"type":42,"tag":92,"props":340,"children":341},{},[342,348],{"type":42,"tag":159,"props":343,"children":345},{"className":344},[],[346],{"type":47,"value":347},"duration_minutes",{"type":47,"value":349},": meeting length",{"type":42,"tag":92,"props":351,"children":352},{},[353,359],{"type":42,"tag":159,"props":354,"children":356},{"className":355},[],[357],{"type":47,"value":358},"working_hours_only",{"type":47,"value":360},": true (unless the user specified otherwise)",{"type":42,"tag":76,"props":362,"children":364},{"id":363},"step-2b-filter-for-working-hours-across-all-time-zones",[365],{"type":47,"value":366},"Step 2b: Filter for working hours across all time zones",{"type":42,"tag":50,"props":368,"children":369},{},[370,372,377,379,384,386,391],{"type":47,"value":371},"The API's ",{"type":42,"tag":159,"props":373,"children":375},{"className":374},[],[376],{"type":47,"value":358},{"type":47,"value":378}," flag only enforces working hours in the ",{"type":42,"tag":61,"props":380,"children":381},{},[382],{"type":47,"value":383},"user's",{"type":47,"value":385}," timezone. You must also ensure proposed slots fall within working hours (9am–5pm) for ",{"type":42,"tag":61,"props":387,"children":388},{},[389],{"type":47,"value":390},"every participant",{"type":47,"value":392}," in their own local timezone.",{"type":42,"tag":186,"props":394,"children":395},{},[396,418,443],{"type":42,"tag":92,"props":397,"children":398},{},[399,404,405,410,412,416],{"type":42,"tag":61,"props":400,"children":401},{},[402],{"type":47,"value":403},"Determine each participant's timezone.",{"type":47,"value":198},{"type":42,"tag":159,"props":406,"children":408},{"className":407},[],[409],{"type":47,"value":164},{"type":47,"value":411}," to look up each participant's timezone (e.g., \"What timezone is ",{"type":42,"tag":235,"props":413,"children":414},{"href":237},[415],{"type":47,"value":240},{"type":47,"value":417}," in?\"). If a timezone can't be determined, ask the user.",{"type":42,"tag":92,"props":419,"children":420},{},[421,426,428,434,436,441],{"type":42,"tag":61,"props":422,"children":423},{},[424],{"type":47,"value":425},"Convert and filter.",{"type":47,"value":427}," For each slot returned by ",{"type":42,"tag":159,"props":429,"children":431},{"className":430},[],[432],{"type":47,"value":433},"get_availability",{"type":47,"value":435},", convert the time to every participant's local timezone and ",{"type":42,"tag":61,"props":437,"children":438},{},[439],{"type":47,"value":440},"discard any slot where it falls outside 9am–5pm for anyone",{"type":47,"value":442},". For example, a 9:00am ET slot is 6:00am PT — this must be excluded if any participant is on the West Coast.",{"type":42,"tag":92,"props":444,"children":445},{},[446,451],{"type":42,"tag":61,"props":447,"children":448},{},[449],{"type":47,"value":450},"If filtering removes all slots",{"type":47,"value":452},", tell the user: \"There are available calendar slots, but none fall within working hours for all participants across time zones.\" Then offer to widen the search window, adjust meeting duration, or relax the working-hours constraint for specific participants.",{"type":42,"tag":76,"props":454,"children":456},{"id":455},"step-3-present-options",[457],{"type":47,"value":458},"Step 3: Present options",{"type":42,"tag":50,"props":460,"children":461},{},[462],{"type":47,"value":463},"Show the user 3-5 available time slots, formatted clearly:",{"type":42,"tag":465,"props":466,"children":470},"pre",{"className":467,"code":469,"language":47},[468],"language-text","## Available times for a 30-min call with Andrew Chen\n\n1. Tuesday, April 14 at 10:00am PT\n2. Tuesday, April 14 at 2:30pm PT\n3. Wednesday, April 15 at 11:00am PT\n4. Thursday, April 16 at 9:00am PT\n\nWould you like me to:\n- **Book one of these** directly (creates a calendar invite)?\n- **Email Andrew** with these options so he can pick?\n",[471],{"type":42,"tag":159,"props":472,"children":474},{"__ignoreMap":473},"",[475],{"type":47,"value":469},{"type":42,"tag":50,"props":477,"children":478},{},[479],{"type":47,"value":480},"If there are no available slots, say so clearly and suggest widening the window or adjusting the duration.",{"type":42,"tag":76,"props":482,"children":484},{"id":483},"step-4a-direct-booking",[485],{"type":47,"value":486},"Step 4a: Direct booking",{"type":42,"tag":50,"props":488,"children":489},{},[490],{"type":47,"value":491},"If the user picks a time to book:",{"type":42,"tag":50,"props":493,"children":494},{},[495,496,502],{"type":47,"value":283},{"type":42,"tag":159,"props":497,"children":499},{"className":498},[],[500],{"type":47,"value":501},"Superhuman_Mail.create_or_update_event",{"type":47,"value":291},{"type":42,"tag":88,"props":504,"children":505},{},[506,517,535,553,564,575],{"type":42,"tag":92,"props":507,"children":508},{},[509,515],{"type":42,"tag":159,"props":510,"children":512},{"className":511},[],[513],{"type":47,"value":514},"title",{"type":47,"value":516},": Infer from context (e.g., \"Lorilyn \u003C> Andrew — Sync\") or ask",{"type":42,"tag":92,"props":518,"children":519},{},[520,526,527,533],{"type":42,"tag":159,"props":521,"children":523},{"className":522},[],[524],{"type":47,"value":525},"start",{"type":47,"value":330},{"type":42,"tag":159,"props":528,"children":530},{"className":529},[],[531],{"type":47,"value":532},"end",{"type":47,"value":534},": The selected time slot in RFC3339 format",{"type":42,"tag":92,"props":536,"children":537},{},[538,544,546,551],{"type":42,"tag":159,"props":539,"children":541},{"className":540},[],[542],{"type":47,"value":543},"attendees",{"type":47,"value":545},": All participant email addresses — ",{"type":42,"tag":61,"props":547,"children":548},{},[549],{"type":47,"value":550},"always include the user (the user's email address) as an attendee",{"type":47,"value":552}," unless the user explicitly says to leave themselves off the invite",{"type":42,"tag":92,"props":554,"children":555},{},[556,562],{"type":42,"tag":159,"props":557,"children":559},{"className":558},[],[560],{"type":47,"value":561},"conference",{"type":47,"value":563},": follow the user's Superhuman personalization settings; override only if the user explicitly requests or declines a video link",{"type":42,"tag":92,"props":565,"children":566},{},[567,573],{"type":42,"tag":159,"props":568,"children":570},{"className":569},[],[571],{"type":47,"value":572},"timezone",{"type":47,"value":574},": User's timezone",{"type":42,"tag":92,"props":576,"children":577},{},[578,584],{"type":42,"tag":159,"props":579,"children":581},{"className":580},[],[582],{"type":47,"value":583},"description",{"type":47,"value":585},": Optional — if the meeting relates to an email thread, include a brief summary",{"type":42,"tag":50,"props":587,"children":588},{},[589],{"type":47,"value":590},"Confirm to the user: \"Done — I've sent a calendar invite to Andrew for Tuesday at 10am PT with a video link.\"",{"type":42,"tag":76,"props":592,"children":594},{"id":593},"step-4b-email-with-proposed-times",[595],{"type":47,"value":596},"Step 4b: Email with proposed times",{"type":42,"tag":50,"props":598,"children":599},{},[600],{"type":47,"value":601},"If the user wants to email the other person:",{"type":42,"tag":50,"props":603,"children":604},{},[605,606,612],{"type":47,"value":283},{"type":42,"tag":159,"props":607,"children":609},{"className":608},[],[610],{"type":47,"value":611},"Superhuman_Mail.create_or_update_draft",{"type":47,"value":291},{"type":42,"tag":88,"props":614,"children":615},{},[616,627,638,649],{"type":42,"tag":92,"props":617,"children":618},{},[619,625],{"type":42,"tag":159,"props":620,"children":622},{"className":621},[],[623],{"type":47,"value":624},"type",{"type":47,"value":626},": \"new\" (or \"reply\" if this is in the context of an existing thread)",{"type":42,"tag":92,"props":628,"children":629},{},[630,636],{"type":42,"tag":159,"props":631,"children":633},{"className":632},[],[634],{"type":47,"value":635},"to",{"type":47,"value":637},": The other person's email",{"type":42,"tag":92,"props":639,"children":640},{},[641,647],{"type":42,"tag":159,"props":642,"children":644},{"className":643},[],[645],{"type":47,"value":646},"thread_id",{"type":47,"value":648},": Include if replying to an existing scheduling thread",{"type":42,"tag":92,"props":650,"children":651},{},[652,658,660,666,668,673,675,680],{"type":42,"tag":159,"props":653,"children":655},{"className":654},[],[656],{"type":47,"value":657},"instructions",{"type":47,"value":659},": Something like \"Propose meeting times to Andrew. Suggest ",{"type":42,"tag":661,"props":662,"children":663},"span",{},[664],{"type":47,"value":665},"time 1",{"type":47,"value":667},", ",{"type":42,"tag":661,"props":669,"children":670},{},[671],{"type":47,"value":672},"time 2",{"type":47,"value":674},", and ",{"type":42,"tag":661,"props":676,"children":677},{},[678],{"type":47,"value":679},"time 3",{"type":47,"value":681}," for a 30-minute video call. Keep it friendly and brief. Ask him to pick whichever works best.\"",{"type":42,"tag":50,"props":683,"children":684},{},[685,687,693],{"type":47,"value":686},"Present the draft to the user for review, then send via ",{"type":42,"tag":159,"props":688,"children":690},{"className":689},[],[691],{"type":47,"value":692},"Superhuman_Mail.send_draft",{"type":47,"value":694}," when approved.",{"type":42,"tag":76,"props":696,"children":698},{"id":697},"step-4c-time-blocking-for-solo-tasks",[699],{"type":47,"value":700},"Step 4c: Time blocking (for solo tasks)",{"type":42,"tag":50,"props":702,"children":703},{},[704],{"type":47,"value":705},"If the user wants to block time for a task (not a meeting with others):",{"type":42,"tag":50,"props":707,"children":708},{},[709,710,715],{"type":47,"value":283},{"type":42,"tag":159,"props":711,"children":713},{"className":712},[],[714],{"type":47,"value":501},{"type":47,"value":291},{"type":42,"tag":88,"props":717,"children":718},{},[719,729,745,750],{"type":42,"tag":92,"props":720,"children":721},{},[722,727],{"type":42,"tag":159,"props":723,"children":725},{"className":724},[],[726],{"type":47,"value":514},{"type":47,"value":728},": The task description (e.g., \"Deep work: Q3 proposal\")",{"type":42,"tag":92,"props":730,"children":731},{},[732,737,738,743],{"type":42,"tag":159,"props":733,"children":735},{"className":734},[],[736],{"type":47,"value":525},{"type":47,"value":330},{"type":42,"tag":159,"props":739,"children":741},{"className":740},[],[742],{"type":47,"value":532},{"type":47,"value":744},": The chosen block",{"type":42,"tag":92,"props":746,"children":747},{},[748],{"type":47,"value":749},"No attendees",{"type":42,"tag":92,"props":751,"children":752},{},[753,758],{"type":42,"tag":159,"props":754,"children":756},{"className":755},[],[757],{"type":47,"value":561},{"type":47,"value":759},": false",{"type":42,"tag":69,"props":761,"children":763},{"id":762},"handling-scheduling-threads",[764],{"type":47,"value":765},"Handling scheduling threads",{"type":42,"tag":50,"props":767,"children":768},{},[769],{"type":47,"value":770},"If the user's prompt is in the context of an existing email thread about scheduling:",{"type":42,"tag":186,"props":772,"children":773},{},[774,787,799],{"type":42,"tag":92,"props":775,"children":776},{},[777,779,785],{"type":47,"value":778},"Read the thread with ",{"type":42,"tag":159,"props":780,"children":782},{"className":781},[],[783],{"type":47,"value":784},"Superhuman_Mail.get_thread",{"type":47,"value":786}," to understand what's being asked",{"type":42,"tag":92,"props":788,"children":789},{},[790,792,797],{"type":47,"value":791},"Check the user's availability with ",{"type":42,"tag":159,"props":793,"children":795},{"className":794},[],[796],{"type":47,"value":289},{"type":47,"value":798}," for the proposed times",{"type":42,"tag":92,"props":800,"children":801},{},[802,804,809],{"type":47,"value":803},"Draft a reply via ",{"type":42,"tag":159,"props":805,"children":807},{"className":806},[],[808],{"type":47,"value":611},{"type":47,"value":810}," that either confirms a time, proposes alternatives, or shares availability",{"type":42,"tag":69,"props":812,"children":814},{"id":813},"important-guidelines",[815],{"type":47,"value":816},"Important guidelines",{"type":42,"tag":88,"props":818,"children":819},{},[820,830,840,850,860,870,880,913],{"type":42,"tag":92,"props":821,"children":822},{},[823,828],{"type":42,"tag":61,"props":824,"children":825},{},[826],{"type":47,"value":827},"Verify identity before scheduling.",{"type":47,"value":829}," Never check availability or book a meeting until you've confirmed the correct person. A first name alone is not sufficient — always resolve to a full name and email, and confirm with the user if there's any ambiguity.",{"type":42,"tag":92,"props":831,"children":832},{},[833,838],{"type":42,"tag":61,"props":834,"children":835},{},[836],{"type":47,"value":837},"Always confirm before booking.",{"type":47,"value":839}," Never create a calendar event without the user saying \"yes, book it\" or equivalent.",{"type":42,"tag":92,"props":841,"children":842},{},[843,848],{"type":42,"tag":61,"props":844,"children":845},{},[846],{"type":47,"value":847},"Respect working hours for ALL participants.",{"type":47,"value":849}," Never propose a time that falls outside 9am–5pm in any participant's local timezone, even if the API returns it as available. A slot is only valid if it's within working hours for everyone.",{"type":42,"tag":92,"props":851,"children":852},{},[853,858],{"type":42,"tag":61,"props":854,"children":855},{},[856],{"type":47,"value":857},"Time zones matter.",{"type":47,"value":859}," Always show times in the user's local timezone. If participants are in different zones, show the conversion (e.g., \"10:00am PT \u002F 1:00pm ET\").",{"type":42,"tag":92,"props":861,"children":862},{},[863,868],{"type":42,"tag":61,"props":864,"children":865},{},[866],{"type":47,"value":867},"Always include the user on the invite.",{"type":47,"value":869}," The user (the user's email address) must be an attendee on every meeting unless they explicitly say otherwise. This applies to both direct bookings and proposed times.",{"type":42,"tag":92,"props":871,"children":872},{},[873,878],{"type":42,"tag":61,"props":874,"children":875},{},[876],{"type":47,"value":877},"Follow Superhuman personalization settings.",{"type":47,"value":879}," For meeting defaults like conferencing links, event formatting, and scheduling preferences, defer to the user's Superhuman personalization settings rather than making assumptions. Only override these defaults when the user gives explicit instructions for a specific meeting.",{"type":42,"tag":92,"props":881,"children":882},{},[883,888,890,896,898,903,905,911],{"type":42,"tag":61,"props":884,"children":885},{},[886],{"type":47,"value":887},"Recurring meetings",{"type":47,"value":889},": If the user asks for a recurring sync, use the ",{"type":42,"tag":159,"props":891,"children":893},{"className":892},[],[894],{"type":47,"value":895},"recurrence",{"type":47,"value":897}," field in ",{"type":42,"tag":159,"props":899,"children":901},{"className":900},[],[902],{"type":47,"value":501},{"type":47,"value":904}," (e.g., ",{"type":42,"tag":159,"props":906,"children":908},{"className":907},[],[909],{"type":47,"value":910},"RRULE:FREQ=WEEKLY;COUNT=10",{"type":47,"value":912},").",{"type":42,"tag":92,"props":914,"children":915},{},[916,921],{"type":42,"tag":61,"props":917,"children":918},{},[919],{"type":47,"value":920},"When context is available",{"type":47,"value":922},", use it. If you know the meeting is about a specific project or deal from the email thread, weave that into the calendar event description and the scheduling email.",{"items":924,"total":1045},[925,943,959,971,991,1013,1033],{"slug":926,"name":926,"fn":927,"description":928,"org":929,"tags":930,"stars":25,"repoUrl":26,"updatedAt":27},"accessibility-and-inclusive-visualization","make data visualizations accessible","Make data visualizations accessible and inclusive. Use when the user needs chart or diagram accessibility guidance, text alternatives for complex visuals, color and contrast review, keyboard support, reduced-motion behavior for animation or parallax, or an accessibility QA workflow for exported figures, UML-like diagrams, and dashboards.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[931,934,937,940],{"name":932,"slug":933,"type":15},"Accessibility","accessibility",{"name":935,"slug":936,"type":15},"Charts","charts",{"name":938,"slug":939,"type":15},"Data Visualization","data-visualization",{"name":941,"slug":942,"type":15},"Design","design",{"slug":944,"name":944,"fn":945,"description":946,"org":947,"tags":948,"stars":25,"repoUrl":26,"updatedAt":958},"agent-browser","automate browser interactions for agents","Browser automation CLI for AI agents. Use when the user needs to interact with websites, verify dev server output, test web apps, navigate pages, fill forms, click buttons, take screenshots, extract data, or automate any browser task. Also triggers when a dev server starts so you can verify it visually.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[949,952,955],{"name":950,"slug":951,"type":15},"Agents","agents",{"name":953,"slug":954,"type":15},"Browser Automation","browser-automation",{"name":956,"slug":957,"type":15},"Testing","testing","2026-04-06T18:41:03.44016",{"slug":960,"name":960,"fn":961,"description":962,"org":963,"tags":964,"stars":25,"repoUrl":26,"updatedAt":970},"agent-browser-verify","verify dev server output with automated browser","Automated browser verification for dev servers. Triggers when a dev server starts to run a visual gut-check with agent-browser — verifies the page loads, checks for console errors, validates key UI elements, and reports pass\u002Ffail before continuing.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[965,966,969],{"name":953,"slug":954,"type":15},{"name":967,"slug":968,"type":15},"Local Development","local-development",{"name":956,"slug":957,"type":15},"2026-04-06T18:41:17.526867",{"slug":972,"name":972,"fn":973,"description":974,"org":975,"tags":976,"stars":25,"repoUrl":26,"updatedAt":990},"agents-sdk","build AI agents on Cloudflare Workers","Build AI agents on Cloudflare Workers using the Agents SDK. Load when creating stateful agents, durable workflows, real-time WebSocket apps, scheduled tasks, MCP servers, or chat applications. Covers Agent class, state management, callable RPC, Workflows integration, and React hooks. Biases towards retrieval from Cloudflare docs over pre-trained knowledge.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[977,978,981,984,987],{"name":950,"slug":951,"type":15},{"name":979,"slug":980,"type":15},"Cloudflare Workers","cloudflare-workers",{"name":982,"slug":983,"type":15},"SDK","sdk",{"name":985,"slug":986,"type":15},"Serverless","serverless",{"name":988,"slug":989,"type":15},"WebSockets","websockets","2026-04-06T18:39:51.717063",{"slug":992,"name":992,"fn":993,"description":994,"org":995,"tags":996,"stars":25,"repoUrl":26,"updatedAt":1012},"ai-elements","build chat UIs with AI Elements","AI Elements component library guidance — pre-built React components for AI interfaces built on shadcn\u002Fui. Use when building chat UIs, message displays, tool call rendering, streaming responses, reasoning panels, or any AI-native interface with the AI SDK.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[997,1000,1003,1006,1009],{"name":998,"slug":999,"type":15},"Frontend","frontend",{"name":1001,"slug":1002,"type":15},"React","react",{"name":1004,"slug":1005,"type":15},"shadcn\u002Fui","shadcn-ui",{"name":1007,"slug":1008,"type":15},"UI Components","ui-components",{"name":1010,"slug":1011,"type":15},"Vercel","vercel","2026-04-06T18:40:59.619419",{"slug":1014,"name":1014,"fn":1015,"description":1016,"org":1017,"tags":1018,"stars":25,"repoUrl":26,"updatedAt":1032},"ai-gateway","configure Vercel AI Gateway","Vercel AI Gateway expert guidance. Use when configuring model routing, provider failover, cost tracking, or managing multiple AI providers through a unified API.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1019,1022,1025,1028,1031],{"name":1020,"slug":1021,"type":15},"AI Infrastructure","ai-infrastructure",{"name":1023,"slug":1024,"type":15},"Cost Optimization","cost-optimization",{"name":1026,"slug":1027,"type":15},"LLM","llm",{"name":1029,"slug":1030,"type":15},"Performance","performance",{"name":1010,"slug":1011,"type":15},"2026-04-06T18:40:44.377464",{"slug":1034,"name":1034,"fn":1035,"description":1036,"org":1037,"tags":1038,"stars":25,"repoUrl":26,"updatedAt":1044},"ai-generation-persistence","implement persistence patterns for AI generations","AI generation persistence patterns — unique IDs, addressable URLs, database storage, and cost tracking for every LLM generation",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1039,1040,1043],{"name":1023,"slug":1024,"type":15},{"name":1041,"slug":1042,"type":15},"Database","database",{"name":1026,"slug":1027,"type":15},"2026-04-06T18:41:08.513425",600,{"items":1047,"total":1242},[1048,1069,1092,1109,1125,1142,1159,1171,1185,1199,1211,1226],{"slug":1049,"name":1049,"fn":1050,"description":1051,"org":1052,"tags":1053,"stars":1066,"repoUrl":1067,"updatedAt":1068},"prior-auth-packet-builder","build healthcare prior authorization packets","Build a concise prior authorization packet from local case files and payer policy docs.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1054,1057,1060,1063],{"name":1055,"slug":1056,"type":15},"Documents","documents",{"name":1058,"slug":1059,"type":15},"Healthcare","healthcare",{"name":1061,"slug":1062,"type":15},"Insurance","insurance",{"name":1064,"slug":1065,"type":15},"Regulatory Compliance","regulatory-compliance",28169,"https:\u002F\u002Fgithub.com\u002Fopenai\u002Fopenai-agents-python","2026-04-16T05:11:39.180399",{"slug":1070,"name":1070,"fn":1071,"description":1072,"org":1073,"tags":1074,"stars":1089,"repoUrl":1090,"updatedAt":1091},"aspnet-core","build ASP.NET Core web applications","Build, review, refactor, or architect ASP.NET Core web applications using current official guidance for .NET web development. Use when working on Blazor Web Apps, Razor Pages, MVC, Minimal APIs, controller-based Web APIs, SignalR, gRPC, middleware, dependency injection, configuration, authentication, authorization, testing, performance, deployment, or ASP.NET Core upgrades.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1075,1078,1080,1083,1086],{"name":1076,"slug":1077,"type":15},".NET","dotnet",{"name":1079,"slug":1070,"type":15},"ASP.NET Core",{"name":1081,"slug":1082,"type":15},"Blazor","blazor",{"name":1084,"slug":1085,"type":15},"C#","csharp",{"name":1087,"slug":1088,"type":15},"Web Development","web-development",23787,"https:\u002F\u002Fgithub.com\u002Fopenai\u002Fskills","2026-04-12T05:07:02.819491",{"slug":1093,"name":1093,"fn":1094,"description":1095,"org":1096,"tags":1097,"stars":1089,"repoUrl":1090,"updatedAt":1108},"chatgpt-apps","build ChatGPT Apps SDK applications","Build, scaffold, refactor, and troubleshoot ChatGPT Apps SDK applications that combine an MCP server and widget UI. Use when Codex needs to design tools, register UI resources, wire the MCP Apps bridge or ChatGPT compatibility APIs, apply Apps SDK metadata or CSP or domain settings, or produce a docs-aligned project scaffold. Prefer a docs-first workflow by invoking the openai-docs skill or OpenAI developer docs MCP tools before generating code.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1098,1101,1104,1107],{"name":1099,"slug":1100,"type":15},"Apps SDK","apps-sdk",{"name":1102,"slug":1103,"type":15},"ChatGPT","chatgpt",{"name":1105,"slug":1106,"type":15},"MCP","mcp",{"name":9,"slug":8,"type":15},"2026-04-12T05:07:05.468097",{"slug":1110,"name":1110,"fn":1111,"description":1112,"org":1113,"tags":1114,"stars":1089,"repoUrl":1090,"updatedAt":1124},"cli-creator","build CLIs from API docs","Build a composable CLI for Codex from API docs, an OpenAPI spec, existing curl examples, an SDK, a web app, an admin tool, or a local script. Use when the user wants Codex to create a command-line tool that can run from any repo, expose composable read\u002Fwrite commands, return stable JSON, manage auth, and pair with a companion skill.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1115,1118,1121],{"name":1116,"slug":1117,"type":15},"API Development","api-development",{"name":1119,"slug":1120,"type":15},"CLI","cli",{"name":1122,"slug":1123,"type":15},"Codex","codex","2026-04-12T05:07:04.132762",{"slug":1126,"name":1126,"fn":1127,"description":1128,"org":1129,"tags":1130,"stars":1089,"repoUrl":1090,"updatedAt":1141},"cloudflare-deploy","deploy projects to Cloudflare","Deploy applications and infrastructure to Cloudflare using Workers, Pages, and related platform services. Use when the user asks to deploy, host, publish, or set up a project on Cloudflare.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1131,1134,1137,1138],{"name":1132,"slug":1133,"type":15},"Cloudflare","cloudflare",{"name":1135,"slug":1136,"type":15},"Cloudflare Pages","cloudflare-pages",{"name":979,"slug":980,"type":15},{"name":1139,"slug":1140,"type":15},"Deployment","deployment","2026-04-12T05:07:14.275118",{"slug":1143,"name":1143,"fn":1144,"description":1145,"org":1146,"tags":1147,"stars":1089,"repoUrl":1090,"updatedAt":1158},"define-goal","define and set measurable project goals","Help the user define a concrete, measurable goal before starting work, especially when they ask to use the goal tool, create a goal, set an objective, clarify success criteria, or turn a fuzzy intention into a quantitative outcome. Use this skill for goal creation and goal refinement only; it does not manage durable snapshots, decision logs, or long-running execution artifacts.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1148,1149,1152,1155],{"name":13,"slug":14,"type":15},{"name":1150,"slug":1151,"type":15},"Project Management","project-management",{"name":1153,"slug":1154,"type":15},"Strategy","strategy",{"name":1156,"slug":1157,"type":15},"Task Management","task-management","2026-05-23T06:17:16.870838",{"slug":1160,"name":1160,"fn":1161,"description":1162,"org":1163,"tags":1164,"stars":1089,"repoUrl":1090,"updatedAt":1170},"figma","translate Figma designs into code","Use the Figma MCP server to fetch design context, screenshots, variables, and assets from Figma, and to translate Figma nodes into production code. Trigger when a task involves Figma URLs, node IDs, design-to-code implementation, or Figma MCP setup and troubleshooting.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1165,1166,1168,1169],{"name":941,"slug":942,"type":15},{"name":1167,"slug":1160,"type":15},"Figma",{"name":998,"slug":999,"type":15},{"name":1105,"slug":1106,"type":15},"2026-04-12T05:06:47.939943",{"slug":1172,"name":1172,"fn":1173,"description":1174,"org":1175,"tags":1176,"stars":1089,"repoUrl":1090,"updatedAt":1184},"figma-code-connect-components","connect Figma designs to code components","Connects Figma design components to code components using Code Connect mapping tools. Use when user says \"code connect\", \"connect this component to code\", \"map this component\", \"link component to code\", \"create code connect mapping\", or wants to establish mappings between Figma designs and code implementations. For canvas writes via `use_figma`, use `figma-use`.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1177,1178,1181,1182,1183],{"name":941,"slug":942,"type":15},{"name":1179,"slug":1180,"type":15},"Design System","design-system",{"name":1167,"slug":1160,"type":15},{"name":998,"slug":999,"type":15},{"name":1007,"slug":1008,"type":15},"2026-05-10T05:59:52.971881",{"slug":1186,"name":1186,"fn":1187,"description":1188,"org":1189,"tags":1190,"stars":1089,"repoUrl":1090,"updatedAt":1198},"figma-create-design-system-rules","generate design system rules from Figma","Generates custom design system rules for the user's codebase. Use when user says \"create design system rules\", \"generate rules for my project\", \"set up design rules\", \"customize design system guidelines\", or wants to establish project-specific conventions for Figma-to-code workflows. Requires Figma MCP server connection.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1191,1192,1193,1196,1197],{"name":941,"slug":942,"type":15},{"name":1179,"slug":1180,"type":15},{"name":1194,"slug":1195,"type":15},"Documentation","documentation",{"name":1167,"slug":1160,"type":15},{"name":998,"slug":999,"type":15},"2026-05-16T06:07:47.821474",{"slug":1200,"name":1200,"fn":1201,"description":1202,"org":1203,"tags":1204,"stars":1089,"repoUrl":1090,"updatedAt":1210},"figma-implement-design","translate Figma designs into application code","Translates Figma designs into production-ready application code with 1:1 visual fidelity. Use when implementing UI code from Figma files, when user mentions \"implement design\", \"generate code\", \"implement component\", provides Figma URLs, or asks to build components matching Figma specs. For Figma canvas writes via `use_figma`, use `figma-use`.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1205,1206,1207,1208,1209],{"name":941,"slug":942,"type":15},{"name":1167,"slug":1160,"type":15},{"name":998,"slug":999,"type":15},{"name":1007,"slug":1008,"type":15},{"name":1087,"slug":1088,"type":15},"2026-05-16T06:07:40.583615",{"slug":1212,"name":1212,"fn":1213,"description":1214,"org":1215,"tags":1216,"stars":1089,"repoUrl":1090,"updatedAt":1225},"hatch-pet","create animated pets for Codex","Create, repair, validate, visually QA, and package Codex-compatible animated pets and pet spritesheets from character art, generated images, company or prospect brand cues, or visual references. Use when a user wants a lightweight-worker Codex pet workflow, a non-pixel custom pet style, a prospect or company mascot pet, or a full 8x9 animated pet atlas with transparent unused cells, QA contact sheets, and pet.json packaging. This skill composes the installed $imagegen system skill for visual generation and uses bundled scripts for deterministic spritesheet assembly.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1217,1220,1221,1224],{"name":1218,"slug":1219,"type":15},"Animation","animation",{"name":1122,"slug":1123,"type":15},{"name":1222,"slug":1223,"type":15},"Creative","creative",{"name":941,"slug":942,"type":15},"2026-05-02T05:31:48.48485",{"slug":1227,"name":1227,"fn":1228,"description":1229,"org":1230,"tags":1231,"stars":1089,"repoUrl":1090,"updatedAt":1241},"imagegen","generate and edit raster images","Generate or edit raster images when the task benefits from AI-created bitmap visuals such as photos, illustrations, textures, sprites, mockups, or transparent-background cutouts. Use when Codex should create a brand-new image, transform an existing image, or derive visual variants from references, and the output should be a bitmap asset rather than repo-native code or vector. Do not use when the task is better handled by editing existing SVG\u002Fvector\u002Fcode-native assets, extending an established icon or logo system, or building the visual directly in HTML\u002FCSS\u002Fcanvas.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1232,1233,1234,1237,1240],{"name":1222,"slug":1223,"type":15},{"name":941,"slug":942,"type":15},{"name":1235,"slug":1236,"type":15},"Image Generation","image-generation",{"name":1238,"slug":1239,"type":15},"Images","images",{"name":9,"slug":8,"type":15},"2026-05-15T06:23:24.312127",675]