[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M7BMCY3SCJSBD1F7K5XJCFTT":3,"skill-same:01M7BMCY3SCJSBD1F7K5XJCFTT":61},{"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":19,"linkOnly":20,"markdownContent":21,"markdownBody":22,"frontMatter":23,"refName":24,"commitSha":25,"skillDirectory":26,"forksCount":27,"repositoryHtmlUrl":28,"repositoryHomepageUrl":6,"ownerHtmlUrl":29,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":30,"install":31,"resources":44},"01M7BMCY3SCJSBD1F7K5XJCFTT","assistant-notebook",null,"Consult and maintain the user's persistent Assistant Notebook in ChatGPT Library or on the local filesystem as a secondary recall aid and index. The current conversation and other available context are primary and usually more complete. Consult it once when starting a substantive working context or restoring continuity, then reuse the recovered context without rereading the notebook on every request. Reconsult only when needed for a missing fact, older decision, project switch, or context loss. Update it after meaningful progress with verified outcomes, decisions, files, blockers, and next steps.","pickleshell\u002Fnext-level-agent","pickleshell","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F309451382?v=4","01M7BMCTXKR4SZHKG985JJHP2N","PickleShell","01M7BMCTY918JD0G0639ZY0VTG",7,"MIT","https:\u002F\u002Fgithub.com\u002Fpickleshell\u002Fnext-level-agent\u002Fblob\u002Fmain\u002Fskills\u002Fassistant-notebook\u002FSKILL.md",[],[],"2026-11-15 14:19:17",false,"---\nname: assistant-notebook\ndescription: Consult and maintain the user's persistent Assistant Notebook in ChatGPT Library or on the local filesystem as a secondary recall aid and index. The current conversation and other available context are primary and usually more complete. Consult it once when starting a substantive working context or restoring continuity, then reuse the recovered context without rereading the notebook on every request. Reconsult only when needed for a missing fact, older decision, project switch, or context loss. Update it after meaningful progress with verified outcomes, decisions, files, blockers, and next steps.\n---\n\n# Assistant Notebook\n\nUse the first available supported backend as the persistent working notebook:\n\n- ChatGPT: use ChatGPT Library when Library operations are available;\n- Codex or another local agent: use the local filesystem at\n  `$ASSISTANT_NOTEBOOK_DIR`, then `$CODEX_HOME\u002Fassistant-notebook`, then\n  `~\u002F.codex\u002Fassistant-notebook`.\n\nThe local backend uses the same filenames and page structure as the Library\nbackend. Do not copy or export ChatGPT conversation history or personal memory\ninto either backend. Never place the notebook in a repository unless the user\nexplicitly chooses that location.\n\n## Context priority\n\nUse the active conversation and other currently available context as the\nprimary working source. The full context may contain everything: discussion,\nreasoning, alternatives, intermediate details, and transient remarks. Treat the\nnotebook as a compact secondary recall aid and index containing only the most\nimportant durable facts, decisions, preferences, corrections, status, and\nretrieval cues needed to locate and reconstruct the fuller context. The\nnotebook must not copy or attempt to replace the full context.\n\nCurrent verified evidence and explicit current user instructions override stale\nor conflicting notebook notes. The notebook should restore missing context, not\nnarrow, replace, or discard richer context already available in the\nconversation, attached files, repositories, tools, or other current sources.\nTreat notebook entries as retrieval cues and routing prompts, not\nself-contained context. Use project names, people, companies, decisions,\nstatuses, dates, links, and artifact references to identify which fuller prior\ncontext is relevant.\n\nWhen a cue points to prior work, recover the fuller available context from\nconversation\u002Finteraction history, personal context, attached files, Library or\nlocal artifacts, repositories, tools, and other current sources before deciding\nor acting. The notebook initiates retrieval; it does not bound what may be\nrecalled.\n\n## Contents page\n\n`Assistant Notebook - Contents.md` is a table of contents and routing map for\nthe user's broader context. Use it to switch contexts quickly and locate fuller\ncontext in subject pages, source artifacts, repositories, tools, or the active\nconversation. Keep detailed context on the appropriate subject page or source\nartifact; keep `Contents.md` routing-only.\n\n## Context initialization and re-entry\n\nConsult the notebook once when starting a new substantive working context or\nwhen continuity needs to be restored. After reading it, keep the recovered\ninformation in the active working context and continue from that context.\n\nDo not search, scan, or reread the notebook before every message or task in the\nsame continuous working context. Reconsult it only when a relevant fact or\nolder decision is missing, the user switches to a different project or stable\nsubject, available context has been compacted or lost, or a conflict requires\nchecking the durable record. This avoids unnecessary retrieval and token use\nand prevents stale notes from repeatedly displacing current context.\n\n1. In ChatGPT, search the Library by the exact title `Assistant Notebook - Contents.md`.\n   In Codex\u002Flocal mode, locate that exact filename under the selected notebook\n   directory.\n2. Read the contents page; never rely on a search snippet alone.\n3. Follow its routing table and read only the relevant notebook page or pages.\n4. Use relevant notebook entries as retrieval cues to recover fuller related context from the active conversation, available history, personal context, attached files, Library or local artifacts, repositories, tools, and other current sources. Then reconcile that recovered context with the active conversation and other currently available context, keeping available context primary and the notebook secondary. Merge useful notebook recall without assuming it is complete or current. Never replace or narrow the current context to what the notebook contains.\n5. Treat notebook entries as orientation, not proof that an external action succeeded. Verify repositories, services, forms, correspondence, or source files when factual completion matters.\n6. Expect the common case that recent discussion or progress exists in the active context but was not written to the notebook. Use it for the task and add durable missing information to the appropriate page as soon as the gap is noticed, including during the task rather than waiting until the end.\n7. Resolve discrepancies by current user instructions, verified evidence, recency, specificity, and status. Verified current evidence and explicit current instructions win over stale notes. If a discrepancy cannot be resolved safely, preserve the uncertainty instead of silently overwriting either account.\n\nIf the contents page is unavailable, say so briefly and continue from verified\navailable context. Do not create a second notebook automatically. Create a\nlocal notebook only during explicit setup or when the user explicitly asks for\none.\n\n## During and after work\n\nWrite short notebook notes during a substantive discussion whenever an\nimportant durable detail emerges that would help reconstruct the context later.\nCapture decisions, corrected assumptions, preferences, constraints, status\nchanges, and important rationale while they are fresh; do not wait for the task\nto finish or for the user to ask whether the notebook was updated. Keep these\nnotes compact retrieval cues rather than transcripts.\n\nUpdate the relevant existing page after meaningful progress. Record concise, durable facts:\n\n- confirmed result and date;\n- decision and important rationale;\n- current status or blocker;\n- exact Library filename\u002Ffolder or local relative path for related artifacts;\n- next action;\n- evidence or verification source when useful.\n\nKeep planned, attempted, and completed actions explicitly distinct. Mark\nreplaced information as superseded instead of silently leaving contradictions.\nPreserve unrelated page content and Library file identity\u002Fversion history; for\nlocal files, preserve unrelated pages and use atomic replacement.\n\nUpdate `Assistant Notebook - Contents.md` only when adding, renaming, or removing a page, or when its one-line status summary changes materially. Do not use it as an activity log.\n\nWhen older relevant context is recovered during normal work, incrementally\nbackfill durable decisions, facts, artifact references, status, and next\nactions into the appropriate subject page. Do not bulk-import history, copy\nwhole conversations, or put detailed history in `Contents.md`.\n\n## Notes and artifacts\n\n- Store resumes, company materials, project documents, and correspondence in the relevant Library folder or local notebook page directory.\n- Refer to attachments by exact Library filename\u002Ffolder or local relative path; do not embed large file contents into notes.\n- Prefer one maintained page per stable subject over many timestamped fragments.\n- Never store passwords, API keys, authentication tokens, recovery codes, government identifiers, or other secrets in the notebook.\n- Do not record casual conversation, transient reasoning, or facts already represented adequately by an attached source file.\n\n## Write discipline\n\nFor Library mode, use the available OpenAI Library skill\u002Ftool for every read or\nwrite. Search and read before replacing a page. Replace the same\n`library_file_id`; never create a duplicate merely because a local edit\nproduced a new path. Use version guards when the current version is known, and\nreconcile version conflicts before retrying. For local mode, use filesystem\nreads\u002Fwrites, preserve the same page filenames, write atomically, and do not\ncommit notebook contents unless explicitly requested.\n","# Assistant Notebook\n\nUse the first available supported backend as the persistent working notebook:\n\n- ChatGPT: use ChatGPT Library when Library operations are available;\n- Codex or another local agent: use the local filesystem at\n  `$ASSISTANT_NOTEBOOK_DIR`, then `$CODEX_HOME\u002Fassistant-notebook`, then\n  `~\u002F.codex\u002Fassistant-notebook`.\n\nThe local backend uses the same filenames and page structure as the Library\nbackend. Do not copy or export ChatGPT conversation history or personal memory\ninto either backend. Never place the notebook in a repository unless the user\nexplicitly chooses that location.\n\n## Context priority\n\nUse the active conversation and other currently available context as the\nprimary working source. The full context may contain everything: discussion,\nreasoning, alternatives, intermediate details, and transient remarks. Treat the\nnotebook as a compact secondary recall aid and index containing only the most\nimportant durable facts, decisions, preferences, corrections, status, and\nretrieval cues needed to locate and reconstruct the fuller context. The\nnotebook must not copy or attempt to replace the full context.\n\nCurrent verified evidence and explicit current user instructions override stale\nor conflicting notebook notes. The notebook should restore missing context, not\nnarrow, replace, or discard richer context already available in the\nconversation, attached files, repositories, tools, or other current sources.\nTreat notebook entries as retrieval cues and routing prompts, not\nself-contained context. Use project names, people, companies, decisions,\nstatuses, dates, links, and artifact references to identify which fuller prior\ncontext is relevant.\n\nWhen a cue points to prior work, recover the fuller available context from\nconversation\u002Finteraction history, personal context, attached files, Library or\nlocal artifacts, repositories, tools, and other current sources before deciding\nor acting. The notebook initiates retrieval; it does not bound what may be\nrecalled.\n\n## Contents page\n\n`Assistant Notebook - Contents.md` is a table of contents and routing map for\nthe user's broader context. Use it to switch contexts quickly and locate fuller\ncontext in subject pages, source artifacts, repositories, tools, or the active\nconversation. Keep detailed context on the appropriate subject page or source\nartifact; keep `Contents.md` routing-only.\n\n## Context initialization and re-entry\n\nConsult the notebook once when starting a new substantive working context or\nwhen continuity needs to be restored. After reading it, keep the recovered\ninformation in the active working context and continue from that context.\n\nDo not search, scan, or reread the notebook before every message or task in the\nsame continuous working context. Reconsult it only when a relevant fact or\nolder decision is missing, the user switches to a different project or stable\nsubject, available context has been compacted or lost, or a conflict requires\nchecking the durable record. This avoids unnecessary retrieval and token use\nand prevents stale notes from repeatedly displacing current context.\n\n1. In ChatGPT, search the Library by the exact title `Assistant Notebook - Contents.md`.\n   In Codex\u002Flocal mode, locate that exact filename under the selected notebook\n   directory.\n2. Read the contents page; never rely on a search snippet alone.\n3. Follow its routing table and read only the relevant notebook page or pages.\n4. Use relevant notebook entries as retrieval cues to recover fuller related context from the active conversation, available history, personal context, attached files, Library or local artifacts, repositories, tools, and other current sources. Then reconcile that recovered context with the active conversation and other currently available context, keeping available context primary and the notebook secondary. Merge useful notebook recall without assuming it is complete or current. Never replace or narrow the current context to what the notebook contains.\n5. Treat notebook entries as orientation, not proof that an external action succeeded. Verify repositories, services, forms, correspondence, or source files when factual completion matters.\n6. Expect the common case that recent discussion or progress exists in the active context but was not written to the notebook. Use it for the task and add durable missing information to the appropriate page as soon as the gap is noticed, including during the task rather than waiting until the end.\n7. Resolve discrepancies by current user instructions, verified evidence, recency, specificity, and status. Verified current evidence and explicit current instructions win over stale notes. If a discrepancy cannot be resolved safely, preserve the uncertainty instead of silently overwriting either account.\n\nIf the contents page is unavailable, say so briefly and continue from verified\navailable context. Do not create a second notebook automatically. Create a\nlocal notebook only during explicit setup or when the user explicitly asks for\none.\n\n## During and after work\n\nWrite short notebook notes during a substantive discussion whenever an\nimportant durable detail emerges that would help reconstruct the context later.\nCapture decisions, corrected assumptions, preferences, constraints, status\nchanges, and important rationale while they are fresh; do not wait for the task\nto finish or for the user to ask whether the notebook was updated. Keep these\nnotes compact retrieval cues rather than transcripts.\n\nUpdate the relevant existing page after meaningful progress. Record concise, durable facts:\n\n- confirmed result and date;\n- decision and important rationale;\n- current status or blocker;\n- exact Library filename\u002Ffolder or local relative path for related artifacts;\n- next action;\n- evidence or verification source when useful.\n\nKeep planned, attempted, and completed actions explicitly distinct. Mark\nreplaced information as superseded instead of silently leaving contradictions.\nPreserve unrelated page content and Library file identity\u002Fversion history; for\nlocal files, preserve unrelated pages and use atomic replacement.\n\nUpdate `Assistant Notebook - Contents.md` only when adding, renaming, or removing a page, or when its one-line status summary changes materially. Do not use it as an activity log.\n\nWhen older relevant context is recovered during normal work, incrementally\nbackfill durable decisions, facts, artifact references, status, and next\nactions into the appropriate subject page. Do not bulk-import history, copy\nwhole conversations, or put detailed history in `Contents.md`.\n\n## Notes and artifacts\n\n- Store resumes, company materials, project documents, and correspondence in the relevant Library folder or local notebook page directory.\n- Refer to attachments by exact Library filename\u002Ffolder or local relative path; do not embed large file contents into notes.\n- Prefer one maintained page per stable subject over many timestamped fragments.\n- Never store passwords, API keys, authentication tokens, recovery codes, government identifiers, or other secrets in the notebook.\n- Do not record casual conversation, transient reasoning, or facts already represented adequately by an attached source file.\n\n## Write discipline\n\nFor Library mode, use the available OpenAI Library skill\u002Ftool for every read or\nwrite. Search and read before replacing a page. Replace the same\n`library_file_id`; never create a duplicate merely because a local edit\nproduced a new path. Use version guards when the current version is known, and\nreconcile version conflicts before retrying. For local mode, use filesystem\nreads\u002Fwrites, preserve the same page filenames, write atomically, and do not\ncommit notebook contents unless explicitly requested.\n",{"name":5,"description":7},"main","3a854593d0bfe953e293a3f83d14ebb60f196d9c","skills\u002Fassistant-notebook",4,"https:\u002F\u002Fgithub.com\u002Fpickleshell\u002Fnext-level-agent","https:\u002F\u002Fgithub.com\u002Fpickleshell","2026-10-04 21:14:52",{"source":8,"skillName":5,"commands":32,"prompt":42,"zipAvailable":43},[33,36,39],{"tool":34,"command":35},"npx","npx skills add pickleshell\u002Fnext-level-agent --skill assistant-notebook",{"tool":37,"command":38},"bunx","bunx skills add pickleshell\u002Fnext-level-agent --skill assistant-notebook",{"tool":40,"command":41},"pnpm","pnpm dlx skills add pickleshell\u002Fnext-level-agent --skill assistant-notebook","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fpickleshell\u002Fnext-level-agent\u002Fblob\u002Fmain\u002Fskills\u002Fassistant-notebook\u002FSKILL.md",true,[45,51,57],{"path":46,"resourceType":47,"resourceTypeDesc":48,"sizeBytes":49,"sourceHtmlUrl":50},"agents\u002Fopenai.yaml","REFERENCE","参考文档",412,"https:\u002F\u002Fgithub.com\u002Fpickleshell\u002Fnext-level-agent\u002Fblob\u002Fmain\u002Fskills\u002Fassistant-notebook\u002Fagents\u002Fopenai.yaml",{"path":52,"resourceType":53,"resourceTypeDesc":54,"sizeBytes":55,"sourceHtmlUrl":56},"assets\u002Ficon.svg","ASSET","资产文件",1619,"https:\u002F\u002Fgithub.com\u002Fpickleshell\u002Fnext-level-agent\u002Fblob\u002Fmain\u002Fskills\u002Fassistant-notebook\u002Fassets\u002Ficon.svg",{"path":58,"resourceType":47,"resourceTypeDesc":48,"sizeBytes":59,"sourceHtmlUrl":60},"README.md",3735,"https:\u002F\u002Fgithub.com\u002Fpickleshell\u002Fnext-level-agent\u002Fblob\u002Fmain\u002Fskills\u002Fassistant-notebook\u002FREADME.md",[62,69,76,83,90,97],{"skillNo":63,"name":64,"nameZh":6,"description":65,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":66,"categories":67,"keywords":68,"publishedAt":19},"01M7BMF2YB1C5H3MF84TQG1HBJ","writing-skills","Use when creating new skills, editing existing skills, or verifying skills work before deployment","https:\u002F\u002Fgithub.com\u002Fpickleshell\u002Fnext-level-agent\u002Fblob\u002Fmain\u002Fskills\u002Fwriting-skills\u002FSKILL.md",[],[],{"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":75,"publishedAt":19},"01M7BMEYKJDKQQ4P6J9W4ZB0P2","writing-plans","Use when you have a spec or requirements for a multi-step task, before touching code","https:\u002F\u002Fgithub.com\u002Fpickleshell\u002Fnext-level-agent\u002Fblob\u002Fmain\u002Fskills\u002Fwriting-plans\u002FSKILL.md",[],[],{"skillNo":77,"name":78,"nameZh":6,"description":79,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":80,"categories":81,"keywords":82,"publishedAt":19},"01M7BMEV41DPEPVW1KS8FFQ7ZE","writing-acceptance-tests","Use when independent tests must be derived from a specification, public interface, or acceptance criteria before implementation, without writing or relying on production code.","https:\u002F\u002Fgithub.com\u002Fpickleshell\u002Fnext-level-agent\u002Fblob\u002Fmain\u002Fskills\u002Fwriting-acceptance-tests\u002FSKILL.md",[],[],{"skillNo":84,"name":85,"nameZh":6,"description":86,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":87,"categories":88,"keywords":89,"publishedAt":19},"01M7BMEQ1QEBXJMBD6BTDANZ22","verification-before-completion","Use when about to claim work is complete, fixed, or passing, before committing or creating PRs - requires running verification commands and confirming output before making any success claims; evidence before assertions always","https:\u002F\u002Fgithub.com\u002Fpickleshell\u002Fnext-level-agent\u002Fblob\u002Fmain\u002Fskills\u002Fverification-before-completion\u002FSKILL.md",[],[],{"skillNo":91,"name":92,"nameZh":6,"description":93,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":94,"categories":95,"keywords":96,"publishedAt":19},"01M7BMEJVHJZ6G6WWK9E79B3DC","using-git-worktrees","Use when starting feature work that needs isolation from current workspace or before executing implementation plans - ensures an isolated workspace exists via native tools or git worktree fallback","https:\u002F\u002Fgithub.com\u002Fpickleshell\u002Fnext-level-agent\u002Fblob\u002Fmain\u002Fskills\u002Fusing-git-worktrees\u002FSKILL.md",[],[],{"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":103,"publishedAt":19},"01M7BMEFQE77CP81RR7528KBFQ","test-driven-development","Use when implementing any feature or bugfix, before writing implementation code","https:\u002F\u002Fgithub.com\u002Fpickleshell\u002Fnext-level-agent\u002Fblob\u002Fmain\u002Fskills\u002Ftest-driven-development\u002FSKILL.md",[],[]]