/**
 * Canonical skill definitions shipped with botmux.
 *
 * Each skill is a SKILL.md ready to drop into any CLI's skills directory.
 * Skills here MUST:
 *   - use `botmux <subcmd>` shell commands (CLI is the canonical interface)
 *   - not depend on MCP tools (which may not be wired on every CLI)
 *   - keep frontmatter minimal — just `name` and `description` for discovery
 */
export interface SkillDef {
    /** Filesystem-safe name — becomes the directory name under {skillsDir}/ */
    name: string;
    /** Markdown content including YAML frontmatter */
    content: string;
}
export declare const ASK_SKILL = "---\nname: botmux-ask\ndescription: \u5728\u5F53\u524D\u98DE\u4E66/Lark \u8BDD\u9898\u91CC\u5411\u7528\u6237\u53D1\u8D77\u963B\u585E\u5F0F\u9009\u62E9\u9898\u5E76\u7B49\u5F85\u56DE\u7B54\u3002\u89E6\u53D1\u573A\u666F\uFF1A\u4F60\u9700\u8981\u7528\u6237\u5728\u591A\u4E2A\u660E\u786E\u9009\u9879\u4E2D\u505A\u9009\u62E9\u3001\u786E\u8BA4\u98CE\u9669\u52A8\u4F5C\u3001\u51B3\u5B9A\u7EE7\u7EED/\u56DE\u6EDA/\u4E2D\u6B62\uFF0C\u4E14\u540E\u7EED\u547D\u4EE4\u9700\u8981\u62FF\u5230\u673A\u5668\u53EF\u89E3\u6790\u7684\u7B54\u6848\u3002\u4F7F\u7528 botmux ask buttons\uFF0Cstdout \u53EA\u8FD4\u56DE\u9009\u4E2D\u7684 key\uFF0C\u9002\u5408 shell \u811A\u672C\u548C CLI agent \u7EE7\u7EED\u6267\u884C\u3002\n---\n\n# botmux-ask \u2014 \u963B\u585E\u5F0F\u5411\u7528\u6237\u63D0\u95EE\n\n\u5F53\u4F60\u9700\u8981\u7528\u6237\u5728\u660E\u786E\u9009\u9879\u91CC\u505A\u9009\u62E9\uFF0C\u5E76\u4E14\u540E\u7EED\u6B65\u9AA4\u5FC5\u987B\u7B49\u7528\u6237\u56DE\u7B54\u540E\u624D\u80FD\u7EE7\u7EED\u65F6\uFF0C\u4F7F\u7528 `botmux ask buttons`\u3002\n\n## \u4EC0\u4E48\u65F6\u5019\u7528\n\n- \u53D1\u5E03\u3001\u56DE\u6EDA\u3001\u5220\u9664\u3001\u5199\u6587\u4EF6\u3001\u8C03\u7528\u5916\u90E8 API \u7B49\u98CE\u9669\u52A8\u4F5C\u524D\uFF0C\u9700\u8981\u7528\u6237\u9009\u62E9\n- \u9700\u6C42\u5B58\u5728 2-6 \u4E2A\u6E05\u6670\u5206\u652F\uFF0C\u7EE7\u7EED\u6267\u884C\u524D\u5FC5\u987B\u62FF\u5230\u5176\u4E2D\u4E00\u4E2A key\n- \u4F60\u6B63\u5728 shell / CLI \u91CC\u6267\u884C\u4EFB\u52A1\uFF0C\u9700\u8981\u628A\u7528\u6237\u9009\u62E9\u8D4B\u7ED9\u53D8\u91CF\u7EE7\u7EED\u8DD1\n\n## \u4E0D\u8981\u7528\n\n- \u53EA\u662F\u7ED9\u7528\u6237\u6C47\u62A5\u8FDB\u5C55\uFF1A\u7528 `botmux send`\n- \u9700\u8981\u81EA\u7531\u6587\u672C\u957F\u56DE\u7B54\uFF1Av0.1.7 \u4E0D\u652F\u6301\uFF0C\u5148\u7528 `botmux send` \u95EE\u7528\u6237\n- workflow \u8282\u70B9\u5BA1\u6279\uFF1Aworkflow \u5DF2\u7ECF\u6709 humanGate / decision\uFF0C\u4E0D\u8981\u5957\u4E24\u5C42 ask\n\n## Canonical \u7528\u6CD5\n\n```bash\nchoice=$(botmux ask buttons --options \"deploy=\u7EE7\u7EED\u53D1\u5E03,rollback=\u56DE\u6EDA,abort=\u4E2D\u6B62\" \"\u7EBF\u4E0A latency \u6DA8\u4E86 30%\uFF0C\u4E0B\u4E00\u6B65\u600E\u4E48\u5904\u7406\uFF1F\")\ncase \"$choice\" in\n  deploy) echo \"\u7EE7\u7EED\u53D1\u5E03\" ;;\n  rollback) echo \"\u6267\u884C\u56DE\u6EDA\" ;;\n  abort) echo \"\u4E2D\u6B62\" ;;\nesac\n```\n\n`key=label` \u91CC\uFF0C**stdout \u6C38\u8FDC\u8FD4\u56DE key**\uFF0C\u6309\u94AE\u4E0A\u663E\u793A label\u3002\u53EA\u5199 `yes,no` \u65F6 key \u548C label \u76F8\u540C\u3002\n\n\u517C\u5BB9 alias\uFF1A`botmux ask --options \"yes,no\" \"\u7EE7\u7EED\u5417\uFF1F\"` \u53EF\u4EE5\u7528\uFF0C\u4F46\u6587\u6863\u548C\u65B0\u811A\u672C\u4F18\u5148\u5199 `botmux ask buttons`\uFF0C\u7ED9\u672A\u6765 `ask text` / `ask confirm` \u7559\u7A7A\u95F4\u3002\n\n## JSON \u8F93\u51FA\n\n```bash\nbotmux ask buttons --json --options \"yes=\u7EE7\u7EED,no=\u505C\u6B62\" \"\u7EE7\u7EED\u6267\u884C\u5417\uFF1F\"\n```\n\nstdout \u4E3A\u4E00\u884C JSON\u3002\u6CE8\u610F\uFF1A`--json` \u8986\u76D6\u6240\u6709\u7ED3\u679C\u7C7B\u578B\uFF1B\u8D85\u65F6 / \u5931\u6548\u65F6\u4E5F\u4F1A\u8F93\u51FA JSON\uFF0C\n\u540C\u65F6\u4FDD\u7559\u975E 0 exit code\u3002\u811A\u672C\u5224\u65AD\u8D85\u65F6\u5FC5\u987B\u770B exit code \u6216 `timedOut` \u5B57\u6BB5\u3002\n\n```json\n{\"selected\":\"yes\",\"by\":\"ou_xxx\",\"timedOut\":false,\"comment\":null}\n```\n\n## \u9000\u51FA\u7801\u548C stdout \u5951\u7EA6\n\n- \u6210\u529F\uFF1Astdout \u4E00\u884C `<selected_key>`\uFF0Cexit 0\n- `--json`\uFF1Astdout \u4E00\u884C JSON\uFF08\u5305\u62EC\u8D85\u65F6 / \u5931\u6548\uFF09\uFF0Cexit code \u4ECD\u6309\u7ED3\u679C\u8FD4\u56DE\n- \u8D85\u65F6\uFF1A\u9ED8\u8BA4\u6A21\u5F0F stdout \u4E3A\u7A7A\uFF0Cexit 124\uFF1B`--json` \u65F6 `{\"selected\":null,\"timedOut\":true,...}`\n- \u7F3A\u5C11 botmux \u73AF\u5883\u53D8\u91CF / \u53C2\u6570\u9519\u8BEF\uFF1Astdout \u4E3A\u7A7A\uFF0Cexit 2\n- daemon \u4E0D\u53EF\u8FBE\u6216 ask \u88AB daemon restart \u5931\u6548\uFF1A\u9ED8\u8BA4\u6A21\u5F0F stdout \u4E3A\u7A7A\uFF0Cexit 3\uFF1B`--json` \u65F6 `selected:null`\n\n\u6240\u6709\u4EBA\u7C7B\u53EF\u8BFB\u63D0\u793A\u90FD\u5728 stderr\uFF0C\u8C03\u7528\u65B9\u4E0D\u8981 parse stderr\u3002\n\n## \u9009\u9879\u89C4\u5219\n\n- `--options` \u5FC5\u586B\uFF0C\u81F3\u5C11 2 \u9879\uFF0C\u9017\u53F7\u5206\u9694\n- \u63A8\u8350 `key=label`\uFF0Ckey \u7528\u7A33\u5B9A\u82F1\u6587\u77ED\u8BCD\uFF0Clabel \u7ED9\u7528\u6237\u770B\n- \u4E0D\u652F\u6301 comment / multi-select / free-form text\uFF08v0.1.7 \u8303\u56F4\u5916\uFF09\n- \u9ED8\u8BA4\u8D85\u65F6 300 \u79D2\uFF0C\u53EF\u7528 `--timeout <seconds>` \u8C03\u6574\n";
export declare const ASK_SKILL_NAME = "botmux-ask";
export declare const BUILTIN_SKILLS: SkillDef[];
/** Skills that earlier botmux versions installed but no longer ship. The
 *  installer cleans these up so renamed skills don't linger as duplicates
 *  in the CLI's skills directory. */
export declare const RETIRED_SKILL_NAMES: string[];
//# sourceMappingURL=definitions.d.ts.map