mirror of
https://github.com/MoonshotAI/kimi-code.git
synced 2026-08-23 23:56:41 +00:00
feat(flow): drop the generic /flow builtin entry
The bare /flow skill was a dead end in both directions: with no flow definitions it could only report an empty directory (it carried no authoring guide), and with definitions present it bypassed every guarantee of the projected /flow:<id> path (activation-carried definition, automatic start, provenance checks) in favor of a manual read-and-FlowStart route. Discovery is already served by the slash menu listing each projected flow with its description. The supervisor contract stays as the shared body of the projected skills; the flag-flip reload of builtin visibility stays as a general mechanism.
This commit is contained in:
parent
5b8dd79137
commit
fa130d376e
2 changed files with 2 additions and 43 deletions
|
|
@ -1,11 +0,0 @@
|
|||
---
|
||||
name: flow
|
||||
description: Run a multi-stage flow definition with gated stage transitions — you supervise the run, dispatch workers per stage, and pass each gate on evidence. Use when the user runs /flow.
|
||||
disable-model-invocation: true
|
||||
---
|
||||
|
||||
$CONTRACT
|
||||
|
||||
The user's input for this activation is: `$ARGUMENTS`
|
||||
|
||||
If the input names no flow id, list the files under `.kimi-code/flows/` and ask which to run. If it names no task, ask for one — a run without a stated task cannot be accepted against.
|
||||
|
|
@ -1,35 +1,5 @@
|
|||
import { registerBuiltinSkill } from '#/app/skillCatalog/builtin/registry';
|
||||
import { parseSkillText } from '#/app/skillCatalog/parser';
|
||||
import type { SkillDefinition } from '#/app/skillCatalog/types';
|
||||
|
||||
import { FLOW_FLAG_ID } from '../flow';
|
||||
|
||||
import FLOW_CONTRACT from './contract.md?raw';
|
||||
import FLOW_ENTRY from './flow.md?raw';
|
||||
|
||||
const PSEUDO_PATH = 'builtin://flow';
|
||||
|
||||
/** The shared supervisor contract — the body both the generic /flow entry and
|
||||
* every per-flow skill (see flowsSkillSource) are assembled from. */
|
||||
/** The shared supervisor contract — the body every projected per-flow skill
|
||||
* (see flowsSkillSource) is assembled from. */
|
||||
export const FLOW_SUPERVISOR_CONTRACT: string = FLOW_CONTRACT.trim();
|
||||
|
||||
const parsed = parseSkillText({
|
||||
skillMdPath: '/builtin/skills/flow.md',
|
||||
skillDirName: 'flow',
|
||||
source: 'builtin',
|
||||
text: FLOW_ENTRY.replace('$CONTRACT', FLOW_SUPERVISOR_CONTRACT),
|
||||
});
|
||||
|
||||
export const FLOW_SKILL: SkillDefinition = {
|
||||
...parsed,
|
||||
path: PSEUDO_PATH,
|
||||
dir: PSEUDO_PATH,
|
||||
experimentalFlag: FLOW_FLAG_ID,
|
||||
metadata: {
|
||||
...parsed.metadata,
|
||||
type: parsed.metadata.type ?? 'inline',
|
||||
disableModelInvocation: true,
|
||||
},
|
||||
};
|
||||
|
||||
registerBuiltinSkill(FLOW_SKILL);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue