Skip to main content

create-playbook-component

Use when: adding a new playbook automation component, implementing a PlaybookComponent interface, or registering a new playbook step

来源信息

仓库
OpenCTI-Platform/opencti
最近来源活动
2026年5月12日 12:56
检测到的 SKILL.md 语言
英语
星标
10,345
Forks
1,508

安装方式

默认使用会先检查来源的 Prompt;你也可以切换为直接命令,或下载本地副本。

检查来源文件

决定是否安装前,请先阅读 SKILL.md,以及 SkillsMP 当前展示的配套文件。

正在显示 SKILL.md

SKILL.md
来源说明 · 只读预览
name
create-playbook-component
description
Use when: adding a new playbook automation component, implementing a PlaybookComponent interface, or registering a new playbook step
# Create Playbook Component ## Prerequisites - **Component ID**: Unique uppercase ID (e.g., `PLAYBOOK_MY_COMPONENT`). - **Configuration**: List of fields required from the user. ## Procedure ### Step 1 — Create Component File Location: `opencti-platform/opencti-graphql/src/modules/playbook/components/<name>-component.ts`. ### Step 2 — Define Configuration Schema Define a TypeScript interface for the config and a JSONSchema for validation. ```typescript export interface MyComponentConfig { key: string; } const SCHEMA: JSONSchemaType<MyComponentConfig> = { type: 'object', properties: { key: { type: 'string' }, }, required: ['key'], }; ``` ### Step 3 — Implement Component Interface Implement `PlaybookComponent<MyComponentConfig>`. ```typescript export const PLAYBOOK_MY_COMPONENT: PlaybookComponent<MyComponentConfig> = { id: 'PLAYBOOK_MY_COMPONENT', name: 'My Component', description: 'Does something useful', icon: 'icon-name', is_entry_point: false, is_internal: true, ports: [{ id: 'out', type: 'out' }], configuration_schema: SCHEMA, schema: async () => SCHEMA, executor: async ({ bundle, playbookNode }) => { // Business logic here const config = playbookNode.configuration; return { output_port: 'out', bundle }; }, }; ``` ### Step 4 — Register Component Import and add to `PLAYBOOK_COMPONENTS` in `src/modules/playbook/playbook-components.ts`.
在 GitHub 查看