[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M71F1ZR73CAAE8VP460F0NHW":3,"skill-same:01M71F1ZR73CAAE8VP460F0NHW":70},{"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":49,"commitSha":50,"skillDirectory":51,"forksCount":52,"repositoryHtmlUrl":53,"repositoryHomepageUrl":6,"ownerHtmlUrl":54,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":55,"install":56,"resources":69},"01M71F1ZR73CAAE8VP460F0NHW","session-bootstrap",null,"Concise session bootstrap. Trigger: at the start of a new session when the active user request, card, or change is unclear. Resolves focus from the memory capability first, then the runtime brief, and only checks the tracker capability when gaps or contradictions remain.","parada1104\u002Fai-specs-cli","parada1104","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F57575053?v=4","01M71EZZV71KAFZKJ47FQ99ZVS","01M71EZZW7JJBY2VAWA5HRD944",0,"MIT","https:\u002F\u002Fgithub.com\u002Fparada1104\u002Fai-specs-cli\u002Fblob\u002Fmain\u002Fcatalog\u002Frecipes\u002Fsession-context\u002Fskills\u002Fsession-bootstrap\u002FSKILL.md",[],[18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37],"bootstrap","session bootstrap","session","tracker","active","concise","first","focus","change","gaps","when","new","only","trigger","card","runtime","memory","user request","brief","conversation","2026-11-10 10:12:30",false,"---\nname: session-bootstrap\ndescription: >\n  Concise session bootstrap. Trigger: at the start of a new session when the\n  active user request, card, or change is unclear. Resolves focus from the\n  memory capability first, then the runtime brief, and only checks the tracker\n  capability when gaps or contradictions remain.\nlicense: MIT\nmetadata:\n  author: ai-specs\n  version: \"4.0\"\n  scope: runtime\n  auto_invoke:\n    - \"Starting a new session or conversation\"\n---\n\n# session-bootstrap\n\nStart every session from the **memory** capability, then the runtime brief, then\nthe **tracker** capability. This skill is tool-agnostic: it refers to\ncapabilities, not specific products. Concrete providers are bound in the\nproject's manifest (see `docs\u002Fcapabilities.md`).\n\n## Protocol\n\n1. **If the user gave an explicit task:**\n   a. **Check for referential ambiguity.** If the instruction refers to project\n      state without naming it — e.g. \"siguiente card\", \"continuar\", \"la otra\",\n      \"avanzar\", \"apply\" without a change name, \"verificar\"\u002F\"archive\" without\n      context — treat the focus as unclear and go to step 2a to resolve the\n      reference from the memory capability before acting.\n   b. **If the task is unambiguous** (names a specific card, change, file, or\n      operation), use it as the session focus directly.\n\n2. **If the focus is unclear:**\n   a. **Query the memory capability first.** Get recent session history, then\n      search for: `next_focus`, active card\u002Fchange references, recent handoffs\n      or session-close entries, and project-scoped context from the last ~48 h.\n   b. **Read `AGENTS.md`** for runtime context: project id, integration branch,\n      configured MCPs\u002Fcapabilities, blockers, workflow rules, conflict policy.\n   c. **Consult the tracker capability** — when a tracker capability is\n      bound in the manifest, this is **mandatory** for new or ambiguous changes:\n      resolve\u002Fconfirm the active card before proceeding, and ensure a new\n      structured change has a linked card recorded in the `## Tracker` section of\n      its proposal.md (or tasks.md). When no tracker capability is bound,\n      cross-check only if memory is missing\u002Fstale. If the tracker is unavailable,\n      degrade (warn + continue) without blocking.\n   d. **Read the latest handoff from the canonical-store capability** when one is\n      configured and memory coverage is thin.\n\n3. **If sources converge**, proceed and state the focus briefly.\n4. **If sources diverge**, ask one concrete question that names the conflicting\n   sources (e.g. *\"memory says next card is #65, but the tracker shows #65 in\n   Backlog while #66 is in Ready. Which should I prioritize?\"*).\n5. **If a configured capability\u002FMCP is unavailable**, continue with available\n   sources and state the gap.\n\n## Referential Ambiguity Triggers\n\nTreat an explicit request as unclear focus when it contains (non-exhaustive):\n\n- **Continuation:** \"siguiente\", \"continuar\", \"la otra card\", \"avanzar\",\n  \"vamos con la siguiente\".\n- **Implicit operations:** \"apply\", \"verificar\", \"archive\" without naming the\n  target change.\n- **Vague references:** \"eso\", \"lo otro\", \"la que falta\", \"la pendiente\".\n- **Status-relative:** \"mover a Ready\", \"pasar a In Progress\" without naming the\n  card.\n\nWhen any trigger fires, **query the memory capability for `next_focus` before\nexecuting**. Do not infer the reference from tracker state without confirming\nagainst operational memory first.\n\n## Memory-First Rule\n\nWhen no explicit user request exists, **the memory capability is the first\nsource to consult**. Do not query the tracker, VCS, or canonical store for\nsession focus before checking operational memory. This avoids redundant calls\nand context bloat.\n\n## Output Shape\n\n```text\nFocus: \u003Ccard\u002Fchange\u002Frequest>\nEvidence: \u003C1-2 source references>\nNext: \u003Cfirst action>\n```\n\n## Rules\n\n- Do not assume the next card when no current user request exists.\n- Do not load extra skills before the session focus is known.\n- Scope memory searches by project when project-specific.\n- Treat the **tracker** as work-state truth, **SDD artifacts** as spec truth,\n  the **canonical store** as durable handoff\u002Fdecision truth, and **memory** as\n  operational context.\n- Prefer the current explicit user request over stale memory unless it conflicts\n  with a higher-authority project rule.\n- Stop after resolving focus; implementation planning belongs to the relevant\n  workflow skill.\n","# session-bootstrap\n\nStart every session from the **memory** capability, then the runtime brief, then\nthe **tracker** capability. This skill is tool-agnostic: it refers to\ncapabilities, not specific products. Concrete providers are bound in the\nproject's manifest (see `docs\u002Fcapabilities.md`).\n\n## Protocol\n\n1. **If the user gave an explicit task:**\n   a. **Check for referential ambiguity.** If the instruction refers to project\n      state without naming it — e.g. \"siguiente card\", \"continuar\", \"la otra\",\n      \"avanzar\", \"apply\" without a change name, \"verificar\"\u002F\"archive\" without\n      context — treat the focus as unclear and go to step 2a to resolve the\n      reference from the memory capability before acting.\n   b. **If the task is unambiguous** (names a specific card, change, file, or\n      operation), use it as the session focus directly.\n\n2. **If the focus is unclear:**\n   a. **Query the memory capability first.** Get recent session history, then\n      search for: `next_focus`, active card\u002Fchange references, recent handoffs\n      or session-close entries, and project-scoped context from the last ~48 h.\n   b. **Read `AGENTS.md`** for runtime context: project id, integration branch,\n      configured MCPs\u002Fcapabilities, blockers, workflow rules, conflict policy.\n   c. **Consult the tracker capability** — when a tracker capability is\n      bound in the manifest, this is **mandatory** for new or ambiguous changes:\n      resolve\u002Fconfirm the active card before proceeding, and ensure a new\n      structured change has a linked card recorded in the `## Tracker` section of\n      its proposal.md (or tasks.md). When no tracker capability is bound,\n      cross-check only if memory is missing\u002Fstale. If the tracker is unavailable,\n      degrade (warn + continue) without blocking.\n   d. **Read the latest handoff from the canonical-store capability** when one is\n      configured and memory coverage is thin.\n\n3. **If sources converge**, proceed and state the focus briefly.\n4. **If sources diverge**, ask one concrete question that names the conflicting\n   sources (e.g. *\"memory says next card is #65, but the tracker shows #65 in\n   Backlog while #66 is in Ready. Which should I prioritize?\"*).\n5. **If a configured capability\u002FMCP is unavailable**, continue with available\n   sources and state the gap.\n\n## Referential Ambiguity Triggers\n\nTreat an explicit request as unclear focus when it contains (non-exhaustive):\n\n- **Continuation:** \"siguiente\", \"continuar\", \"la otra card\", \"avanzar\",\n  \"vamos con la siguiente\".\n- **Implicit operations:** \"apply\", \"verificar\", \"archive\" without naming the\n  target change.\n- **Vague references:** \"eso\", \"lo otro\", \"la que falta\", \"la pendiente\".\n- **Status-relative:** \"mover a Ready\", \"pasar a In Progress\" without naming the\n  card.\n\nWhen any trigger fires, **query the memory capability for `next_focus` before\nexecuting**. Do not infer the reference from tracker state without confirming\nagainst operational memory first.\n\n## Memory-First Rule\n\nWhen no explicit user request exists, **the memory capability is the first\nsource to consult**. Do not query the tracker, VCS, or canonical store for\nsession focus before checking operational memory. This avoids redundant calls\nand context bloat.\n\n## Output Shape\n\n```text\nFocus: \u003Ccard\u002Fchange\u002Frequest>\nEvidence: \u003C1-2 source references>\nNext: \u003Cfirst action>\n```\n\n## Rules\n\n- Do not assume the next card when no current user request exists.\n- Do not load extra skills before the session focus is known.\n- Scope memory searches by project when project-specific.\n- Treat the **tracker** as work-state truth, **SDD artifacts** as spec truth,\n  the **canonical store** as durable handoff\u002Fdecision truth, and **memory** as\n  operational context.\n- Prefer the current explicit user request over stale memory unless it conflicts\n  with a higher-authority project rule.\n- Stop after resolving focus; implementation planning belongs to the relevant\n  workflow skill.\n",{"name":5,"license":14,"metadata":43,"description":48},{"scope":33,"author":44,"version":45,"auto_invoke":46},"ai-specs","4.0",[47],"Starting a new session or conversation","Concise session bootstrap. Trigger: at the start of a new session when the active user request, card, or change is unclear. Resolves focus from the memory capability first, then the runtime brief, and only checks the tracker capability when gaps or contradictions remain.\n","main","c092fc1f51280350a4434827e2f6d6d99e3431ca","catalog\u002Frecipes\u002Fsession-context\u002Fskills\u002Fsession-bootstrap",2,"https:\u002F\u002Fgithub.com\u002Fparada1104\u002Fai-specs-cli","https:\u002F\u002Fgithub.com\u002Fparada1104","2026-11-14 03:51:03",{"source":8,"skillName":5,"commands":57,"prompt":67,"zipAvailable":68},[58,61,64],{"tool":59,"command":60},"npx","npx skills add parada1104\u002Fai-specs-cli --skill session-bootstrap",{"tool":62,"command":63},"bunx","bunx skills add parada1104\u002Fai-specs-cli --skill session-bootstrap",{"tool":65,"command":66},"pnpm","pnpm dlx skills add parada1104\u002Fai-specs-cli --skill session-bootstrap","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fparada1104\u002Fai-specs-cli\u002Fblob\u002Fmain\u002Fcatalog\u002Frecipes\u002Fsession-context\u002Fskills\u002Fsession-bootstrap\u002FSKILL.md",true,[],[71,93,107,116,125,138],{"skillNo":72,"name":73,"nameZh":6,"description":74,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":75,"categories":76,"keywords":85,"publishedAt":38},"01M71F2TF9TS9DNCJ68M7C3B5S","test-skill","Test skill for fixture purposes.","https:\u002F\u002Fgithub.com\u002Fparada1104\u002Fai-specs-cli\u002Fblob\u002Fmain\u002Ftests\u002Ffixtures\u002Frecipes\u002Ftest-fixture\u002Fskills\u002Ftest-skill\u002FSKILL.md",[77,82],{"categoryNo":78,"categoryName":79,"taxonomyType":80,"taxonomyTypeDesc":81},"01JBSEEDCAT000000000000008","测试与质量","SCENARIO","使用场景",{"categoryNo":83,"categoryName":84,"taxonomyType":80,"taxonomyTypeDesc":81},"01JBSEEDCAT000000000000023","Skill与智能体开发",[86,87,88,89,90,91,92],"Test Skill","test","for","root","fixtures","fixture","testing",{"skillNo":94,"name":95,"nameZh":6,"description":96,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":97,"categories":98,"keywords":102,"publishedAt":38},"01M71F2RTH94ZB7XEAW4P6ZG0D","obsidian-markdown","Fixture skill for obsidian-markdown.","https:\u002F\u002Fgithub.com\u002Fparada1104\u002Fai-specs-cli\u002Fblob\u002Fmain\u002Ftests\u002Ffixtures\u002Fkepano-obsidian-skills\u002Fskills\u002Fobsidian-markdown\u002FSKILL.md",[99],{"categoryNo":100,"categoryName":101,"taxonomyType":80,"taxonomyTypeDesc":81},"01JBSEEDCAT000000000000002","文档处理",[103,104,105,88,91,106],"markdown","obsidian markdown","obsidian","fixture skill",{"skillNo":108,"name":109,"nameZh":6,"description":110,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":111,"categories":112,"keywords":113,"publishedAt":38},"01M71F2R20CPTJXD9F7DP4JPP6","obsidian-cli","Fixture skill for obsidian-cli.","https:\u002F\u002Fgithub.com\u002Fparada1104\u002Fai-specs-cli\u002Fblob\u002Fmain\u002Ftests\u002Ffixtures\u002Fkepano-obsidian-skills\u002Fskills\u002Fobsidian-cli\u002FSKILL.md",[],[114,105,115,88,91,106],"obsidian cli","cli",{"skillNo":117,"name":118,"nameZh":6,"description":119,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":120,"categories":121,"keywords":122,"publishedAt":38},"01M71F2PCH4NWVTT1J57SHJX33","obsidian-bases","Fixture skill for obsidian-bases.","https:\u002F\u002Fgithub.com\u002Fparada1104\u002Fai-specs-cli\u002Fblob\u002Fmain\u002Ftests\u002Ffixtures\u002Fkepano-obsidian-skills\u002Fskills\u002Fobsidian-bases\u002FSKILL.md",[],[123,124,105,88,91,106],"bases","obsidian bases",{"skillNo":126,"name":127,"nameZh":6,"description":128,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":129,"categories":130,"keywords":134,"publishedAt":38},"01M71F2MSS6EVFEYVYAA1KBYCC","json-canvas","Fixture skill for json-canvas.","https:\u002F\u002Fgithub.com\u002Fparada1104\u002Fai-specs-cli\u002Fblob\u002Fmain\u002Ftests\u002Ffixtures\u002Fkepano-obsidian-skills\u002Fskills\u002Fjson-canvas\u002FSKILL.md",[131],{"categoryNo":132,"categoryName":133,"taxonomyType":80,"taxonomyTypeDesc":81},"01JBSEEDCAT000000000000015","视觉设计",[135,136,137,106,91,88],"json","json canvas","canvas",{"skillNo":139,"name":140,"nameZh":6,"description":141,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":142,"categories":143,"keywords":144,"publishedAt":38},"01M71F2KY5QVNEN1Q3REFB0MQZ","defuddle","Fixture skill for defuddle.","https:\u002F\u002Fgithub.com\u002Fparada1104\u002Fai-specs-cli\u002Fblob\u002Fmain\u002Ftests\u002Ffixtures\u002Fkepano-obsidian-skills\u002Fskills\u002Fdefuddle\u002FSKILL.md",[],[140,106,91,88]]