[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6N85TFGP2TVHSTANHC0KM0T":3,"skill-same:01M6N85TFGP2TVHSTANHC0KM0T":64},{"skillNo":4,"name":5,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":15,"categories":16,"keywords":17,"publishedAt":24,"linkOnly":25,"markdownContent":26,"markdownBody":27,"frontMatter":28,"refName":29,"commitSha":30,"skillDirectory":31,"forksCount":32,"repositoryHtmlUrl":33,"repositoryHomepageUrl":6,"ownerHtmlUrl":34,"ownerBlogUrl":35,"ownerDescription":36,"updatedAt":37,"install":38,"resources":51},"01M6N85TFGP2TVHSTANHC0KM0T","mh-cto-sdlc-sprint-plan",null,"Imad-Oute\u002FMicroHard","Imad-Oute","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F139675528?v=4","01M6N68WHDQ53HQJQ5Y84AGMWX","imad outemgount","01M6N68WP1YPV15H5RTGQHM02G",2,"MIT","https:\u002F\u002Fgithub.com\u002FImad-Oute\u002FMicroHard\u002Fblob\u002Fmain\u002Fsrc\u002Fdepartments\u002Fcto\u002Fsdlc\u002Fphase-6-implementation\u002Fmh-cto-sdlc-sprint-plan\u002FSKILL.md",[],[18,19,20,21,22,23],"plan","sdlc","sprint plan","sprint","cto","mh cto sdlc sprint plan","2026-11-10 10:12:30",false,"---\nname: mh-cto-sdlc-sprint-plan\ndescription: Sprint Planning — reads Phase 2 epic and story files and builds the sprint-status.yaml tracking file. Breaks epics into development-ready increments ordered by dependency and risk. Run once at the start of implementation. Trigger phrases: \"sprint plan\", \"start implementation\", \"plan the sprint\", \"begin phase 6\", \"breakdown epics\", \"create sprint\", \"implementation plan\".\nmetadata:\n  author: MicroHard\n  version: 1.0.0\n  phase: 6-implementation\n  module: cto-sdlc\n---\n\n# Sprint Planning\n\n**Mode: synthesize-first (D34).** Read the Phase 2 epic files and Phase 5 testing mandate. Derive the work breakdown and sequencing. Ask only where ordering priorities require a business decision not resolvable from the artifacts.\n\n**Elite character:** A sprint plan that just lists all stories in creation order is not a plan — it is a transcript. Elite sprint planning sequences work by dependency, surfaces risk early, and produces a day-one-dev-ready state file that any engineer can pick up and begin from without a kickoff meeting.\n\n## Step 1 — Load Artifacts\n\nConfirm present:\n\n- Epic map (`epic-map.md`) ✓ \u002F ✗ — REQUIRED\n- Acceptance criteria (`ac-*.md`) ✓ \u002F ✗ — REQUIRED\n- Phase 5 gate verdict (`phase5-gate-verdict.md`) ✓ \u002F ✗\n- Phase 6 testing mandate (embedded in phase5-gate-verdict.md) ✓ \u002F ✗\n- Constraint inventory (`constraint-inventory.md`) ✓ \u002F ✗\n\nMissing epic-map.md or acceptance criteria: \"Cannot build sprint plan without Phase 2 outputs. Ensure epic-map.md and ac-\\*.md exist.\"\n\n## Step 2 — Read and Inventory Epics\n\nFrom the epic map, build a complete inventory of all epics and their stories:\n\nFor each epic:\n\n- **Epic ID and name**\n- **Phase 2 acceptance criteria it delivers** (link to ac-\\*.md)\n- **Story count** and rough size (if story-spec.md exists)\n- **Dependencies** (does this epic depend on another epic's outputs being in place?)\n- **Risk class:** High \u002F Medium \u002F Low (based on tech complexity, external dependencies, unknown territory)\n\n## Step 3 — Sequence Epics and Stories\n\nApply sequencing rules:\n\n**Rule 1 — Dependency order:** If Epic B requires Epic A's schema or API to exist, A must ship first. Map explicit data and API dependencies between epics.\n\n**Rule 2 — Risk-early:** High-risk epics go first. Risk discovered in sprint 1 costs less than risk discovered in sprint 5. If a story contains novel technology or an integration not previously spiked, it goes early.\n\n**Rule 3 — Vertical slices (D23):** Every story must be a complete end-to-end path through all layers. Stories that are one layer only (e.g., \"add database schema\") violate D23 and must be flagged as badly formed. Do not sequence them — flag them for revision before create-story runs.\n\n**Rule 4 — Foundation first within an epic:** Within an epic, the story that establishes the foundational entity (the database schema + API + minimal UI) goes first. Subsequent stories extend it.\n\nProduce a sequenced list:\n\n```\nSprint 1:\n  - [Story ID] {story name} — Epic: {epic} — Risk: {H\u002FM\u002FL} — Rationale: {why this order}\n  - [Story ID] ...\n\nSprint 2:\n  - ...\n```\n\nSprints are advisory groupings, not commitments. The state machine is story-by-story. Sprint boundaries are a planning heuristic.\n\n## Step 4 — Flag D22\u002FD23 Violations Before Writing State\n\nBefore writing the state file, flag any stories that violate the AGENT-BRIEF durability rules:\n\n**D22 violations** (file paths or line numbers referenced in story text):\n\n- Flag: \"Story '{name}' in epic-map.md references a file path. This will rot within days of a refactor. Rephrase to reference the interface or module name instead.\"\n\n**D23 violations** (horizontal slice — story covers only one layer):\n\n- Flag: \"Story '{name}' is a {schema-only \u002F API-only \u002F UI-only} slice. Every story must be end-to-end, independently demoable. Revise before this story enters the backlog.\"\n\nFlagged stories are excluded from the state file until revised. Do not silently include them.\n\n## Step 5 — Write sprint-status.yaml\n\nSave to `_mh-output\u002Fcto\u002Fsdlc\u002Fsprint-status.yaml`:\n\n```yaml\n# Generated by mh-cto-sdlc-sprint-plan\n# Last updated: {YYYY-MM-DD}\n# Project: {project name from mh-project-context.md}\n\nproject: '{project name}'\nphase: 6\ngenerated_at: '{YYYY-MM-DD}'\n\nepics:\n  - id: '{epic-id}'\n    name: '{epic name}'\n    status: backlog # backlog | in-progress | done\n    acceptance_criteria: ['{ac-id}', '{ac-id}']\n    stories:\n      - id: '{story-id}' # e.g., feat-auth-login-001\n        name: '{story name}'\n        epic: '{epic-id}'\n        status: backlog # backlog | ready-for-dev | in-progress | review | done\n        risk: high # high | medium | low\n        sprint: 1 # advisory\n        notes: '' # used by story-kickoff for session_state or flags\n      - id: '{story-id}'\n        name: '{story name}'\n        epic: '{epic-id}'\n        status: backlog\n        risk: medium\n        sprint: 1\n        notes: ''\n```\n\n**Status machine:**\n\n- Epics: `backlog` → `in-progress` → `done`\n- Stories: `backlog` → `ready-for-dev` → `in-progress` → `review` → `done`\n\nAll stories start at `backlog`. `create-story` advances the first `backlog` story to `ready-for-dev`.\n\n## Step 6 — Write Output\n\nSave to `_mh-output\u002Fcto\u002Fsdlc\u002Fsprint-plan\u002F{YYYY-MM-DD}_{r###}_sprint-plan.md`:\n\n```markdown\n# Sprint Plan\n\n**Project:** {name}\n**Date:** {date}\n**Phase 5 Testing Mandate:** Carried forward (see phase5-gate-verdict.md)\n\n---\n\n## Epic Inventory\n\n{Table: Epic ID | Name | Stories | Risk | Dependencies}\n\n## Sequencing Rationale\n\n{Explanation of why the sequence was chosen — top 3-5 decisions}\n\n## Sprint Breakdown (advisory)\n\n{Sprint-by-sprint story list with risk labels}\n\n## D22\u002FD23 Violations Flagged\n\n{List of stories requiring revision before entering backlog — or \"None\"}\n\n## Sprint-status.yaml Location\n\n`_mh-output\u002Fcto\u002Fsdlc\u002Fsprint-status.yaml`\n```\n\n## Step 7 — Present Summary\n\n**Sprint Plan complete.**\n\n**Epics:** {N} epics, {N} total stories across {N} advisory sprints.\n\n**Flags:** {N} D22\u002FD23 violations requiring story revision before dev begins.\n\n**High-risk stories (scheduled early):** {list}\n\n**Next step:** Run `\u002Fmh-cto-sdlc-create-story` to create the first development-ready story.\n","# Sprint Planning\n\n**Mode: synthesize-first (D34).** Read the Phase 2 epic files and Phase 5 testing mandate. Derive the work breakdown and sequencing. Ask only where ordering priorities require a business decision not resolvable from the artifacts.\n\n**Elite character:** A sprint plan that just lists all stories in creation order is not a plan — it is a transcript. Elite sprint planning sequences work by dependency, surfaces risk early, and produces a day-one-dev-ready state file that any engineer can pick up and begin from without a kickoff meeting.\n\n## Step 1 — Load Artifacts\n\nConfirm present:\n\n- Epic map (`epic-map.md`) ✓ \u002F ✗ — REQUIRED\n- Acceptance criteria (`ac-*.md`) ✓ \u002F ✗ — REQUIRED\n- Phase 5 gate verdict (`phase5-gate-verdict.md`) ✓ \u002F ✗\n- Phase 6 testing mandate (embedded in phase5-gate-verdict.md) ✓ \u002F ✗\n- Constraint inventory (`constraint-inventory.md`) ✓ \u002F ✗\n\nMissing epic-map.md or acceptance criteria: \"Cannot build sprint plan without Phase 2 outputs. Ensure epic-map.md and ac-\\*.md exist.\"\n\n## Step 2 — Read and Inventory Epics\n\nFrom the epic map, build a complete inventory of all epics and their stories:\n\nFor each epic:\n\n- **Epic ID and name**\n- **Phase 2 acceptance criteria it delivers** (link to ac-\\*.md)\n- **Story count** and rough size (if story-spec.md exists)\n- **Dependencies** (does this epic depend on another epic's outputs being in place?)\n- **Risk class:** High \u002F Medium \u002F Low (based on tech complexity, external dependencies, unknown territory)\n\n## Step 3 — Sequence Epics and Stories\n\nApply sequencing rules:\n\n**Rule 1 — Dependency order:** If Epic B requires Epic A's schema or API to exist, A must ship first. Map explicit data and API dependencies between epics.\n\n**Rule 2 — Risk-early:** High-risk epics go first. Risk discovered in sprint 1 costs less than risk discovered in sprint 5. If a story contains novel technology or an integration not previously spiked, it goes early.\n\n**Rule 3 — Vertical slices (D23):** Every story must be a complete end-to-end path through all layers. Stories that are one layer only (e.g., \"add database schema\") violate D23 and must be flagged as badly formed. Do not sequence them — flag them for revision before create-story runs.\n\n**Rule 4 — Foundation first within an epic:** Within an epic, the story that establishes the foundational entity (the database schema + API + minimal UI) goes first. Subsequent stories extend it.\n\nProduce a sequenced list:\n\n```\nSprint 1:\n  - [Story ID] {story name} — Epic: {epic} — Risk: {H\u002FM\u002FL} — Rationale: {why this order}\n  - [Story ID] ...\n\nSprint 2:\n  - ...\n```\n\nSprints are advisory groupings, not commitments. The state machine is story-by-story. Sprint boundaries are a planning heuristic.\n\n## Step 4 — Flag D22\u002FD23 Violations Before Writing State\n\nBefore writing the state file, flag any stories that violate the AGENT-BRIEF durability rules:\n\n**D22 violations** (file paths or line numbers referenced in story text):\n\n- Flag: \"Story '{name}' in epic-map.md references a file path. This will rot within days of a refactor. Rephrase to reference the interface or module name instead.\"\n\n**D23 violations** (horizontal slice — story covers only one layer):\n\n- Flag: \"Story '{name}' is a {schema-only \u002F API-only \u002F UI-only} slice. Every story must be end-to-end, independently demoable. Revise before this story enters the backlog.\"\n\nFlagged stories are excluded from the state file until revised. Do not silently include them.\n\n## Step 5 — Write sprint-status.yaml\n\nSave to `_mh-output\u002Fcto\u002Fsdlc\u002Fsprint-status.yaml`:\n\n```yaml\n# Generated by mh-cto-sdlc-sprint-plan\n# Last updated: {YYYY-MM-DD}\n# Project: {project name from mh-project-context.md}\n\nproject: '{project name}'\nphase: 6\ngenerated_at: '{YYYY-MM-DD}'\n\nepics:\n  - id: '{epic-id}'\n    name: '{epic name}'\n    status: backlog # backlog | in-progress | done\n    acceptance_criteria: ['{ac-id}', '{ac-id}']\n    stories:\n      - id: '{story-id}' # e.g., feat-auth-login-001\n        name: '{story name}'\n        epic: '{epic-id}'\n        status: backlog # backlog | ready-for-dev | in-progress | review | done\n        risk: high # high | medium | low\n        sprint: 1 # advisory\n        notes: '' # used by story-kickoff for session_state or flags\n      - id: '{story-id}'\n        name: '{story name}'\n        epic: '{epic-id}'\n        status: backlog\n        risk: medium\n        sprint: 1\n        notes: ''\n```\n\n**Status machine:**\n\n- Epics: `backlog` → `in-progress` → `done`\n- Stories: `backlog` → `ready-for-dev` → `in-progress` → `review` → `done`\n\nAll stories start at `backlog`. `create-story` advances the first `backlog` story to `ready-for-dev`.\n\n## Step 6 — Write Output\n\nSave to `_mh-output\u002Fcto\u002Fsdlc\u002Fsprint-plan\u002F{YYYY-MM-DD}_{r###}_sprint-plan.md`:\n\n```markdown\n# Sprint Plan\n\n**Project:** {name}\n**Date:** {date}\n**Phase 5 Testing Mandate:** Carried forward (see phase5-gate-verdict.md)\n\n---\n\n## Epic Inventory\n\n{Table: Epic ID | Name | Stories | Risk | Dependencies}\n\n## Sequencing Rationale\n\n{Explanation of why the sequence was chosen — top 3-5 decisions}\n\n## Sprint Breakdown (advisory)\n\n{Sprint-by-sprint story list with risk labels}\n\n## D22\u002FD23 Violations Flagged\n\n{List of stories requiring revision before entering backlog — or \"None\"}\n\n## Sprint-status.yaml Location\n\n`_mh-output\u002Fcto\u002Fsdlc\u002Fsprint-status.yaml`\n```\n\n## Step 7 — Present Summary\n\n**Sprint Plan complete.**\n\n**Epics:** {N} epics, {N} total stories across {N} advisory sprints.\n\n**Flags:** {N} D22\u002FD23 violations requiring story revision before dev begins.\n\n**High-risk stories (scheduled early):** {list}\n\n**Next step:** Run `\u002Fmh-cto-sdlc-create-story` to create the first development-ready story.\n",{},"main","2ec3bbf5ba353f3fdd2c6d842b791fd75d08a635","src\u002Fdepartments\u002Fcto\u002Fsdlc\u002Fphase-6-implementation\u002Fmh-cto-sdlc-sprint-plan",0,"https:\u002F\u002Fgithub.com\u002FImad-Oute\u002FMicroHard","https:\u002F\u002Fgithub.com\u002FImad-Oute","https:\u002F\u002Fimad369.vercel.app\u002F","I'm just starting my Journey.","2026-05-13 03:02:22",{"source":7,"skillName":5,"commands":39,"prompt":49,"zipAvailable":50},[40,43,46],{"tool":41,"command":42},"npx","npx skills add Imad-Oute\u002FMicroHard --skill mh-cto-sdlc-sprint-plan",{"tool":44,"command":45},"bunx","bunx skills add Imad-Oute\u002FMicroHard --skill mh-cto-sdlc-sprint-plan",{"tool":47,"command":48},"pnpm","pnpm dlx skills add Imad-Oute\u002FMicroHard --skill mh-cto-sdlc-sprint-plan","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FImad-Oute\u002FMicroHard\u002Fblob\u002Fmain\u002Fsrc\u002Fdepartments\u002Fcto\u002Fsdlc\u002Fphase-6-implementation\u002Fmh-cto-sdlc-sprint-plan\u002FSKILL.md",true,[52,58],{"path":53,"resourceType":54,"resourceTypeDesc":55,"sizeBytes":56,"sourceHtmlUrl":57},"customize.toml","OTHER","其他",699,"https:\u002F\u002Fgithub.com\u002FImad-Oute\u002FMicroHard\u002Fblob\u002Fmain\u002Fsrc\u002Fdepartments\u002Fcto\u002Fsdlc\u002Fphase-6-implementation\u002Fmh-cto-sdlc-sprint-plan\u002Fcustomize.toml",{"path":59,"resourceType":60,"resourceTypeDesc":61,"sizeBytes":62,"sourceHtmlUrl":63},"mh-skill-manifest.yaml","REFERENCE","参考文档",506,"https:\u002F\u002Fgithub.com\u002FImad-Oute\u002FMicroHard\u002Fblob\u002Fmain\u002Fsrc\u002Fdepartments\u002Fcto\u002Fsdlc\u002Fphase-6-implementation\u002Fmh-cto-sdlc-sprint-plan\u002Fmh-skill-manifest.yaml",[65,92,109,123,140,157],{"skillNo":66,"name":67,"nameZh":6,"description":68,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":69,"categories":70,"keywords":71,"publishedAt":24},"01M6N8JYRPSHVW4Y76X5SAGRDX","mh-vo-vault-brief","Weekly vault intelligence report — health score, pipeline status, OS alignment, and top issues. Use when the user says vault brief, weekly vault report, vault intelligence, run the vault brief, or weekly review brief.","https:\u002F\u002Fgithub.com\u002FImad-Oute\u002FMicroHard\u002Fblob\u002Fmain\u002Fsrc\u002Fmodules\u002Fvo\u002F5-report\u002Fmh-vo-vault-brief\u002FSKILL.md",[],[72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91],"mh vo vault brief","brief","vault","intelligence report","top","weekly","os","pipeline","health","issues","report","run","status","review","weekly review","user","use","pipeline status","alignment","intelligence",{"skillNo":93,"name":94,"nameZh":6,"description":95,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":96,"categories":97,"keywords":98,"publishedAt":24},"01M6N8JCK7E7Y19940RBB51R96","mh-vo-output-bridge","Scan _mh-output\u002F for new artifacts and create or update corresponding vault entries. Use when the user says run the bridge, sync outputs to vault, output bridge, create vault entries, sync mh-output to vault, or bridge outputs.","https:\u002F\u002Fgithub.com\u002FImad-Oute\u002FMicroHard\u002Fblob\u002Fmain\u002Fsrc\u002Fmodules\u002Fvo\u002F4-bridge\u002Fmh-vo-output-bridge\u002FSKILL.md",[],[99,100,101,74,102,103,83,104,105,106,87,107,108,88],"bridge","output","mh vo output bridge","artifacts","update","create","sync","for","entries","scan",{"skillNo":110,"name":111,"nameZh":6,"description":112,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":113,"categories":114,"keywords":115,"publishedAt":24},"01M6N8HXW3ENQ939C93R59W371","mh-vo-moc-builder","Create or update Maps of Content for vault sections and ensure every note is reachable from a MOC. Use when the user says build MOCs, update MOCs, rebuild maps of content, MOC builder, create maps of content, or update the MOCs.","https:\u002F\u002Fgithub.com\u002FImad-Oute\u002FMicroHard\u002Fblob\u002Fmain\u002Fsrc\u002Fmodules\u002Fvo\u002F3-connect\u002Fmh-vo-moc-builder\u002FSKILL.md",[],[116,117,106,118,119,120,121,104,88,74,122,103,87],"builder","mh vo moc builder","note","build","rebuild","maps","content",{"skillNo":124,"name":125,"nameZh":6,"description":126,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":127,"categories":128,"keywords":129,"publishedAt":24},"01M6N8HHZ30706B2ZS33X3MR42","mh-vo-link-architect","Identify missing vault connections and generate precise link recommendations. Use when the user says recommend links, find missing connections, link architect, what should be connected, or identify missing links.","https:\u002F\u002Fgithub.com\u002FImad-Oute\u002FMicroHard\u002Fblob\u002Fmain\u002Fsrc\u002Fmodules\u002Fvo\u002F3-connect\u002Fmh-vo-link-architect\u002FSKILL.md",[],[130,131,132,87,133,134,135,136,137,88,138,74,139],"mh vo link architect","link","architect","recommend","links","missing","recommendations","connections","find","generate",{"skillNo":141,"name":142,"nameZh":6,"description":143,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":144,"categories":145,"keywords":146,"publishedAt":24},"01M6N8H6FKWGTNFWS5PTPPTEN0","mh-vo-base-builder","Generate Obsidian Bases (.base files) for live database views of vault data. Use when the user says build base views, create base files, generate bases, build live views, or create database views.","https:\u002F\u002Fgithub.com\u002FImad-Oute\u002FMicroHard\u002Fblob\u002Fmain\u002Fsrc\u002Fmodules\u002Fvo\u002F3-connect\u002Fmh-vo-base-builder\u002FSKILL.md",[],[147,148,149,116,74,150,151,152,139,104,153,87,106,154,119,155,156,88],"mh vo base builder","base builder","base","obsidian bases","data","database","obsidian","live","files","bases",{"skillNo":158,"name":159,"nameZh":6,"description":160,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":161,"categories":162,"keywords":163,"publishedAt":24},"01M6N8GSRETQW3B9C843F1S1CP","mh-vo-taxonomy-enforcer","Audit vault tags and frontmatter, find drift, and apply corrections. Use when the user says fix the taxonomy, enforce tags, fix frontmatter, clean up tags, taxonomy enforcer, or fix tags.","https:\u002F\u002Fgithub.com\u002FImad-Oute\u002FMicroHard\u002Fblob\u002Fmain\u002Fsrc\u002Fmodules\u002Fvo\u002F2-route\u002Fmh-vo-taxonomy-enforcer\u002FSKILL.md",[],[164,165,166,167,168,169,170,171,172,173,88,174,87,138,74,175],"mh vo taxonomy enforcer","taxonomy","enforce","apply","frontmatter","tags","drift","clean","vault tags","up","fix","audit"]