Update to Seekrly
Snapshot Nov 1, 2026 · 18:10 UTC · version 1.2.1
Collection source: downloaded plugin package.
Instructions updated for seekrly-outreach
Skill instructions — Now says: Sending 2. Call it only after the user approved the draft above; it sends right away, so don't ask a second time. 3. The result is call: a date and time...
Observed in instructions or declared skills. Runtime behavior has not been tested.
Up to 10 plugins free · no card required.
All fields and original values.
Skill instructions
Oct 24, 2026 · 13:52 UTC
Sending (two-step) 2. The first call returns a preview + `confirmationToken`. Show it in full: recipient, subject, the whole body and the attachment. Ask "Send it?" 3. Only on a clear yes, repeat the identical call with the token. The...
Nov 1, 2026 · 18:10 UTC
Sending 2. Call it only after the user approved the draft above; it sends right away, so don't ask a second time. 3. The result is call: a date and time with the user's timezone offset (ask for the Gmail/SMTP then (right away if the...
Compare saved observations
Download comparison JSONSKILL.md text changes
− removed · + added
--- before +++ after @@ -31,13 +31,13 @@ body, attachment and sender. Ask "Send this, or change something?" Revise and show it again until they approve. Never send a draft the user hasn't seen. -## Sending (two-step) +## Sending 1. `send_email` with `contactId` **or** `email`, `subject`, `body`, optional `resumeId` (from `list_resumes`) and `sender` (auto/gmail/smtp). -2. The first call returns a preview + `confirmationToken`. Show it in full: - recipient, subject, the whole body and the attachment. Ask "Send it?" -3. Only on a clear yes, repeat the identical call with the token. The result is +2. Call it only after the user approved the draft above; it sends right away, so + don't ask a second time. +3. The result is `sending: true` with a `followUpId`: the email goes out within seconds. Say "Sending to …", not "Sent". If the user asks whether it went out, check `list_follow_ups` for that contact: Sent, or Failed with `sendError`. If @@ -45,7 +45,7 @@ 4. Offer to plan a follow-up (below). To send it later instead ("send it Monday at 9"), add `sendAt` to the same -two-step call: a date and time with the user's timezone offset (ask for the +call: a date and time with the user's timezone offset (ask for the time if they didn't give one). It's saved as a follow-up that sends itself then (`sending: false`, `sendAt`, `followUpId`); say "Scheduled for …". `update_follow_up` reschedules it, or cancels it with `scheduledSend: false`. @@ -64,8 +64,8 @@ - By default a follow-up is a reminder and nothing is sent. Only when the user asks for the email to go out by itself, pass `scheduledSend: true` on an Email follow-up with a time in `scheduledDate`: Seekrly sends it from their - Gmail/SMTP then (right away if the time has passed). It returns a preview - first; confirm with the user, then call again with the token. Automatic + Gmail/SMTP then (right away if the time has passed). Confirm the + draft and time with the user once before the call. Automatic sending is a paid feature (Pro and up) with a daily limit: on Free the follow-up is saved as a normal reminder (`send.state` `not_in_plan`) - tell the user they'll need to send it themselves, or upgrade. Plain reminders work
Full technical diff · 1 changed fields
changed /skill_md_contents
"---\nname: seekrly-outreach\ndescription: Reach out to recruiters, hiring managers and referrals through Seekrly - draft and send emails from the user's own Gmail/SMTP (optionally with a resume attached), plan and update follow-ups, and keep contacts up to date. Use for \"email the recruiter\", \"follow up with…\", \"ask for a referral\", \"remind me to ping…\", \"they replied\".\n---\n\n# Outreach and follow-ups\n\nFollow the ground rules in the `seekrly` skill. Emails go out from the user's own\naccount and **can't be unsent** - always draft first and get a clear yes.\n\n## Who\n\n1. Resolve the person: `find_contacts` (name, email, company) or `search`.\n2. Context helps the message: the linked applications (`get_application`), past notes\n (`list_notes` on the contact), and the user's background\n (`get_career_profile`).\n3. No saved contact? `send_email` accepts `email` (and optional `name`,\n `applicationId`) and saves them as a new contact - mention that to the user.\n4. Before the first email in a conversation, `get_email_status`. If `configured` is\n false, tell the user and give them `settingsUrl` to connect Gmail or SMTP before\n drafting. `autoSend.included` says whether follow-ups can send themselves on\n their plan.\n\n## Drafting\n\n- Short and specific: who the user is, the role (with company), one or two concrete\n points of fit from their real profile, and a clear ask. Usually under 150 words.\n- Match the user's tone; don't overclaim or invent shared history.\n- Plain text body; blank lines separate paragraphs; no HTML.\n- Show the full draft in the chat before any tool call: to, subject, the whole\n body, attachment and sender. Ask \"Send this, or change something?\" Revise and\n show it again until they approve. Never send a draft the user hasn't seen.\n\n## Sending (two-step)\n\n1. `send_email` with `contactId` **or** `email`, `subject`, `body`, optional\n `resumeId` (from `list_resumes`) and `sender` (auto/gmail/smtp).\n2. The first call returns a preview + `confirmationToken`. Show it in full:\n recipient, subject, the whole body and the attachment. Ask \"Send it?\"\n3. Only on a clear yes, repeat the identical call with the token. The result is\n `sending: true` with a `followUpId`: the email goes out within seconds. Say\n \"Sending to …\", not \"Sent\". If the user asks whether it went out, check\n `list_follow_ups` for that contact: Sent, or Failed with `sendError`. If\n Gmail/SMTP isn't connected, give the user the Settings link from the error.\n4. Offer to plan a follow-up (below).\n\nTo send it later instead (\"send it Monday at 9\"), add `sendAt` to the same\ntwo-step call: a date and time with the user's timezone offset (ask for the\ntime if they didn't give one). It's saved as a follow-up that sends itself\nthen (`sending: false`, `sendAt`, `followUpId`); say \"Scheduled for …\".\n`update_follow_up` reschedules it, or cancels it with `scheduledSend: false`.\nScheduling is a Pro feature: on Free the call fails; tell the user and offer\nto send it now (the same call without `sendAt`).\n\n## Follow-ups\n\n- Plan: `create_follow_up` with `contactId`, `channel` (Email, LinkedIn, Call,\n Whatsapp, SMS, In-Person), `scheduledDate` (`YYYY-MM-DD`, or with a time and\n offset), optional `subject`/`message` draft and, for Email, a `resumeId`.\n A typical gap is 5-7 business days after an application or email.\n **Before calling, show the follow-up:** contact, channel, date and time in\n words, whether it sends automatically, and the full subject and message. Ask\n \"Create it, or change something?\" \n- By default a follow-up is a reminder and nothing is sent. Only when the user\n asks for the email to go out by itself, pass `scheduledSend: true` on an Email\n follow-up with a time in `scheduledDate`: Seekrly sends it from their\n Gmail/SMTP then (right away if the time has passed). It returns a preview\n first; confirm with the user, then call again with the token. Automatic\n sending is a paid feature (Pro and up) with a daily limit: on Free the\n follow-up is saved as a normal reminder (`send.state` `not_in_plan`) - tell\n the user they'll need to send it themselves, or upgrade. Plain reminders work\n on every plan.\n- Update: `update_follow_up` - reschedule, edit the draft, set `status`\n (`Replied` when they answered, `No Response`, `Sent`) or turn `scheduledSend`\n on/off (turning it on asks for confirmation). The channel can't change: plan\n a new follow-up for another channel. An Email follow-up that was sent, is\n sending or is set to auto-send is frozen - only its status changes; to edit an\n auto-send email, turn `scheduledSend` off first. `list_follow_ups` returns\n `locked` with the reason when a follow-up is frozen; check it before offering\n to edit the draft.\n- Send a planned email now: `send_follow_up` (confirm first). It sends the saved\n draft as is, so first show that draft in full (from `list_follow_ups`: to,\n subject, message, attachment) and offer to edit it with `update_follow_up`.\n Like `send_email` it returns `sending: true`; it then shows as Sent, or Failed\n with `sendError`.\n- A Failed follow-up: tell the user the `sendError` and offer to fix the cause\n (e.g. reconnect Gmail) and send again. A follow-up's email is sent at most once\n (`send.state` `already_sent`); to send a new message, plan a new follow-up.\n\n## Keeping contacts tidy\n\n- New person: `create_contact` (check `find_contacts` first), link to the\n applications they help with in `applicationIds`; `company` is where they work (an\n agency recruiter's agency, not the job's company). Show the details you'll save first.\n- Already saved, now helping with another job: `update_contact` with\n `linkApplicationIds`.\n- Changes (new title, email, LinkedIn URL): `update_contact` with only those fields.\n- Log what happened (\"Call with Priya: next round in 2 weeks\") with `add_note` on the\n contact.\n\n## Stop or ask\n\n- No recipient address on the contact: ask for it and save it with\n `update_contact` before sending.\n- Never send, schedule an auto-send or mark something Sent on the user's behalf\n without their clear yes to that exact message.\n- Don't invent shared history, referrals or claims about the user; ask instead.\n"
"---\nname: seekrly-outreach\ndescription: Reach out to recruiters, hiring managers and referrals through Seekrly - draft and send emails from the user's own Gmail/SMTP (optionally with a resume attached), plan and update follow-ups, and keep contacts up to date. Use for \"email the recruiter\", \"follow up with…\", \"ask for a referral\", \"remind me to ping…\", \"they replied\".\n---\n\n# Outreach and follow-ups\n\nFollow the ground rules in the `seekrly` skill. Emails go out from the user's own\naccount and **can't be unsent** - always draft first and get a clear yes.\n\n## Who\n\n1. Resolve the person: `find_contacts` (name, email, company) or `search`.\n2. Context helps the message: the linked applications (`get_application`), past notes\n (`list_notes` on the contact), and the user's background\n (`get_career_profile`).\n3. No saved contact? `send_email` accepts `email` (and optional `name`,\n `applicationId`) and saves them as a new contact - mention that to the user.\n4. Before the first email in a conversation, `get_email_status`. If `configured` is\n false, tell the user and give them `settingsUrl` to connect Gmail or SMTP before\n drafting. `autoSend.included` says whether follow-ups can send themselves on\n their plan.\n\n## Drafting\n\n- Short and specific: who the user is, the role (with company), one or two concrete\n points of fit from their real profile, and a clear ask. Usually under 150 words.\n- Match the user's tone; don't overclaim or invent shared history.\n- Plain text body; blank lines separate paragraphs; no HTML.\n- Show the full draft in the chat before any tool call: to, subject, the whole\n body, attachment and sender. Ask \"Send this, or change something?\" Revise and\n show it again until they approve. Never send a draft the user hasn't seen.\n\n## Sending\n\n1. `send_email` with `contactId` **or** `email`, `subject`, `body`, optional\n `resumeId` (from `list_resumes`) and `sender` (auto/gmail/smtp).\n2. Call it only after the user approved the draft above; it sends right away, so\n don't ask a second time.\n3. The result is\n `sending: true` with a `followUpId`: the email goes out within seconds. Say\n \"Sending to …\", not \"Sent\". If the user asks whether it went out, check\n `list_follow_ups` for that contact: Sent, or Failed with `sendError`. If\n Gmail/SMTP isn't connected, give the user the Settings link from the error.\n4. Offer to plan a follow-up (below).\n\nTo send it later instead (\"send it Monday at 9\"), add `sendAt` to the same\ncall: a date and time with the user's timezone offset (ask for the\ntime if they didn't give one). It's saved as a follow-up that sends itself\nthen (`sending: false`, `sendAt`, `followUpId`); say \"Scheduled for …\".\n`update_follow_up` reschedules it, or cancels it with `scheduledSend: false`.\nScheduling is a Pro feature: on Free the call fails; tell the user and offer\nto send it now (the same call without `sendAt`).\n\n## Follow-ups\n\n- Plan: `create_follow_up` with `contactId`, `channel` (Email, LinkedIn, Call,\n Whatsapp, SMS, In-Person), `scheduledDate` (`YYYY-MM-DD`, or with a time and\n offset), optional `subject`/`message` draft and, for Email, a `resumeId`.\n A typical gap is 5-7 business days after an application or email.\n **Before calling, show the follow-up:** contact, channel, date and time in\n words, whether it sends automatically, and the full subject and message. Ask\n \"Create it, or change something?\" \n- By default a follow-up is a reminder and nothing is sent. Only when the user\n asks for the email to go out by itself, pass `scheduledSend: true` on an Email\n follow-up with a time in `scheduledDate`: Seekrly sends it from their\n Gmail/SMTP then (right away if the time has passed). Confirm the\n draft and time with the user once before the call. Automatic\n sending is a paid feature (Pro and up) with a daily limit: on Free the\n follow-up is saved as a normal reminder (`send.state` `not_in_plan`) - tell\n the user they'll need to send it themselves, or upgrade. Plain reminders work\n on every plan.\n- Update: `update_follow_up` - reschedule, edit the draft, set `status`\n (`Replied` when they answered, `No Response`, `Sent`) or turn `scheduledSend`\n on/off (turning it on asks for confirmation). The channel can't change: plan\n a new follow-up for another channel. An Email follow-up that was sent, is\n sending or is set to auto-send is frozen - only its status changes; to edit an\n auto-send email, turn `scheduledSend` off first. `list_follow_ups` returns\n `locked` with the reason when a follow-up is frozen; check it before offering\n to edit the draft.\n- Send a planned email now: `send_follow_up` (confirm first). It sends the saved\n draft as is, so first show that draft in full (from `list_follow_ups`: to,\n subject, message, attachment) and offer to edit it with `update_follow_up`.\n Like `send_email` it returns `sending: true`; it then shows as Sent, or Failed\n with `sendError`.\n- A Failed follow-up: tell the user the `sendError` and offer to fix the cause\n (e.g. reconnect Gmail) and send again. A follow-up's email is sent at most once\n (`send.state` `already_sent`); to send a new message, plan a new follow-up.\n\n## Keeping contacts tidy\n\n- New person: `create_contact` (check `find_contacts` first), link to the\n applications they help with in `applicationIds`; `company` is where they work (an\n agency recruiter's agency, not the job's company). Show the details you'll save first.\n- Already saved, now helping with another job: `update_contact` with\n `linkApplicationIds`.\n- Changes (new title, email, LinkedIn URL): `update_contact` with only those fields.\n- Log what happened (\"Call with Priya: next round in 2 weeks\") with `add_note` on the\n contact.\n\n## Stop or ask\n\n- No recipient address on the contact: ask for it and save it with\n `update_contact` before sending.\n- Never send, schedule an auto-send or mark something Sent on the user's behalf\n without their clear yes to that exact message.\n- Don't invent shared history, referrals or claims about the user; ask instead.\n"
Full snapshot data
{
"description": "Reach out to recruiters, hiring managers and referrals through Seekrly - draft and send emails from the user's own Gmail/SMTP (optionally with a resume attached), plan and update follow-ups, and keep contacts up to date. Use for \"email the recruiter\", \"follow up with…\", \"ask for a referral\", \"remind me to ping…\", \"they replied\".",
"included_files": [],
"name": "seekrly-outreach",
"skill_md_contents": "---\nname: seekrly-outreach\ndescription: Reach out to recruiters, hiring managers and referrals through Seekrly - draft and send emails from the user's own Gmail/SMTP (optionally with a resume attached), plan and update follow-ups, and keep contacts up to date. Use for \"email the recruiter\", \"follow up with…\", \"ask for a referral\", \"remind me to ping…\", \"they replied\".\n---\n\n# Outreach and follow-ups\n\nFollow the ground rules in the `seekrly` skill. Emails go out from the user's own\naccount and **can't be unsent** - always draft first and get a clear yes.\n\n## Who\n\n1. Resolve the person: `find_contacts` (name, email, company) or `search`.\n2. Context helps the message: the linked applications (`get_application`), past notes\n (`list_notes` on the contact), and the user's background\n (`get_career_profile`).\n3. No saved contact? `send_email` accepts `email` (and optional `name`,\n `applicationId`) and saves them as a new contact - mention that to the user.\n4. Before the first email in a conversation, `get_email_status`. If `configured` is\n false, tell the user and give them `settingsUrl` to connect Gmail or SMTP before\n drafting. `autoSend.included` says whether follow-ups can send themselves on\n their plan.\n\n## Drafting\n\n- Short and specific: who the user is, the role (with company), one or two concrete\n points of fit from their real profile, and a clear ask. Usually under 150 words.\n- Match the user's tone; don't overclaim or invent shared history.\n- Plain text body; blank lines separate paragraphs; no HTML.\n- Show the full draft in the chat before any tool call: to, subject, the whole\n body, attachment and sender. Ask \"Send this, or change something?\" Revise and\n show it again until they approve. Never send a draft the user hasn't seen.\n\n## Sending\n\n1. `send_email` with `contactId` **or** `email`, `subject`, `body`, optional\n `resumeId` (from `list_resumes`) and `sender` (auto/gmail/smtp).\n2. Call it only after the user approved the draft above; it sends right away, so\n don't ask a second time.\n3. The result is\n `sending: true` with a `followUpId`: the email goes out within seconds. Say\n \"Sending to …\", not \"Sent\". If the user asks whether it went out, check\n `list_follow_ups` for that contact: Sent, or Failed with `sendError`. If\n Gmail/SMTP isn't connected, give the user the Settings link from the error.\n4. Offer to plan a follow-up (below).\n\nTo send it later instead (\"send it Monday at 9\"), add `sendAt` to the same\ncall: a date and time with the user's timezone offset (ask for the\ntime if they didn't give one). It's saved as a follow-up that sends itself\nthen (`sending: false`, `sendAt`, `followUpId`); say \"Scheduled for …\".\n`update_follow_up` reschedules it, or cancels it with `scheduledSend: false`.\nScheduling is a Pro feature: on Free the call fails; tell the user and offer\nto send it now (the same call without `sendAt`).\n\n## Follow-ups\n\n- Plan: `create_follow_up` with `contactId`, `channel` (Email, LinkedIn, Call,\n Whatsapp, SMS, In-Person), `scheduledDate` (`YYYY-MM-DD`, or with a time and\n offset), optional `subject`/`message` draft and, for Email, a `resumeId`.\n A typical gap is 5-7 business days after an application or email.\n **Before calling, show the follow-up:** contact, channel, date and time in\n words, whether it sends automatically, and the full subject and message. Ask\n \"Create it, or change something?\" \n- By default a follow-up is a reminder and nothing is sent. Only when the user\n asks for the email to go out by itself, pass `scheduledSend: true` on an Email\n follow-up with a time in `scheduledDate`: Seekrly sends it from their\n Gmail/SMTP then (right away if the time has passed). Confirm the\n draft and time with the user once before the call. Automatic\n sending is a paid feature (Pro and up) with a daily limit: on Free the\n follow-up is saved as a normal reminder (`send.state` `not_in_plan`) - tell\n the user they'll need to send it themselves, or upgrade. Plain reminders work\n on every plan.\n- Update: `update_follow_up` - reschedule, edit the draft, set `status`\n (`Replied` when they answered, `No Response`, `Sent`) or turn `scheduledSend`\n on/off (turning it on asks for confirmation). The channel can't change: plan\n a new follow-up for another channel. An Email follow-up that was sent, is\n sending or is set to auto-send is frozen - only its status changes; to edit an\n auto-send email, turn `scheduledSend` off first. `list_follow_ups` returns\n `locked` with the reason when a follow-up is frozen; check it before offering\n to edit the draft.\n- Send a planned email now: `send_follow_up` (confirm first). It sends the saved\n draft as is, so first show that draft in full (from `list_follow_ups`: to,\n subject, message, attachment) and offer to edit it with `update_follow_up`.\n Like `send_email` it returns `sending: true`; it then shows as Sent, or Failed\n with `sendError`.\n- A Failed follow-up: tell the user the `sendError` and offer to fix the cause\n (e.g. reconnect Gmail) and send again. A follow-up's email is sent at most once\n (`send.state` `already_sent`); to send a new message, plan a new follow-up.\n\n## Keeping contacts tidy\n\n- New person: `create_contact` (check `find_contacts` first), link to the\n applications they help with in `applicationIds`; `company` is where they work (an\n agency recruiter's agency, not the job's company). Show the details you'll save first.\n- Already saved, now helping with another job: `update_contact` with\n `linkApplicationIds`.\n- Changes (new title, email, LinkedIn URL): `update_contact` with only those fields.\n- Log what happened (\"Call with Priya: next round in 2 weeks\") with `add_note` on the\n contact.\n\n## Stop or ask\n\n- No recipient address on the contact: ask for it and save it with\n `update_contact` before sending.\n- Never send, schedule an auto-send or mark something Sent on the user's behalf\n without their clear yes to that exact message.\n- Don't invent shared history, referrals or claims about the user; ask instead.\n"
}SHA-256 of public snapshot: 54a6e351e961377afeb4ea0af53ee4069384eaf85c144de84783afcc7eaeccf9