[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M71F1WN77MRQXMTKMDA35Q6Z":3,"skill-same:01M71F1WN77MRQXMTKMDA35Q6Z":71},{"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":50,"commitSha":51,"skillDirectory":52,"forksCount":53,"repositoryHtmlUrl":54,"repositoryHomepageUrl":6,"ownerHtmlUrl":55,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":56,"install":57,"resources":70},"01M71F1WN77MRQXMTKMDA35Q6Z","context-precedence",null,"Canonical MVP order for resolving conflicts between project context sources (docs, skills, packs, handoffs, session memory, proposed output). Trigger: when two instructions disagree or when deciding what overrides what.","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\u002Fcontext-precedence\u002FSKILL.md",[],[18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37],"context","context precedence","canonical","project context","mvp","instructions","session memory","overrides","order","conflicts","two","documentation","output","when","session","trigger","project","for","memory","sources","2026-11-10 10:12:30",false,"---\nname: context-precedence\ndescription: >\n  Canonical MVP order for resolving conflicts between project context sources\n  (docs, skills, packs, handoffs, session memory, proposed output). Trigger:\n  when two instructions disagree or when deciding what overrides what.\nlicense: MIT\nmetadata:\n  author: parada1104\n  version: \"1.0\"\n  scope: [root]\n  auto_invoke:\n    - \"Resolving conflicts between documentation, skills, memory, and proposed context\"\n---\n\n# Context Precedence\n\nThis skill is the canonical policy for resolving conflicts between project context sources. It is intentionally small: the MVP is an auditable decision rule for humans and agents, not an automated context router.\n\n## Canonical Rule\n\nWhen two context sources conflict, use this order:\n\n```text\ncanonical docs > project skills > packs > handoffs > session memory > proposed context\n```\n\nThis MVP is a decision policy, not a runtime merge engine.\n\n## Source Classes\n\n- **canonical docs**: versioned project documentation that defines durable product, architecture, process, or operating rules. Examples: `README.md`, bundled policy skills under `ai-specs\u002Fskills\u002F`, SDD\u002Fspec artifacts, and recorded project decisions.\n- **project skills**: project-local agent skills under `ai-specs\u002Fskills\u002F` that encode repeatable workflows or conventions for this repository.\n- **packs**: reusable imported or bundled context packages, including vendored skills, bundled commands, or future installable packs.\n- **handoffs**: structured summaries from prior sessions that describe current state, next steps, blockers, or recent decisions.\n- **session memory**: runtime memory observations captured during an active or prior agent session.\n- **proposed context**: new assumptions, interpretations, plans, or content generated by an agent before they are accepted into a higher-precedence source.\n\n## Adapting the stack\n\nThe order above is the default MVP. Some teams treat the **canonical-store** capability (e.g. a vault) as the highest-authority layer for decisions and history; if your project bound a canonical-store provider for that role, follow it when it explicitly defines durable rules—even when generic “canonical docs” in the repo are silent. Do not silently demote skills: resolve conflicts using the published order **plus** any project skill that defines an override.\n\n## Conflict Examples\n\n### Docs vs session memory\n\nIf this skill says generated files must not be hand-edited, but session memory says a previous agent edited `AGENTS.md` directly, follow this skill. Treat the memory as historical context, not as the current rule.\n\n### Project skills vs packs\n\nIf a project skill says new implementation work must start from `development` in a dedicated worktree, but a vendored pack suggests branching from `main`, follow the project skill. Project-local skills are closer to the repository's current operating rules.\n\n### Handoffs vs session memory\n\nIf a handoff says a change is paused before `apply`, but session memory contains an older note that implementation already started, follow the handoff unless a higher-precedence doc or skill says otherwise.\n\n### Proposed context vs existing sources\n\nIf an agent proposes adding `[precedence]` to `ai-specs\u002Fai-specs.toml`, but the Manifest V1 contract says new sections are out of scope, reject the proposal or turn it into a future OpenSpec change.\n\n## Audit Checklist\n\nWhen resolving a conflict:\n\n- Identify every source involved in the conflict.\n- Classify each source using the source classes above.\n- Pick the source with the highest precedence.\n- If the lower-precedence source is still useful, convert it into a proposed change instead of silently applying it.\n- Record any durable decision in the appropriate canonical location.\n\n## MVP Boundary\n\nThis rule MUST NOT require `[memory]`, `[precedence]`, `[packs]`, or any other new manifest section.\n\nThis rule MUST NOT claim that conflicts are resolved automatically by runtime code. Future Context Router work may automate or refine this policy, but this MVP remains documentation-first.\n","# Context Precedence\n\nThis skill is the canonical policy for resolving conflicts between project context sources. It is intentionally small: the MVP is an auditable decision rule for humans and agents, not an automated context router.\n\n## Canonical Rule\n\nWhen two context sources conflict, use this order:\n\n```text\ncanonical docs > project skills > packs > handoffs > session memory > proposed context\n```\n\nThis MVP is a decision policy, not a runtime merge engine.\n\n## Source Classes\n\n- **canonical docs**: versioned project documentation that defines durable product, architecture, process, or operating rules. Examples: `README.md`, bundled policy skills under `ai-specs\u002Fskills\u002F`, SDD\u002Fspec artifacts, and recorded project decisions.\n- **project skills**: project-local agent skills under `ai-specs\u002Fskills\u002F` that encode repeatable workflows or conventions for this repository.\n- **packs**: reusable imported or bundled context packages, including vendored skills, bundled commands, or future installable packs.\n- **handoffs**: structured summaries from prior sessions that describe current state, next steps, blockers, or recent decisions.\n- **session memory**: runtime memory observations captured during an active or prior agent session.\n- **proposed context**: new assumptions, interpretations, plans, or content generated by an agent before they are accepted into a higher-precedence source.\n\n## Adapting the stack\n\nThe order above is the default MVP. Some teams treat the **canonical-store** capability (e.g. a vault) as the highest-authority layer for decisions and history; if your project bound a canonical-store provider for that role, follow it when it explicitly defines durable rules—even when generic “canonical docs” in the repo are silent. Do not silently demote skills: resolve conflicts using the published order **plus** any project skill that defines an override.\n\n## Conflict Examples\n\n### Docs vs session memory\n\nIf this skill says generated files must not be hand-edited, but session memory says a previous agent edited `AGENTS.md` directly, follow this skill. Treat the memory as historical context, not as the current rule.\n\n### Project skills vs packs\n\nIf a project skill says new implementation work must start from `development` in a dedicated worktree, but a vendored pack suggests branching from `main`, follow the project skill. Project-local skills are closer to the repository's current operating rules.\n\n### Handoffs vs session memory\n\nIf a handoff says a change is paused before `apply`, but session memory contains an older note that implementation already started, follow the handoff unless a higher-precedence doc or skill says otherwise.\n\n### Proposed context vs existing sources\n\nIf an agent proposes adding `[precedence]` to `ai-specs\u002Fai-specs.toml`, but the Manifest V1 contract says new sections are out of scope, reject the proposal or turn it into a future OpenSpec change.\n\n## Audit Checklist\n\nWhen resolving a conflict:\n\n- Identify every source involved in the conflict.\n- Classify each source using the source classes above.\n- Pick the source with the highest precedence.\n- If the lower-precedence source is still useful, convert it into a proposed change instead of silently applying it.\n- Record any durable decision in the appropriate canonical location.\n\n## MVP Boundary\n\nThis rule MUST NOT require `[memory]`, `[precedence]`, `[packs]`, or any other new manifest section.\n\nThis rule MUST NOT claim that conflicts are resolved automatically by runtime code. Future Context Router work may automate or refine this policy, but this MVP remains documentation-first.\n",{"name":5,"license":14,"metadata":43,"description":49},{"scope":44,"author":9,"version":46,"auto_invoke":47},[45],"root","1.0",[48],"Resolving conflicts between documentation, skills, memory, and proposed context","Canonical MVP order for resolving conflicts between project context sources (docs, skills, packs, handoffs, session memory, proposed output). Trigger: when two instructions disagree or when deciding what overrides what.\n","main","c092fc1f51280350a4434827e2f6d6d99e3431ca","catalog\u002Frecipes\u002Fsession-context\u002Fskills\u002Fcontext-precedence",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":58,"prompt":68,"zipAvailable":69},[59,62,65],{"tool":60,"command":61},"npx","npx skills add parada1104\u002Fai-specs-cli --skill context-precedence",{"tool":63,"command":64},"bunx","bunx skills add parada1104\u002Fai-specs-cli --skill context-precedence",{"tool":66,"command":67},"pnpm","pnpm dlx skills add parada1104\u002Fai-specs-cli --skill context-precedence","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fparada1104\u002Fai-specs-cli\u002Fblob\u002Fmain\u002Fcatalog\u002Frecipes\u002Fsession-context\u002Fskills\u002Fcontext-precedence\u002FSKILL.md",true,[],[72,92,106,115,124,137],{"skillNo":73,"name":74,"nameZh":6,"description":75,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":76,"categories":77,"keywords":86,"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",[78,83],{"categoryNo":79,"categoryName":80,"taxonomyType":81,"taxonomyTypeDesc":82},"01JBSEEDCAT000000000000008","测试与质量","SCENARIO","使用场景",{"categoryNo":84,"categoryName":85,"taxonomyType":81,"taxonomyTypeDesc":82},"01JBSEEDCAT000000000000023","Skill与智能体开发",[87,88,35,45,89,90,91],"Test Skill","test","fixtures","fixture","testing",{"skillNo":93,"name":94,"nameZh":6,"description":95,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":96,"categories":97,"keywords":101,"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",[98],{"categoryNo":99,"categoryName":100,"taxonomyType":81,"taxonomyTypeDesc":82},"01JBSEEDCAT000000000000002","文档处理",[102,103,104,35,90,105],"markdown","obsidian markdown","obsidian","fixture skill",{"skillNo":107,"name":108,"nameZh":6,"description":109,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":110,"categories":111,"keywords":112,"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",[],[113,104,114,35,90,105],"obsidian cli","cli",{"skillNo":116,"name":117,"nameZh":6,"description":118,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":119,"categories":120,"keywords":121,"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",[],[122,123,104,35,90,105],"bases","obsidian bases",{"skillNo":125,"name":126,"nameZh":6,"description":127,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":128,"categories":129,"keywords":133,"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",[130],{"categoryNo":131,"categoryName":132,"taxonomyType":81,"taxonomyTypeDesc":82},"01JBSEEDCAT000000000000015","视觉设计",[134,135,136,105,90,35],"json","json canvas","canvas",{"skillNo":138,"name":139,"nameZh":6,"description":140,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":141,"categories":142,"keywords":143,"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",[],[139,105,90,35]]