[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6MHRTXC3YQF5PDNRQJ4Z438":3,"skill-same:01M6MHRTXC3YQF5PDNRQJ4Z438":78},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":15,"categories":16,"keywords":27,"publishedAt":48,"linkOnly":49,"markdownContent":50,"markdownBody":51,"frontMatter":52,"refName":58,"commitSha":59,"skillDirectory":60,"forksCount":13,"repositoryHtmlUrl":61,"repositoryHomepageUrl":6,"ownerHtmlUrl":62,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":63,"install":64,"resources":77},"01M6MHRTXC3YQF5PDNRQJ4Z438","linkedin-engagement",null,"Use when someone wants to grow reach through comments, replies, groups, or outreach on LinkedIn — a commenting roster, a connection request note, a DM or InMail, a networking plan, or a check on whether their outreach volume is safe. Triggers on \"who should I engage with\", \"write a connection request\", \"cold DM\", \"LinkedIn outreach\", \"networking strategy\", \"how many invites can I send\". Builds a weekly comment roster inside a real time budget, assembles one message at a time and refuses templates, and caps volume against LinkedIn's limits. Nothing is ever sent.","JiayiV\u002Fquestion_mixing","JiayiV","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F54466889?v=4","01M6JFJYYMRZ3QRGP9339JNQ2K","01M6JFJZ35KB0QVT50NAHPJA7G",0,"MIT","https:\u002F\u002Fgithub.com\u002FJiayiV\u002Fquestion_mixing\u002Fblob\u002Fmain\u002Fskills\u002Fpublic-02-claude-skills-main-marketing-linkedin-skills-linkedin-engagement-skill-a425ae67\u002FSKILL.md",[17,22],{"categoryNo":18,"categoryName":19,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000019","营销推广","SCENARIO","使用场景",{"categoryNo":23,"categoryName":24,"taxonomyType":25,"taxonomyTypeDesc":26},"01JBSEEDCAT000000000000035","市场营销","PROFESSION","适用职业",[28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47],"linkedin","linkedin engagement","engagement","send","plan","weekly","can","replies","comments","with","linkedin outreach","networking strategy","roster","cold","triggers","volume","time","use","strategy","check","2026-11-10 10:12:30",false,"---\nname: linkedin-engagement\ndescription: Use when someone wants to grow reach through comments, replies, groups, or outreach on LinkedIn — a commenting roster, a connection request note, a DM or InMail, a networking plan, or a check on whether their outreach volume is safe. Triggers on \"who should I engage with\", \"write a connection request\", \"cold DM\", \"LinkedIn outreach\", \"networking strategy\", \"how many invites can I send\". Builds a weekly comment roster inside a real time budget, assembles one message at a time and refuses templates, and caps volume against LinkedIn's limits. Nothing is ever sent.\nlicense: MIT\nmetadata:\n  version: 1.0.0\n  author: Alireza Rezvani\n  category: marketing\n  updated: 2026-08-25\n---\n\n# LinkedIn Engagement — comments first, outreach second\n\nFrom a standing start your posts reach almost nobody, and publishing harder does not fix it.\nA substantive comment on a post that already has an audience puts your name, headline, and a\nparagraph of thinking in front of people already reading about your subject, for six minutes\nof work — the cheapest distribution on the platform, and the most badly used.\n\n**Nothing here sends anything** — no credentials, no API calls. Automated connecting,\nmessaging, commenting, liking, and sharing are prohibited by User Agreement §8.2.\n\n## Workflow\n\n**1. Build the comment roster.** Name 8-12 accounts they would read anyway, with audience\noverlap and rough size tier, then:\n\n```bash\npython3 scripts\u002Fcomment_target_planner.py --account \"Priya Raman:5:4:larger\" \\\n  --account \"Tomas Lind:5:3:peer\" --minutes-per-day 18 --output human\n```\n\nTiers are `huge` (10x+, crowded), `larger` (2-10x, the best ratio), `peer` (~1x, where\nreciprocity compounds), `smaller` (goodwill). The roster caps any account at twice a week —\ncommenting daily on one person reads as following them around — and keeps the huge tier under\nhalf of any day. It builds the roster, never the comments: a generated comment is exactly\nwhat §8.2 names, and it is recognisable anyway.\n\n**2. Outreach — check the volume before writing anything.**\n\n```bash\npython3 scripts\u002Foutreach_volume_guard.py --invites 20 --pending 5 --minutes 120 \\\n  --acceptance 0.42 --output human\n```\n\nExit 0 safe \u002F 2 tight \u002F 3 over a cap or the time budget \u002F **4 refused** above 40 invitations\na day, because nobody reads that many profiles and writes that many specific lines. Pending\ninvitations count against the weekly limit (observed around 100), and acceptance below 20% is\na stop signal — it is the pattern LinkedIn reviews, and the targeting is wrong.\n\n**3. Write one message, for one person.**\n\n```bash\npython3 scripts\u002Foutreach_message_builder.py --type connection \\\n  --recipient \"Priya\" --specific-line \"...\" --reason \"...\" --output human\n```\n\nIt refuses without a person-specific line, refuses an ask in a first-touch connection note,\nand enforces the 200-character cap (300 with `--premium`). In large third-party samples a\nnote barely moves acceptance (~26.4% either way) but roughly doubles the post-accept reply\nrate: **the note earns the conversation, not the meeting.**\n\n**4. The order that works.** Comment on their work for two weeks. Then invite, referencing\nsomething specific from that reading. Then, after acceptance and a pause, ask once, small.\n\n## Rules\n\n- **Nothing is auto-sent.** Ever. The user pastes and sends, one person at a time.\n- **No engagement pods.** Coordinated reciprocal commenting is inauthentic engagement under\n  §8.2 regardless of who pressed the key. Build a real reciprocity list instead.\n- **Every message carries a line that could only have been written for that person.**\n- **Never paste the same comment twice.** Identical comments at volume are the definition of\n  the thing §8.2 prohibits.\n- **One follow-up, a week later, only with something new to say.**\n- **Agreement is not a comment.** Add the counter-example, the number, or the case where it\n  breaks — or skip the slot.\n\n## Scripts\n\n| Script | Role |\n|---|---|\n| [`scripts\u002Fcomment_target_planner.py`](scripts\u002Fcomment_target_planner.py) | Weekly roster from scored accounts, inside a time budget, with per-account and per-tier caps. |\n| [`scripts\u002Foutreach_message_builder.py`](scripts\u002Foutreach_message_builder.py) | Assembles one message; refuses templates, premature asks, and 14 dead phrases. |\n| [`scripts\u002Foutreach_volume_guard.py`](scripts\u002Foutreach_volume_guard.py) | Caps invitations against the observed weekly limit, pending backlog, acceptance floor, and the hours available. |\n\n## References and assets\n\n- [`references\u002Fcomment_strategy.md`](references\u002Fcomment_strategy.md) — tiers, what a comment competes on, pods, replying to your own posts (7 sources)\n- [`references\u002Foutreach_ethics_and_benchmarks.md`](references\u002Foutreach_ethics_and_benchmarks.md) — the benchmark numbers with their provenance, and the personalisation claim corrected (7 sources)\n\n- [`assets\u002Foutreach_worksheet.md`](assets\u002Foutreach_worksheet.md) — fillable per-person prep sheet\n- [`assets\u002Fexample_outreach.json`](assets\u002Fexample_outreach.json) — input shape for the builder\n\n## Distinct from\n\n- **`linkedin-content`** — writes posts. A comment is a different craft on a different budget.\n- **`marketing-skill\u002Fcold-email`** — email. Different channel, law, and caps.\n- **`business-growth\u002F`, `commercial\u002F`** — sales process and deal economics, not networking.\n\n---\n**Version:** 1.0.0\n","# LinkedIn Engagement — comments first, outreach second\n\nFrom a standing start your posts reach almost nobody, and publishing harder does not fix it.\nA substantive comment on a post that already has an audience puts your name, headline, and a\nparagraph of thinking in front of people already reading about your subject, for six minutes\nof work — the cheapest distribution on the platform, and the most badly used.\n\n**Nothing here sends anything** — no credentials, no API calls. Automated connecting,\nmessaging, commenting, liking, and sharing are prohibited by User Agreement §8.2.\n\n## Workflow\n\n**1. Build the comment roster.** Name 8-12 accounts they would read anyway, with audience\noverlap and rough size tier, then:\n\n```bash\npython3 scripts\u002Fcomment_target_planner.py --account \"Priya Raman:5:4:larger\" \\\n  --account \"Tomas Lind:5:3:peer\" --minutes-per-day 18 --output human\n```\n\nTiers are `huge` (10x+, crowded), `larger` (2-10x, the best ratio), `peer` (~1x, where\nreciprocity compounds), `smaller` (goodwill). The roster caps any account at twice a week —\ncommenting daily on one person reads as following them around — and keeps the huge tier under\nhalf of any day. It builds the roster, never the comments: a generated comment is exactly\nwhat §8.2 names, and it is recognisable anyway.\n\n**2. Outreach — check the volume before writing anything.**\n\n```bash\npython3 scripts\u002Foutreach_volume_guard.py --invites 20 --pending 5 --minutes 120 \\\n  --acceptance 0.42 --output human\n```\n\nExit 0 safe \u002F 2 tight \u002F 3 over a cap or the time budget \u002F **4 refused** above 40 invitations\na day, because nobody reads that many profiles and writes that many specific lines. Pending\ninvitations count against the weekly limit (observed around 100), and acceptance below 20% is\na stop signal — it is the pattern LinkedIn reviews, and the targeting is wrong.\n\n**3. Write one message, for one person.**\n\n```bash\npython3 scripts\u002Foutreach_message_builder.py --type connection \\\n  --recipient \"Priya\" --specific-line \"...\" --reason \"...\" --output human\n```\n\nIt refuses without a person-specific line, refuses an ask in a first-touch connection note,\nand enforces the 200-character cap (300 with `--premium`). In large third-party samples a\nnote barely moves acceptance (~26.4% either way) but roughly doubles the post-accept reply\nrate: **the note earns the conversation, not the meeting.**\n\n**4. The order that works.** Comment on their work for two weeks. Then invite, referencing\nsomething specific from that reading. Then, after acceptance and a pause, ask once, small.\n\n## Rules\n\n- **Nothing is auto-sent.** Ever. The user pastes and sends, one person at a time.\n- **No engagement pods.** Coordinated reciprocal commenting is inauthentic engagement under\n  §8.2 regardless of who pressed the key. Build a real reciprocity list instead.\n- **Every message carries a line that could only have been written for that person.**\n- **Never paste the same comment twice.** Identical comments at volume are the definition of\n  the thing §8.2 prohibits.\n- **One follow-up, a week later, only with something new to say.**\n- **Agreement is not a comment.** Add the counter-example, the number, or the case where it\n  breaks — or skip the slot.\n\n## Scripts\n\n| Script | Role |\n|---|---|\n| [`scripts\u002Fcomment_target_planner.py`](scripts\u002Fcomment_target_planner.py) | Weekly roster from scored accounts, inside a time budget, with per-account and per-tier caps. |\n| [`scripts\u002Foutreach_message_builder.py`](scripts\u002Foutreach_message_builder.py) | Assembles one message; refuses templates, premature asks, and 14 dead phrases. |\n| [`scripts\u002Foutreach_volume_guard.py`](scripts\u002Foutreach_volume_guard.py) | Caps invitations against the observed weekly limit, pending backlog, acceptance floor, and the hours available. |\n\n## References and assets\n\n- [`references\u002Fcomment_strategy.md`](references\u002Fcomment_strategy.md) — tiers, what a comment competes on, pods, replying to your own posts (7 sources)\n- [`references\u002Foutreach_ethics_and_benchmarks.md`](references\u002Foutreach_ethics_and_benchmarks.md) — the benchmark numbers with their provenance, and the personalisation claim corrected (7 sources)\n\n- [`assets\u002Foutreach_worksheet.md`](assets\u002Foutreach_worksheet.md) — fillable per-person prep sheet\n- [`assets\u002Fexample_outreach.json`](assets\u002Fexample_outreach.json) — input shape for the builder\n\n## Distinct from\n\n- **`linkedin-content`** — writes posts. A comment is a different craft on a different budget.\n- **`marketing-skill\u002Fcold-email`** — email. Different channel, law, and caps.\n- **`business-growth\u002F`, `commercial\u002F`** — sales process and deal economics, not networking.\n\n---\n**Version:** 1.0.0\n",{"name":5,"license":14,"metadata":53,"description":7},{"author":54,"updated":55,"version":56,"category":57},"Alireza Rezvani",1787616000000,"1.0.0","marketing","main","068c2486ccc0f8d200a3db4d21ec137064eda3b4","skills\u002Fpublic-02-claude-skills-main-marketing-linkedin-skills-linkedin-engagement-skill-a425ae67","https:\u002F\u002Fgithub.com\u002FJiayiV\u002Fquestion_mixing","https:\u002F\u002Fgithub.com\u002FJiayiV","2026-08-25 16:30:52",{"source":8,"skillName":5,"commands":65,"prompt":75,"zipAvailable":76},[66,69,72],{"tool":67,"command":68},"npx","npx skills add JiayiV\u002Fquestion_mixing --skill linkedin-engagement",{"tool":70,"command":71},"bunx","bunx skills add JiayiV\u002Fquestion_mixing --skill linkedin-engagement",{"tool":73,"command":74},"pnpm","pnpm dlx skills add JiayiV\u002Fquestion_mixing --skill linkedin-engagement","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FJiayiV\u002Fquestion_mixing\u002Fblob\u002Fmain\u002Fskills\u002Fpublic-02-claude-skills-main-marketing-linkedin-skills-linkedin-engagement-skill-a425ae67\u002FSKILL.md",true,[],[79,104,132,163,191,224],{"skillNo":80,"name":81,"nameZh":6,"description":82,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":83,"categories":84,"keywords":85,"publishedAt":48},"01M6NN9PJS9NHWPDG4QP93BP8F","webmcpify","Make a web app agent-ready — propose a WebMCP tool manifest, integrate, verify in a real browser, heal; unrelated code stays untouched. Use for \"webmcpify\", \"add WebMCP\", or \"expose app actions to AI agents\".","https:\u002F\u002Fgithub.com\u002FJiayiV\u002Fquestion_mixing\u002Fblob\u002Fmain\u002Fskills\u002Fwebmcpify\u002FSKILL.md",[],[81,86,87,88,89,90,91,92,93,94,95,96,97,45,98,99,100,101,102,103],"github","ai agents","web","notes","code","browser","https","actions","manifest","inventory","verify","tool","ready","unrelated","app","scope","for","webmcp",{"skillNo":105,"name":106,"nameZh":6,"description":107,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":108,"licenseFileUrl":6,"sourceHtmlUrl":109,"categories":110,"keywords":111,"publishedAt":48},"01M6NN6KZE5RBN6NGHN2WXV1RE","vardoger-analyze","Use when the user asks to personalize the GitHub Copilot CLI assistant, adapt Copilot to their style, use vardoger, or analyze their Copilot CLI conversation history. Reads the local session directory at `~\u002F.copilot\u002Fsession-state\u002F`, extracts recurring preferences and conventions, and writes a fenced personalization block into `~\u002F.copilot\u002Fcopilot-instructions.md`. Runs entirely on the user's machine via the local `vardoger` CLI (`pipx install vardoger`); no network calls and no uploads. Triggers: 'personalize my copilot', 'analyze my copilot history', 'tailor copilot to me', 'run vardoger', 'update my copilot instructions from history', 'make copilot learn my style'.","Apache-2.0","https:\u002F\u002Fgithub.com\u002FJiayiV\u002Fquestion_mixing\u002Fblob\u002Fmain\u002Fskills\u002Fvardoger-analyze\u002FSKILL.md",[],[112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131],"vardoger analyze","analyze","directory","cli","github copilot","copilot","run","update","learn","network","my style","install","conversation","me","local","github copilot cli","pipx","my","at","copilot instructions",{"skillNo":133,"name":134,"nameZh":6,"description":135,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":136,"categories":137,"keywords":144,"publishedAt":48},"01M6NN3CZGQP3XAJ04BM1NNYGT","transloadit-media-processing","Process media files (video, audio, images, documents) using Transloadit. Use when asked to encode video to HLS\u002FMP4, generate thumbnails, resize or watermark images, extract audio, concatenate clips, add subtitles, OCR documents, or run any media processing pipeline. Covers 86+ processing robots for file transformation at scale.","https:\u002F\u002Fgithub.com\u002FJiayiV\u002Fquestion_mixing\u002Fblob\u002Fmain\u002Fskills\u002Ftransloadit-media-processing\u002FSKILL.md",[138,141],{"categoryNo":139,"categoryName":140,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000016","图像与多媒体",{"categoryNo":142,"categoryName":143,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000023","Skill与智能体开发",[145,146,147,148,149,150,151,152,153,154,155,156,157,45,158,159,160,161,102,162],"transloadit media processing","Media","media processing","processing","MCP","mcp server","documents","subtitles","pipeline","ocr","Video","Audio","mp4","images","files","transformation","free","hls",{"skillNo":164,"name":165,"nameZh":6,"description":166,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":167,"categories":168,"keywords":172,"publishedAt":48},"01M6NN28E92F9GH4WFYQ2H1Y15","terraform-azurerm-set-diff-analyzer","Analyze Terraform plan JSON output for AzureRM Provider to distinguish between false-positive diffs (order-only changes in Set-type attributes) and actual resource changes. Use when reviewing terraform plan output for Azure resources like Application Gateway, Load Balancer, Firewall, Front Door, NSG, and other resources with Set-type attributes that cause spurious diffs due to internal ordering changes.","https:\u002F\u002Fgithub.com\u002FJiayiV\u002Fquestion_mixing\u002Fblob\u002Fmain\u002Fskills\u002Fterraform-azurerm-set-diff-analyzer\u002FSKILL.md",[169],{"categoryNo":170,"categoryName":171,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000011","运维与部署",[173,174,175,176,177,178,179,180,181,45,182,183,184,185,186,187,188,189,190,102],"terraform","SET","terraform azurerm set diff analyzer","diff","analyzer","diffs","azure","gateway","firewall","only","resource changes","provider","resources","load balancer","attributes","front","load","balancer",{"skillNo":192,"name":193,"nameZh":6,"description":194,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":195,"categories":196,"keywords":206,"publishedAt":48},"01M6NN1QMH2TDYWTH3XY3N5XPV","technical-job-search","Use this skill when a software engineer asks for help with job search tasks: parsing or analyzing a job description, tailoring a CV\u002Fresume, writing a cover letter, evaluating a job offer, or drafting a post-interview follow-up email. Do not activate for general career advice unrelated to an active job search action.","https:\u002F\u002Fgithub.com\u002FJiayiV\u002Fquestion_mixing\u002Fblob\u002Fmain\u002Fskills\u002Ftechnical-job-search\u002FSKILL.md",[197,200,203],{"categoryNo":198,"categoryName":199,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000018","写作与文案",{"categoryNo":201,"categoryName":202,"taxonomyType":25,"taxonomyTypeDesc":26},"01JBSEEDCAT000000000000036","内容创作者",{"categoryNo":204,"categoryName":205,"taxonomyType":25,"taxonomyTypeDesc":26},"01JBSEEDCAT000000000000038","人力资源",[207,208,209,210,211,212,213,214,113,215,45,216,217,218,219,220,221,222,102,223],"search","Job Search","technical job search","technical","writing","tasks","email","parsing","interview","up","engineer","general","activate","do","task","cv","letter",{"skillNo":225,"name":226,"nameZh":6,"description":227,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":228,"categories":229,"keywords":230,"publishedAt":48},"01M6NMZFA67XYS1GS09WT42235","steno-mode","Shorthand-first response compression that cuts ~40% of response tokens while preserving technical precision and exact literals. Use when the user says \"steno mode\", \"shorthand mode\", \"compressed responses\", \"token reduction\", \"brief structured output\", or invokes \u002Fsteno. Supports four compression levels: lite, brief, court, machine. Do not trigger for requests needing polished prose such as onboarding\u002Ftutorial content, stakeholder or customer-facing copy, or teaching-focused explanations.","https:\u002F\u002Fgithub.com\u002FJiayiV\u002Fquestion_mixing\u002Fblob\u002Fmain\u002Fskills\u002Fsteno-mode\u002FSKILL.md",[],[231,232,233,234,235,210,236,45,220,237,238,239,240,241,242,243,244,245,102,246],"steno mode","mode","customer","brief","first","tutorial","teaching","tokens","as","trigger","structured output","machine","output","court","requests","response compression"]