[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6C5CB6M0D3YM21HDPRWPSYV":3,"skill-same:01M6C5CB6M0D3YM21HDPRWPSYV":56},{"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":23,"publishedAt":29,"linkOnly":30,"markdownContent":31,"markdownBody":32,"frontMatter":33,"refName":34,"commitSha":35,"skillDirectory":36,"forksCount":37,"repositoryHtmlUrl":38,"repositoryHomepageUrl":6,"ownerHtmlUrl":39,"ownerBlogUrl":6,"ownerDescription":40,"updatedAt":41,"install":42,"resources":55},"01M6C5CB6M0D3YM21HDPRWPSYV","workflow-close",null,"Close an accepted or aborted workflow run while preserving history.","Lyther\u002Fagent-surface","Lyther","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F29906124?v=4","01M6C587M9T34T0SAGJSRK043Y","Enderaoe","01M6C587R0TXH3MFR8SRFPV61G",65,"MIT","https:\u002F\u002Fgithub.com\u002FLyther\u002Fagent-surface\u002Fblob\u002Fmain\u002Fskills\u002Fworkflow-close\u002FSKILL.md",[18],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[24,25,26,27,28],"workflow","workflow close","close","run","history","2026-11-10 10:12:30",false,"---\nname: workflow-close\ndescription: \"Close an accepted or aborted workflow run while preserving history.\"\n---\n\n## Objective\n\nClose an accepted or intentionally aborted workflow run without deleting its canonical history: summarize the run, record metrics, preserve unresolved risks, and record the close event.\n\n## Input\n\n```text\n.agent-surface\u002Fworkflows\u002Fcurrent.json\n.agent-surface\u002Fworkflows\u002F\u003Crun_id>\u002Frun.json\n.agent-surface\u002Fworkflows\u002F\u003Crun_id>\u002Fevents.ndjson\n.agent-surface\u002Fworkflows\u002F\u003Crun_id>\u002Fboss.json\n.agent-surface\u002Fworkflows\u002F\u003Crun_id>\u002Freviewer.json\n.agent-surface\u002Fworkflows\u002F\u003Crun_id>\u002Fjudger.json when present\n```\n\nRun `workflow-doctor` first as the required structural check, and do not close a run with blocking doctor findings unless the user explicitly asks to abort or quarantine it. Use `ops-report` or `ops-learn` only as helper analysis for summaries or lesson candidates, with output in this skill's close format; unless the user explicitly asks, edit no global memory, run no shipping commands, and change no workflow state outside the close artifacts.\n\n## Procedure\n\n1. Choose the state: `closed` (accepted work is merged or intentionally complete), `quarantined` (artifacts are useful but unsafe to continue automatically), or `aborted` (the user or policy stopped the run before completion). While required role artifacts are missing, only `aborted` is allowed.\n2. Write `.agent-surface\u002Fworkflows\u002F\u003Crun_id>\u002Frun-summary.md` and `.agent-surface\u002Fworkflows\u002F\u003Crun_id>\u002Fmetrics.json` with `tasks_total`, `tasks_accepted`, `tasks_reworked`, `tasks_deferred`, `tasks_closed`, `review_reject_count`, `judger_escalation_count`, `rescue_count`, `verify_command_count`, `failed_verify_count`, `scope_violations_caught`, `artifact_validation_failures`, and `human_interventions`.\n3. Record the close state with `agent-surface workflow close --run \u003Crun_id> --state closed|quarantined|aborted`. It sets `run.json.status`, clears `workflow_next_command`, appends the close event, and clears `current.json` when it names the run; it refuses a run whose `run.json` or event chain is invalid, and a run already closed in another state. Never hand-edit `run.json`, `events.ndjson`, or `current.json`.\n\n## Rules\n\n1. Never delete `.agent-surface\u002Fworkflows\u002F\u003Crun_id>\u002F`.\n2. Do not claim work shipped; shipping belongs to the `ship-*` commands.\n3. Preserve readiness boundaries: a closed run means the accepted tasks passed review, not that the work is production-ready, deployed, or pushed. Do not upgrade `stable`\u002F`production-ready`\u002F`release-ready`\u002F`E2E passed` claims in the summary; readiness stays unproven until `ship-commit` and the push\u002FMR\u002Frelease gate run with real-run proof. Record any surviving readiness claim as an unresolved risk.\n4. Extract lessons as candidates only; edit global memory or rule files only when the user explicitly asks.\n\n## Output\n\n```text\nWorkflow closed: \u003Crun_id>\nState: closed|quarantined|aborted\nSummary: .agent-surface\u002Fworkflows\u002F\u003Crun_id>\u002Frun-summary.md\nMetrics: .agent-surface\u002Fworkflows\u002F\u003Crun_id>\u002Fmetrics.json\nUnresolved risks: N\n```\n","## Objective\n\nClose an accepted or intentionally aborted workflow run without deleting its canonical history: summarize the run, record metrics, preserve unresolved risks, and record the close event.\n\n## Input\n\n```text\n.agent-surface\u002Fworkflows\u002Fcurrent.json\n.agent-surface\u002Fworkflows\u002F\u003Crun_id>\u002Frun.json\n.agent-surface\u002Fworkflows\u002F\u003Crun_id>\u002Fevents.ndjson\n.agent-surface\u002Fworkflows\u002F\u003Crun_id>\u002Fboss.json\n.agent-surface\u002Fworkflows\u002F\u003Crun_id>\u002Freviewer.json\n.agent-surface\u002Fworkflows\u002F\u003Crun_id>\u002Fjudger.json when present\n```\n\nRun `workflow-doctor` first as the required structural check, and do not close a run with blocking doctor findings unless the user explicitly asks to abort or quarantine it. Use `ops-report` or `ops-learn` only as helper analysis for summaries or lesson candidates, with output in this skill's close format; unless the user explicitly asks, edit no global memory, run no shipping commands, and change no workflow state outside the close artifacts.\n\n## Procedure\n\n1. Choose the state: `closed` (accepted work is merged or intentionally complete), `quarantined` (artifacts are useful but unsafe to continue automatically), or `aborted` (the user or policy stopped the run before completion). While required role artifacts are missing, only `aborted` is allowed.\n2. Write `.agent-surface\u002Fworkflows\u002F\u003Crun_id>\u002Frun-summary.md` and `.agent-surface\u002Fworkflows\u002F\u003Crun_id>\u002Fmetrics.json` with `tasks_total`, `tasks_accepted`, `tasks_reworked`, `tasks_deferred`, `tasks_closed`, `review_reject_count`, `judger_escalation_count`, `rescue_count`, `verify_command_count`, `failed_verify_count`, `scope_violations_caught`, `artifact_validation_failures`, and `human_interventions`.\n3. Record the close state with `agent-surface workflow close --run \u003Crun_id> --state closed|quarantined|aborted`. It sets `run.json.status`, clears `workflow_next_command`, appends the close event, and clears `current.json` when it names the run; it refuses a run whose `run.json` or event chain is invalid, and a run already closed in another state. Never hand-edit `run.json`, `events.ndjson`, or `current.json`.\n\n## Rules\n\n1. Never delete `.agent-surface\u002Fworkflows\u002F\u003Crun_id>\u002F`.\n2. Do not claim work shipped; shipping belongs to the `ship-*` commands.\n3. Preserve readiness boundaries: a closed run means the accepted tasks passed review, not that the work is production-ready, deployed, or pushed. Do not upgrade `stable`\u002F`production-ready`\u002F`release-ready`\u002F`E2E passed` claims in the summary; readiness stays unproven until `ship-commit` and the push\u002FMR\u002Frelease gate run with real-run proof. Record any surviving readiness claim as an unresolved risk.\n4. Extract lessons as candidates only; edit global memory or rule files only when the user explicitly asks.\n\n## Output\n\n```text\nWorkflow closed: \u003Crun_id>\nState: closed|quarantined|aborted\nSummary: .agent-surface\u002Fworkflows\u002F\u003Crun_id>\u002Frun-summary.md\nMetrics: .agent-surface\u002Fworkflows\u002F\u003Crun_id>\u002Fmetrics.json\nUnresolved risks: N\n```\n",{"name":5,"description":7},"main","bb71e1631303bd27cb8ac18dc04830c97db8ac4d","skills\u002Fworkflow-close",0,"https:\u002F\u002Fgithub.com\u002FLyther\u002Fagent-surface","https:\u002F\u002Fgithub.com\u002FLyther","Why so serious?","2026-11-12 01:02:43",{"source":8,"skillName":5,"commands":43,"prompt":53,"zipAvailable":54},[44,47,50],{"tool":45,"command":46},"npx","npx skills add Lyther\u002Fagent-surface --skill workflow-close",{"tool":48,"command":49},"bunx","bunx skills add Lyther\u002Fagent-surface --skill workflow-close",{"tool":51,"command":52},"pnpm","pnpm dlx skills add Lyther\u002Fagent-surface --skill workflow-close","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FLyther\u002Fagent-surface\u002Fblob\u002Fmain\u002Fskills\u002Fworkflow-close\u002FSKILL.md",true,[],[57,78,92,106,124,135],{"skillNo":58,"name":59,"nameZh":6,"description":60,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":61,"categories":62,"keywords":64,"publishedAt":29},"01M6C5CQAHK34J7RNHEJE1G366","workflow-runtime","Prove skill or workflow discovery, full-autonomy tool execution, and task-shaped materialization before assigning a CLI, extension, provider, or model to a workflow role.","https:\u002F\u002Fgithub.com\u002FLyther\u002Fagent-surface\u002Fblob\u002Fmain\u002Fskills\u002Fworkflow-runtime\u002FSKILL.md",[63],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[24,65,66,67,68,69,70,71,72,73,74,75,76,77],"workflow runtime","runtime","execution","cli","discovery","tool","model","autonomy","provider","task","full","extension","role",{"skillNo":79,"name":80,"nameZh":6,"description":81,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":82,"categories":83,"keywords":84,"publishedAt":29},"01M6C5CNCTDS39453E66MQYTTQ","workflow-reviewer","Review batched implementation output against the BOSS spec and evidence.","https:\u002F\u002Fgithub.com\u002FLyther\u002Fagent-surface\u002Fblob\u002Fmain\u002Fskills\u002Fworkflow-reviewer\u002FSKILL.md",[],[85,86,24,87,88,89,90,91],"workflow reviewer","reviewer","spec","review","evidence","implementation","output",{"skillNo":93,"name":94,"nameZh":6,"description":95,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":96,"categories":97,"keywords":99,"publishedAt":29},"01M6C5CKVKQF6NE9263HGRB2K3","workflow-rescue","Resolve repeated workflow failures with a single decisive action.","https:\u002F\u002Fgithub.com\u002FLyther\u002Fagent-surface\u002Fblob\u002Fmain\u002Fskills\u002Fworkflow-rescue\u002FSKILL.md",[98],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[24,100,101,102,103,104,105],"workflow rescue","rescue","single","decisive action","with","action",{"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":113,"publishedAt":29},"01M6C5CHCW474Y5F49WME2G12H","workflow-orchestrator","Run risk-adaptive development, review, multi-agent, and release workflows with runtime preflight, bounded retries, liveness checks, isolated writers, and evidence-backed handoffs.","https:\u002F\u002Fgithub.com\u002FLyther\u002Fagent-surface\u002Fblob\u002Fmain\u002Fskills\u002Fworkflow-orchestrator\u002FSKILL.md",[112],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[114,115,24,104,116,88,117,27,118,119,120,121,89,66,122,123],"orchestrator","workflow orchestrator","development","workflows","release","risk","preflight","multi-agent","multi","retries",{"skillNo":125,"name":126,"nameZh":6,"description":127,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":128,"categories":129,"keywords":130,"publishedAt":29},"01M6C5CFCYEW1J4ETBNDD4EQPK","workflow-judger","Arbitrate repeated task failures and decide merge, rework, or escalation.","https:\u002F\u002Fgithub.com\u002FLyther\u002Fagent-surface\u002Fblob\u002Fmain\u002Fskills\u002Fworkflow-judger\u002FSKILL.md",[],[131,24,132,133,134,74],"workflow judger","merge","escalation","decide",{"skillNo":136,"name":137,"nameZh":6,"description":138,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":139,"categories":140,"keywords":142,"publishedAt":29},"01M6C5CDADZX0YM26H2QWWDJMF","workflow-doctor","Validate active workflow state before any role acts on it.","https:\u002F\u002Fgithub.com\u002FLyther\u002Fagent-surface\u002Fblob\u002Fmain\u002Fskills\u002Fworkflow-doctor\u002FSKILL.md",[141],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[24,143,144,145,146,147,148,77],"workflow doctor","doctor","validate","state","active","it"]