원클릭으로
camel-brainstorm
Design and plan Camel integrations through collaborative dialogue.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Design and plan Camel integrations through collaborative dialogue.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Internal reference skill — loaded by camel-brainstorm during flow design. Contains guides for component selection, EIP catalog, data formats, integration patterns, and design spec assembly. NOT user-invocable.
Execute an approved implementation plan with two-stage review.
Internal reference skill — loaded by camel-execute during implementation tasks. Contains guides for YAML generation, component loading, properties, Docker Compose, DataMapper, and route validation. NOT user-invocable.
Migrate an existing integration from another product to Apache Camel
Break a design spec into implementation tasks with wave analysis.
Internal reference skill — loaded by camel-execute during test generation tasks. Contains guides for route analysis, test generation, test configuration, and test execution with Citrus + Testcontainers. NOT user-invocable.
| name | camel-brainstorm |
| description | Design and plan Camel integrations through collaborative dialogue. |
| user_invocable | false |
Turn integration ideas into fully formed design specs through collaborative dialogue.
Announce at start: "I'm using the camel-brainstorm skill to design your integration."
Core principle: Understand before designing. Design before planning. Plan before coding.
/camel-knowledge instead/camel-plan to decompose it into tasks/camel-migrate insteadViolating the letter of these rules is violating the spirit of these rules.
Do NOT invoke camel-plan, generate any implementation artifacts, write any YAML routes, or take any implementation action until you have presented a design spec and the user has explicitly approved it. This applies to EVERY project regardless of perceived simplicity.This skill supports two invocation modes (see shared/pipeline-infrastructure.md for details):
Auto-invoked by camel-start or invoked directly without a <PIPELINE_ID> argument when no existing design spec is found. Runs the full interview → design → approval → auto-invoke plan flow.
Invoked with a <PIPELINE_ID> argument (e.g., /camel-brainstorm 001-order-processing). Two sub-cases:
design-spec.md does NOT exist in docs/camel-kit/<PIPELINE_ID>/. Runs the full interview flow, writes output to the pipeline directory, then STOPS (does NOT auto-invoke plan).design-spec.md already exists. Enters re-iteration: loads the existing spec, presents it for amendment, writes the updated spec, marks downstream artifacts stale, then STOPS.Detection at start:
if <PIPELINE_ID> argument provided:
resolve pipeline directory
if design-spec.md exists → AMEND MODE
else → STANDALONE NEW
else:
→ CHAINED MODE (normal flow)
In standalone mode, the <HARD-RULE> auto-transition to camel-plan is suppressed. The skill writes its output and stops.
When amending an existing design spec:
docs/camel-kit/<PIPELINE_ID>/design-spec.mddesign-spec.md with the amended versionshared/pipeline-infrastructure.md, run {COMMAND_PREFIX} doc stale --reason "design spec amended" --cascade <first-downstream-artifact> (usually implementation-plan.md) so CLI-managed YAML frontmatter propagates staleness. Do not prepend manual marker text.Every integration goes through this process. A single-route REST-to-database flow, a file watcher, a simple bridge — all of them. "Simple" integrations are where unexamined assumptions cause the most wasted work. The design spec can be short for truly simple projects, but you MUST present it and get approval.
digraph brainstorm {
rankdir=TB;
start [label="User request received", shape=doublecircle];
detect [label="Detect: greenfield\nor migration?", shape=diamond];
subgraph cluster_greenfield {
label="Greenfield Path";
gf_interview [label="Load greenfield-interview.md\nSocratic interview\n(one question at a time)", shape=box];
}
subgraph cluster_migration {
label="Migration Path";
mg_discovery [label="Load migration-discovery.md\nScan artifacts, detect vendor", shape=box];
mg_graph [label="Project graph available?", shape=diamond];
mg_vendor [label="Detect vendor from\ngraph stats nodesByType", shape=diamond];
mg_graph_camel [label="Load migration-graph-analysis.md\nCamel graph analysis", shape=box];
mg_graph_mule [label="Load migration-mule-graph-analysis.md\nMuleSoft graph analysis", shape=box];
mg_graph_biztalk [label="Load migration-biztalk-graph-analysis.md\nBizTalk graph analysis", shape=box];
mg_confirm [label="Confirm analysis with user\nFill unknowns", shape=box];
}
version [label="Load version-selection.md\nCamel version selection", shape=box];
design [label="Load design-assembly.md\nAssemble design spec", shape=box];
review [label="Self-review spec\n(placeholders, consistency)", shape=box];
user_approve [label="User reviews and\napproves spec?", shape=diamond];
plan [label="YOU invoke camel-plan\n(automatic, not manual)", shape=doublecircle];
start -> detect;
detect -> gf_interview [label="greenfield"];
detect -> mg_discovery [label="migration"];
gf_interview -> version;
mg_discovery -> mg_graph;
mg_graph -> mg_vendor [label="yes"];
mg_graph -> mg_confirm [label="no"];
mg_vendor -> mg_graph_camel [label="CAMEL_ROUTE"];
mg_vendor -> mg_graph_mule [label="MULE_FLOW"];
mg_vendor -> mg_graph_biztalk [label="BIZTALK_ORCHESTRATION"];
mg_vendor -> mg_confirm [label="unknown"];
mg_graph_camel -> mg_confirm;
mg_graph_mule -> mg_confirm;
mg_graph_biztalk -> mg_confirm;
mg_confirm -> version;
version -> design;
design -> review;
review -> user_approve;
user_approve -> design [label="changes requested"];
user_approve -> plan [label="approved"];
}
The terminal state depends on invocation mode. In chained mode: YOU invoke camel-plan. In standalone mode: write output and STOP. In both modes: do NOT invoke camel-execute, generate YAML, or take any implementation action.
When the user approves the design spec in **chained mode**, YOU must invoke/activate the `camel-plan` skill immediately and automatically. Do NOT tell the user to run it manually. Do NOT print "please run camel-plan" or "run /camel-plan". YOU do it — the transition is automatic.In standalone mode (including amend mode), write the output artifact and STOP. Do NOT auto-invoke camel-plan.
Read shared/iron-laws.md for the full Iron Laws. This phase enforces:
| Excuse | Reality |
|---|---|
| "The user clearly wants X, I'll just start designing" | Understand FIRST. Ask questions. Don't assume. |
| "This is just a simple REST-to-DB flow" | Simple flows have the most hidden assumptions. Interview anyway. |
| "I know which components to use" | You know training data. MCP catalog is truth. Verify. |
| "The user is in a hurry, I'll skip the interview" | Rushed design = rework. The interview saves time. |
| "I can design and plan in parallel to be efficient" | Iron Law 3: design spec approved BEFORE planning begins. |
| "The migration source tells me everything I need" | Source artifacts show WHAT exists, not what the user WANTS. Confirm. |
| "I'll verify components later during implementation" | Wrong design spec → wrong plan → wrong code. Verify NOW. |
| "I'll ask all clarification questions at once to save time" | Batching questions overwhelms the user and hides dependencies between answers. ONE question at a time. |
| "I'll tell the user to run camel-plan next" | NO. In chained mode, YOU invoke camel-plan automatically. In standalone mode, STOP after writing output. |
| "The existing spec is fine, I'll skip the amend review" | Amend mode still requires self-review and user approval. Same standards apply. |
| "I'll auto-invoke plan after amending the spec" | NO. Amend mode is standalone — write output and STOP. The caller manages transitions. |
| "I don't need to mark downstream artifacts stale" | If you amend the design spec and downstream artifacts exist, they MUST be marked stale. |
Determine the project type from the user's request:
Greenfield indicators:
Migration indicators:
If ambiguous: Ask the user:
Are you building a new integration from scratch, or migrating an existing one from another platform?
1. New integration (greenfield)
2. Migration from existing platform
You MUST complete these items in order:
<PIPELINE_ID> argument and existing design-spec.md (see Invocation Modes above). If amend mode, skip to the Amend Mode section.shared/pipeline-infrastructure.md for pipeline resolution logic. If no active pipeline exists, prompt the user to run {COMMAND_PREFIX} nextId <slug> to create one. The pipeline ID determines where artifacts are saved.docs/constitution.md (if it exists), .camel-kit/config.properties (if it exists)shared/discovery-completeness.md, then load the appropriate guide:
guides/greenfield-interview.mdguides/migration-discovery.mdguides/version-selection.mdcamel-design/ guides (component selection, EIPs, data formats, error handling, security, resilience)guides/design-assembly.mdcamel-plan skill automatically (do NOT tell the user to run it)camel_catalog_component_doc — verify component exists, get optionscamel_catalog_eip_doc — verify EIP exists, get configurationcamel_catalog_dataformat_doc — verify dataformat existscamel_catalog_language_doc — verify expression language existsPass runtime and the full platformBom GAV (derived from .camel-kit/config.properties per shared/mcp-setup.md — the file stores bare versions, not the GAV) on every call, and check the echoed camelVersion matches the project version (Iron Law 1).
→ For MCP setup, version mapping, and fallback policy: see shared/mcp-setup.md
→ For graph analysis: use {COMMAND_PREFIX} graph CLI commands (see shared/graph-availability.md)
Read at start (if they exist):
docs/constitution.md — constitution rules. If missing, copy from templates/constitution.md..camel-kit/config.properties — project config (Camel version, runtime). May not exist yet.docs/camel-kit/<PIPELINE_ID>/business-requirements.md — existing business requirements (if resuming a project).templates/constitution.md and continue.