[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-55b42aba-7894-4b3b-986a-3c1fd4e07a21":3,"$fuZFHf9TfYYUe2Y4hzmZgJSiem7z7qo51Lv8HBafH7gw":43},{"id":4,"title":5,"description":6,"categoryId":7,"moduleId":8,"tags":9,"prompt":10,"icon":11,"source":12,"sourceUrl":13,"authorId":14,"authorName":15,"isPublic":16,"stars":17,"runs":18,"createdAt":19,"updatedAt":19,"module":20,"category":27,"packages":34},"55b42aba-7894-4b3b-986a-3c1fd4e07a21","closed-loop-delivery","在编码任务必须根据明确的验收标准完成，且在整个实施、审查反馈、部署和运行验证过程中用户重新干预最小化的情况下使用。","cat_life_career","mod_other","sickn33,other","---\nname: closed-loop-delivery\ndescription: Use when a coding task must be completed against explicit acceptance criteria with minimal user re-intervention across implementation, review feedback, deployment, and runtime verification.\nrisk: safe\nsource: community\ndate_added: \"2026-03-12\"\n---\n\n# Closed-Loop Delivery\n\n## Overview\n\nTreat each task as incomplete until acceptance criteria are verified in evidence, not until code is merely changed.\n\nCore rule: **deliver against DoD (Definition of Done), not against code diff size.**\n\n## When to Use\nUse this skill when:\n- user gives a coding\u002Ffix task and expects end-to-end completion\n- task spans code + tests + PR comments + dev deploy + runtime checks\n- repeated manual prompts like \"now test\", \"now deploy\", \"now re-check PR\" should be avoided\n\nDo not use this skill for:\n- pure Q&A\u002Fexplanations\n- prod deploy requests without explicit human approval\n- tasks blocked by missing secrets\u002Faccount access that cannot be inferred\n\n## Required Inputs\n\nBefore execution, define these once:\n- task goal\n- acceptance criteria (DoD)\n- target environment (`dev` by default)\n- max iteration rounds (default `2`)\n\nIf acceptance criteria are missing, request them once. If user does not provide, propose a concrete default and proceed.\n\n## Issue Gate Dependency\n\nBefore execution, prefer using `create-issue-gate`.\n\n- If issue status is `ready` and execution gate is `allowed`, continue.\n- If issue status is `draft`, do not execute implementation\u002Fdeploy\u002Freview loops.\n- Require user-provided, testable acceptance criteria before starting execution.\n\n## Default Workflow\n\n1. **Define DoD**\n   - Convert request into testable criteria.\n   - Example: checkout task DoD = \"checkout endpoint returns a valid, openable third-party payment URL in dev\".\n\n2. **Implement minimal change**\n   - Keep scope tight to task goal.\n\n3. **Verify locally**\n   - Run focused tests first, then broader checks if needed.\n\n4. **Review loop**\n   - Fetch PR comments\u002Freviews.\n   - Classify valid vs non-actionable.\n   - Fix valid items, re-run verification.\n\n5. **Dev deploy + runtime verification**\n   - Deploy to `dev` when runtime behavior matters.\n   - Verify via real API\u002FLambda\u002Flog evidence against DoD.\n\n6. **Completion decision**\n   - Only report \"done\" when all DoD checks pass.\n   - Otherwise continue loop until pass or stop condition.\n\n## PR Comment Polling Policy\n\nAvoid noisy short polling by default. Use batched windows:\n\n- **Round 1:** wait `3m`, collect delta comments\u002Freviews\n- **Round 2:** wait `6m`, collect delta again\n- **Final round:** wait `10m`, collect all remaining visible comments\u002Freviews\n\nAt each round:\n- process all new comments in one batch\n- avoid immediate re-poll after each single comment\n- after the `10m` round, stop waiting and proceed with all comments visible at that point\n\nIf CI is still running, align polling to check completion boundaries instead of fixed rapid polling.\n\n## Human Gate Rules (Must Ask)\n\nRequire explicit user confirmation for:\n- production\u002Fstaging deploy beyond agreed scope\n- destructive operations (history rewrite, force push, data-destructive ops)\n- actions with billing\u002Fsecurity posture changes\n- secret values not available in repo\u002Fruntime\n- ambiguous DoD that materially changes outcome\n\n## Iteration\u002FStop Conditions\n\nStop and escalate with a concise blocker report when:\n- DoD still fails after max rounds (`2` default)\n- external dependency blocks progress (provider outage, missing creds, account permission)\n- conflicting review instructions cannot both be satisfied\n\nEscalation report must include:\n- what passed\n- what failed\n- evidence (commands\u002Flogs\u002FAPI result)\n- smallest decision needed from user\n\n## Output Contract\n\nWhen claiming completion, always include:\n- acceptance criteria checklist with pass\u002Ffail\n- commands\u002Ftests run\n- runtime evidence (endpoint\u002FLambda\u002Flog key lines)\n- PR status (new actionable comments count)\n\nDo not claim success without evidence.\n\n## Limitations\n- Use this skill only when the task clearly matches the scope described above.\n- Do not treat the output as a substitute for environment-specific validation, testing, or expert review.\n- Stop and ask for clarification if required inputs, permissions, safety boundaries, or success criteria are missing.\n","","imported","https:\u002F\u002Fgithub.com\u002Fsickn33\u002Fantigravity-awesome-skills","user_system_seed","SkillOPIC",true,88,761,"2026-05-16 13:11:17",{"id":8,"name":21,"slug":22,"icon":23,"description":24,"sort":25,"createdAt":26},"其他","other","mdi-page-next-outline","其他类型Skill",5,"2026-05-16 12:53:40",{"id":7,"name":28,"slug":29,"icon":30,"description":31,"moduleId":8,"sort":32,"skillCount":33,"createdAt":26},"职场发展","career","mdi-briefcase-outline","面试准备、简历优化、职业规划",4,575,[35],{"id":36,"skillId":4,"version":37,"fileName":38,"fileSize":39,"filePath":40,"fileHash":41,"manifest":42,"createdAt":19},"a6518833-949b-43a1-84ea-0af12d1738ea","1.0.0","closed-loop-delivery.zip",2108,"uploads\u002Fskills\u002F55b42aba-7894-4b3b-986a-3c1fd4e07a21\u002Fclosed-loop-delivery.zip","13face8b86210b3fb223bc6ff07f379f6920f654415be3f852c4227bfaa6713d","[{\"path\":\"SKILL.md\",\"isDirectory\":false,\"size\":4279}]",{"code":44,"message":45,"data":46},200,"success",{"items":47,"stats":48,"page":51},[],{"averageRating":49,"totalRatings":49,"ratingCounts":50},0,[49,49,49,49,49],{"limit":52,"offset":49,"hasMore":53,"nextOffset":52,"ratedOnly":16},15,false]