Agent skill
review-process
Audit a Zeebe BPMN process and its glue-code (workers, process adapter, tests) for consistency and coverage, producing a structured report written to `.claude/temp/`. Use when the user asks to "review the newsletter process", "audit a BPMN process", "check process consistency", or "use the review-process subagent". Checks task-type coverage, message coverage, ProcessApi consistency, variable coverage, test coverage, and BPMN styleguide compliance.
Install this agent skill to your Project
npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/other/other/review-process
SKILL.md
Skill: review-process
Review a BPMN process model and its glue-code for consistency, coverage, and correctness. Produce a structured consistency report and write it to a file at the end.
IMPORTANT
- You are a read-only agent, only reviewing processes.
- Never write anything to a source-file - other than your report
- Write your output to the temp-folder
.claude/tempin a filereview-<process>.md - If the bpmn-model to review could not be found ask the user to provide a concrete path
Instructions
To perform the review of a process, execute the following steps in order:
Step 1 – Locate and read the BPMN file
Search for the .bpmn file in src/main/resources/bpmn/ matching the process name given. If you cannot find a file,
ask the user to provide a path to it.
If you found a matching file, read the file and extract:
- Service task types (
zeebe:taskDefinition typeattribute values) - Message names (
<bpmn:message name="...">values) - Process variables referenced in expressions or I/O mappings
- Process ID (
<bpmn:process id="...">) - Element IDs for all service tasks, events, and gateways
- Timer definitions and boundary event types
Step 1b – Read the BPMN styleguide
Read docs/bpmn-styleguide/styleguide.md. Extract the conventions for:
- Element ID format:
Type_Namein CamelCase (e.g.serviceTask_SendWelcomeMail) - Message ID format:
<serviceName>.<state>— both parts CamelCase (e.g.newsletter.subscriptionConfirmed) - Type ID format:
<serviceName>.<elementIdWithoutTypePrefix>— both parts CamelCase (e.g.newsletter.sendWelcomeMail) - Naming rules: tasks (verb + noun), events (noun + past tense), gateways (short question)
If the styleguide does not exist, quit with an according error-message
Step 2 – Read the ProcessApi file
Locate the ProcessApi file (typically in adapter/process/). Read and extract:
PROCESS_IDconstant- All
TaskTypes.*constants - All
Messages.*constants - All
Variables.*constants - All
Elements.*constants
If you cannot find a ProcessApi, ask the user to provide a path.
Step 3 – Discover and read workers and tests
Locate all files in adapter/inbound/zeebe/. For each worker, identify:
- The
@JobWorker(type = ...)value and which ProcessApi constant it references - The
@Variableparameters used
If none are found this can be a valid output either. However, mark this in your final report, in case the processModel defines serviceTasks. In this case, it should be reviewed by the user.
Step 4 – Read the process out-adapter and tests
Locate the process out-adapter in adapter/outbound/zeebe/. For each public method, identify:
- Whether it calls
startProcessorsendMessage - Which
processIdandmessageNameconstants it uses
If none are found this can be a valid output either. However, mark this in your final report, in case the processModel defines messages. In this case, it should be reviewed by the user.
Step 5 – Read the process test
Locate the process integration test (typically in test/.../adapter/process/). Identify:
- Which process paths are tested (happy path, timer expiry, abort, etc.)
- Which elements are asserted with
hasCompletedElement
Step 6 – Produce the consistency report
Output a structured report with these sections:
Task Type Coverage: For each service task in the BPMN, report whether a worker exists. Flag BPMN tasks without a worker and workers without a BPMN task.
Message Coverage: For each message in the BPMN, report whether the process adapter has a corresponding method. Flag gaps.
ProcessApi Consistency: Compare ProcessApi constants against actual BPMN values. Flag mismatches and warn about raw string literals in workers or adapters.
Variable Coverage: List variables used in workers and adapters. Verify they appear in Variables.* in the
ProcessApi.
Test Coverage: For each identified process path, report whether a test exists that covers it. Also report whether each worker and process-adapter are covered as well
Styleguide Compliance: Check the BPMN model against the conventions loaded in Step 1b:
- For each service task, event, and gateway: verify the element ID matches the
Type_NameCamelCase pattern - For each message: verify the message name matches the
<serviceName>.<state>CamelCase pattern - For each task type (job type): verify it matches the
<serviceName>.<elementIdWithoutTypePrefix>pattern - Flag element IDs that use auto-generated values (e.g.
Activity_0xf83kz) or that deviate from the convention - Flag task/event names that do not follow verb+noun (tasks) or noun+past-tense (events) conventions
Summary: Overall assessment — ✅ consistent / ⚠️ minor gaps / ❌ significant issues — with actionable next steps.
Step 7 – Write the report to a file
Determine the output file path as .claude/temp/<processName>-review.md, where
<processName> is the kebab-case process name derived from the process ID
(e.g. process ID newsletter-subscription → file docs/newsletter-process-review.md).
Prepend a metadata header to the report:
**Date:**set to today's date**Process file:**set to the relative BPMN path**Process ID:**set to the process ID
Write the complete report (header and all sections from Step 6) to the output file. Confirm the file path to the user.
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
agent-ops-spec
Manage specification documents in .agent/specs/. Use when user provides requirements, acceptance criteria, or feature descriptions that need to be tracked and validated against implementation.
agent-ops-state
Maintain .agent state files. Use at session start, after meaningful steps, and before concluding: read/update constitution/memory/focus/issues/baseline consistently.
agent-ops-spec
Manage specification documents in .agent/specs/. Use when user provides requirements, acceptance criteria, or feature descriptions that need to be tracked and validated against implementation.
agent-ops-testing
Test strategy, execution, and coverage analysis. Use when designing tests, running test suites, or analyzing test results beyond baseline checks.
agent-ops-testing
Test strategy, execution, and coverage analysis. Use when designing tests, running test suites, or analyzing test results beyond baseline checks.
agent-ops-state
Maintain .agent state files. Use at session start, after meaningful steps, and before concluding: read/update constitution/memory/focus/issues/baseline consistently.
Didn't find tool you were looking for?