[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M71K51BT9NEEB74M7DPZE970":3,"skill-same:01M71K51BT9NEEB74M7DPZE970":69},{"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":38,"linkOnly":39,"markdownContent":40,"markdownBody":41,"frontMatter":42,"refName":43,"commitSha":44,"skillDirectory":45,"forksCount":13,"repositoryHtmlUrl":46,"repositoryHomepageUrl":6,"ownerHtmlUrl":47,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":48,"install":49,"resources":62},"01M71K51BT9NEEB74M7DPZE970","project-map",null,"Draw the project map, one double-click HTML file under .project-map\u002F, showing the project's major parts with their status, milestones, items left to the next milestone, the suggested next step, and what changed since the last update. Use before a long solo run, after each milestone, and to answer \"どこまで進んだ？\".","mryfmo\u002Fdotfiles","mryfmo","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F11512262?v=4","01M71K2RDZFFQKYGMHMS5Y9PW1","01M71K2REKJ0WS61PNFQPTYP5T",0,"MIT","https:\u002F\u002Fgithub.com\u002Fmryfmo\u002Fdotfiles\u002Fblob\u002Fmain\u002Fhome\u002Fdot_agents\u002Fskills\u002Fproject-map\u002FSKILL.md",[],[18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37],"project","project map","map","click","run","one","parts","milestones","last","answer","with","long","file","status","solo","update","next","draw","milestone","use","2026-11-10 10:12:30",false,"---\nname: project-map\ndescription: Draw the project map, one double-click HTML file under .project-map\u002F, showing the project's major parts with their status, milestones, items left to the next milestone, the suggested next step, and what changed since the last update. Use before a long solo run, after each milestone, and to answer \"どこまで進んだ？\".\n---\n\n# Project Map\n\nYou draw one thing: the project map. Nothing else.\n\n## Style: ask once, then obey\n\n- Your MEMORY.md holds `style: dark|light` and `accent: \u003CCSS color>`. If both exist, use them and never ask again.\n- If they are missing, do not draw. Reply with exactly one line, `STYLE-NEEDED: dark or light? one accent color?`, and stop. The main session asks the human and re-runs you with `style=... accent=...`. Save those two values to MEMORY.md, then draw.\n\n## Writes\n\n- Write only inside `\u003Crepo>\u002F.project-map\u002F`: `index.html` and `state.json`. Write `index.html` and `state.json` with the Write or Edit tool, never through Bash (a heredoc or a redirect), so the session's PostToolUse hook opens its own pane in a right split using half the width at the first map write when absent, never merging it into a neighbouring terminal-browser, and reloads it at every later write; no seat and no human opens or refreshes it.\n- One exception: when `.gitignore` has no `.project-map\u002F` line, append one.\n- Your own agent memory (MEMORY.md and the files beside it, outside the repository) is the other permitted write; nothing else.\n- Never launch a browser, take a screenshot, or start any process that writes elsewhere; verify the HTML by reading it.\n- Never touch any other file. Never run a git command that changes state (no add, commit, push, stash, checkout, reset).\n\n## Reads\n\n- README first, then the code layout, then `git log` and `git diff --stat` from the `head` recorded in `state.json` to HEAD.\n- `gh issue list --state open --limit 50` when it works. When `gh` fails or the sandbox blocks it, skip issues and show \"issues: unavailable\" in the map instead of failing.\n- When `.ua\u002Fknowledge-graph.json` exists and `.ua\u002Fmeta.json` `gitCommitHash` equals HEAD, read that graph for structure before grepping the tree.\n\n## state.json\n\nKeep this file as the memory of the map. Shape:\n\n```json\n{\n  \"updated\": \"2026-10-07T09:00:00+09:00\",\n  \"head\": \"8e9bd072\",\n  \"style\": { \"theme\": \"dark\", \"accent\": \"#5b8def\" },\n  \"milestones\": [{ \"name\": \"...\", \"proposed\": true, \"parts\": [\"...\"] }],\n  \"parts\": [\n    {\n      \"id\": \"...\",\n      \"name\": \"...\",\n      \"status\": \"done|in-progress|not-started|stuck\",\n      \"waiting_on\": \"\",\n      \"paths\": [\"...\"],\n      \"changed\": false\n    }\n  ],\n  \"decisions\": [{ \"question\": \"...\", \"default\": \"...\", \"answer\": null }]\n}\n```\n\n- Read the previous `state.json` before drawing. The human edits milestone names and decision answers there; never overwrite a human edit, only add to it.\n- `parts[].changed` is true when any of the part's paths changed between the previous `head` and HEAD.\n\n## The map: index.html\n\n- One self-contained HTML file: inline CSS and JS, no external requests, no build step, opens by double-click from `file:\u002F\u002F`. Theme and accent from memory, both contrast-checked as dataviz describes. The map is a local file, not a published Artifact: where artifact-design's page contract (CDN libraries, Google Fonts, no html\u002Fhead\u002Fbody tags) conflicts with this skill, this skill wins.\n- Top strip: project name, HEAD short sha and date, **N items left to \u003Cnext milestone>**, **Suggested next step** in one concrete sentence, and a \"changed since \u003Clast update>\" count.\n- Parts: split the project into 4 to 9 major parts, derived from the directory layout, README, and recent commits, never from a fixed list. Each part shows `done`, `in-progress`, `not-started`, or `stuck`. A stuck part states what it waits on: a person, a decision, an external service, or a failing check. Parts that changed since the last update carry an accent border and a \"changed\" tag.\n- Milestones: when the human has not named any, read README and the commit history and propose a first version of 3 to 6 milestones, each listing the parts it needs, labelled \"proposed, edit me in .project-map\u002Fstate.json\".\n- Decisions panel, \"needs your call\": every open question with the default you will take when it stays unanswered.\n- Other panels: choose only what this project's evidence supports, such as CI health, open PRs, stuck tasks, or a recent-commit timeline. Drop any panel that would be empty. No templates.\n\n## Report back\n\nEnd with three to eight lines: the map's path, items left to the next milestone, the suggested next step, the changed parts, and the pending decisions.\n","# Project Map\n\nYou draw one thing: the project map. Nothing else.\n\n## Style: ask once, then obey\n\n- Your MEMORY.md holds `style: dark|light` and `accent: \u003CCSS color>`. If both exist, use them and never ask again.\n- If they are missing, do not draw. Reply with exactly one line, `STYLE-NEEDED: dark or light? one accent color?`, and stop. The main session asks the human and re-runs you with `style=... accent=...`. Save those two values to MEMORY.md, then draw.\n\n## Writes\n\n- Write only inside `\u003Crepo>\u002F.project-map\u002F`: `index.html` and `state.json`. Write `index.html` and `state.json` with the Write or Edit tool, never through Bash (a heredoc or a redirect), so the session's PostToolUse hook opens its own pane in a right split using half the width at the first map write when absent, never merging it into a neighbouring terminal-browser, and reloads it at every later write; no seat and no human opens or refreshes it.\n- One exception: when `.gitignore` has no `.project-map\u002F` line, append one.\n- Your own agent memory (MEMORY.md and the files beside it, outside the repository) is the other permitted write; nothing else.\n- Never launch a browser, take a screenshot, or start any process that writes elsewhere; verify the HTML by reading it.\n- Never touch any other file. Never run a git command that changes state (no add, commit, push, stash, checkout, reset).\n\n## Reads\n\n- README first, then the code layout, then `git log` and `git diff --stat` from the `head` recorded in `state.json` to HEAD.\n- `gh issue list --state open --limit 50` when it works. When `gh` fails or the sandbox blocks it, skip issues and show \"issues: unavailable\" in the map instead of failing.\n- When `.ua\u002Fknowledge-graph.json` exists and `.ua\u002Fmeta.json` `gitCommitHash` equals HEAD, read that graph for structure before grepping the tree.\n\n## state.json\n\nKeep this file as the memory of the map. Shape:\n\n```json\n{\n  \"updated\": \"2026-10-07T09:00:00+09:00\",\n  \"head\": \"8e9bd072\",\n  \"style\": { \"theme\": \"dark\", \"accent\": \"#5b8def\" },\n  \"milestones\": [{ \"name\": \"...\", \"proposed\": true, \"parts\": [\"...\"] }],\n  \"parts\": [\n    {\n      \"id\": \"...\",\n      \"name\": \"...\",\n      \"status\": \"done|in-progress|not-started|stuck\",\n      \"waiting_on\": \"\",\n      \"paths\": [\"...\"],\n      \"changed\": false\n    }\n  ],\n  \"decisions\": [{ \"question\": \"...\", \"default\": \"...\", \"answer\": null }]\n}\n```\n\n- Read the previous `state.json` before drawing. The human edits milestone names and decision answers there; never overwrite a human edit, only add to it.\n- `parts[].changed` is true when any of the part's paths changed between the previous `head` and HEAD.\n\n## The map: index.html\n\n- One self-contained HTML file: inline CSS and JS, no external requests, no build step, opens by double-click from `file:\u002F\u002F`. Theme and accent from memory, both contrast-checked as dataviz describes. The map is a local file, not a published Artifact: where artifact-design's page contract (CDN libraries, Google Fonts, no html\u002Fhead\u002Fbody tags) conflicts with this skill, this skill wins.\n- Top strip: project name, HEAD short sha and date, **N items left to \u003Cnext milestone>**, **Suggested next step** in one concrete sentence, and a \"changed since \u003Clast update>\" count.\n- Parts: split the project into 4 to 9 major parts, derived from the directory layout, README, and recent commits, never from a fixed list. Each part shows `done`, `in-progress`, `not-started`, or `stuck`. A stuck part states what it waits on: a person, a decision, an external service, or a failing check. Parts that changed since the last update carry an accent border and a \"changed\" tag.\n- Milestones: when the human has not named any, read README and the commit history and propose a first version of 3 to 6 milestones, each listing the parts it needs, labelled \"proposed, edit me in .project-map\u002Fstate.json\".\n- Decisions panel, \"needs your call\": every open question with the default you will take when it stays unanswered.\n- Other panels: choose only what this project's evidence supports, such as CI health, open PRs, stuck tasks, or a recent-commit timeline. Drop any panel that would be empty. No templates.\n\n## Report back\n\nEnd with three to eight lines: the map's path, items left to the next milestone, the suggested next step, the changed parts, and the pending decisions.\n",{"name":5,"description":7},"main","af601a97567f1f07e9337cad899506f601f419f1","home\u002Fdot_agents\u002Fskills\u002Fproject-map","https:\u002F\u002Fgithub.com\u002Fmryfmo\u002Fdotfiles","https:\u002F\u002Fgithub.com\u002Fmryfmo","2026-11-14 19:17:29",{"source":8,"skillName":5,"commands":50,"prompt":60,"zipAvailable":61},[51,54,57],{"tool":52,"command":53},"npx","npx skills add mryfmo\u002Fdotfiles --skill project-map",{"tool":55,"command":56},"bunx","bunx skills add mryfmo\u002Fdotfiles --skill project-map",{"tool":58,"command":59},"pnpm","pnpm dlx skills add mryfmo\u002Fdotfiles --skill project-map","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fmryfmo\u002Fdotfiles\u002Fblob\u002Fmain\u002Fhome\u002Fdot_agents\u002Fskills\u002Fproject-map\u002FSKILL.md",true,[63],{"path":64,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":67,"sourceHtmlUrl":68},"agents\u002Fopenai.yaml","REFERENCE","参考文档",262,"https:\u002F\u002Fgithub.com\u002Fmryfmo\u002Fdotfiles\u002Fblob\u002Fmain\u002Fhome\u002Fdot_agents\u002Fskills\u002Fproject-map\u002Fagents\u002Fopenai.yaml",[70,76,82,110,130,149],{"skillNo":71,"name":72,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":73,"categories":74,"keywords":75,"publishedAt":38},"01M71K61D634ATEV8NWTGGWNGS","x","https:\u002F\u002Fgithub.com\u002Fmryfmo\u002Fdotfiles\u002Fblob\u002Fmain\u002Ftests\u002Ffixtures\u002Fponytail\u002Fskills\u002Fx\u002FSKILL.md",[],[],{"skillNo":77,"name":78,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":79,"categories":80,"keywords":81,"publishedAt":38},"01M71K605VRE3ABPN1MZHJNZ29","y","https:\u002F\u002Fgithub.com\u002Fmryfmo\u002Fdotfiles\u002Fblob\u002Fmain\u002Ftests\u002Ffixtures\u002Fponytail\u002Fdocs\u002Fskills\u002Fy\u002FSKILL.md",[],[],{"skillNo":83,"name":84,"nameZh":6,"description":85,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":86,"categories":87,"keywords":93,"publishedAt":38},"01M71K5Y3XX1PYZAWA7M5RG9VD","status-report","Generate a status report with KPIs, risks, and action items. Use when writing a weekly or monthly update for leadership, summarizing project health with green\u002Fyellow\u002Fred status, surfacing risks and decisions that need stakeholder attention, or turning a pile of project tracker activity into a readable narrative.","https:\u002F\u002Fgithub.com\u002Fmryfmo\u002Fdotfiles\u002Fblob\u002Fmain\u002Ftests\u002Ffixtures\u002Fkwp-upstream\u002Foperations\u002Fskills\u002Fstatus-report\u002FSKILL.md",[88],{"categoryNo":89,"categoryName":90,"taxonomyType":91,"taxonomyTypeDesc":92},"01JBSEEDCAT000000000000034","行政与办公人员","PROFESSION","适用职业",[94,95,31,96,97,98,99,100,28,101,102,103,104,18,105,37,106,107,108,109],"status report","report","tracker","health","generate","leadership","narrative","weekly","attention","green","for","writing","when","decisions","team","project health",{"skillNo":111,"name":112,"nameZh":6,"description":113,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":114,"categories":115,"keywords":116,"publishedAt":38},"01M71K5VJAHGE1NH22BGBXP693","runbook","Create or update an operational runbook for a recurring task or procedure. Use when documenting a task that on-call or ops needs to run repeatably, turning tribal knowledge into exact step-by-step commands, adding troubleshooting and rollback steps to an existing procedure, or writing escalation paths for when things go wrong.","https:\u002F\u002Fgithub.com\u002Fmryfmo\u002Fdotfiles\u002Fblob\u002Fmain\u002Ftests\u002Ffixtures\u002Fkwp-upstream\u002Foperations\u002Fskills\u002Frunbook\u002FSKILL.md",[],[112,117,33,118,22,119,120,121,122,106,123,124,37,105,125,126,104,127,128,129],"task","name","process","operational","create","call","ops","Existing","knowledge","rollback","escalation","recurring","things",{"skillNo":131,"name":132,"nameZh":6,"description":133,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":134,"categories":135,"keywords":136,"publishedAt":38},"01M71K5SJ0FT7KD82E7PJCGATX","risk-assessment","Identify, assess, and mitigate operational risks. Trigger with \"what are the risks\", \"risk assessment\", \"risk register\", \"what could go wrong\", or when the user is evaluating risks associated with a project, vendor, process, or decision.","https:\u002F\u002Fgithub.com\u002Fmryfmo\u002Fdotfiles\u002Fblob\u002Fmain\u002Ftests\u002Ffixtures\u002Fkwp-upstream\u002Foperations\u002Fskills\u002Frisk-assessment\u002FSKILL.md",[],[137,138,139,28,140,141,142,106,143,144,145,146,147,119,18,120,148],"risk assessment","assessment","risk","decision","user","Wrong","go","assess","trigger","risk register","vendor","register",{"skillNo":150,"name":151,"nameZh":6,"description":152,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":153,"categories":154,"keywords":155,"publishedAt":38},"01M71K5PYD2A2BDM6KMZ8F01SV","change-request","Create a change management request with impact analysis and rollback plan. Use when proposing a system or process change that needs approval, preparing a change record for CAB review, documenting risk and rollback steps before a deployment, or planning stakeholder communications for a rollout.","https:\u002F\u002Fgithub.com\u002Fmryfmo\u002Fdotfiles\u002Fblob\u002Fmain\u002Ftests\u002Ffixtures\u002Fkwp-upstream\u002Foperations\u002Fskills\u002Fchange-request\u002FSKILL.md",[],[156,157,158,37,28,159,160,161,162,163,164,106,165,166,167,168,169,104,170,139],"request","change request","change","communications","stakeholder communications","review","rollback plan","analysis","rollout","impact","change management","impact analysis","system","deployment","planning"]