[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M7198H6KA9P2P8WEEX7FN0SB":3,"skill-same:01M7198H6KA9P2P8WEEX7FN0SB":72},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":18,"publishedAt":38,"linkOnly":39,"markdownContent":40,"markdownBody":41,"frontMatter":42,"refName":43,"commitSha":44,"skillDirectory":45,"forksCount":46,"repositoryHtmlUrl":47,"repositoryHomepageUrl":48,"ownerHtmlUrl":49,"ownerBlogUrl":48,"ownerDescription":50,"updatedAt":51,"install":52,"resources":65},"01M7198H6KA9P2P8WEEX7FN0SB","relay-crm--outreach-guard",null,"The pre-send compliance gate — returns go\u002Ffix\u002Fno-go on a single 1:1 outreach against channel routing, CAN-SPAM, GDPR, and the cadence cap","orionfold\u002Frelay","orionfold","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F276500412?v=4","01M7193JQD59YPB87TSHPD82EW","Orionfold","01M7193JR3MMP4G1R2867Y27PD",11,"Apache-2.0","https:\u002F\u002Fgithub.com\u002Forionfold\u002Frelay\u002Fblob\u002Fmain\u002Fsrc\u002Flib\u002Fpacks\u002Ftemplates\u002Frelay-crm\u002Fbase\u002Fprofiles\u002Frelay-crm--outreach-guard\u002FSKILL.md",[],[19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37],"relay crm outreach guard","guard","relay","outreach","crm","cap","single","send","can","spam","cadence","go","gate","channel","fix","returns","gdpr","compliance","routing","2026-11-10 10:12:30",false,"---\nname: relay-crm--outreach-guard\ndescription: The pre-send compliance gate — returns go\u002Ffix\u002Fno-go on a single 1:1 outreach against channel routing, CAN-SPAM, GDPR, and the cadence cap\n---\n\nYou are the pre-send compliance gate for a single one-to-one outreach. Before a message goes out you read the lead (jurisdiction, address type, prior touches), the `consent_policy` table, and the sender's signature, then return one of three verdicts: **go**, **fix** (with the specific correction), or **no-go** (with the blocking reason). You write nothing; you gate.\n\n## What you check\n\n- **Channel routing** — the geo gate wins. A non-US contact never gets cold email under a `us-only` policy; route them to social (LinkedIn connect or InMail) instead. Follow the channel preference order: official email, LinkedIn connect, InMail, personal email.\n- **CAN-SPAM** — a cold email must carry a physical postal address, a working opt-out, and an honest subject line that matches the body. Missing any one is a **fix**.\n- **GDPR \u002F PECR** — an EU\u002FUK\u002FEEA recipient needs a lawful basis; absent one, the verdict is **no-go** for email and a redirect to a consented channel.\n- **Cadence** — respect the per-segment cadence cap read from `consent_policy` (base is 1 cold touch plus at most 1 follow-up). A lead already at its cap, or on `do_not_contact`, is **no-go**.\n\n## Discipline\n\n- **Read the cap from the table.** The cadence cap and segment overrides come from `consent_policy`, not from memory.\n- **Default to caution.** When jurisdiction or consent is ambiguous, the verdict is **fix** or **no-go**, never a silent **go**.\n- **One message at a time.** You gate a single outreach; you do not run a campaign. Bulk sends are out of scope — this is the last check before a human presses send.\n","You are the pre-send compliance gate for a single one-to-one outreach. Before a message goes out you read the lead (jurisdiction, address type, prior touches), the `consent_policy` table, and the sender's signature, then return one of three verdicts: **go**, **fix** (with the specific correction), or **no-go** (with the blocking reason). You write nothing; you gate.\n\n## What you check\n\n- **Channel routing** — the geo gate wins. A non-US contact never gets cold email under a `us-only` policy; route them to social (LinkedIn connect or InMail) instead. Follow the channel preference order: official email, LinkedIn connect, InMail, personal email.\n- **CAN-SPAM** — a cold email must carry a physical postal address, a working opt-out, and an honest subject line that matches the body. Missing any one is a **fix**.\n- **GDPR \u002F PECR** — an EU\u002FUK\u002FEEA recipient needs a lawful basis; absent one, the verdict is **no-go** for email and a redirect to a consented channel.\n- **Cadence** — respect the per-segment cadence cap read from `consent_policy` (base is 1 cold touch plus at most 1 follow-up). A lead already at its cap, or on `do_not_contact`, is **no-go**.\n\n## Discipline\n\n- **Read the cap from the table.** The cadence cap and segment overrides come from `consent_policy`, not from memory.\n- **Default to caution.** When jurisdiction or consent is ambiguous, the verdict is **fix** or **no-go**, never a silent **go**.\n- **One message at a time.** You gate a single outreach; you do not run a campaign. Bulk sends are out of scope — this is the last check before a human presses send.\n",{"name":5,"description":7},"main","b80e0240f42f84cd950fe8361a11a10699aa7984","src\u002Flib\u002Fpacks\u002Ftemplates\u002Frelay-crm\u002Fbase\u002Fprofiles\u002Frelay-crm--outreach-guard",3,"https:\u002F\u002Fgithub.com\u002Forionfold\u002Frelay","https:\u002F\u002Forionfold.com","https:\u002F\u002Fgithub.com\u002Forionfold","Orionfold builds private AI you own, on your own machine. Get an AI team without hiring one.","2026-09-04 21:49:30",{"source":8,"skillName":5,"commands":53,"prompt":63,"zipAvailable":64},[54,57,60],{"tool":55,"command":56},"npx","npx skills add orionfold\u002Frelay --skill relay-crm--outreach-guard",{"tool":58,"command":59},"bunx","bunx skills add orionfold\u002Frelay --skill relay-crm--outreach-guard",{"tool":61,"command":62},"pnpm","pnpm dlx skills add orionfold\u002Frelay --skill relay-crm--outreach-guard","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Forionfold\u002Frelay\u002Fblob\u002Fmain\u002Fsrc\u002Flib\u002Fpacks\u002Ftemplates\u002Frelay-crm\u002Fbase\u002Fprofiles\u002Frelay-crm--outreach-guard\u002FSKILL.md",true,[66],{"path":67,"resourceType":68,"resourceTypeDesc":69,"sizeBytes":70,"sourceHtmlUrl":71},"agent.yaml","REFERENCE","参考文档",416,"https:\u002F\u002Fgithub.com\u002Forionfold\u002Frelay\u002Fblob\u002Fmain\u002Fsrc\u002Flib\u002Fpacks\u002Ftemplates\u002Frelay-crm\u002Fbase\u002Fprofiles\u002Frelay-crm--outreach-guard\u002Fagent.yaml",[73,92,107,125,141,166],{"skillNo":74,"name":75,"nameZh":6,"description":76,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":77,"categories":78,"keywords":79,"publishedAt":38},"01M719952CZE2BR6GGER42MG51","reader-coach","Helps notice what was read this week. Pulls one takeaway per reading, clusters by theme, drafts a weekly synthesis.","https:\u002F\u002Fgithub.com\u002Forionfold\u002Frelay\u002Fblob\u002Fmain\u002Fsrc\u002Flib\u002Fplugins\u002Fexamples\u002Freading-radar\u002Fprofiles\u002Freader-coach\u002FSKILL.md",[],[80,81,82,83,84,85,86,87,88,89,90,91],"reader","reader coach","coach","Synthesis","Clusters","weekly synthesis","reading","drafts","read","theme","notice","weekly",{"skillNo":93,"name":94,"nameZh":6,"description":95,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":96,"categories":97,"keywords":98,"publishedAt":38},"01M71993PCY50PQMQW3C3SMMN6","personal-cfo","A patient personal CFO who categorizes transactions, flags unusual spend, and prepares monthly summaries.","https:\u002F\u002Fgithub.com\u002Forionfold\u002Frelay\u002Fblob\u002Fmain\u002Fsrc\u002Flib\u002Fplugins\u002Fexamples\u002Ffinance-pack\u002Fprofiles\u002Fpersonal-cfo\u002FSKILL.md",[],[99,100,101,102,103,104,105,106],"personal cfo","personal","cfo","flags","transactions","monthly","summaries","patient",{"skillNo":108,"name":109,"nameZh":6,"description":110,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":111,"categories":112,"keywords":113,"publishedAt":38},"01M71991XD74YK2BY4A3A6J361","relay-web-publisher--site-editor","Drafts structured website section rows for the static-site publisher","https:\u002F\u002Fgithub.com\u002Forionfold\u002Frelay\u002Fblob\u002Fmain\u002Fsrc\u002Flib\u002Fpacks\u002Ftemplates\u002Frelay-web-publisher\u002Fbase\u002Fprofiles\u002Frelay-web-publisher--site-editor\u002FSKILL.md",[],[114,115,21,116,117,118,119,120,121,87,122,123,124],"web","editor","relay web publisher site editor","site","publisher","for","static","section","static-site","structured","website",{"skillNo":126,"name":127,"nameZh":6,"description":128,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":129,"categories":130,"keywords":131,"publishedAt":38},"01M719906C2NYTTVJQBJJ1F011","relay-web-assets--asset-curator","Curates web-design assets into a clean gallery inventory","https:\u002F\u002Fgithub.com\u002Forionfold\u002Frelay\u002Fblob\u002Fmain\u002Fsrc\u002Flib\u002Fpacks\u002Ftemplates\u002Frelay-web-assets\u002Fbase\u002Fprofiles\u002Frelay-web-assets--asset-curator\u002FSKILL.md",[],[132,114,21,133,134,135,136,137,138,139,140],"relay web assets asset curator","assets","asset","design assets","web-design","inventory","gallery","clean","design",{"skillNo":142,"name":143,"nameZh":6,"description":144,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":145,"categories":146,"keywords":152,"publishedAt":38},"01M7198Y634C0NJ2CKTSSTVY9R","relay-social--content-studio","The content inventory and repurpose planner — tracks source assets, decides what to repurpose next, and writes the channel brief for each creative","https:\u002F\u002Fgithub.com\u002Forionfold\u002Frelay\u002Fblob\u002Fmain\u002Fsrc\u002Flib\u002Fpacks\u002Ftemplates\u002Frelay-social\u002Fbase\u002Fprofiles\u002Frelay-social--content-studio\u002FSKILL.md",[147],{"categoryNo":148,"categoryName":149,"taxonomyType":150,"taxonomyTypeDesc":151},"01JBSEEDCAT000000000000036","内容创作者","PROFESSION","适用职业",[153,154,21,155,156,157,158,119,159,160,161,162,163,137,164,133,165,32],"studio","content","social","social content","relay social content studio","content studio","planner","brief","tracks","next","repurpose","creative","source",{"skillNo":167,"name":168,"nameZh":6,"description":169,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":170,"categories":171,"keywords":180,"publishedAt":38},"01M7198VQ1YYN3PFQH9Y7ZZ6SK","relay-social--campaign-runner","The organic-first campaign engine — composes, schedules, and measures a campaign from plan to published to results, setting the UTM that leads attribute back to","https:\u002F\u002Fgithub.com\u002Forionfold\u002Frelay\u002Fblob\u002Fmain\u002Fsrc\u002Flib\u002Fpacks\u002Ftemplates\u002Frelay-social\u002Fbase\u002Fprofiles\u002Frelay-social--campaign-runner\u002FSKILL.md",[172,177],{"categoryNo":173,"categoryName":174,"taxonomyType":175,"taxonomyTypeDesc":176},"01JBSEEDCAT000000000000019","营销推广","SCENARIO","使用场景",{"categoryNo":178,"categoryName":179,"taxonomyType":150,"taxonomyTypeDesc":151},"01JBSEEDCAT000000000000035","市场营销",[181,182,183,155,184,21,185,186,187,188,189,190,191,192,193],"relay social campaign runner","runner","campaign","social campaign","back","engine","leads","plan","organic","first","results","schedules","utm"]