[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6GEB2EGZVSVKEYB3GCVVTNE":3,"skill-same:01M6GEB2EGZVSVKEYB3GCVVTNE":74},{"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":42,"linkOnly":43,"markdownContent":44,"markdownBody":45,"frontMatter":46,"refName":50,"commitSha":51,"skillDirectory":52,"forksCount":53,"repositoryHtmlUrl":54,"repositoryHomepageUrl":55,"ownerHtmlUrl":56,"ownerBlogUrl":57,"ownerDescription":58,"updatedAt":59,"install":60,"resources":73},"01M6GEB2EGZVSVKEYB3GCVVTNE","code-execute",null,"Use only when autopilot-code dispatches the implementation stage for an approved plan. Not for top-level user requests or primary capability routing.","dmlguq456\u002Fhearting","dmlguq456","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F41767172?v=4","01M6GDVTSD0T4B6TF7SNHXZHZV","Ui-Hyeop Shin","01M6GDVTXMYH31J9E7M6TZHZEM",9,"MIT","https:\u002F\u002Fgithub.com\u002Fdmlguq456\u002Fhearting\u002Fblob\u002Fmain\u002Fadapters\u002Fopencode\u002Fskills\u002Fcode-execute\u002FSKILL.md",[18],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",[24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41],"code","execute","code execute","when","routing","capability","for","top","requests","autopilot","stage","implementation","opencode","only","use","user","plan","capabilities","2026-11-10 10:12:30",false,"---\nname: code-execute\ndescription: \"Use only when autopilot-code dispatches the implementation stage for an approved plan. Not for top-level user requests or primary capability routing.\"\nmetadata:\n  portable_source: capabilities\u002Fcode-execute.md\n  adapter: opencode\n  invocation_class: parent-invoked\n---\n\n# code-execute\n\nThis is an OpenCode-native Skill projection generated from the portable\ncapability contract. It is adapter-owned output, not a legacy compatibility Skill copy.\n\n## Source\n\n- Portable source: `capabilities\u002Fcode-execute.md`\n- Runtime check: `adapters\u002Fopencode\u002Fbin\u002Fpreflight.sh capability-info code-execute`\n- Bootstrap: `adapters\u002Fopencode\u002FAGENTS.md`\n\n## Use\n\n1. Read `capabilities\u002Fcode-execute.md` for the runtime-neutral contract.\n2. Run `adapters\u002Fopencode\u002Fbin\u002Fpreflight.sh capability-info code-execute`.\n3. Obey the reported status:\n   - `instruction-only`: use this Skill as OpenCode guidance plus explicit preflight guards.\n   - `tool-contract`: report the named `tool_contract`, run any `tool_contract_check`, and obey `runtime_surface` \u002F `fallback` before claiming full support.\n   - `unsupported`: stop or use the reported `fallback`.\n\n## Shape\n\n- Identifier: `code-execute`\n- Invocation class: `parent-invoked`\n- Supported modes: `none`\n- Argument shape: `\u003Cplan name or path>`\n- Portable meaning: Execute a plan step by step, delegate implementation to the development role, and record an execution log.\n\n## Portable Contract\n\n- Invocation semantics: Execute an implementation plan with progress tracking Put environments, caches, external checkouts, temporary work and training checkpoints under the supplied `runtime_dir` or an established external project location. Keep reports\u002Fconfigs and compact provenance in artifacts; use `runtime_dir` or system temporary storage for pytest and tool scratch data. Adapters may expose this capability through native commands, skill files, prompt instructions, or explicit wrappers. The adapter must report unsupported runtime mechanics instead of silently treating another runtime's native file format as portable.\n\n\n\n## Projected Portable Details\n\n## Artifact Ownership\n\nArtifact root: `core\u002FCONVENTIONS.md §5.1`; output placement: `§5`.\n\n## Artifact Producer Lifecycle\n\n`code-execute` is a `standard+` stage worker: it never issues its own campaign or\ncycle. It receives the owner's open cycle through\n`AGENT_ARTIFACT_CAMPAIGN_ID`\u002F`AGENT_ARTIFACT_CYCLE_ID`\u002F`AGENT_ARTIFACT_PRODUCER_ID`\u002F\n`AGENT_ARTIFACT_CYCLE_DIR`\u002F`AGENT_ARTIFACT_OUTPUT_DIR` (dispatch env\npass-through), may call `utilities\u002Fartifact_producer.py begin --node \u003Cnode id>`\non the same route to resume that cycle, and writes durable artifacts only inside\n`\u003Ccycle_dir>\u002Fartifacts\u002F\u003Cbucket>\u002F...` within its artifact output scope.\n`artifact_producer.py` owns the open cycle and its output paths; `finalize` and\n`admit-shared` belong to the owner, never to a stage worker. See\n`producer_lifecycle` in `capabilities\u002Ftopologies.json`.\n\nThe route's `source\u002F**`, `source-alternative\u002F**`, and `tests\u002F**` write scopes\nrefer to files in the assigned `route.cwd` worktree. They are not paths beneath\nthe artifact directory. Declared durable outputs and artifact scopes resolve\nunder the canonical cycle output directory. A normal single-session mutation\nnode sealed with `commit_expected: true` commits its own validated changes;\ndeclared sub-session slices remain no-commit and leave the commit to their\nowner after the stage gate.\n\nFor a `direct` inline route, the depth-0 interactive caller uses the single\npublic finish command and its exact receipt under `core\u002FWORKFLOW.md §0.5`.\nThe same section defines current-session OPEN-route reuse after a proved merge\ninto an integration worktree. Registered owners and workers retain their\nruntime terminal path. Stage-dispatch §13.61 and artifact-path-contract §43\ngovern the proof and the cycle's completion record; a finalized cycle's files stay editable (artifact-path-contract §45).\n\nAn index-lock diagnosis is attached only after the original Git failure,\nthrough the shared read-only helper in core\u002FOPERATIONS.md §5.9.\nKeep the original result and partial state; never repair or retry the failed\ncommand automatically.\n\n## Role Requirements\n\nUse portable role names from `roles\u002FREADME.md` and `core\u002FCONVENTIONS.md`. Concrete model names, subagent frontmatter, and runtime-specific tool lists belong in adapter files.\n\n## Guard Requirements\n\nAdapters must preserve the portable invariants relevant to this capability:\n\n- resolve artifact root through `utilities\u002Fartifact-root.sh` or equivalent logic;\n- use DB memory paths, not runtime-native memory files.\n\nPortable procedure and reference documents are owned under `capabilities\u002Fcode-execute\u002Freferences\u002F` when present. Claude, Codex, and OpenCode Skill bodies are generated projections of this capability and use the same logical procedure read-set.\n\n## Portable Procedure\n\n### Recover only edits owned by the failed work\n\nRecovery is limited to edits that the failed step, phase, or attempt actually made and that fall within its assigned source scope. A permitted path, safety commit, changed-path list, or `launch_head` comparison helps identify candidates but does not make the file or its full contents task-owned. Include uncommitted edits when evaluating recovery; do not infer ownership from the Git index or commit boundary.\n\nUse the existing old\u002Fnew step logs, their edit order, and recorded file location or surrounding context to compare each edit with the current contents. Reverse only edits whose ownership and location are clear, in reverse edit order. A matching string alone is not enough when it is repeated, context has changed, or another edit overlaps it. If an edit is ambiguous or missing from the log, preserve it. Also preserve an earlier edit when reversing it would depend on an ambiguous later edit.\n\nPreserve unrelated edits in the same file and in other files, changes from earlier successful steps, staged user content, and untracked files. Do not use a whole-tree or whole-file restore, checkout, reset, stash, clean, or commit-level revert as a fallback. Do not change the index to make it match the worktree; if staged task edits may remain, say recovery is partial and hand off that state.\n\nFor files created, deleted, or renamed by the task, reverse the operation only when the current state of every affected path and any surviving contents are clearly attributable to the task. Do not delete a task-created file after unrelated content was added, restore over a recreated path, or replace an untracked rename destination.\n\nWhen only part of the work can be reversed, or ownership is unclear, preserve the uncertain contents. Use the existing dev log, checklist, and failure summary to state what was reversed, what remains, why it could not be distinguished, the observed index\u002Fworktree state, and which dependent steps were skipped. Do not claim complete recovery. Resume by comparing the current contents with those records so an already-reversed edit is not applied again. Continue only with steps independent of the remaining changes; otherwise stop through the existing failure or partial-work handoff.\n\nApply this procedure to phase recovery, total failure, cascading errors, failed debug verification, and an exhausted dev test retry. A parallel sub-session slice retains its no-Git-write and no-rollback boundary and hands recovery to its owner.\n\n## Shared Procedure References\n\nRead the complete portable procedure files listed here when they apply; this logical read-set is shared across Claude, Codex, and OpenCode.\n\n- `capabilities\u002Fcode-execute\u002Freferences\u002Fprocedure.md`\n\n## Workflow Evidence\n\n- For workflow state: `adapters\u002Fopencode\u002Fbin\u002Fpreflight.sh status [cwd] [session-id]` and `adapters\u002Fopencode\u002Fbin\u002Fpreflight.sh prompt-signal [cwd] [session-id]`\n\nDo not use legacy compatibility Skill files or non-native adapter Skill files\nas OpenCode-native source. Those files are compatibility\u002Freference surfaces only.\n","# code-execute\n\nThis is an OpenCode-native Skill projection generated from the portable\ncapability contract. It is adapter-owned output, not a legacy compatibility Skill copy.\n\n## Source\n\n- Portable source: `capabilities\u002Fcode-execute.md`\n- Runtime check: `adapters\u002Fopencode\u002Fbin\u002Fpreflight.sh capability-info code-execute`\n- Bootstrap: `adapters\u002Fopencode\u002FAGENTS.md`\n\n## Use\n\n1. Read `capabilities\u002Fcode-execute.md` for the runtime-neutral contract.\n2. Run `adapters\u002Fopencode\u002Fbin\u002Fpreflight.sh capability-info code-execute`.\n3. Obey the reported status:\n   - `instruction-only`: use this Skill as OpenCode guidance plus explicit preflight guards.\n   - `tool-contract`: report the named `tool_contract`, run any `tool_contract_check`, and obey `runtime_surface` \u002F `fallback` before claiming full support.\n   - `unsupported`: stop or use the reported `fallback`.\n\n## Shape\n\n- Identifier: `code-execute`\n- Invocation class: `parent-invoked`\n- Supported modes: `none`\n- Argument shape: `\u003Cplan name or path>`\n- Portable meaning: Execute a plan step by step, delegate implementation to the development role, and record an execution log.\n\n## Portable Contract\n\n- Invocation semantics: Execute an implementation plan with progress tracking Put environments, caches, external checkouts, temporary work and training checkpoints under the supplied `runtime_dir` or an established external project location. Keep reports\u002Fconfigs and compact provenance in artifacts; use `runtime_dir` or system temporary storage for pytest and tool scratch data. Adapters may expose this capability through native commands, skill files, prompt instructions, or explicit wrappers. The adapter must report unsupported runtime mechanics instead of silently treating another runtime's native file format as portable.\n\n\n\n## Projected Portable Details\n\n## Artifact Ownership\n\nArtifact root: `core\u002FCONVENTIONS.md §5.1`; output placement: `§5`.\n\n## Artifact Producer Lifecycle\n\n`code-execute` is a `standard+` stage worker: it never issues its own campaign or\ncycle. It receives the owner's open cycle through\n`AGENT_ARTIFACT_CAMPAIGN_ID`\u002F`AGENT_ARTIFACT_CYCLE_ID`\u002F`AGENT_ARTIFACT_PRODUCER_ID`\u002F\n`AGENT_ARTIFACT_CYCLE_DIR`\u002F`AGENT_ARTIFACT_OUTPUT_DIR` (dispatch env\npass-through), may call `utilities\u002Fartifact_producer.py begin --node \u003Cnode id>`\non the same route to resume that cycle, and writes durable artifacts only inside\n`\u003Ccycle_dir>\u002Fartifacts\u002F\u003Cbucket>\u002F...` within its artifact output scope.\n`artifact_producer.py` owns the open cycle and its output paths; `finalize` and\n`admit-shared` belong to the owner, never to a stage worker. See\n`producer_lifecycle` in `capabilities\u002Ftopologies.json`.\n\nThe route's `source\u002F**`, `source-alternative\u002F**`, and `tests\u002F**` write scopes\nrefer to files in the assigned `route.cwd` worktree. They are not paths beneath\nthe artifact directory. Declared durable outputs and artifact scopes resolve\nunder the canonical cycle output directory. A normal single-session mutation\nnode sealed with `commit_expected: true` commits its own validated changes;\ndeclared sub-session slices remain no-commit and leave the commit to their\nowner after the stage gate.\n\nFor a `direct` inline route, the depth-0 interactive caller uses the single\npublic finish command and its exact receipt under `core\u002FWORKFLOW.md §0.5`.\nThe same section defines current-session OPEN-route reuse after a proved merge\ninto an integration worktree. Registered owners and workers retain their\nruntime terminal path. Stage-dispatch §13.61 and artifact-path-contract §43\ngovern the proof and the cycle's completion record; a finalized cycle's files stay editable (artifact-path-contract §45).\n\nAn index-lock diagnosis is attached only after the original Git failure,\nthrough the shared read-only helper in core\u002FOPERATIONS.md §5.9.\nKeep the original result and partial state; never repair or retry the failed\ncommand automatically.\n\n## Role Requirements\n\nUse portable role names from `roles\u002FREADME.md` and `core\u002FCONVENTIONS.md`. Concrete model names, subagent frontmatter, and runtime-specific tool lists belong in adapter files.\n\n## Guard Requirements\n\nAdapters must preserve the portable invariants relevant to this capability:\n\n- resolve artifact root through `utilities\u002Fartifact-root.sh` or equivalent logic;\n- use DB memory paths, not runtime-native memory files.\n\nPortable procedure and reference documents are owned under `capabilities\u002Fcode-execute\u002Freferences\u002F` when present. Claude, Codex, and OpenCode Skill bodies are generated projections of this capability and use the same logical procedure read-set.\n\n## Portable Procedure\n\n### Recover only edits owned by the failed work\n\nRecovery is limited to edits that the failed step, phase, or attempt actually made and that fall within its assigned source scope. A permitted path, safety commit, changed-path list, or `launch_head` comparison helps identify candidates but does not make the file or its full contents task-owned. Include uncommitted edits when evaluating recovery; do not infer ownership from the Git index or commit boundary.\n\nUse the existing old\u002Fnew step logs, their edit order, and recorded file location or surrounding context to compare each edit with the current contents. Reverse only edits whose ownership and location are clear, in reverse edit order. A matching string alone is not enough when it is repeated, context has changed, or another edit overlaps it. If an edit is ambiguous or missing from the log, preserve it. Also preserve an earlier edit when reversing it would depend on an ambiguous later edit.\n\nPreserve unrelated edits in the same file and in other files, changes from earlier successful steps, staged user content, and untracked files. Do not use a whole-tree or whole-file restore, checkout, reset, stash, clean, or commit-level revert as a fallback. Do not change the index to make it match the worktree; if staged task edits may remain, say recovery is partial and hand off that state.\n\nFor files created, deleted, or renamed by the task, reverse the operation only when the current state of every affected path and any surviving contents are clearly attributable to the task. Do not delete a task-created file after unrelated content was added, restore over a recreated path, or replace an untracked rename destination.\n\nWhen only part of the work can be reversed, or ownership is unclear, preserve the uncertain contents. Use the existing dev log, checklist, and failure summary to state what was reversed, what remains, why it could not be distinguished, the observed index\u002Fworktree state, and which dependent steps were skipped. Do not claim complete recovery. Resume by comparing the current contents with those records so an already-reversed edit is not applied again. Continue only with steps independent of the remaining changes; otherwise stop through the existing failure or partial-work handoff.\n\nApply this procedure to phase recovery, total failure, cascading errors, failed debug verification, and an exhausted dev test retry. A parallel sub-session slice retains its no-Git-write and no-rollback boundary and hands recovery to its owner.\n\n## Shared Procedure References\n\nRead the complete portable procedure files listed here when they apply; this logical read-set is shared across Claude, Codex, and OpenCode.\n\n- `capabilities\u002Fcode-execute\u002Freferences\u002Fprocedure.md`\n\n## Workflow Evidence\n\n- For workflow state: `adapters\u002Fopencode\u002Fbin\u002Fpreflight.sh status [cwd] [session-id]` and `adapters\u002Fopencode\u002Fbin\u002Fpreflight.sh prompt-signal [cwd] [session-id]`\n\nDo not use legacy compatibility Skill files or non-native adapter Skill files\nas OpenCode-native source. Those files are compatibility\u002Freference surfaces only.\n",{"name":5,"metadata":47,"description":7},{"adapter":36,"portable_source":48,"invocation_class":49},"capabilities\u002Fcode-execute.md","parent-invoked","main","9efc5374fe7ef449cbc2a9a051324da895084956","adapters\u002Fopencode\u002Fskills\u002Fcode-execute",2,"https:\u002F\u002Fgithub.com\u002Fdmlguq456\u002Fhearting","https:\u002F\u002Fdmlguq456.github.io\u002Fhearting\u002F","https:\u002F\u002Fgithub.com\u002Fdmlguq456","https:\u002F\u002Fdmlguq456.github.io\u002F","interested in speech processing","2026-11-12 00:08:35",{"source":8,"skillName":5,"commands":61,"prompt":71,"zipAvailable":72},[62,65,68],{"tool":63,"command":64},"npx","npx skills add dmlguq456\u002Fhearting --skill code-execute",{"tool":66,"command":67},"bunx","bunx skills add dmlguq456\u002Fhearting --skill code-execute",{"tool":69,"command":70},"pnpm","pnpm dlx skills add dmlguq456\u002Fhearting --skill code-execute","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fdmlguq456\u002Fhearting\u002Fblob\u002Fmain\u002Fadapters\u002Fopencode\u002Fskills\u002Fcode-execute\u002FSKILL.md",true,[],[75,95,107,119,131,154],{"skillNo":76,"name":77,"nameZh":6,"description":78,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":79,"categories":80,"keywords":82,"publishedAt":42},"01M6GEES21KY8PDHWM2KSFT24A","code-refine","Use only when autopilot-code dispatches plan revision after user notes, plan-check feedback, or verification failure. Not for top-level user requests or primary capability routing.","https:\u002F\u002Fgithub.com\u002Fdmlguq456\u002Fhearting\u002Fblob\u002Fmain\u002Fskills\u002Fcode-refine\u002FSKILL.md",[81],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[83,24,84,38,37,85,86,87,88,89,33,90,91,92,32,31,40,93,94,28],"refine","code refine","intensity","feedback","quick","check","revise","direct","revision","name","verification","notes",{"skillNo":96,"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":97,"categories":98,"keywords":100,"publishedAt":42},"01M6GE1MV7AYPMED4DCXR0V7JH","https:\u002F\u002Fgithub.com\u002Fdmlguq456\u002Fhearting\u002Fblob\u002Fmain\u002Fadapters\u002Fclaude\u002Fskills\u002Fcode-execute\u002FSKILL.md",[99],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[24,26,25,40,39,33,35,92,32,31,101,28,102,34,38,37,103,104,105,106],"record","log","execution","delegate","step by step","development",{"skillNo":108,"name":109,"nameZh":6,"description":110,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":111,"categories":112,"keywords":113,"publishedAt":42},"01M6GEG4QX5NCAFD0T1WMZYYM4","claude-aware","Demonstrate a skill source with inactive runtime-specific metadata.","https:\u002F\u002Fgithub.com\u002Fdmlguq456\u002Fhearting\u002Fblob\u002Fmain\u002Ftools\u002Finstall\u002Ffixtures\u002Fextensions\u002Fruntime-specific\u002Fskill\u002FSKILL.md",[],[114,115,116,117,118],"claude aware","source","metadata","runtime","with",{"skillNo":120,"name":121,"nameZh":6,"description":122,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":123,"categories":124,"keywords":125,"publishedAt":42},"01M6GEG1D04DY5SAP5Y8F5BVXA","portable-review","Review a change using portable, instruction-only guidance.","https:\u002F\u002Fgithub.com\u002Fdmlguq456\u002Fhearting\u002Fblob\u002Fmain\u002Ftools\u002Finstall\u002Ffixtures\u002Fextensions\u002Finstruction-only\u002Fskill\u002FSKILL.md",[],[126,127,128,37,129,130],"portable review","review","portable","guidance","change",{"skillNo":132,"name":133,"nameZh":6,"description":134,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":135,"categories":136,"keywords":137,"publishedAt":42},"01M6GEFY4K6ATTDHFW45KJMNSG","session-tidy","Use when context fills, before compact, on handoff to another session, after a large task, or on request. Not for primary routing or memory writes.","https:\u002F\u002Fgithub.com\u002Fdmlguq456\u002Fhearting\u002Fblob\u002Fmain\u002Fskills\u002Fsession-tidy\u002FSKILL.md",[],[138,139,140,141,142,143,144,145,27,30,146,147,148,149,150,28,151,152,153,38],"session","tidy","session tidy","model","memory","handoff","request","window","card","context","clear","write","support","task","ops","compact",{"skillNo":155,"name":156,"nameZh":6,"description":157,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":158,"categories":159,"keywords":165,"publishedAt":42},"01M6GEFTBXE1JFXCQ686PQZ1RV","draft-strategy","Use only when autopilot-draft dispatches document strategy and evidence-plan creation. Not for top-level user requests or primary capability routing.","https:\u002F\u002Fgithub.com\u002Fdmlguq456\u002Fhearting\u002Fblob\u002Fmain\u002Fskills\u002Fdraft-strategy\u002FSKILL.md",[160],{"categoryNo":161,"categoryName":162,"taxonomyType":163,"taxonomyTypeDesc":164},"01JBSEEDCAT000000000000002","文档处理","SCENARIO","使用场景",[166,167,168,29,169,90,127,170,31,27,171,172,40,173,28,174,175,176,38,177,37,85,178,179,180,87,151],"draft strategy","draft","strategy","presentation","paths","mode","artifact","create","output","document","plan creation","writing","creation","evidence","proposal"]