[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M70FR6PR837TH2X3RVMNXFNN":3,"skill-same:01M70FR6PR837TH2X3RVMNXFNN":68},{"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":44,"commitSha":45,"skillDirectory":46,"forksCount":47,"repositoryHtmlUrl":48,"repositoryHomepageUrl":49,"ownerHtmlUrl":50,"ownerBlogUrl":51,"ownerDescription":52,"updatedAt":53,"install":54,"resources":67},"01M70FR6PR837TH2X3RVMNXFNN","recall-past-decisions",null,"Use when the user references a PAST DECISION, choice, or rationale — \"what did we decide about caching?\", \"why is X done this way?\", \"didn't we agree to use Y?\", \"remind me how we handled Z before\". Searches indexed message history across all prior sessions to find the conversation where the decision was made and surfaces the matching excerpt with timestamp.","0bserver07\u002Fstaxtrace","0bserver07","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F2153691?v=4","01M70FQJ6N9V6HY96M6KDPX9JZ","Yad Konrad","01M70FQJ7SBVFGQ6TP4DMB7NPX",2,"MIT","https:\u002F\u002Fgithub.com\u002F0bserver07\u002Fstaxtrace\u002Fblob\u002Fmain\u002Frust\u002Fassets\u002Fskills\u002Frecall-past-decisions\u002FSKILL.md",[],[19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38],"decisions","past","recall","recall past decisions","me","references","with","across","done","caching","when","use","choice","sessions","decision","timestamp","decide","history","conversation","remind","2026-11-10 10:12:30",false,"---\nname: recall-past-decisions\ndescription: Use when the user references a PAST DECISION, choice, or rationale — \"what did we decide about caching?\", \"why is X done this way?\", \"didn't we agree to use Y?\", \"remind me how we handled Z before\". Searches indexed message history across all prior sessions to find the conversation where the decision was made and surfaces the matching excerpt with timestamp.\n---\n\n# Recall a past decision from prior sessions\n\n## Why this skill exists\n\nThe user often references decisions made in past sessions (\"we decided to use SQLite\", \"I told you to skip X\", \"we landed on the Y approach last week\"). Without searching history, the agent either guesses (often wrong) or asks the user to re-explain — both are bad. StackUnderflow indexes every message across every session; full-text search returns the matching excerpt + the session where it was said, so the agent can cite the decision back to the user.\n\n## When this skill fires\n\nTrigger when the user references a past conversation or decision, signaled by phrases like:\n\n- \"What did we decide about X?\"\n- \"Why is X done this way?\" (when \"this way\" implies a prior choice, not a code-level question)\n- \"Didn't we agree to \u002F talk about \u002F land on X?\"\n- \"Remind me how we handled X before\"\n- \"What was the rationale for X?\"\n- \"I think we discussed this last week\"\n\nDo NOT fire for:\n\n- Code-level questions answered by reading the current file (\"why does this function take an int?\" → just read the code)\n- Factual questions about a library or API (\"how does asyncio work?\")\n- The user gave the answer in the same turn (\"we decided to use SQLite — implement that\")\n\n## Step 1: search past sessions\n\n```bash\nstackunderflow search-past-decisions \"\u003Cquery>\" --format json --limit 10\n```\n\nBuild the query from the user's reference — the substantive nouns\u002Fverbs, not the question scaffolding. Examples:\n\n| User says | Query |\n|---|---|\n| \"What did we decide about caching?\" | `caching` or `cache strategy` |\n| \"Why are we using SQLite not Postgres?\" | `SQLite Postgres` or `database choice` |\n| \"Didn't we agree the watcher should be opt-in?\" | `watcher opt-in` |\n| \"How did we handle the partition migration?\" | `partition migration` |\n\nOptional flags:\n- `--project SLUG` — restrict to one project (use the slug from `find-sessions-in-path`)\n- `--since 30d` — restrict to recent history (default: all-time)\n- `--limit N` — how many excerpts to return (default 10 is usually fine)\n\nJSON shape:\n\n```json\n{\n  \"sessions\": [\n    {\"session_id\": \"...\", \"project_slug\": \"...\", \"project_path\": \"...\",\n     \"provider\": \"claude\", \"first_ts\": \"...\", \"last_ts\": \"...\",\n     \"message_count\": 42, \"cost_usd\": 0.85,\n     \"snippet\": \"matching excerpt with the query terms in context\"}\n  ]\n}\n```\n\nFor this command the `snippet` is the matching message excerpt — not the first user message. That's the substantive payload.\n\n## Step 2: read the excerpts\n\nScan the `snippet` field on each result for the actual decision text. The full message lives in the session log if you need to drill in, but usually the excerpt is enough.\n\nIf `sessions` is empty: tell the user you couldn't find the prior decision. Don't fabricate one. Ask them to refresh your memory.\n\n## Step 3: cite the decision back to the user\n\nFormat the answer with the citation:\n\n> Yes — on 2026-04-22 you and the prior session landed on SQLite (session `abc123…`). The reasoning was [snippet excerpt]. Proceeding on that basis.\n\nWhy citation matters: the user can verify against the linked session. If the agent paraphrased a decision incorrectly, the user catches it immediately. Without the timestamp\u002Fsession_id, the agent's recall is unverifiable and gets treated as a hallucination.\n\n## Refining the search\n\nIf the first result set isn't useful:\n\n- Broaden the query (drop a word)\n- Drop the `--project` filter if the decision spanned projects\n- Drop `--since` if the decision is older than the default window\n- Try synonyms — \"auth\" vs \"authentication\", \"cache\" vs \"caching\"\n\nThree retries is the budget. After that, tell the user the search came up empty and ask for a hint.\n\n## Showing the user vs. consuming internally\n\nDefault `--format json` is for agent consumption. When the user asks \"show me what we said about X\" or wants to read the raw history, run:\n\n```bash\nstackunderflow search-past-decisions \"\u003Cquery>\" --limit 10\n```\n\nText output renders the matching excerpts with session ids, timestamps, and a snippet — readable as a search-result list.\n\n## Alternate path: MCP\n\nIf the StackUnderflow MCP server is connected, the equivalent is the `search_past_decisions` tool with the same arguments. The CLI is the universally-available fallback.\n\n## Cost\n\nLocal SQLite FTS query — no network, no LLM call. \u003C500 ms even on 200K-event stores. Run liberally; an empty result is also a useful signal.\n","# Recall a past decision from prior sessions\n\n## Why this skill exists\n\nThe user often references decisions made in past sessions (\"we decided to use SQLite\", \"I told you to skip X\", \"we landed on the Y approach last week\"). Without searching history, the agent either guesses (often wrong) or asks the user to re-explain — both are bad. StackUnderflow indexes every message across every session; full-text search returns the matching excerpt + the session where it was said, so the agent can cite the decision back to the user.\n\n## When this skill fires\n\nTrigger when the user references a past conversation or decision, signaled by phrases like:\n\n- \"What did we decide about X?\"\n- \"Why is X done this way?\" (when \"this way\" implies a prior choice, not a code-level question)\n- \"Didn't we agree to \u002F talk about \u002F land on X?\"\n- \"Remind me how we handled X before\"\n- \"What was the rationale for X?\"\n- \"I think we discussed this last week\"\n\nDo NOT fire for:\n\n- Code-level questions answered by reading the current file (\"why does this function take an int?\" → just read the code)\n- Factual questions about a library or API (\"how does asyncio work?\")\n- The user gave the answer in the same turn (\"we decided to use SQLite — implement that\")\n\n## Step 1: search past sessions\n\n```bash\nstackunderflow search-past-decisions \"\u003Cquery>\" --format json --limit 10\n```\n\nBuild the query from the user's reference — the substantive nouns\u002Fverbs, not the question scaffolding. Examples:\n\n| User says | Query |\n|---|---|\n| \"What did we decide about caching?\" | `caching` or `cache strategy` |\n| \"Why are we using SQLite not Postgres?\" | `SQLite Postgres` or `database choice` |\n| \"Didn't we agree the watcher should be opt-in?\" | `watcher opt-in` |\n| \"How did we handle the partition migration?\" | `partition migration` |\n\nOptional flags:\n- `--project SLUG` — restrict to one project (use the slug from `find-sessions-in-path`)\n- `--since 30d` — restrict to recent history (default: all-time)\n- `--limit N` — how many excerpts to return (default 10 is usually fine)\n\nJSON shape:\n\n```json\n{\n  \"sessions\": [\n    {\"session_id\": \"...\", \"project_slug\": \"...\", \"project_path\": \"...\",\n     \"provider\": \"claude\", \"first_ts\": \"...\", \"last_ts\": \"...\",\n     \"message_count\": 42, \"cost_usd\": 0.85,\n     \"snippet\": \"matching excerpt with the query terms in context\"}\n  ]\n}\n```\n\nFor this command the `snippet` is the matching message excerpt — not the first user message. That's the substantive payload.\n\n## Step 2: read the excerpts\n\nScan the `snippet` field on each result for the actual decision text. The full message lives in the session log if you need to drill in, but usually the excerpt is enough.\n\nIf `sessions` is empty: tell the user you couldn't find the prior decision. Don't fabricate one. Ask them to refresh your memory.\n\n## Step 3: cite the decision back to the user\n\nFormat the answer with the citation:\n\n> Yes — on 2026-04-22 you and the prior session landed on SQLite (session `abc123…`). The reasoning was [snippet excerpt]. Proceeding on that basis.\n\nWhy citation matters: the user can verify against the linked session. If the agent paraphrased a decision incorrectly, the user catches it immediately. Without the timestamp\u002Fsession_id, the agent's recall is unverifiable and gets treated as a hallucination.\n\n## Refining the search\n\nIf the first result set isn't useful:\n\n- Broaden the query (drop a word)\n- Drop the `--project` filter if the decision spanned projects\n- Drop `--since` if the decision is older than the default window\n- Try synonyms — \"auth\" vs \"authentication\", \"cache\" vs \"caching\"\n\nThree retries is the budget. After that, tell the user the search came up empty and ask for a hint.\n\n## Showing the user vs. consuming internally\n\nDefault `--format json` is for agent consumption. When the user asks \"show me what we said about X\" or wants to read the raw history, run:\n\n```bash\nstackunderflow search-past-decisions \"\u003Cquery>\" --limit 10\n```\n\nText output renders the matching excerpts with session ids, timestamps, and a snippet — readable as a search-result list.\n\n## Alternate path: MCP\n\nIf the StackUnderflow MCP server is connected, the equivalent is the `search_past_decisions` tool with the same arguments. The CLI is the universally-available fallback.\n\n## Cost\n\nLocal SQLite FTS query — no network, no LLM call. \u003C500 ms even on 200K-event stores. Run liberally; an empty result is also a useful signal.\n",{"name":5,"description":7},"main","46546e71e94f94900c93ce3eb2f933866509593b","rust\u002Fassets\u002Fskills\u002Frecall-past-decisions",1,"https:\u002F\u002Fgithub.com\u002F0bserver07\u002Fstaxtrace","https:\u002F\u002Fstaxtrace.com","https:\u002F\u002Fgithub.com\u002F0bserver07","yadkonrad.com","- Coding Agents & Agent Driven Systems. \r\n\r\n- Program Synthesis.\r\n\r\n- ML\u002FData Infra.\r\n- Off. Sec. Research.\r\n\r\nElsewhere:\r\n- Creative Writing \u002F Standup Comedian","2026-10-19 15:40:37",{"source":8,"skillName":5,"commands":55,"prompt":65,"zipAvailable":66},[56,59,62],{"tool":57,"command":58},"npx","npx skills add 0bserver07\u002Fstaxtrace --skill recall-past-decisions",{"tool":60,"command":61},"bunx","bunx skills add 0bserver07\u002Fstaxtrace --skill recall-past-decisions",{"tool":63,"command":64},"pnpm","pnpm dlx skills add 0bserver07\u002Fstaxtrace --skill recall-past-decisions","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002F0bserver07\u002Fstaxtrace\u002Fblob\u002Fmain\u002Frust\u002Fassets\u002Fskills\u002Frecall-past-decisions\u002FSKILL.md",true,[],[69,95,102,111,123,136],{"skillNo":70,"name":71,"nameZh":6,"description":72,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":73,"categories":74,"keywords":80,"publishedAt":39},"01M70FTPEZ2S6JAERG6642NW3P","staxtrace-memory","Search local coding-agent session history before acting. Use BEFORE an Edit or Write to a file, BEFORE a non-trivial Bash command (a build, migration, or destructive\u002Flong-running command), and whenever the user references a past decision (\"what did we decide about X\", \"why is this done this way\", \"didn't we agree to Y\"), a specific file, or \"what worked last time\" — cases where a prior session on this machine may already hold the decision, the failure mode, or the exact working command. Queries the local `stax memory` CLI (staxtrace) across every past Claude Code \u002F Codex \u002F Cursor session so you do not re-derive an answer, contradict an earlier choice, or repeat a known failure. Local and read-only; nothing leaves the machine.","https:\u002F\u002Fgithub.com\u002F0bserver07\u002Fstaxtrace\u002Fblob\u002Fmain\u002Fskills\u002Fstaxtrace-memory\u002FSKILL.md",[75],{"categoryNo":76,"categoryName":77,"taxonomyType":78,"taxonomyTypeDesc":79},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",[81,82,31,83,84,35,85,86,33,87,88,89,27,90,91,26,92,24,93,94],"staxtrace memory","memory","re","time","search","mode","local","only","you","Bash","code","agent session","cli","command",{"skillNo":96,"name":97,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":98,"categories":99,"keywords":100,"publishedAt":39},"01M70FTJYHWW5Z48VXETHR77YM","handwritten","https:\u002F\u002Fgithub.com\u002F0bserver07\u002Fstaxtrace\u002Fblob\u002Fmain\u002Frust\u002Fparity\u002Fhomes\u002Fskills-installed\u002F.claude\u002Fskills\u002Fhandwritten\u002FSKILL.md",[],[97,101],"true",{"skillNo":103,"name":104,"nameZh":6,"description":105,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":106,"categories":107,"keywords":108,"publishedAt":39},"01M70FTGPRBK787GK8TDD00ZVE","auto-undated","no stamp","https:\u002F\u002Fgithub.com\u002F0bserver07\u002Fstaxtrace\u002Fblob\u002Fmain\u002Frust\u002Fparity\u002Fhomes\u002Fskills-installed\u002F.claude\u002Fskills\u002Fauto-undated\u002FSKILL.md",[],[109,110,101],"auto","auto undated",{"skillNo":112,"name":113,"nameZh":6,"description":114,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":115,"categories":116,"keywords":117,"publishedAt":39},"01M70FTD81JPTDM2394ENGX3C3","auto-recent-thing","A recently generated skill.","https:\u002F\u002Fgithub.com\u002F0bserver07\u002Fstaxtrace\u002Fblob\u002Fmain\u002Frust\u002Fparity\u002Fhomes\u002Fskills-installed\u002F.claude\u002Fskills\u002Fauto-recent-thing\u002FSKILL.md",[],[109,118,119,120,32,101,121,122],"auto recent thing","generated skill","tool","generated","jan",{"skillNo":124,"name":125,"nameZh":6,"description":126,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":127,"categories":128,"keywords":129,"publishedAt":39},"01M70FT8X06DZE5WS5B808N2N3","auto-old-thing","An auto-generated skill from a previous run.","https:\u002F\u002Fgithub.com\u002F0bserver07\u002Fstaxtrace\u002Fblob\u002Fmain\u002Frust\u002Fparity\u002Fhomes\u002Fskills-installed\u002F.claude\u002Fskills\u002Fauto-old-thing\u002FSKILL.md",[],[109,130,119,131,32,101,132,121,133,122,134,135],"auto old thing","2026","proj","parity","auto-generated","run",{"skillNo":137,"name":138,"nameZh":6,"description":139,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":140,"categories":141,"keywords":142,"publishedAt":39},"01M70FT6RRH22GQ40N05JFYPVK","auto-hand-written","mine","https:\u002F\u002Fgithub.com\u002F0bserver07\u002Fstaxtrace\u002Fblob\u002Fmain\u002Frust\u002Fparity\u002Fhomes\u002Fskills-installed\u002F.claude\u002Fskills\u002Fauto-hand-written\u002FSKILL.md",[],[143,109,144,139],"auto hand written","hand"]