[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6KX2VSA524W0H4B6F4FS1TJ":3,"skill-same:01M6KX2VSA524W0H4B6F4FS1TJ":74},{"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":39,"linkOnly":40,"markdownContent":41,"markdownBody":42,"frontMatter":43,"refName":45,"commitSha":46,"skillDirectory":47,"forksCount":48,"repositoryHtmlUrl":49,"repositoryHomepageUrl":6,"ownerHtmlUrl":50,"ownerBlogUrl":51,"ownerDescription":52,"updatedAt":53,"install":54,"resources":67},"01M6KX2VSA524W0H4B6F4FS1TJ","session-retro",null,"Capture a work session as a structured retro doc in docs\u002Fsessions\u002F","dougborg\u002Fharness-kit","dougborg","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F1261222?v=4","01M6KWS4PB51EYD4ZDJJSGNGB2","Doug Borg","01M6KWS4T8ZZW6SX5QZS9B5BN2",0,"Apache-2.0","https:\u002F\u002Fgithub.com\u002Fdougborg\u002Fharness-kit\u002Fblob\u002Fmain\u002Fskills\u002Fproject-management\u002Fsession-retro\u002FSKILL.md",[],[19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38],"session retro","retro","session","read","ls","as","git log","work session","issue","log","write","sessions","work","gh","gh pr","Bash","gh issue","git","pr","config","2026-11-10 10:12:30",false,"---\nname: session-retro\ndescription: Capture a work session as a structured retro doc in docs\u002Fsessions\u002F\nallowed-tools: Bash(git log*), Bash(git config*), Bash(gh issue*), Bash(gh pr*), Bash(date*), Bash(ls*), Read, Glob, Write\n---\n\n# Session Retro\n\nTurn the current session into a permanent cause-and-effect record: what the\nuser set out to do, what happened, what worked, what didn't, and which issues\ncame out of it.\n\nThis audits the session's work and produces a doc plus project issues. The\nharness itself (skills, agents, hooks, checks, steering files, tools) is the\nharness skill's retro mode, which produces harness fixes and harness-kit\nissues. The two are complements, best run back-to-back at the end of a\nsession.\n\nEvery entry traces to the conversation, `git log`, or `gh` output. Invent no\nactivity: a retro that records what didn't happen teaches the wrong lesson.\n\n## 1. Reconstruct the session\n\nThe conversation is the primary source for chronology and observations, and\nit defines the session, not the clock. Back it with the recorded activity,\nusing the session's start (or today) as the window:\n\n```bash\ngit log --since=\"8 hours ago\" --oneline --author=\"$(git config user.email)\"\ngh issue list --author=\"@me\" --state=all --search \"created:>=$(date +%Y-%m-%d)\"\ngh pr list --author=\"@me\" --state=all --search \"created:>=$(date +%Y-%m-%d)\"\n```\n\nIf the session crossed midnight or resumed from an earlier day, widen\n`--since` to the real start. If several distinct sessions happened today,\nscope the doc to this one, mentioning the others under \"What happened\" only\nwhere they fed into it.\n\nDone when every event you plan to record traces to the conversation or to\nthis output.\n\n## 2. Pick the location\n\nDefault to `docs\u002Fsessions\u002FYYYY-MM-DD-\u003Cslug>.md`, where the slug is a\ntwo-to-four word kebab-case theme, dated by the day the session ended. Check\nthe project's layout first (`ls`):\n\n- If docs live elsewhere (`documentation\u002F`, `doc\u002F`, a wiki directory), put\n  `sessions\u002F` under that root.\n- If a session, journal, or log directory already exists (`docs\u002Fjournal\u002F`,\n  `notes\u002Fsessions\u002F`), use it and match its filename convention.\n- Create `docs\u002Fsessions\u002F` only when nothing comparable exists.\n\nDone when you have a path that follows the project's convention.\n\n## 3. Write the doc\n\n```markdown\n# Session YYYY-MM-DD — \u003Cone-line session theme>\n\n## Goal\n\nWhat the user was trying to do, in one or two sentences.\n\n## What happened\n\n1. Chronological narrative of agent + user actions — shipped changes,\n   live testing, bugs surfaced (with issue links), decisions made.\n\n## What worked\n\n- Patterns that earned their keep (workflows, tools, review passes).\n\n## What didn't\n\n- Bugs surfaced, agent fall-backs (e.g. \"gave up and went to the browser\"),\n  confusing UX, wrong guidance from skills.\n\n## Issues filed\n\n- [#NNN](link) — one-line description (repeat per issue\u002FPR from this session)\n\n## Lessons \u002F patterns\n\n- Generalizable observations for future sessions.\n\n## Pending issues\n\n- [ ] Observation still needing an issue — file with issue-create\n```\n\n\"Pending issues\" lists observations that deserve an issue but haven't been\nfiled. A finding can belong to both retros: \"the agent fell back to the\nbrowser\" is a session fact, so record it under \"What didn't\", and leave it to\nthe harness retro to classify and route as a possible harness gap.\n\nDone when every section is filled or explicitly empty, and the doc is\nwritten.\n\n## 4. Close the loop\n\nShow the user the doc and offer to file the pending issues. Call the Skill\ntool once per issue they pick: with \"issue-create\" for a project issue, or\nwith \"harness-issue\" for a harness gap. If the harness retro hasn't run this\nsession, suggest the user run it (`\u002Fharness retro` on Claude Code,\n`$harness retro` on Codex), so the work and the tooling lessons are both\ncaptured.\n\nDone when the user has seen the doc, each pending issue they chose is filed,\nand the harness retro has run or been suggested.\n\n## Related\n\n- `harness` retro mode — the harness-side retrospective.\n- `standup` — a daily activity report, not a permanent doc.\n- `issue-create` — files project issues from the pending checklist.\n- `harness-issue` — files harness gaps upstream.\n","# Session Retro\n\nTurn the current session into a permanent cause-and-effect record: what the\nuser set out to do, what happened, what worked, what didn't, and which issues\ncame out of it.\n\nThis audits the session's work and produces a doc plus project issues. The\nharness itself (skills, agents, hooks, checks, steering files, tools) is the\nharness skill's retro mode, which produces harness fixes and harness-kit\nissues. The two are complements, best run back-to-back at the end of a\nsession.\n\nEvery entry traces to the conversation, `git log`, or `gh` output. Invent no\nactivity: a retro that records what didn't happen teaches the wrong lesson.\n\n## 1. Reconstruct the session\n\nThe conversation is the primary source for chronology and observations, and\nit defines the session, not the clock. Back it with the recorded activity,\nusing the session's start (or today) as the window:\n\n```bash\ngit log --since=\"8 hours ago\" --oneline --author=\"$(git config user.email)\"\ngh issue list --author=\"@me\" --state=all --search \"created:>=$(date +%Y-%m-%d)\"\ngh pr list --author=\"@me\" --state=all --search \"created:>=$(date +%Y-%m-%d)\"\n```\n\nIf the session crossed midnight or resumed from an earlier day, widen\n`--since` to the real start. If several distinct sessions happened today,\nscope the doc to this one, mentioning the others under \"What happened\" only\nwhere they fed into it.\n\nDone when every event you plan to record traces to the conversation or to\nthis output.\n\n## 2. Pick the location\n\nDefault to `docs\u002Fsessions\u002FYYYY-MM-DD-\u003Cslug>.md`, where the slug is a\ntwo-to-four word kebab-case theme, dated by the day the session ended. Check\nthe project's layout first (`ls`):\n\n- If docs live elsewhere (`documentation\u002F`, `doc\u002F`, a wiki directory), put\n  `sessions\u002F` under that root.\n- If a session, journal, or log directory already exists (`docs\u002Fjournal\u002F`,\n  `notes\u002Fsessions\u002F`), use it and match its filename convention.\n- Create `docs\u002Fsessions\u002F` only when nothing comparable exists.\n\nDone when you have a path that follows the project's convention.\n\n## 3. Write the doc\n\n```markdown\n# Session YYYY-MM-DD — \u003Cone-line session theme>\n\n## Goal\n\nWhat the user was trying to do, in one or two sentences.\n\n## What happened\n\n1. Chronological narrative of agent + user actions — shipped changes,\n   live testing, bugs surfaced (with issue links), decisions made.\n\n## What worked\n\n- Patterns that earned their keep (workflows, tools, review passes).\n\n## What didn't\n\n- Bugs surfaced, agent fall-backs (e.g. \"gave up and went to the browser\"),\n  confusing UX, wrong guidance from skills.\n\n## Issues filed\n\n- [#NNN](link) — one-line description (repeat per issue\u002FPR from this session)\n\n## Lessons \u002F patterns\n\n- Generalizable observations for future sessions.\n\n## Pending issues\n\n- [ ] Observation still needing an issue — file with issue-create\n```\n\n\"Pending issues\" lists observations that deserve an issue but haven't been\nfiled. A finding can belong to both retros: \"the agent fell back to the\nbrowser\" is a session fact, so record it under \"What didn't\", and leave it to\nthe harness retro to classify and route as a possible harness gap.\n\nDone when every section is filled or explicitly empty, and the doc is\nwritten.\n\n## 4. Close the loop\n\nShow the user the doc and offer to file the pending issues. Call the Skill\ntool once per issue they pick: with \"issue-create\" for a project issue, or\nwith \"harness-issue\" for a harness gap. If the harness retro hasn't run this\nsession, suggest the user run it (`\u002Fharness retro` on Claude Code,\n`$harness retro` on Codex), so the work and the tooling lessons are both\ncaptured.\n\nDone when the user has seen the doc, each pending issue they chose is filed,\nand the harness retro has run or been suggested.\n\n## Related\n\n- `harness` retro mode — the harness-side retrospective.\n- `standup` — a daily activity report, not a permanent doc.\n- `issue-create` — files project issues from the pending checklist.\n- `harness-issue` — files harness gaps upstream.\n",{"name":5,"description":7,"allowed-tools":44},"Bash(git log*), Bash(git config*), Bash(gh issue*), Bash(gh pr*), Bash(date*), Bash(ls*), Read, Glob, Write","main","023b01bfb4a86fbf1e38a749f1044cce3e5da67d","skills\u002Fproject-management\u002Fsession-retro",1,"https:\u002F\u002Fgithub.com\u002Fdougborg\u002Fharness-kit","https:\u002F\u002Fgithub.com\u002Fdougborg","http:\u002F\u002Fdougborg.org","Platforms and Infrastructure Software Engineer","2026-10-19 05:43:53",{"source":8,"skillName":5,"commands":55,"prompt":65,"zipAvailable":66},[56,59,62],{"tool":57,"command":58},"npx","npx skills add dougborg\u002Fharness-kit --skill session-retro",{"tool":60,"command":61},"bunx","bunx skills add dougborg\u002Fharness-kit --skill session-retro",{"tool":63,"command":64},"pnpm","pnpm dlx skills add dougborg\u002Fharness-kit --skill session-retro","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fdougborg\u002Fharness-kit\u002Fblob\u002Fmain\u002Fskills\u002Fproject-management\u002Fsession-retro\u002FSKILL.md",true,[68],{"path":69,"resourceType":70,"resourceTypeDesc":71,"sizeBytes":72,"sourceHtmlUrl":73},"agents\u002Fopenai.yaml","REFERENCE","参考文档",157,"https:\u002F\u002Fgithub.com\u002Fdougborg\u002Fharness-kit\u002Fblob\u002Fmain\u002Fskills\u002Fproject-management\u002Fsession-retro\u002Fagents\u002Fopenai.yaml",[75,93,112,145,168,185],{"skillNo":76,"name":77,"nameZh":6,"description":78,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":79,"categories":80,"keywords":86,"publishedAt":39},"01M6KX4J65S5FZKMSN5DQNPSZM","teach","Teach yourself a topic over several sessions, with lessons, references, and a record of what you've learned.","https:\u002F\u002Fgithub.com\u002Fdougborg\u002Fharness-kit\u002Fblob\u002Fmain\u002Fskills\u002Fwriting\u002Fteach\u002FSKILL.md",[81],{"categoryNo":82,"categoryName":83,"taxonomyType":84,"taxonomyTypeDesc":85},"01JBSEEDCAT000000000000039","教师与教育","PROFESSION","适用职业",[77,87,88,89,90,91,92,30],"lessons","you","with","learned","record","references",{"skillNo":94,"name":95,"nameZh":6,"description":96,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":97,"categories":98,"keywords":104,"publishedAt":39},"01M6KX4FSSG7MHF00JDT5QT0BQ","svg-logo-designer","Generate SVG logos with multiple concepts, layouts, and color variations.","https:\u002F\u002Fgithub.com\u002Fdougborg\u002Fharness-kit\u002Fblob\u002Fmain\u002Fskills\u002Fwriting\u002Fsvg-logo-designer\u002FSKILL.md",[99],{"categoryNo":100,"categoryName":101,"taxonomyType":102,"taxonomyTypeDesc":103},"01JBSEEDCAT000000000000016","图像与多媒体","SCENARIO","使用场景",[105,106,107,108,109,110,89,29,22,111],"logo","designer","svg logo designer","SVG","color","concepts","generate",{"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":124,"publishedAt":39},"01M6KX4BD3J9MZPPSH4MENH7FP","documentation-writer","Writes and revises human-facing documentation — READMEs, contributor and setup guides, reference pages, architecture notes, CLAUDE.md, and changelog entries. Covers picking the right document type for the question being asked, structuring for skimming, writing examples that actually run, and keeping docs from going stale. Use when creating or rewriting docs, when a README has drifted from the code, or when deciding where a piece of information belongs. For SKILL.md and agent files, use \u002Fskill-writer instead.","https:\u002F\u002Fgithub.com\u002Fdougborg\u002Fharness-kit\u002Fblob\u002Fmain\u002Fskills\u002Fwriting\u002Fdocumentation-writer\u002FSKILL.md",[118,121],{"categoryNo":119,"categoryName":120,"taxonomyType":102,"taxonomyTypeDesc":103},"01JBSEEDCAT000000000000018","写作与文案",{"categoryNo":122,"categoryName":123,"taxonomyType":84,"taxonomyTypeDesc":85},"01JBSEEDCAT000000000000036","内容创作者",[125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144],"writer","documentation writer","documentation","entries","changelog","architecture","document","files","use","question","README","notes","code","examples","pages","for","information","guides","type","writing",{"skillNo":146,"name":147,"nameZh":6,"description":148,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":149,"categories":150,"keywords":151,"publishedAt":39},"01M6KX47ZJ4ZWHDN3MY8SYAWZZ","adhd-mode","Shapes every response for a reader with ADHD: the next action first, numbered steps, progress restated each turn, tangents held back, concrete time estimates, wins made visible. Stays on for the rest of the session until the reader says \"stop adhd mode\". On Claude Code, the harness-kit:adhd output style does the same without invoking this skill.","https:\u002F\u002Fgithub.com\u002Fdougborg\u002Fharness-kit\u002Fblob\u002Fmain\u002Fskills\u002Fwriting\u002Fadhd-mode\u002FSKILL.md",[],[152,153,154,155,140,156,157,89,158,159,160,161,162,163,21,164,165,166,167,137],"adhd","mode","adhd mode","next","action","kit","output","style","progress","time","back","stop","reader","first","REST","harness",{"skillNo":169,"name":170,"nameZh":6,"description":171,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":172,"categories":173,"keywords":174,"publishedAt":39},"01M6KX463Z6E18EPDW873GDHKB","wait-what","That last message didn't land: re-explain it with the missing context.","https:\u002F\u002Fgithub.com\u002Fdougborg\u002Fharness-kit\u002Fblob\u002Fmain\u002Fskills\u002Fthinking\u002Fwait-what\u002FSKILL.md",[],[175,176,177,89,178,179,180,181,182,183,184],"wait","wait what","re","it","missing","message","context","explain","land","last",{"skillNo":186,"name":187,"nameZh":6,"description":188,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":189,"categories":190,"keywords":191,"publishedAt":39},"01M6KX43NE1NB0Y2HECY515730","to-questionnaire","Turn a decision you can't make alone into a questionnaire for the one person who can answer it, filled in async or together in a meeting.","https:\u002F\u002Fgithub.com\u002Fdougborg\u002Fharness-kit\u002Fblob\u002Fmain\u002Fskills\u002Fthinking\u002Fto-questionnaire\u002FSKILL.md",[],[192,193,140,194,195,196,197,88,198,178,199,200],"to questionnaire","questionnaire","person","can","answer","meeting","make","async","decision"]