[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6D9SF4DBRJZ8ZFVJBYZ61Y7":3,"skill-same:01M6D9SF4DBRJZ8ZFVJBYZ61Y7":77},{"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":17,"publishedAt":32,"linkOnly":33,"markdownContent":34,"markdownBody":35,"frontMatter":36,"refName":37,"commitSha":38,"skillDirectory":39,"forksCount":40,"repositoryHtmlUrl":41,"repositoryHomepageUrl":42,"ownerHtmlUrl":43,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":44,"install":45,"resources":58},"01M6D9SF4DBRJZ8ZFVJBYZ61Y7","codoc:share",null,"Share a file for collaborative editing with a human via browser. Use when the user wants to collaboratively edit a markdown file, get feedback, or have a conversation within a document.","freematters\u002Ffreematters","freematters","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F266749953?v=4","01M6D9S9REGCVDFCTZ7BM853DS","01M6D9S9WY29PTMRNB7X58QGTP",27,"MIT","https:\u002F\u002Fgithub.com\u002Ffreematters\u002Ffreematters\u002Fblob\u002Fmain\u002Fpackages\u002Fcodoc\u002Fskills\u002Fshare\u002FSKILL.md",[],[18,5,19,20,21,22,23,24,25,26,27,28,29,30,31],"share","share a file","browser","file","markdown","feedback","editing","edit","user","use","document","conversation","human","get","2026-11-10 10:12:30",false,"---\nname: codoc:share\ndescription: Share a file for collaborative editing with a human via browser. Use when the user wants to collaboratively edit a markdown file, get feedback, or have a conversation within a document.\n---\n\n# Share File for Collaborative Editing\n\n## Flow\n\n0. `codoc` cli should already be installed on the machine. Just call `codoc xxx` without any prefixes!\n\n1. Run `codoc server` **in background** (set `run_in_background: true`, timeout 600000ms). This starts the HTTP server and tunnel. It blocks until killed — that's expected.\n2. `codoc share \u002Fabsolute\u002Fpath\u002Fto\u002Ffile.md` → prints Edit URL + Readonly URL + token. No need to wait - this command will wait for the server to be ready.\n3. Tell user the Edit URL (or Readonly URL if they should only view)\n4. Run `codoc poll \u003Ctoken> agent` **in background** (set `run_in_background: true`, timeout 600000ms). You will be notified when the human edits. Continue with other work while waiting.\n5. When poll completes, read the file. Find `[REPLY_TEMPLATE]` lines inside `\u003C!-- ... -->` blocks, replace each with your reply (keep the line format, remove `[REPLY_TEMPLATE] ` prefix).\n6. Run `codoc poll \u003Ctoken> agent` in background again. Repeat 4-5.\n7. When you have nothing else to do, keep polling. Only stop polling if the user gives you a different task.\n\n## Troubleshooting\n\nIf the user says the link doesn't work, is broken, or returns 404:\n1. Try `codoc share` again on the same file to get a fresh URL.\n2. If re-share fails (server not running), stop the old background `codoc server` task (via TaskStop or `codoc stop`), then restart from step 1 of the Flow (run `codoc server` in background, then `codoc share`).\n\n## Comment Block Format\n\nA comment block applies to the line immediately above it — place your comment right after the line you want to discuss.\n\nComments are grouped in multi-line blocks:\n```\n\u003C!--\n@user[cid:abc]: question here\n[REPLY_TEMPLATE] @agent[cid:def][reply:abc]: your response here (use \\n for newlines)\n-->\n```\n\nTo reply, replace the `[REPLY_TEMPLATE]` line with:\n```\n@agent[cid:def][reply:abc]: your actual response\n```\n\nEscape `-->` as `\\-\\-\\>`, newlines as `\\n` within comment text.\n\n## Remote Access\n\n```\nbash \u003C(curl -sf \u003Cserver-url>\u002Fcodoc.sh) edit \u003Ctoken> \u003Cauthor>\nbash \u003C(curl -sf \u003Cserver-url>\u002Fcodoc.sh) poll \u003Ctoken> \u003Cauthor>\nbash \u003C(curl -sf \u003Cserver-url>\u002Fcodoc.sh) who \u003Ctoken>\n```\n","# Share File for Collaborative Editing\n\n## Flow\n\n0. `codoc` cli should already be installed on the machine. Just call `codoc xxx` without any prefixes!\n\n1. Run `codoc server` **in background** (set `run_in_background: true`, timeout 600000ms). This starts the HTTP server and tunnel. It blocks until killed — that's expected.\n2. `codoc share \u002Fabsolute\u002Fpath\u002Fto\u002Ffile.md` → prints Edit URL + Readonly URL + token. No need to wait - this command will wait for the server to be ready.\n3. Tell user the Edit URL (or Readonly URL if they should only view)\n4. Run `codoc poll \u003Ctoken> agent` **in background** (set `run_in_background: true`, timeout 600000ms). You will be notified when the human edits. Continue with other work while waiting.\n5. When poll completes, read the file. Find `[REPLY_TEMPLATE]` lines inside `\u003C!-- ... -->` blocks, replace each with your reply (keep the line format, remove `[REPLY_TEMPLATE] ` prefix).\n6. Run `codoc poll \u003Ctoken> agent` in background again. Repeat 4-5.\n7. When you have nothing else to do, keep polling. Only stop polling if the user gives you a different task.\n\n## Troubleshooting\n\nIf the user says the link doesn't work, is broken, or returns 404:\n1. Try `codoc share` again on the same file to get a fresh URL.\n2. If re-share fails (server not running), stop the old background `codoc server` task (via TaskStop or `codoc stop`), then restart from step 1 of the Flow (run `codoc server` in background, then `codoc share`).\n\n## Comment Block Format\n\nA comment block applies to the line immediately above it — place your comment right after the line you want to discuss.\n\nComments are grouped in multi-line blocks:\n```\n\u003C!--\n@user[cid:abc]: question here\n[REPLY_TEMPLATE] @agent[cid:def][reply:abc]: your response here (use \\n for newlines)\n-->\n```\n\nTo reply, replace the `[REPLY_TEMPLATE]` line with:\n```\n@agent[cid:def][reply:abc]: your actual response\n```\n\nEscape `-->` as `\\-\\-\\>`, newlines as `\\n` within comment text.\n\n## Remote Access\n\n```\nbash \u003C(curl -sf \u003Cserver-url>\u002Fcodoc.sh) edit \u003Ctoken> \u003Cauthor>\nbash \u003C(curl -sf \u003Cserver-url>\u002Fcodoc.sh) poll \u003Ctoken> \u003Cauthor>\nbash \u003C(curl -sf \u003Cserver-url>\u002Fcodoc.sh) who \u003Ctoken>\n```\n",{"name":5,"description":7},"main","898550a01eca98e666c6c16aef03ee6bbd04175c","packages\u002Fcodoc\u002Fskills\u002Fshare",5,"https:\u002F\u002Fgithub.com\u002Ffreematters\u002Ffreematters","https:\u002F\u002Ffreematters.vercel.app","https:\u002F\u002Fgithub.com\u002Ffreematters","2026-05-19 20:22:18",{"source":8,"skillName":5,"commands":46,"prompt":56,"zipAvailable":57},[47,50,53],{"tool":48,"command":49},"npx","npx skills add freematters\u002Ffreematters --skill \"codoc:share\"",{"tool":51,"command":52},"bunx","bunx skills add freematters\u002Ffreematters --skill \"codoc:share\"",{"tool":54,"command":55},"pnpm","pnpm dlx skills add freematters\u002Ffreematters --skill \"codoc:share\"","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Ffreematters\u002Ffreematters\u002Fblob\u002Fmain\u002Fpackages\u002Fcodoc\u002Fskills\u002Fshare\u002FSKILL.md",true,[59,65,71],{"path":60,"resourceType":61,"resourceTypeDesc":62,"sizeBytes":63,"sourceHtmlUrl":64},"customize.toml","OTHER","其他",1722,"https:\u002F\u002Fgithub.com\u002Ftonygomes-wq\u002Fevo\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fbmad-cis-problem-solving\u002Fcustomize.toml",{"path":66,"resourceType":67,"resourceTypeDesc":68,"sizeBytes":69,"sourceHtmlUrl":70},"solving-methods.csv","ASSET","资产文件",7311,"https:\u002F\u002Fgithub.com\u002Ftonygomes-wq\u002Fevo\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fbmad-cis-problem-solving\u002Fsolving-methods.csv",{"path":72,"resourceType":73,"resourceTypeDesc":74,"sizeBytes":75,"sourceHtmlUrl":76},"template.md","REFERENCE","参考文档",2001,"https:\u002F\u002Fgithub.com\u002Ftonygomes-wq\u002Fevo\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fbmad-cis-problem-solving\u002Ftemplate.md",[78,97,115,132,145,157],{"skillNo":79,"name":80,"nameZh":6,"description":81,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":82,"categories":83,"keywords":92,"publishedAt":32},"01M6D9TNZ52Y3DXX3PTGTR1Q0K","verifier","E2E test verifier workflow.","https:\u002F\u002Fgithub.com\u002Ffreematters\u002Ffreematters\u002Fblob\u002Fmain\u002Fpackages\u002Ffreeflow\u002Fworkflows\u002Fverifier\u002FSKILL.md",[84,89],{"categoryNo":85,"categoryName":86,"taxonomyType":87,"taxonomyTypeDesc":88},"01JBSEEDCAT000000000000008","测试与质量","SCENARIO","使用场景",{"categoryNo":90,"categoryName":91,"taxonomyType":87,"taxonomyTypeDesc":88},"01JBSEEDCAT000000000000023","Skill与智能体开发",[80,93,94,95,96],"e2e test","e2e","test","workflow",{"skillNo":98,"name":99,"nameZh":6,"description":100,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":101,"categories":102,"keywords":108,"publishedAt":32},"01M6D9TJSJDF87RMDCDSXRBZHT","spec-to-code","Implement a spec into working code, one plan step at a time.","https:\u002F\u002Fgithub.com\u002Ffreematters\u002Ffreematters\u002Fblob\u002Fmain\u002Fpackages\u002Ffreeflow\u002Fworkflows\u002Fspec-to-code\u002FSKILL.md",[103],{"categoryNo":104,"categoryName":105,"taxonomyType":106,"taxonomyTypeDesc":107},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",[109,110,111,112,113,114],"spec to code","code","spec","time","plan","implement",{"skillNo":116,"name":117,"nameZh":6,"description":118,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":119,"categories":120,"keywords":121,"publishedAt":32},"01M6D9TFTDG16JC379AD3TT9E8","spec-gen","Generate a complete specification from a rough idea through interactive requirements gathering, research, design, and implementation planning.","https:\u002F\u002Fgithub.com\u002Ffreematters\u002Ffreematters\u002Fblob\u002Fmain\u002Fpackages\u002Ffreeflow\u002Fworkflows\u002Fspec-gen\u002FSKILL.md",[],[122,111,123,124,125,126,127,128,129,130,131],"spec gen","implementation","requirements","idea","specification","interactive","planning","generate","research","design",{"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":139,"publishedAt":32},"01M6D9TDFC5MDPJW068JGGMB1W","spec-driven","End-to-end pipeline from rough idea to merged pull request. Passing --quick forwards the flag to the spec-gen sub workflow.","https:\u002F\u002Fgithub.com\u002Ffreematters\u002Ffreematters\u002Fblob\u002Fmain\u002Fpackages\u002Ffreeflow\u002Fworkflows\u002Fspec-driven\u002FSKILL.md",[138],{"categoryNo":90,"categoryName":91,"taxonomyType":87,"taxonomyTypeDesc":88},[140,111,141,125,142,143,144,96],"spec driven","end","pipeline","pull","pull request",{"skillNo":146,"name":147,"nameZh":6,"description":148,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":149,"categories":150,"keywords":152,"publishedAt":32},"01M6D9TB81ZTY2ATQRCTDKPXZK","release","General release workflow for GitHub projects.","https:\u002F\u002Fgithub.com\u002Ffreematters\u002Ffreematters\u002Fblob\u002Fmain\u002Fpackages\u002Ffreeflow\u002Fworkflows\u002Frelease\u002FSKILL.md",[151],{"categoryNo":90,"categoryName":91,"taxonomyType":87,"taxonomyTypeDesc":88},[147,153,96,154,155,156],"github","general","projects","github projects",{"skillNo":158,"name":159,"nameZh":6,"description":160,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":161,"categories":162,"keywords":163,"publishedAt":32},"01M6D9T8Y48YE2YM0HYXPV59PM","pr-lifecycle","Monitor a PR\u002FMR until it is merged or closed.","https:\u002F\u002Fgithub.com\u002Ffreematters\u002Ffreematters\u002Fblob\u002Fmain\u002Fpackages\u002Ffreeflow\u002Fworkflows\u002Fpr-lifecycle\u002FSKILL.md",[],[164,165,166,167],"pr","pr lifecycle","lifecycle","monitor"]