[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6J73K4X0WMZPB4H0GEPESPV":3,"skill-same:01M6J73K4X0WMZPB4H0GEPESPV":69},{"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":40,"linkOnly":41,"markdownContent":42,"markdownBody":43,"frontMatter":44,"refName":46,"commitSha":47,"skillDirectory":48,"forksCount":49,"repositoryHtmlUrl":50,"repositoryHomepageUrl":6,"ownerHtmlUrl":51,"ownerBlogUrl":52,"ownerDescription":53,"updatedAt":54,"install":55,"resources":68},"01M6J73K4X0WMZPB4H0GEPESPV","mach6-push",null,"Commit changes, push to remote, and post a progress comment on the associated PR or issue. Stages files by name (never git add -A), matches existing commit style, auto-detects PR from branch. Usage: mach6-push [optional commit message]","aebrer\u002Fdreb","aebrer","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F16313135?v=4","01M6J72TA43F9MBRZJE5W6B8DR","Drew Brereton","01M6J72TEDDHRA5AT4X9TR64AD",34,"MIT","https:\u002F\u002Fgithub.com\u002Faebrer\u002Fdreb\u002Fblob\u002Fmaster\u002Fpackages\u002Fcoding-agent\u002Fskills\u002Fmach6-push\u002FSKILL.md",[],[19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39],"mach6 push","push","message","by name","Existing","changes","usage","remote","post","style","progress","name","commit","files","commit changes","never","auto","branch","commit message","git","pr","2026-11-10 10:12:30",false,"---\nname: mach6-push\ndescription: \"Commit changes, push to remote, and post a progress comment on the associated PR or issue. Stages files by name (never git add -A), matches existing commit style, auto-detects PR from branch. Usage: mach6-push [optional commit message]\"\nargument-hint: \"[commit message]\"\n---\n\n# mach6-push — Commit, Push, Progress Comment\n\n**User input:** $ARGUMENTS\n\n## Global Rules\n\n1. **GitHub as shared memory** — Progress is posted as PR\u002Fissue comments so any future session can pick up context.\n2. **HTML markers** — Use `\u003C!-- mach6-progress -->` as the first line of progress comment bodies.\n3. **No `#N` in comment bodies** — Use \"finding 3\", \"item 3\", \"stage 2\" etc. instead.\n4. **Safe git** — Never use `git add -A` or `git add .`. Stage files by name. Never stage secrets (.env, credentials, tokens, keys).\n5. **Task tracking** — Use the `tasks_update` tool to show progress.\n6. **Non-interactive `gh`** — Set `GH_PAGER=cat` and `GH_EDITOR=cat` before all `gh` commands to prevent interactive prompts from hanging the agent. Use `--body-file` instead of inline `--body` for all `gh pr comment`, `gh pr create`, and `gh issue create` calls to avoid shell interpretation of backticks. Write each body to a **unique per-invocation temp file** via `mktemp` (e.g. `GH_BODY=\"$(mktemp \u002Ftmp\u002Fgh-comment.$$.XXXXXXXX)\"`) — never a fixed path like `\u002Ftmp\u002Fgh-comment.md`, which concurrent mach6 sessions on the same machine would clobber, cross-posting one session's body to another's PR\u002Fissue.\n7. **Stop after durable progress** — The commit, push, and GitHub progress comment are the accountability and recovery boundary. Do not invoke `mach6-review` or continue into a formal review cycle. Only the user may start formal review; offer it with `suggest_next` and stop.\n\n## Step 1: Set up task tracking\n\n```\ntasks_update([\n  { id: \"stage\", title: \"Stage changes\", status: \"in_progress\" },\n  { id: \"commit\", title: \"Commit\", status: \"pending\" },\n  { id: \"push\", title: \"Push to remote\", status: \"pending\" },\n  { id: \"comment\", title: \"Post progress comment\", status: \"pending\" }\n])\n```\n\n## Step 2: Stage changes\n\nRun `git status` and `git diff` to understand the current state.\n\n- If you have context from this session about which files were modified, stage those by name.\n- If files are already staged and look correct, proceed.\n- If unclear (fresh session, no context), review all changes and ask the user what to stage.\n- **Never** use `git add -A` or `git add .`\n- **Never** stage secrets (.env, credentials, tokens, keys)\n\nUpdate task: stage → completed, commit → in_progress.\n\n## Step 3: Commit\n\nCheck recent commit style:\n```bash\ngit log --oneline -10\n```\n\nGenerate a commit message that:\n- Follows the repository's existing style\n- Summarizes the nature of the changes\n- Uses the user's override message if provided\n\n```bash\ngit commit -m \"\u003Cmessage>\"\n```\n\nUpdate task: commit → completed, push → in_progress.\n\n## Step 4: Push\n\n```bash\ngit push\n```\n\nIf no upstream is set, use `git push -u origin \u003Cbranch>`.\n\nUpdate task: push → completed, comment → in_progress.\n\n## Step 5: Post progress comment\n\nDetect the associated PR or issue:\n\n1. **Session context first**: If an earlier mach6 command in this session targeted a specific PR or issue, use that.\n2. **PR detection**: Try `gh pr view --json number,url` on current branch. If a PR exists, comment on it.\n3. **Branch name fallback**: Check branch name for issue number pattern (e.g., `feature\u002Fissue-55-*`). If found, comment on that issue.\n4. **Skip gracefully**: If neither works, skip commenting and inform the user.\n\nIf session context points to an issue but a PR also exists on the current branch, prefer the PR.\n\nPost a progress comment:\n```bash\nGH_BODY=\"$(mktemp \u002Ftmp\u002Fgh-comment.$$.XXXXXXXX)\"\ncat > \"$GH_BODY\" \u003C\u003C 'MACH6_EOF'\n\u003C!-- mach6-progress -->\n## Progress Update\n\n\u003Csummary of changes in this batch>\n\n**Commit:** \\`\u003Chash>\\`\n\n---\n*Progress tracked by mach6*\nMACH6_EOF\ngh pr comment \u003Cnumber> --body-file \"$GH_BODY\"\n```\n\nUpdate task: comment → completed.\n\nReport: what was committed, where pushed, and where the comment was posted (with link). The work is now durably saved and available for accountable review.\n\nStop here. Do not invoke `mach6-review`, launch formal review agents, or begin a review-fix-review loop. Only the user may start formal review.\n\nUse `suggest_next` for exactly one context-appropriate command, then end the turn:\n- If on a feature branch with a PR: `\u002Fskill:mach6-review \u003Cpr-number>`\n- If on a feature branch without a PR: `\u002Fskill:mach6-plan \u003Cissue-number>` to create one\n- If on the default branch: an issue-oriented next step\n","# mach6-push — Commit, Push, Progress Comment\n\n**User input:** $ARGUMENTS\n\n## Global Rules\n\n1. **GitHub as shared memory** — Progress is posted as PR\u002Fissue comments so any future session can pick up context.\n2. **HTML markers** — Use `\u003C!-- mach6-progress -->` as the first line of progress comment bodies.\n3. **No `#N` in comment bodies** — Use \"finding 3\", \"item 3\", \"stage 2\" etc. instead.\n4. **Safe git** — Never use `git add -A` or `git add .`. Stage files by name. Never stage secrets (.env, credentials, tokens, keys).\n5. **Task tracking** — Use the `tasks_update` tool to show progress.\n6. **Non-interactive `gh`** — Set `GH_PAGER=cat` and `GH_EDITOR=cat` before all `gh` commands to prevent interactive prompts from hanging the agent. Use `--body-file` instead of inline `--body` for all `gh pr comment`, `gh pr create`, and `gh issue create` calls to avoid shell interpretation of backticks. Write each body to a **unique per-invocation temp file** via `mktemp` (e.g. `GH_BODY=\"$(mktemp \u002Ftmp\u002Fgh-comment.$$.XXXXXXXX)\"`) — never a fixed path like `\u002Ftmp\u002Fgh-comment.md`, which concurrent mach6 sessions on the same machine would clobber, cross-posting one session's body to another's PR\u002Fissue.\n7. **Stop after durable progress** — The commit, push, and GitHub progress comment are the accountability and recovery boundary. Do not invoke `mach6-review` or continue into a formal review cycle. Only the user may start formal review; offer it with `suggest_next` and stop.\n\n## Step 1: Set up task tracking\n\n```\ntasks_update([\n  { id: \"stage\", title: \"Stage changes\", status: \"in_progress\" },\n  { id: \"commit\", title: \"Commit\", status: \"pending\" },\n  { id: \"push\", title: \"Push to remote\", status: \"pending\" },\n  { id: \"comment\", title: \"Post progress comment\", status: \"pending\" }\n])\n```\n\n## Step 2: Stage changes\n\nRun `git status` and `git diff` to understand the current state.\n\n- If you have context from this session about which files were modified, stage those by name.\n- If files are already staged and look correct, proceed.\n- If unclear (fresh session, no context), review all changes and ask the user what to stage.\n- **Never** use `git add -A` or `git add .`\n- **Never** stage secrets (.env, credentials, tokens, keys)\n\nUpdate task: stage → completed, commit → in_progress.\n\n## Step 3: Commit\n\nCheck recent commit style:\n```bash\ngit log --oneline -10\n```\n\nGenerate a commit message that:\n- Follows the repository's existing style\n- Summarizes the nature of the changes\n- Uses the user's override message if provided\n\n```bash\ngit commit -m \"\u003Cmessage>\"\n```\n\nUpdate task: commit → completed, push → in_progress.\n\n## Step 4: Push\n\n```bash\ngit push\n```\n\nIf no upstream is set, use `git push -u origin \u003Cbranch>`.\n\nUpdate task: push → completed, comment → in_progress.\n\n## Step 5: Post progress comment\n\nDetect the associated PR or issue:\n\n1. **Session context first**: If an earlier mach6 command in this session targeted a specific PR or issue, use that.\n2. **PR detection**: Try `gh pr view --json number,url` on current branch. If a PR exists, comment on it.\n3. **Branch name fallback**: Check branch name for issue number pattern (e.g., `feature\u002Fissue-55-*`). If found, comment on that issue.\n4. **Skip gracefully**: If neither works, skip commenting and inform the user.\n\nIf session context points to an issue but a PR also exists on the current branch, prefer the PR.\n\nPost a progress comment:\n```bash\nGH_BODY=\"$(mktemp \u002Ftmp\u002Fgh-comment.$$.XXXXXXXX)\"\ncat > \"$GH_BODY\" \u003C\u003C 'MACH6_EOF'\n\u003C!-- mach6-progress -->\n## Progress Update\n\n\u003Csummary of changes in this batch>\n\n**Commit:** \\`\u003Chash>\\`\n\n---\n*Progress tracked by mach6*\nMACH6_EOF\ngh pr comment \u003Cnumber> --body-file \"$GH_BODY\"\n```\n\nUpdate task: comment → completed.\n\nReport: what was committed, where pushed, and where the comment was posted (with link). The work is now durably saved and available for accountable review.\n\nStop here. Do not invoke `mach6-review`, launch formal review agents, or begin a review-fix-review loop. Only the user may start formal review.\n\nUse `suggest_next` for exactly one context-appropriate command, then end the turn:\n- If on a feature branch with a PR: `\u002Fskill:mach6-review \u003Cpr-number>`\n- If on a feature branch without a PR: `\u002Fskill:mach6-plan \u003Cissue-number>` to create one\n- If on the default branch: an issue-oriented next step\n",{"name":5,"description":7,"argument-hint":45},"[commit message]","master","c9f9063dab2d32cd49fc2b250075b578f25431b9","packages\u002Fcoding-agent\u002Fskills\u002Fmach6-push",11,"https:\u002F\u002Fgithub.com\u002Faebrer\u002Fdreb","https:\u002F\u002Fgithub.com\u002Faebrer","https:\u002F\u002Fentropist.ca","Currently working on:\r\n- DEEP YELLOW: a turn based backrooms game in godot game engine\r\n- dreb: agentic coding harness\r\n- Professionally: AI in drug-discovery","2026-11-13 23:50:50",{"source":8,"skillName":5,"commands":56,"prompt":66,"zipAvailable":67},[57,60,63],{"tool":58,"command":59},"npx","npx skills add aebrer\u002Fdreb --skill mach6-push",{"tool":61,"command":62},"bunx","bunx skills add aebrer\u002Fdreb --skill mach6-push",{"tool":64,"command":65},"pnpm","pnpm dlx skills add aebrer\u002Fdreb --skill mach6-push","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Faebrer\u002Fdreb\u002Fblob\u002Fmaster\u002Fpackages\u002Fcoding-agent\u002Fskills\u002Fmach6-push\u002FSKILL.md",true,[],[70,97,112,124,137,148],{"skillNo":71,"name":72,"nameZh":6,"description":73,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":74,"categories":75,"keywords":76,"publishedAt":40},"01M6J75F1VDHCGAEC4CRENR3BZ","search","Semantic codebase search — use for exploring code, finding implementations, and answering questions about any project. Searches using natural language queries, identifier names, or file paths. Returns ranked results using embedding-based similarity, BM25 keyword matching, symbol matching, import graph analysis, and git recency. Best for exploring a large code or text corpus when you don't know the exact keywords; use grep when you know the exact text.","https:\u002F\u002Fgithub.com\u002Faebrer\u002Fdreb\u002Fblob\u002Fmaster\u002Fpackages\u002Fsemantic-search\u002Fskills\u002Fsearch\u002FSKILL.md",[],[72,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96],"when","queries","natural language","project","matching","bm25","import graph","similarity","import","embedding","about","questions","you","for","use","results","text","analysis","file","code",{"skillNo":98,"name":99,"nameZh":6,"description":100,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":101,"categories":102,"keywords":108,"publishedAt":40},"01M6J75DJ172W73T7GX993YR25","valid-skill","A valid skill for testing purposes.","https:\u002F\u002Fgithub.com\u002Faebrer\u002Fdreb\u002Fblob\u002Fmaster\u002Fpackages\u002Fcoding-agent\u002Ftest\u002Ffixtures\u002Fskills\u002Fvalid-skill\u002FSKILL.md",[103],{"categoryNo":104,"categoryName":105,"taxonomyType":106,"taxonomyTypeDesc":107},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[109,110,90,111],"valid","valid skill","testing",{"skillNo":113,"name":114,"nameZh":6,"description":115,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":116,"categories":117,"keywords":118,"publishedAt":40},"01M6J75A2GVQ5QHPMSF9Z355GC","unknown-field","A skill with an unknown frontmatter field.","https:\u002F\u002Fgithub.com\u002Faebrer\u002Fdreb\u002Fblob\u002Fmaster\u002Fpackages\u002Fcoding-agent\u002Ftest\u002Ffixtures\u002Fskills\u002Funknown-field\u002FSKILL.md",[],[119,120,121,122,123],"unknown","unknown field","frontmatter","with","unknown frontmatter field",{"skillNo":125,"name":126,"nameZh":6,"description":127,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":128,"categories":129,"keywords":133,"publishedAt":40},"01M6J758HV5H5BWXH28AVMH3HA","substitution-test","A skill for testing content substitution.","https:\u002F\u002Fgithub.com\u002Faebrer\u002Fdreb\u002Fblob\u002Fmaster\u002Fpackages\u002Fcoding-agent\u002Ftest\u002Ffixtures\u002Fskills\u002Fsubstitution-test\u002FSKILL.md",[130],{"categoryNo":131,"categoryName":132,"taxonomyType":106,"taxonomyTypeDesc":107},"01JBSEEDCAT000000000000008","测试与质量",[134,135,90,136,111],"substitution test","test","content",{"skillNo":138,"name":139,"nameZh":6,"description":140,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":141,"categories":142,"keywords":143,"publishedAt":40},"01M6J757BHN1NZPYEZNANVYW5Q","nested-child","Nested skill should be ignored.","https:\u002F\u002Fgithub.com\u002Faebrer\u002Fdreb\u002Fblob\u002Fmaster\u002Fpackages\u002Fcoding-agent\u002Ftest\u002Ffixtures\u002Fskills\u002Froot-skill-preferred\u002Fnested-child\u002FSKILL.md",[],[144,145,146,147],"child","nested","nested child","ignored",{"skillNo":149,"name":150,"nameZh":6,"description":151,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":152,"categories":153,"keywords":155,"publishedAt":40},"01M6J754D441E7R785DG009DSG","root-skill-preferred","Root skill should win.","https:\u002F\u002Fgithub.com\u002Faebrer\u002Fdreb\u002Fblob\u002Fmaster\u002Fpackages\u002Fcoding-agent\u002Ftest\u002Ffixtures\u002Fskills\u002Froot-skill-preferred\u002FSKILL.md",[154],{"categoryNo":104,"categoryName":105,"taxonomyType":106,"taxonomyTypeDesc":107},[156,157,158],"root skill preferred","root skill","root"]