[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6C5DFG50F660W21464PDT6X":3,"skill-same:01M6C5DFG50F660W21464PDT6X":106},{"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":28,"publishedAt":55,"linkOnly":56,"markdownContent":57,"markdownBody":58,"frontMatter":59,"refName":67,"commitSha":68,"skillDirectory":69,"forksCount":70,"repositoryHtmlUrl":71,"repositoryHomepageUrl":6,"ownerHtmlUrl":72,"ownerBlogUrl":6,"ownerDescription":73,"updatedAt":74,"install":75,"resources":87},"01M6C5DFG50F660W21464PDT6X","blog-post",null,"Create a blog post via guided prompts with git context auto-populated. Use when writing a quick update, retrospective, tutorial, deep dive, or devlog entry.","laurigates\u002Fclaude-plugins","laurigates","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F13014001?v=4","01M6C59YHWS9C7KMXKSRX1YXNP","Lauri Gates","01M6C59YP2APG9YAM4DWYQYGFJ",59,"MIT","https:\u002F\u002Fgithub.com\u002Flaurigates\u002Fclaude-plugins\u002Fblob\u002Fmain\u002Fblog-plugin\u002Fskills\u002Fblog-post\u002FSKILL.md",[18,23],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000018","写作与文案","SCENARIO","使用场景",{"categoryNo":24,"categoryName":25,"taxonomyType":26,"taxonomyTypeDesc":27},"01JBSEEDCAT000000000000036","内容创作者","PROFESSION","适用职业",[29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54],"blog","blog post","post","tutorial","2026","when","title","deep dive","devlog","quick","project","deep","prompts","auto","use","writing","context","edit","write","read","grep","Bash","git","update","create","retrospective","2026-11-10 10:12:30",false,"---\nname: blog-post\ndescription: Create a blog post via guided prompts with git context auto-populated. Use when writing a quick update, retrospective, tutorial, deep dive, or devlog entry.\nargs: \"[type] [--project \u003Cname>] [--title \u003Ctitle>]\"\nallowed-tools: Read, Write, Edit, Grep, Glob, Bash(hugo *), Bash(date *), TodoWrite, AskUserQuestion\nargument-hint: \"quick-update | project-update | retrospective | tutorial | deep-dive\"\ndisable-model-invocation: true\ncreated: 2026-01-10\nmodified: 2026-05-09\nreviewed: 2026-02-14\n---\n\n# \u002Fblog:post\n\nCreate a blog post about your work with minimal friction. Gathers context automatically and provides structured templates to reduce blank-page anxiety.\n\n## When to Use This Skill\n\n| Use this skill when... | Use alternative when... |\n|------------------------|--------------------------|\n| Capturing work quickly into a blog post | Need detailed documentation -> Project wiki\u002Fdocs |\n| Want templates to reduce blank-page anxiety | Writing a technical tutorial -> `\u002Fblog:post tutorial` |\n| Need git context auto-populated | Creating portfolio summary -> Different workflow |\n\n## Context\n\n- Blog directory: !`find . -maxdepth 1 -type d \\( -name blog -o -name posts -o -name _posts \\) -print -quit`\n- Git remotes: !`git remote -v`\n- Recent commits: !`git rev-list --count --since=\"7 days ago\" HEAD`\n- Current branch: !`git branch --show-current`\n\n## Parameters\n\nParse `$ARGUMENTS` for:\n\n- `type`: Post type (quick-update, project-update, retrospective, tutorial, deep-dive)\n  - If not provided, ask user to select\n- `--project \u003Cname>`: Specify project name (default: detected from git)\n- `--title \u003Ctitle>`: Specify post title (default: ask user)\n- `--edit`: Open in editor after creation (default: show filepath)\n\n## Execution\n\nExecute this blog post creation workflow:\n\n### Step 1: Gather context\n\nDetect project name and recent git history:\n\n1. Use `git log` to get recent commits\n2. Extract project name from git remote or directory\n3. If blog directory doesn't exist, ask where to save posts\n\n### Step 2: Determine post type\n\nIf type argument not provided, ask user to select from five options:\n\n- Quick Update (5-15 min)\n- Project Update (20-45 min)\n- Retrospective (45-90 min)\n- Tutorial (1-3 hours)\n- Deep Dive (2-5 hours)\n\n### Step 3: Ask targeted questions based on post type\n\nFor each type, ask 1-2 focused questions:\n- Quick Update: \"What did you just do?\"\n- Project Update: \"Main accomplishment?\" and \"What was interesting?\"\n- Retrospective: \"What period\u002Fproject?\" and \"One thing to remember?\"\n- Tutorial: \"What are you teaching?\" and \"Why document this?\"\n- Deep Dive: \"What topic?\" and \"Key insight to share?\"\n\n### Step 4: Generate post file\n\n1. Determine where to save (blog directory, ~\u002Fblog\u002F, or custom path)\n2. Generate filename: `YYYY-MM-DD-\u003Cslugified-title>.md`\n3. Create file with frontmatter:\n   - `date`: Today\n   - `project`: Detected or specified\n   - `type`: Selected type\n   - `status`: draft\n4. Pre-fill content sections with placeholders and git context as comments\n\n### Step 5: Offer writing assistance\n\nAsk what user would like to do:\n- \"Help me write it\" → Walk through each section interactively\n- \"I'll write it myself\" → Show filepath\n- \"Add more context\" → Pull more git history and files for reference\n\n### Step 6: Finalize post\n\n1. Present review checklist (title, content, tags, next steps)\n2. Ask: \"Is this post ready to publish?\" (draft or published)\n3. Output summary with file path and quick actions\n\n## Agentic Optimizations\n\n| Context | Command |\n|---------|---------|\n| Get project name | `git remote get-url origin 2>\u002Fdev\u002Fnull \\| sed 's\u002F.*\\\u002F\u002F\u002F' \\| sed 's\u002F\\.git$\u002F\u002F'` |\n| Recent commits | `git log --since=\"7 days ago\" --format=\"%h %s\" 2>\u002Fdev\u002Fnull \\| head -10` |\n| Find blog directory | `ls -d blog\u002F posts\u002F content\u002Fblog\u002F content\u002Fposts\u002F _posts\u002F 2>\u002Fdev\u002Fnull \\| head -1` |\n| Current date | `date +%Y-%m-%d` |\n| Get today's commits | `git log --since=\"1 day ago\" --format=\"- %s\" 2>\u002Fdev\u002Fnull` |\n\n## Quick Reference\n\n| Post Type | Time | Use Case |\n|-----------|------|----------|\n| Quick Update | 5-15 min | Small wins, log entries |\n| Project Update | 20-45 min | Milestone, feature complete |\n| Retrospective | 45-90 min | Reflection on period\u002Fproject |\n| Tutorial | 1-3 hours | Teach how to do something |\n| Deep Dive | 2-5 hours | Explain complex concepts |\n","# \u002Fblog:post\n\nCreate a blog post about your work with minimal friction. Gathers context automatically and provides structured templates to reduce blank-page anxiety.\n\n## When to Use This Skill\n\n| Use this skill when... | Use alternative when... |\n|------------------------|--------------------------|\n| Capturing work quickly into a blog post | Need detailed documentation -> Project wiki\u002Fdocs |\n| Want templates to reduce blank-page anxiety | Writing a technical tutorial -> `\u002Fblog:post tutorial` |\n| Need git context auto-populated | Creating portfolio summary -> Different workflow |\n\n## Context\n\n- Blog directory: !`find . -maxdepth 1 -type d \\( -name blog -o -name posts -o -name _posts \\) -print -quit`\n- Git remotes: !`git remote -v`\n- Recent commits: !`git rev-list --count --since=\"7 days ago\" HEAD`\n- Current branch: !`git branch --show-current`\n\n## Parameters\n\nParse `$ARGUMENTS` for:\n\n- `type`: Post type (quick-update, project-update, retrospective, tutorial, deep-dive)\n  - If not provided, ask user to select\n- `--project \u003Cname>`: Specify project name (default: detected from git)\n- `--title \u003Ctitle>`: Specify post title (default: ask user)\n- `--edit`: Open in editor after creation (default: show filepath)\n\n## Execution\n\nExecute this blog post creation workflow:\n\n### Step 1: Gather context\n\nDetect project name and recent git history:\n\n1. Use `git log` to get recent commits\n2. Extract project name from git remote or directory\n3. If blog directory doesn't exist, ask where to save posts\n\n### Step 2: Determine post type\n\nIf type argument not provided, ask user to select from five options:\n\n- Quick Update (5-15 min)\n- Project Update (20-45 min)\n- Retrospective (45-90 min)\n- Tutorial (1-3 hours)\n- Deep Dive (2-5 hours)\n\n### Step 3: Ask targeted questions based on post type\n\nFor each type, ask 1-2 focused questions:\n- Quick Update: \"What did you just do?\"\n- Project Update: \"Main accomplishment?\" and \"What was interesting?\"\n- Retrospective: \"What period\u002Fproject?\" and \"One thing to remember?\"\n- Tutorial: \"What are you teaching?\" and \"Why document this?\"\n- Deep Dive: \"What topic?\" and \"Key insight to share?\"\n\n### Step 4: Generate post file\n\n1. Determine where to save (blog directory, ~\u002Fblog\u002F, or custom path)\n2. Generate filename: `YYYY-MM-DD-\u003Cslugified-title>.md`\n3. Create file with frontmatter:\n   - `date`: Today\n   - `project`: Detected or specified\n   - `type`: Selected type\n   - `status`: draft\n4. Pre-fill content sections with placeholders and git context as comments\n\n### Step 5: Offer writing assistance\n\nAsk what user would like to do:\n- \"Help me write it\" → Walk through each section interactively\n- \"I'll write it myself\" → Show filepath\n- \"Add more context\" → Pull more git history and files for reference\n\n### Step 6: Finalize post\n\n1. Present review checklist (title, content, tags, next steps)\n2. Ask: \"Is this post ready to publish?\" (draft or published)\n3. Output summary with file path and quick actions\n\n## Agentic Optimizations\n\n| Context | Command |\n|---------|---------|\n| Get project name | `git remote get-url origin 2>\u002Fdev\u002Fnull \\| sed 's\u002F.*\\\u002F\u002F\u002F' \\| sed 's\u002F\\.git$\u002F\u002F'` |\n| Recent commits | `git log --since=\"7 days ago\" --format=\"%h %s\" 2>\u002Fdev\u002Fnull \\| head -10` |\n| Find blog directory | `ls -d blog\u002F posts\u002F content\u002Fblog\u002F content\u002Fposts\u002F _posts\u002F 2>\u002Fdev\u002Fnull \\| head -1` |\n| Current date | `date +%Y-%m-%d` |\n| Get today's commits | `git log --since=\"1 day ago\" --format=\"- %s\" 2>\u002Fdev\u002Fnull` |\n\n## Quick Reference\n\n| Post Type | Time | Use Case |\n|-----------|------|----------|\n| Quick Update | 5-15 min | Small wins, log entries |\n| Project Update | 20-45 min | Milestone, feature complete |\n| Retrospective | 45-90 min | Reflection on period\u002Fproject |\n| Tutorial | 1-3 hours | Teach how to do something |\n| Deep Dive | 2-5 hours | Explain complex concepts |\n",{"args":60,"name":5,"created":61,"modified":62,"reviewed":63,"description":7,"allowed-tools":64,"argument-hint":65,"disable-model-invocation":66},"[type] [--project \u003Cname>] [--title \u003Ctitle>]",1768003200000,1778284800000,1771027200000,"Read, Write, Edit, Grep, Glob, Bash(hugo *), Bash(date *), TodoWrite, AskUserQuestion","quick-update | project-update | retrospective | tutorial | deep-dive",true,"main","bdd0582f1a2ba53d21061835bfd72d45f2f954f4","blog-plugin\u002Fskills\u002Fblog-post",6,"https:\u002F\u002Fgithub.com\u002Flaurigates\u002Fclaude-plugins","https:\u002F\u002Fgithub.com\u002Flaurigates","Linux enthusiast, cloud engineer, neovim addict, electronics hobbyist.","2026-11-12 03:43:32",{"source":8,"skillName":5,"commands":76,"prompt":86,"zipAvailable":66},[77,80,83],{"tool":78,"command":79},"npx","npx skills add laurigates\u002Fclaude-plugins --skill blog-post",{"tool":81,"command":82},"bunx","bunx skills add laurigates\u002Fclaude-plugins --skill blog-post",{"tool":84,"command":85},"pnpm","pnpm dlx skills add laurigates\u002Fclaude-plugins --skill blog-post","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Flaurigates\u002Fclaude-plugins\u002Fblob\u002Fmain\u002Fblog-plugin\u002Fskills\u002Fblog-post\u002FSKILL.md",[88,94,98,102],{"path":89,"resourceType":90,"resourceTypeDesc":91,"sizeBytes":92,"sourceHtmlUrl":93},"references\u002Fbenchmarks.md","REFERENCE","参考文档",7363,"https:\u002F\u002Fgithub.com\u002FDicklesworthstone\u002Fpi_agent_rust\u002Fblob\u002Fmain\u002Ftests\u002Fext_conformance\u002Fartifacts\u002Ftemplates-davila7\u002Fcli-tool\u002Fcomponents\u002Fskills\u002Fai-research\u002Fdistributed-training-megatron-core\u002Freferences\u002Fbenchmarks.md",{"path":95,"resourceType":90,"resourceTypeDesc":91,"sizeBytes":96,"sourceHtmlUrl":97},"references\u002Fparallelism-guide.md",9591,"https:\u002F\u002Fgithub.com\u002FDicklesworthstone\u002Fpi_agent_rust\u002Fblob\u002Fmain\u002Ftests\u002Fext_conformance\u002Fartifacts\u002Ftemplates-davila7\u002Fcli-tool\u002Fcomponents\u002Fskills\u002Fai-research\u002Fdistributed-training-megatron-core\u002Freferences\u002Fparallelism-guide.md",{"path":99,"resourceType":90,"resourceTypeDesc":91,"sizeBytes":100,"sourceHtmlUrl":101},"references\u002Fproduction-examples.md",10903,"https:\u002F\u002Fgithub.com\u002FDicklesworthstone\u002Fpi_agent_rust\u002Fblob\u002Fmain\u002Ftests\u002Fext_conformance\u002Fartifacts\u002Ftemplates-davila7\u002Fcli-tool\u002Fcomponents\u002Fskills\u002Fai-research\u002Fdistributed-training-megatron-core\u002Freferences\u002Fproduction-examples.md",{"path":103,"resourceType":90,"resourceTypeDesc":91,"sizeBytes":104,"sourceHtmlUrl":105},"references\u002Ftraining-recipes.md",11588,"https:\u002F\u002Fgithub.com\u002FDicklesworthstone\u002Fpi_agent_rust\u002Fblob\u002Fmain\u002Ftests\u002Fext_conformance\u002Fartifacts\u002Ftemplates-davila7\u002Fcli-tool\u002Fcomponents\u002Fskills\u002Fai-research\u002Fdistributed-training-megatron-core\u002Freferences\u002Ftraining-recipes.md",[107,132,151,167,189,216],{"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":116,"publishedAt":55},"01M70PFHMH9ADY0CRE6047Y4B2","kitty-show-image","Show the user an image with a note on what to judge, via a file send or a labelled kitty tab. Use when the user must see an image, or icat fails with no \u002Fdev\u002Ftty.","https:\u002F\u002Fgithub.com\u002Flaurigates\u002Fclaude-plugins\u002Fblob\u002Fmain\u002Fkitty-plugin\u002Fskills\u002Fkitty-show-image\u002FSKILL.md",[113],{"categoryNo":114,"categoryName":115,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000016","图像与多媒体",[117,118,119,120,121,122,123,124,125,126,43,34,50,127,128,129,130,131,33,48],"show","kitty show image","image","kitty","show image","ls","get","send","open","dev","file","text","with","xdg","via",{"skillNo":133,"name":134,"nameZh":6,"description":135,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":136,"categories":137,"keywords":138,"publishedAt":55},"01M70PFEN18HKQ4RCQ1VPGMPTB","kitty-session-persistence","Snapshot and restore kitty terminal sessions on macOS. Use when surviving WindowServer hangs without losing tabs, configuring snapshots, or restoring after a force-reboot.","https:\u002F\u002Fgithub.com\u002Flaurigates\u002Fclaude-plugins\u002Fblob\u002Fmain\u002Fkitty-plugin\u002Fskills\u002Fkitty-session-persistence\u002FSKILL.md",[],[120,139,140,141,142,143,34,50,144,145,146,33,48,47,46,147,148,149,150,43],"kitty session persistence","session","persistence","false","snapshots","uname","reboot","terminal","snapshot","macos","sessions","restore",{"skillNo":152,"name":153,"nameZh":6,"description":154,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":155,"categories":156,"keywords":157,"publishedAt":55},"01M70PFC77XGXCVQ1543VGZHYR","kitty-remote-control","Safe kitty remote control from an agent — read panes with kitty @ ls\u002Fget-text, notify, and never mutate the live terminal unasked. Use when running inside kitty.","https:\u002F\u002Fgithub.com\u002Flaurigates\u002Fclaude-plugins\u002Fblob\u002Fmain\u002Fkitty-plugin\u002Fskills\u002Fkitty-remote-control\u002FSKILL.md",[],[158,159,120,160,161,122,162,163,123,164,165,43,34,166,50,128,129,146,33,48],"kitty remote control","remote","control","remote control","running","never","panes","notify","query",{"skillNo":168,"name":169,"nameZh":6,"description":170,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":171,"categories":172,"keywords":173,"publishedAt":55},"01M70P6WVMCT5JG4SACTM69AF9","docs-reference-check","Dangling doc-reference gate: flag markdown naming repo paths or relative links that no longer exist. Use when docs cite moved\u002Fdeleted files, or wiring a doc-drift lint.","https:\u002F\u002Fgithub.com\u002Flaurigates\u002Fclaude-plugins\u002Fblob\u002Fmain\u002Fdocumentation-plugin\u002Fskills\u002Fdocs-reference-check\u002FSKILL.md",[],[174,175,176,177,178,179,180,181,182,42,43,34,50,183,127,184,185,186,187,188],"docs reference check","check","reference check","reference","docs","links","python3","repo","files","drift","lint","wiring","chezmoi","references","cp",{"skillNo":190,"name":191,"nameZh":6,"description":192,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":193,"categories":194,"keywords":202,"publishedAt":55},"01M6C6NDE7DAQGNWSF22J5CJ0Z","youtube-upload","Upload a video to YouTube via the Data API v3 and edit its title, description, tags or thumbnail afterwards. Use when publishing or retitling a YouTube video.","https:\u002F\u002Fgithub.com\u002Flaurigates\u002Fclaude-plugins\u002Fblob\u002Fmain\u002Fyoutube-plugin\u002Fskills\u002Fyoutube-upload\u002FSKILL.md",[195,198,199],{"categoryNo":196,"categoryName":197,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000010","后端与接口",{"categoryNo":114,"categoryName":115,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":200,"categoryName":201,"taxonomyType":26,"taxonomyTypeDesc":27},"01JBSEEDCAT000000000000030","开发工程师",[203,204,205,206,180,207,48,208,46,209,210,211,43,50,127,212,213,34,214,215,35,131,33],"youtube upload","upload","youtube","Video","run","uv run","publishing","data","uv","api","v3","tags","id",{"skillNo":217,"name":218,"nameZh":6,"description":219,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":220,"categories":221,"keywords":225,"publishedAt":55},"01M6C6NABWW1X58KJJM4F6GQMQ","youtube-studio-share","Share a private YouTube video with a whole Google Workspace organization by scripting YouTube Studio in the browser. Use when a video must be org-only.","https:\u002F\u002Fgithub.com\u002Flaurigates\u002Fclaude-plugins\u002Fblob\u002Fmain\u002Fyoutube-plugin\u002Fskills\u002Fyoutube-studio-share\u002FSKILL.md",[222],{"categoryNo":223,"categoryName":224,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发",[226,227,228,229,205,206,230,231,232,233,234,48,235,236,237,238,43,239,34,129,240,33],"youtube studio share","share","youtube studio","studio","browser","javascript","scripting","google workspace","workspace","tool","google","only","MCP","chrome","organization"]