[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M69ATF7EZ2CBCPFKQ99NZJEM":3,"skill-same:01M69ATF7EZ2CBCPFKQ99NZJEM":66},{"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":26,"linkOnly":27,"markdownContent":28,"markdownBody":29,"frontMatter":30,"refName":42,"commitSha":43,"skillDirectory":44,"forksCount":45,"repositoryHtmlUrl":46,"repositoryHomepageUrl":47,"ownerHtmlUrl":48,"ownerBlogUrl":49,"ownerDescription":50,"updatedAt":51,"install":52,"resources":65},"01M69ATF7EZ2CBCPFKQ99NZJEM","validation-diagnostics",null,"Validation and diagnostic skill for HASTE. Compare planned vs implemented work, generate diagnostic reports, and feed misses back into skill refinement. Use when: 'validate implementation', 'compare to spec', 'diagnostic report', 'drift analysis', 'coverage check', 'implementation review'.","microsoft\u002Fhaste","microsoft","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F6154722?v=4","01M698VYDXZ6JW5WH3CRV650R8","Microsoft","01M69ASXS77EYG722CCRAQWQTQ",110,"MIT","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fhaste\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Fvalidation-diagnostics\u002FSKILL.md",[],[19,20,21,22,23,24,25],"diagnostics","validation diagnostics","review","spec","security","to spec","validate","2026-11-10 10:12:30",false,"---\nname: validation-diagnostics\ndescription: \"Validation and diagnostic skill for HASTE. Compare planned vs implemented work, generate diagnostic reports, and feed misses back into skill refinement. Use when: 'validate implementation', 'compare to spec', 'diagnostic report', 'drift analysis', 'coverage check', 'implementation review'.\"\nsource: \"HASTE validation practices\"\ndomain: \"quality\"\nlevel: \"intermediate\"\nagents: [\"backend-validation\", \"ui-validation\", \"security-validation\", \"orchestrator\"]\ncreated_date: \"2026-04-27\"\nlast_validated: \"\"\nvalidated_by: \"\"\nstatus: \"draft\"\n---\n\n# Validation & Diagnostics\n\n## Overview\n\nStructured process for comparing planned vs implemented work, generating diagnostic reports, and identifying gaps. Used by validation agents to provide concrete, evidence-based assessments.\n\n## Key Concepts\n\n### The Trust Problem\nAgents will claim work is complete when it isn't. Validation must be:\n- **Observable** — Based on test output, not agent claims\n- **Deterministic** — Same input produces same verdict\n- **Evidence-based** — Every finding references concrete code or test results\n- **Structured** — Consistent format for easy human review\n\n## Patterns & Techniques\n\n### Planned vs Implemented Comparison\n\n**Step 1: Extract planned items**\nFrom the spec, issue, or plan, extract a checklist of:\n- Acceptance criteria\n- Required endpoints\u002Ffunctions\n- Expected model fields\n- Required test coverage\n- UI components specified\n\n**Step 2: Verify each item**\nFor each planned item, check:\n- Does the code exist? (file search, grep)\n- Does it match the specification? (read and compare)\n- Is it tested? (find corresponding test)\n- Does the test pass? (run and capture output)\n\n**Step 3: Generate drift report**\n```markdown\n## Drift Analysis: [Feature]\n\n| Planned Item | Status | Evidence |\n|-------------|--------|----------|\n| [spec item] | ✅ Implemented | [file:line] |\n| [spec item] | ⚠️ Partial | [what's missing] |\n| [spec item] | ❌ Not found | [searched in...] |\n| [unplanned] | ⚡ Scope creep | [file:line] |\n```\n\n### Diagnostic Report Template\n\n```markdown\n## Diagnostic Report: [Component\u002FFeature]\n\n### Summary\n[1-2 sentence verdict]\n\n### Test Results\n```\n[Actual test output — copy\u002Fpaste, not paraphrased]\n```\n\n### Code Quality\n| Metric | Result |\n|--------|--------|\n| Type hints present | ✅ \u002F ❌ |\n| Pydantic models used | ✅ \u002F ❌ |\n| Config class used (no hardcoded secrets) | ✅ \u002F ❌ |\n| Error handling present | ✅ \u002F ❌ |\n| Logger used (not print) | ✅ \u002F ❌ |\n\n### Findings\n| # | Severity | Finding | Location | Recommendation |\n|---|----------|---------|----------|----------------|\n| 1 | [High\u002FMed\u002FLow] | [what] | [file:line] | [fix] |\n\n### Coverage Gaps\n[Code paths without tests]\n\n### Verdict\n✅ PASS | ⚠️ CONDITIONAL PASS | ❌ FAIL\n[Explanation with evidence]\n```\n\n### HASTE-Specific Validation Checks\n\n| Component | Must Verify |\n|-----------|-------------|\n| New API endpoint | Auth level, Pydantic validation, error codes, CORS |\n| New processor | Config injection, logger usage, error handling |\n| New data model | Pydantic BaseModel, field types, validation rules |\n| New data layer | Abstract interface compliance, connection handling |\n| New UI component | FluentUI usage, no alt frameworks, responsive |\n| Geospatial code | CRS preservation, COG compliance, GDAL\u002Frasterio usage |\n\n### Feedback Loop\nWhen validation reveals a miss:\n1. Document the miss in the diagnostic report\n2. Identify the pattern (was it a convention violation? missing test? spec ambiguity?)\n3. Propose a skill update or instruction addition to prevent recurrence\n4. Flag to the Orchestrator for tracking\n\n## Decision Framework\n\n| Validation Result | Action |\n|-------------------|--------|\n| All checks pass, tests green | ✅ Approve |\n| Minor issues, tests pass | ⚠️ Conditional — list issues for human review |\n| Tests fail | ❌ Block — must fix before proceeding |\n| Scope creep detected | ⚠️ Flag — human decides if extra work is acceptable |\n| Spec ambiguity found | ⚠️ Flag — needs clarification before validation |\n\n## Common Pitfalls\n\n- **Accepting \"tests passed\" without seeing output** — Always run and capture\n- **Validating only happy path** — Check error handling and edge cases\n- **Skipping convention checks** — HASTE has specific patterns that must be followed\n- **Not checking for scope creep** — Extra changes can introduce regressions\n","# Validation & Diagnostics\n\n## Overview\n\nStructured process for comparing planned vs implemented work, generating diagnostic reports, and identifying gaps. Used by validation agents to provide concrete, evidence-based assessments.\n\n## Key Concepts\n\n### The Trust Problem\nAgents will claim work is complete when it isn't. Validation must be:\n- **Observable** — Based on test output, not agent claims\n- **Deterministic** — Same input produces same verdict\n- **Evidence-based** — Every finding references concrete code or test results\n- **Structured** — Consistent format for easy human review\n\n## Patterns & Techniques\n\n### Planned vs Implemented Comparison\n\n**Step 1: Extract planned items**\nFrom the spec, issue, or plan, extract a checklist of:\n- Acceptance criteria\n- Required endpoints\u002Ffunctions\n- Expected model fields\n- Required test coverage\n- UI components specified\n\n**Step 2: Verify each item**\nFor each planned item, check:\n- Does the code exist? (file search, grep)\n- Does it match the specification? (read and compare)\n- Is it tested? (find corresponding test)\n- Does the test pass? (run and capture output)\n\n**Step 3: Generate drift report**\n```markdown\n## Drift Analysis: [Feature]\n\n| Planned Item | Status | Evidence |\n|-------------|--------|----------|\n| [spec item] | ✅ Implemented | [file:line] |\n| [spec item] | ⚠️ Partial | [what's missing] |\n| [spec item] | ❌ Not found | [searched in...] |\n| [unplanned] | ⚡ Scope creep | [file:line] |\n```\n\n### Diagnostic Report Template\n\n```markdown\n## Diagnostic Report: [Component\u002FFeature]\n\n### Summary\n[1-2 sentence verdict]\n\n### Test Results\n```\n[Actual test output — copy\u002Fpaste, not paraphrased]\n```\n\n### Code Quality\n| Metric | Result |\n|--------|--------|\n| Type hints present | ✅ \u002F ❌ |\n| Pydantic models used | ✅ \u002F ❌ |\n| Config class used (no hardcoded secrets) | ✅ \u002F ❌ |\n| Error handling present | ✅ \u002F ❌ |\n| Logger used (not print) | ✅ \u002F ❌ |\n\n### Findings\n| # | Severity | Finding | Location | Recommendation |\n|---|----------|---------|----------|----------------|\n| 1 | [High\u002FMed\u002FLow] | [what] | [file:line] | [fix] |\n\n### Coverage Gaps\n[Code paths without tests]\n\n### Verdict\n✅ PASS | ⚠️ CONDITIONAL PASS | ❌ FAIL\n[Explanation with evidence]\n```\n\n### HASTE-Specific Validation Checks\n\n| Component | Must Verify |\n|-----------|-------------|\n| New API endpoint | Auth level, Pydantic validation, error codes, CORS |\n| New processor | Config injection, logger usage, error handling |\n| New data model | Pydantic BaseModel, field types, validation rules |\n| New data layer | Abstract interface compliance, connection handling |\n| New UI component | FluentUI usage, no alt frameworks, responsive |\n| Geospatial code | CRS preservation, COG compliance, GDAL\u002Frasterio usage |\n\n### Feedback Loop\nWhen validation reveals a miss:\n1. Document the miss in the diagnostic report\n2. Identify the pattern (was it a convention violation? missing test? spec ambiguity?)\n3. Propose a skill update or instruction addition to prevent recurrence\n4. Flag to the Orchestrator for tracking\n\n## Decision Framework\n\n| Validation Result | Action |\n|-------------------|--------|\n| All checks pass, tests green | ✅ Approve |\n| Minor issues, tests pass | ⚠️ Conditional — list issues for human review |\n| Tests fail | ❌ Block — must fix before proceeding |\n| Scope creep detected | ⚠️ Flag — human decides if extra work is acceptable |\n| Spec ambiguity found | ⚠️ Flag — needs clarification before validation |\n\n## Common Pitfalls\n\n- **Accepting \"tests passed\" without seeing output** — Always run and capture\n- **Validating only happy path** — Check error handling and edge cases\n- **Skipping convention checks** — HASTE has specific patterns that must be followed\n- **Not checking for scope creep** — Extra changes can introduce regressions\n",{"name":5,"level":31,"agents":32,"domain":37,"source":38,"status":39,"description":7,"created_date":40,"validated_by":41,"last_validated":41},"intermediate",[33,34,35,36],"backend-validation","ui-validation","security-validation","orchestrator","quality","HASTE validation practices","draft","2026-04-27","","main","20513f6bc8d842697a2192d068aa48ef3c22c957",".github\u002Fskills\u002Fvalidation-diagnostics",19,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fhaste","https:\u002F\u002Fmicrosoft.github.io\u002Fhaste\u002F","https:\u002F\u002Fgithub.com\u002Fmicrosoft","https:\u002F\u002Fopensource.microsoft.com","Open source projects and samples from Microsoft","2026-11-13 02:48:54",{"source":8,"skillName":5,"commands":53,"prompt":63,"zipAvailable":64},[54,57,60],{"tool":55,"command":56},"npx","npx skills add microsoft\u002Fhaste --skill validation-diagnostics",{"tool":58,"command":59},"bunx","bunx skills add microsoft\u002Fhaste --skill validation-diagnostics",{"tool":61,"command":62},"pnpm","pnpm dlx skills add microsoft\u002Fhaste --skill validation-diagnostics","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fhaste\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Fvalidation-diagnostics\u002FSKILL.md",true,[],[67,77,89,97,106,114],{"skillNo":68,"name":69,"nameZh":6,"description":70,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":71,"categories":72,"keywords":73,"publishedAt":26},"01M69ATDJ0SQ0RMHK9148MKYHB","security-analysis","Dependabot and security analysis skill for HASTE. Parse alerts, group related vulnerabilities, apply severity rules, and produce structured reports. Use when: 'Dependabot alert', 'security scan', 'vulnerability triage', 'dependency audit', 'npm audit', 'pip audit', 'CVE analysis'.","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fhaste\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Fsecurity-analysis\u002FSKILL.md",[],[74,23,75,76],"security analysis","triage","vulnerabilities",{"skillNo":78,"name":79,"nameZh":6,"description":80,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":81,"categories":82,"keywords":83,"publishedAt":26},"01M69ATBBN86366SYW86NM19PT","release-notes","Generate release notes from commit history. Use when asked to draft release notes, create a changelog, or summarize changes for a release.","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fhaste\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Frelease-notes\u002FSKILL.md",[],[84,85,86,87,88],"release notes","notes","documentation","commit","summarize",{"skillNo":90,"name":91,"nameZh":6,"description":92,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":93,"categories":94,"keywords":95,"publishedAt":26},"01M69AT9PND3YVN90VZFP0PW2W","imagery-provider-adaptation","Imagery provider adaptation skill for HASTE. Encapsulates provider-specific logic for satellite imagery sources (Planet, Vantor, Airbus, etc.). Use when: 'new imagery provider', 'add source type', 'satellite provider', 'Planet', 'Vantor', 'Airbus', 'Pleiades', 'WorldView', 'SkySat', 'imagery ingestion', 'provider adapter'.","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fhaste\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Fimagery-provider-adaptation\u002FSKILL.md",[],[96,86],"imagery provider adaptation",{"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":26},"01M69AT83XYH0W0A22KJNQSZG3","deterministic-scripts","Deterministic script execution skill for HASTE. Execute scripts instead of free-form LLM behavior for consistent, repeatable operations. Use when: 'run preprocessing', 'convert format', 'parse metadata', 'generate tiles', 'build wheel', 'deploy functions'. Prevents hallucinated scripts.","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fhaste\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Fdeterministic-scripts\u002FSKILL.md",[],[104,105],"deterministic scripts","deploy",{"skillNo":107,"name":108,"nameZh":6,"description":109,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":110,"categories":111,"keywords":112,"publishedAt":26},"01M69AT6GZFSRAHX1169T5FZNZ","dependency-update","Guide for safely updating project dependencies. Use when asked to update packages, upgrade dependencies, or check for outdated libraries.","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fhaste\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Fdependency-update\u002FSKILL.md",[],[113,23],"dependency update",{"skillNo":115,"name":116,"nameZh":6,"description":117,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":118,"categories":119,"keywords":130,"publishedAt":26},"01M69AT4D27D87HZXBQ4P7VXKK","debug-test-failures","Systematic debugging workflow for test failures. Use when tests are failing, a CI build is red, or when asked to debug test issues.","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fhaste\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Fdebug-test-failures\u002FSKILL.md",[120,125],{"categoryNo":121,"categoryName":122,"taxonomyType":123,"taxonomyTypeDesc":124},"01JBSEEDCAT000000000000008","测试与质量","SCENARIO","使用场景",{"categoryNo":126,"categoryName":127,"taxonomyType":128,"taxonomyTypeDesc":129},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",[131,132,133,134,135,136,137],"test","debug","debug test","debug test failures","testing","systematic debugging","workflow"]