[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M71P3FACY0Q2C40YVTXCHXFR":3,"skill-same:01M71P3FACY0Q2C40YVTXCHXFR":73},{"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":66},"01M71P3FACY0Q2C40YVTXCHXFR","show-me-your-work",null,"Keep a reviewable decision trail (one TSV row per decision with what, why, evidence, and result), audit it against the session transcript, and have a different model family flag what the user should check. Use for unattended or long-running work the user reviews after stepping away, such as a hillclimb, an eval, or an autonomous run.","drsh4dow\u002Fpi-setup","drsh4dow","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F45247070?v=4","01M71P068NASGHSWS11VWW416N","Daniel Moretti","01M71P0698BH81N65NP04X9NVN",10,"MIT","https:\u002F\u002Fgithub.com\u002Fdrsh4dow\u002Fpi-setup\u002Fblob\u002Fmain\u002Fagent\u002Fskills\u002Fshow-me-your-work\u002FSKILL.md",[],[19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38],"show me your work","me","show","work","show me","decision","eval","autonomous","session","use","evidence","model","family","as","long","reviews","true","for","running","tsv","2026-11-10 10:56:23",false,"---\nname: show-me-your-work\ndescription: \"Keep a reviewable decision trail (one TSV row per decision with what, why, evidence, and result), audit it against the session transcript, and have a different model family flag what the user should check. Use for unattended or long-running work the user reviews after stepping away, such as a hillclimb, an eval, or an autonomous run.\"\ndisable-model-invocation: false\nuser-invokable: true\n---\n\n# Show me your work\n\nKeep one canonical log.\n\n## The format\n\nA single TSV file, one row per decision. Cells stay single-line. Evidence is a pointer, not prose. Columns:\n\n- **ts.** ISO8601 timestamp.\n- **phase.** The phase or workstream.\n- **decision.** What was chosen or done, one line.\n- **why.** The reason in plain words. If a principle drove it, say it plainly, not as a jargon tag.\n- **evidence.** A link or path that proves it: commit SHA, PR number, `file:line`, or an artifact, trace, or screenshot path. Never a paragraph.\n- **result.** The outcome or predicate state: `tests green`, `reverted`, `pixel-diff 0`, `INCONCLUSIVE`, `open`.\n\nAn example, plain-spoken so a reviewer reads it at a glance.\n\n```\nts\tphase\tdecision\twhy\tevidence\tresult\n2026-05-24T09:02:00Z\tframe\tcounted the work first, about 100 components and roughly 75 hours\twanted to know the size before starting a long run\tcommit 3a9f1c2\tfound 5 things to sort out before starting\n2026-05-24T09:40:00Z\tharness\ttook screenshots of the old version before changing anything\tso we can compare old against new and catch any visual change\tscripts\u002Fsnapshot.sh, baseline\u002F\tsaved 120 reference screenshots\n2026-05-24T11:15:00Z\twidget\tmoved the widget styles over without changing how it looks\tkeep the change small and the result identical\tcommit 7c21e0a, pixel-diff 0\tlooks identical, tests pass\n2026-05-24T12:30:00Z\twidget\tthrew out a helper's work because its screenshots were blank\tchecked the real files instead of trusting its summary\tworktree reset\treverted, tightened the instructions for next time\n```\n\n## Logging a row\n\nWrite each entry the way you'd tell a teammate what you did. Plain words, concrete actions, no AI speak or abstract jargon (the **unslop** skill applies to log text too).\n\nUse the helper `scripts\u002Flog.sh \u003Clogfile> \u003Cphase> \u003Cdecision> \u003Cwhy> \u003Cevidence> \u003Cresult>`. It stamps `ts`, writes the header on first use, strips stray tabs\u002Fnewlines, and prefixes any cell starting with `=`, `+`, `-`, or `@` with a single quote. A bare `printf` appending a row works too, but mind those same bytes if cells come from generated or user-supplied text.\n\nLog decision points and checkpoints, not every action: a fork chosen, a unit completed with its verification result, a pivot or revert with its trigger, a blocker surfaced, a gate fixed. For loop runs, one row per iteration. Skip the trivial and self-evident.\n\nA run is one Pi session, including its later turns and any compaction of it. A pickup, a replacement agent, or a new session starts a new run. When a run adds to a log that already has rows, its first row has phase `start`, and so does its first row after another run's `start` row. So a run that comes back to a log in a later turn first reads the log's last rows to see whether another run wrote since. A `start` row names the `ts` range of the rows before it that this run did not write, and its evidence names this run's session file (`$PI_SESSION_FILE`). Use phase `start` for nothing else.\n\n## Where it lives\n\nThe log is a working artifact in the state folder: `decisions.tsv` in the task's subfolder, per `\u003Cstate>` in the system prompt. A run that already keeps a state folder, such as a hillclimb or an eval, keeps its log there.\n\nCopy it into the repository only when the work is ambitious enough that a reviewer needs the trail to trust the result.\n\n## Rules\n\n- Append-only. A wrong call gets a new row that supersedes it. Never edit or delete history.\n- Prefer evidence produced by committed scripts over hand-made one-offs (the **principle-encode-lessons-in-structure** skill).\n\n## Audit the log against the transcript\n\nAt the end of the run, before handing back, check the log told the truth. Read this run's transcript, the Pi session file at `$PI_SESSION_FILE`. Read only that file and the session files of subagents this run launched, never other sessions under `~\u002F.pi\u002Fagent\u002Fsessions\u002F`, which hold unrelated private chats. Walk this run's rows against what actually happened. Each stretch of them begins at one of this run's `start` rows, or at the first row if this run created the log, and ends at the next `start` row of another run:\n\n- Check that every row maps to a real decision or action.\n- Check that each row's evidence resolves and shows what the row claims.\n- A fork, pivot, or abandoned approach that shaped the work but isn't logged is a gap. Add it.\n\nCorrect the log, not the story. The audit never edits or removes a row, even an invented one. When a row records neither a real decision nor a real action, or its claim or evidence is wrong, add a row that supersedes it with what actually happened and a pointer that resolves. This audit does not check rows outside this run's stretches. If this run's own work shows one of them is wrong, supersede it like any wrong call.\n\n## Cross-model review of the trail\n\nBefore handing back, launch a delegate in the `cross-family reviewer` role of the **subagents** skill, on the model family that did not do the work. Self-review is not a substitute. Its assignment names the log and this run's session file, its write scope changes nothing, and it flags what the user should pay attention to. Not a redo of the work, a scan for what's suboptimal or risky:\n\n- Decisions logged with weak or absent evidence.\n- Verification steps skipped or claimed without proof in the transcript.\n- Choices that look risky in hindsight (premature, scope-creeping, papering over a symptom).\n- Gaps the user would otherwise miss on a casual skim.\n\nEvery reply for a run that produced a trail ends with an \"Attention\" section. Lead with the reviewer's model on its own line (`reviewed by \u003Cmodel>`), then list each flag pointing to specific rows or moments. \"No flags\" is a valid value. The model name is not.\n\n## Reviewing the trail\n\nRead top to bottom, follow the evidence pointers, spot-check. GitHub renders a committed TSV as a table. `column -s$'\\t' -t decisions.tsv` renders it in a terminal.\n\n## Composing this skill\n\nOther skills route their audit trail here instead of inventing one. Reference it by name and let it own the format. Don't restate the columns.\n","# Show me your work\n\nKeep one canonical log.\n\n## The format\n\nA single TSV file, one row per decision. Cells stay single-line. Evidence is a pointer, not prose. Columns:\n\n- **ts.** ISO8601 timestamp.\n- **phase.** The phase or workstream.\n- **decision.** What was chosen or done, one line.\n- **why.** The reason in plain words. If a principle drove it, say it plainly, not as a jargon tag.\n- **evidence.** A link or path that proves it: commit SHA, PR number, `file:line`, or an artifact, trace, or screenshot path. Never a paragraph.\n- **result.** The outcome or predicate state: `tests green`, `reverted`, `pixel-diff 0`, `INCONCLUSIVE`, `open`.\n\nAn example, plain-spoken so a reviewer reads it at a glance.\n\n```\nts\tphase\tdecision\twhy\tevidence\tresult\n2026-05-24T09:02:00Z\tframe\tcounted the work first, about 100 components and roughly 75 hours\twanted to know the size before starting a long run\tcommit 3a9f1c2\tfound 5 things to sort out before starting\n2026-05-24T09:40:00Z\tharness\ttook screenshots of the old version before changing anything\tso we can compare old against new and catch any visual change\tscripts\u002Fsnapshot.sh, baseline\u002F\tsaved 120 reference screenshots\n2026-05-24T11:15:00Z\twidget\tmoved the widget styles over without changing how it looks\tkeep the change small and the result identical\tcommit 7c21e0a, pixel-diff 0\tlooks identical, tests pass\n2026-05-24T12:30:00Z\twidget\tthrew out a helper's work because its screenshots were blank\tchecked the real files instead of trusting its summary\tworktree reset\treverted, tightened the instructions for next time\n```\n\n## Logging a row\n\nWrite each entry the way you'd tell a teammate what you did. Plain words, concrete actions, no AI speak or abstract jargon (the **unslop** skill applies to log text too).\n\nUse the helper `scripts\u002Flog.sh \u003Clogfile> \u003Cphase> \u003Cdecision> \u003Cwhy> \u003Cevidence> \u003Cresult>`. It stamps `ts`, writes the header on first use, strips stray tabs\u002Fnewlines, and prefixes any cell starting with `=`, `+`, `-`, or `@` with a single quote. A bare `printf` appending a row works too, but mind those same bytes if cells come from generated or user-supplied text.\n\nLog decision points and checkpoints, not every action: a fork chosen, a unit completed with its verification result, a pivot or revert with its trigger, a blocker surfaced, a gate fixed. For loop runs, one row per iteration. Skip the trivial and self-evident.\n\nA run is one Pi session, including its later turns and any compaction of it. A pickup, a replacement agent, or a new session starts a new run. When a run adds to a log that already has rows, its first row has phase `start`, and so does its first row after another run's `start` row. So a run that comes back to a log in a later turn first reads the log's last rows to see whether another run wrote since. A `start` row names the `ts` range of the rows before it that this run did not write, and its evidence names this run's session file (`$PI_SESSION_FILE`). Use phase `start` for nothing else.\n\n## Where it lives\n\nThe log is a working artifact in the state folder: `decisions.tsv` in the task's subfolder, per `\u003Cstate>` in the system prompt. A run that already keeps a state folder, such as a hillclimb or an eval, keeps its log there.\n\nCopy it into the repository only when the work is ambitious enough that a reviewer needs the trail to trust the result.\n\n## Rules\n\n- Append-only. A wrong call gets a new row that supersedes it. Never edit or delete history.\n- Prefer evidence produced by committed scripts over hand-made one-offs (the **principle-encode-lessons-in-structure** skill).\n\n## Audit the log against the transcript\n\nAt the end of the run, before handing back, check the log told the truth. Read this run's transcript, the Pi session file at `$PI_SESSION_FILE`. Read only that file and the session files of subagents this run launched, never other sessions under `~\u002F.pi\u002Fagent\u002Fsessions\u002F`, which hold unrelated private chats. Walk this run's rows against what actually happened. Each stretch of them begins at one of this run's `start` rows, or at the first row if this run created the log, and ends at the next `start` row of another run:\n\n- Check that every row maps to a real decision or action.\n- Check that each row's evidence resolves and shows what the row claims.\n- A fork, pivot, or abandoned approach that shaped the work but isn't logged is a gap. Add it.\n\nCorrect the log, not the story. The audit never edits or removes a row, even an invented one. When a row records neither a real decision nor a real action, or its claim or evidence is wrong, add a row that supersedes it with what actually happened and a pointer that resolves. This audit does not check rows outside this run's stretches. If this run's own work shows one of them is wrong, supersede it like any wrong call.\n\n## Cross-model review of the trail\n\nBefore handing back, launch a delegate in the `cross-family reviewer` role of the **subagents** skill, on the model family that did not do the work. Self-review is not a substitute. Its assignment names the log and this run's session file, its write scope changes nothing, and it flags what the user should pay attention to. Not a redo of the work, a scan for what's suboptimal or risky:\n\n- Decisions logged with weak or absent evidence.\n- Verification steps skipped or claimed without proof in the transcript.\n- Choices that look risky in hindsight (premature, scope-creeping, papering over a symptom).\n- Gaps the user would otherwise miss on a casual skim.\n\nEvery reply for a run that produced a trail ends with an \"Attention\" section. Lead with the reviewer's model on its own line (`reviewed by \u003Cmodel>`), then list each flag pointing to specific rows or moments. \"No flags\" is a valid value. The model name is not.\n\n## Reviewing the trail\n\nRead top to bottom, follow the evidence pointers, spot-check. GitHub renders a committed TSV as a table. `column -s$'\\t' -t decisions.tsv` renders it in a terminal.\n\n## Composing this skill\n\nOther skills route their audit trail here instead of inventing one. Reference it by name and let it own the format. Don't restate the columns.\n",{"name":5,"description":7,"user-invokable":44,"disable-model-invocation":40},true,"main","f7936596c1ba2e1472dadccc3f111b9d517fa96c","agent\u002Fskills\u002Fshow-me-your-work",2,"https:\u002F\u002Fgithub.com\u002Fdrsh4dow\u002Fpi-setup","https:\u002F\u002Fgithub.com\u002Fdrsh4dow","https:\u002F\u002Fdanielmoretti.com\u002F","Toss A Coin To Your Witcher :pirate_flag: ","2026-11-03 22:13:53",{"source":8,"skillName":5,"commands":55,"prompt":65,"zipAvailable":44},[56,59,62],{"tool":57,"command":58},"npx","npx skills add drsh4dow\u002Fpi-setup --skill show-me-your-work",{"tool":60,"command":61},"bunx","bunx skills add drsh4dow\u002Fpi-setup --skill show-me-your-work",{"tool":63,"command":64},"pnpm","pnpm dlx skills add drsh4dow\u002Fpi-setup --skill show-me-your-work","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fdrsh4dow\u002Fpi-setup\u002Fblob\u002Fmain\u002Fagent\u002Fskills\u002Fshow-me-your-work\u002FSKILL.md",[67],{"path":68,"resourceType":69,"resourceTypeDesc":70,"sizeBytes":71,"sourceHtmlUrl":72},"scripts\u002Flog.sh","SCRIPT","脚本",1377,"https:\u002F\u002Fgithub.com\u002Fdrsh4dow\u002Fpi-setup\u002Fblob\u002Fmain\u002Fagent\u002Fskills\u002Fshow-me-your-work\u002Fscripts\u002Flog.sh",[74,95,127,144,165,176],{"skillNo":75,"name":76,"nameZh":6,"description":77,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":78,"categories":79,"keywords":80,"publishedAt":39},"01M71P4GPJMBK21BTZBKY9T8EE","changelog","Write the changelog entry for a pull request. Use when a PR changes behavior that users, operators, or integrators can notice.","https:\u002F\u002Fgithub.com\u002Fdrsh4dow\u002Fpi-setup\u002Fblob\u002Fmain\u002Fevals\u002Fharness-lessons\u002Ffixtures\u002Fchangelog-skill\u002FSKILL.md",[],[76,81,82,83,84,85,86,87,36,88,89,90,91,28,92,93,94],"users","pull","notice","changes","operators","pr","pull request","request","behavior","entry","write","when","can","changelog entry",{"skillNo":96,"name":97,"nameZh":6,"description":98,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":99,"categories":100,"keywords":111,"publishedAt":39},"01M71P4E9AZM56JBY227P2G1SC","writing-good-tickets","Write, file, or update an issue or ticket that an agent or a developer can take to one PR. Use when filing a bug or feature, updating an issue, or breaking a plan into tickets.","https:\u002F\u002Fgithub.com\u002Fdrsh4dow\u002Fpi-setup\u002Fblob\u002Fmain\u002Fagent\u002Fskills\u002Fwriting-good-tickets\u002FSKILL.md",[101,106],{"categoryNo":102,"categoryName":103,"taxonomyType":104,"taxonomyTypeDesc":105},"01JBSEEDCAT000000000000018","写作与文案","SCENARIO","使用场景",{"categoryNo":107,"categoryName":108,"taxonomyType":109,"taxonomyTypeDesc":110},"01JBSEEDCAT000000000000036","内容创作者","PROFESSION","适用职业",[112,113,114,115,86,116,117,118,28,119,92,120,121,93,122,123,91,124,125,126],"good","writing","tickets","writing good tickets","feature","filing","ticket","false","file","one","plan","update","bug","take","issue",{"skillNo":128,"name":129,"nameZh":6,"description":130,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":131,"categories":132,"keywords":135,"publishedAt":39},"01M71P4C0B0DXTRRSG9RA6Y687","writing-good-prs","Write or update a pull request title and body that a reviewer can trust and own. Use when opening a PR or editing its description.","https:\u002F\u002Fgithub.com\u002Fdrsh4dow\u002Fpi-setup\u002Fblob\u002Fmain\u002Fagent\u002Fskills\u002Fwriting-good-prs\u002FSKILL.md",[133,134],{"categoryNo":102,"categoryName":103,"taxonomyType":104,"taxonomyTypeDesc":105},{"categoryNo":107,"categoryName":108,"taxonomyType":109,"taxonomyTypeDesc":110},[112,136,113,137,82,138,86,139,28,119,92,93,140,141,87,88,123,91,142,143],"prs","writing good prs","trust","editing","reviewer","title","opening a pr","body",{"skillNo":145,"name":146,"nameZh":6,"description":147,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":148,"categories":149,"keywords":152,"publishedAt":39},"01M71P49D1AG2MR6AYNPMMT34Z","writing-good-commits","Write or reword a git commit message and size the commit it describes. Use when committing, or when reshaping commits during a rebase.","https:\u002F\u002Fgithub.com\u002Fdrsh4dow\u002Fpi-setup\u002Fblob\u002Fmain\u002Fagent\u002Fskills\u002Fwriting-good-commits\u002FSKILL.md",[150,151],{"categoryNo":102,"categoryName":103,"taxonomyType":104,"taxonomyTypeDesc":105},{"categoryNo":107,"categoryName":108,"taxonomyType":109,"taxonomyTypeDesc":110},[153,112,113,154,155,156,91,157,158,159,28,119,160,161,92,162,163,164],"commits","writing good commits","message","size","git commit message","git","git commit","rebase","commit message","committing","commit","it",{"skillNo":166,"name":167,"nameZh":6,"description":168,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":169,"categories":170,"keywords":173,"publishedAt":39},"01M71P480BDE55JMPVVEBCFS7P","writing-for-agents","Writing documents for agents. Use when creating or editing skills, or modifying AGENTS.md or CLAUDE.md.","https:\u002F\u002Fgithub.com\u002Fdrsh4dow\u002Fpi-setup\u002Fblob\u002Fmain\u002Fagent\u002Fskills\u002Fwriting-for-agents\u002FSKILL.md",[171,172],{"categoryNo":102,"categoryName":103,"taxonomyType":104,"taxonomyTypeDesc":105},{"categoryNo":107,"categoryName":108,"taxonomyType":109,"taxonomyTypeDesc":110},[174,36,113,139,28,119,175,92],"writing for agents","documents",{"skillNo":177,"name":178,"nameZh":6,"description":179,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":180,"categories":181,"keywords":182,"publishedAt":39},"01M71P45SNCD7DDSA6FRVCPA17","wizard","Generate an interactive bash wizard that walks a human through steps only they can perform. Use when provisioning infrastructure, setting up credentials or CI secrets, walking an unfamiliar third-party dashboard, or running a one-off migration or cutover. Don't invoke this for steps the agent can perform itself.","https:\u002F\u002Fgithub.com\u002Fdrsh4dow\u002Fpi-setup\u002Fblob\u002Fmain\u002Fagent\u002Fskills\u002Fwizard\u002FSKILL.md",[],[178,37,183,36,184,185,186,187,28,188,119,92,189,121,190,93,191,192,193,194],"setting","up","ci","provisioning infrastructure","only","invoke","Bash","interactive","credentials","dashboard","generate","human"]