一键导入
aibdd-form-activity
將上游 `/aibdd-flows-specify` 產出的 Activity modeling elements 逐一翻譯成 `.activity` DSL,寫入檔案並執行語法驗證。
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
將上游 `/aibdd-flows-specify` 產出的 Activity modeling elements 逐一翻譯成 `.activity` DSL,寫入檔案並執行語法驗證。
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
| name | aibdd-form-activity |
| description | 將上游 `/aibdd-flows-specify` 產出的 Activity modeling elements 逐一翻譯成 `.activity` DSL,寫入檔案並執行語法驗證。 |
| metadata | {"user-invocable":false,"source":"project-level dogfooding"} |
Formulation skill。只負責把 /aibdd-flows-specify 的 02-activity-analyze 已完成的 Activity modeling elements 轉成 .activity 語法;不重新判斷 actor 合法性、action 顆粒度、reuse、operation partition、或需求語意。
| ID | Path | Phase scope | Purpose |
|---|---|---|---|
| R1 | aibdd-core::ssot/spec-package-paths.md | global | kickoff boundary-aware path SSOT |
| R2 | references/role-and-contract.md | Phase 1 | caller payload schema + role boundary |
| R3 | references/format-reference.md | Phase 2 | Activity element → .activity syntax mapping |
| R4 | scripts/decoder.py | Phase 4 | .activity DSL decoder(同時為 SKILL.md Phase 4 syntax validator 與 BDD subject;spec SSOT = scripts/tests/activity-decode.feature + scripts/tests/activity-benchmark.feature) |
produces:
$$payload,$$target_path,$$format,$$activity
$contract = READ references/role-and-contract.md$$payload = READ caller payload$$target_path = PARSE $$payload.target_path$$format = PARSE $$payload.format$reasoning = PARSE $$payload.reasoning$$activity = PARSE $reasoning.activity_analysis.activity$graph_gaps = PARSE $reasoning.activity_analysis.graph_gaps$exit_status = PARSE $reasoning.activity_analysis.exit_status$payload_ok = JUDGE $$payload against $contract$payload_ok$$target_path non-empty$$format == ".activity"$$activity.name non-empty$$activity.initial exists$$activity.finals) >= 1$$activity.nodes is one of Action | Decision | Fork | Merge | Join$exit_status == "complete"$graph_gaps) == 0produces:
$$activity_doc
$syntax_map = READ references/format-reference.md$header = RENDER [ACTIVITY] ${$$activity.name}$actors = RENDER one [ACTOR] line per $$activity.actors[]$initial = RENDER [INITIAL]$node_lines = DERIVE empty line list$node in $$activity.nodes
6.1 BRANCH $node.type
ui_step | command | query:
6.1.1 $line = RENDER Action as [STEP:${$node.display_id}] @${actor.name} ${$node.name} {${$node.binds_feature}}
decision:
6.1.2 $line = RENDER Decision as [DECISION:${$node.display_id}] ${$node.condition}
6.1.3 $path_lines = RENDER every decision_path as [BRANCH:${$node.display_id}:${path.guard}]
fork:
6.1.4 $line = RENDER Fork as [FORK:${$node.display_id}]
6.1.5 $path_lines = RENDER every fork_path as [PARALLEL:${$node.display_id}]
merge:
6.1.6 $line = RENDER Merge as [MERGE:${$node.display_id}]
join:
6.1.7 $line = RENDER Join as [JOIN:${$node.display_id}]
6.2 $node_lines = DERIVE append $line and $path_lines
END LOOP$finals = RENDER one [FINAL] line per $$activity.finals[]$$activity_doc = RENDER .activity document from $header, $actors, $initial, $node_lines, and $finals$$activity_doc contains [ACTIVITY], [INITIAL], and [FINAL]produces:
$$written_paths
$target_exists = MATCH path_exists($$target_path)$target_exists ∧ $$payload.mode != "overwrite":
2.1 $msg = DRAFT "path 衝突:target_path 已存在,caller 需指定 mode=overwrite 或改 target_path"
2.2 RETURN $msg$$target_path ← $$activity_doc$$written_paths = DERIVE [$$target_path]$$target_path in $$written_pathsproduces:
$$validation_report
$validator = COMPUTE scripts/decoder.py$validation_out = TRIGGER python3 ${$validator} ${$$target_path}$$validation_report = PARSE $validation_out, schema=activity-syntax-validation-report$$validation_report.ok == trueproduces:
$$report
$$report = DRAFT report JSON ← {status: "completed", target_path: $$target_path, written_paths: $$written_paths, syntax_valid: $$validation_report.ok, validation_report: $$validation_report}$$reporttarget_path 未指定: RETURN "target_path missing"format != ".activity": RETURN "format unsupported"reasoning.activity_analysis.activity 缺失: RETURN "activity modeling elements missing".activity tag: RETURN element formulation errortarget_path 已存在且 mode != overwrite: RETURN path conflict${$$target_path}.report ← $$report/aibdd-flows-specify(flow/activity modeling)DELEGATE。當要把一筆需求對齊進 plan package 時觸發,這筆需求可以是對既有規格的變更或缺陷,也可以是要落到既有或全新 plan package 的全新需求。把這筆需求追加進 spec.md 並校準 impact matrix。
跨 skill 共用資源庫,本身不會被執行,只存放供其他 skill 載入的共用資源(reference/asset/script)。
Turn a legal Red handoff for target feature files green by verifying drift, editing product code only, detecting failure oscillation, and emitting a Green handoff. TRIGGER when Green execute is requested after aibdd-red-execute. SKIP when no legal Red handoff exists or the request is test, DSL, runtime, or architecture repair.
當 reconcile 校準 impact matrix 後、本 owner 名下有 pending impact 待落成 persistent data schema 時觸發。以 `read --owner aibdd-data-plan --impact-status pending` 為 worklist,依 Discovery 真相(spec.md/feature truth)把須穩定保存的系統狀態推論成 state schema、在草稿上收斂後委派 boundary profile 宣告之 state_specifier 落地至 `${DATA_DIR}`,最後回寫 impact matrix。
Build the entity-to-table mapping (`entity_to_table_mapping.yml`) from a boundary's physical schema specs (DBML / SQL DDL), preserving existing entity names and naming new tables from the plan spec.
Create legal AIBDD red for target feature files by loading project config, mapping every Scenario step to DSL and core preset assets, rendering runtime-visible step definitions, and emitting a Red handoff. TRIGGER when Red execute is requested or delegated by implementation/debug flow. SKIP when the feature package or BDD stack config is absent.