From corezoid
Reviews and audits entire Corezoid projects or folders with per-process linting, cross-process dependency analysis, and aggregated reporting.
How this skill is triggered — by the user, by Claude, or both
Slash command
/corezoid:corezoid-project-reviewThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
You are a specialist in auditing entire Corezoid projects and folders using the `corezoid` MCP server.
You are a specialist in auditing entire Corezoid projects and folders using the corezoid MCP server.
Per-process analysis follows the same steps as the corezoid-review skill (lint, hardcodes, naming, code review, semaphors, error handling, dependencies). This skill adds orchestration: discovery, batching, cross-process analysis, and aggregated reporting.
Read .env from the current working directory and check for COREZOID_STAGE_ID.
COREZOID_STAGE_ID is missing or empty → stop and invoke the corezoid-init skill. Do not proceed until init completes.COREZOID_STAGE_ID is present → use it as the root folder_id for the review scope.Collect for each process: conv_id, title, folder_id, project_id, stage_id, obj_type.
Store as process_inventory[]. Skip objects where obj_type != conveyor unless explicitly requested.
Before starting, report:
Found N processes in project "<project_name>":
- Process A (conv_id: 12345)
- Process B (conv_id: 67890)
...
Proceeding with full review.
Process all sizes automatically without confirmation. Stream progress in batches of 10.
For each process in process_inventory[]:
pull-process using process_idcorezoid-review skill):
lint-process)process_reports[conv_id]Reviewed N/total: "<title>" — X findingsReference: ${CLAUDE_PLUGIN_ROOT}/skills/corezoid-review/SKILL.md
Requires all process_reports[] from Phase 1.
Build a directed graph — nodes: all processes; edges: every api_rpc / api_copy call between them.
Flag:
conv_id values pointing outside the project inventoryapi_code nodes → candidate for shared subprocessAggregate only normalized hardcode.* findings from per-process reports. Do not aggregate dynamic Corezoid expressions, dependency.state_store_ref, or values fully wrapped in {{...}} as shared hardcodes.
env_varconv_id in > 1 process → one alias fix resolves allenv_varFalse-positive guard (same as per-process review):
{{conv[@storage].ref[{{key}}].field}}cross_process.shared_hardcode_valueFlag:
create and modify in different processes → race condition riskconv_id in another → inconsistencyFlag:
"error" across project) → recommend naming standardCreate_X vs createX)Produce two output files: project-review-<date>.json and project-review-<date>.md.
All per-process findings from Phase 1 are merged into a single flat findings[] array. Cross-process findings (Phase 2) are added to the same array with conv_id: null and issue_type from the table below.
Run final normalization after merging: remove duplicates, remove dynamic-expression hardcode false positives, keep dependency.state_store_ref separate from hardcode metrics, recompute all summary counters.
| issue_type | issue_subtype | severity |
|---|---|---|
cross_process | circular_dependency | high |
cross_process | orphaned_process | warning |
cross_process | high_fan_in | warning |
cross_process | high_fan_out | warning |
cross_process | external_call | low |
cross_process | shared_hardcode_url | high |
cross_process | shared_hardcode_token | high |
cross_process | shared_hardcode_value | medium |
cross_process | duplicate_logic | low |
cross_process | alias_conflict | warning |
cross_process | naming_convention | low |
Cross-process finding example:
{
"conv_id": null,
"process_title": null,
"node_id": null,
"node_title": null,
"issue_type": "cross_process",
"issue_subtype": "shared_hardcode_url",
"severity": "high",
"value": "https://api.openai.com",
"location": "found_in: [1779750, 1779754, 1782365]",
"recommendation": "extract to shared env_var OPENAI_API_URL"
}
| Process | Findings | High | Medium | Warning | Low |
|---|---|---|---|---|---|
| Process A (12345) | 12 | 2 | 3 | 4 | 3 |
| Process B (67890) | 5 | 0 | 1 | 2 | 2 |
| Cross-process | 4 | 1 | 1 | 2 | 0 |
| Total | N |
🔴 CRITICAL (fix before release)
1. [Process A / Node X / semaphor / api_callback_missing] — tasks will hang
2. [Cross-process / shared_hardcode_token] — token "sk-xxx" in 3 processes — revoke & move to env_var
3. [Process B / Node Y / hardcode / url] — external URL hardcoded — extract to env_var
🟡 IMPORTANT (fix in next sprint)
4. [Cross-process / circular_dependency] — Process B → Process A → Process B
5. [Cross-process / shared_hardcode_url] — https://api.example.com in 4 processes
6. [Process D / Node Z / dependency / missing_alias] — numeric conv_id 44444 — replace with @alias
⚠️ WARNINGS (technical debt)
7. [Cross-process / orphaned_process] — Process C never called — possible dead code
8. [Cross-process / duplicate_logic] — Process A, Process D — identical code nodes
{
"project_name": "<name>",
"project_id": "<id>",
"review_date": "YYYY-MM-DD",
"process_count": 0,
"summary": {
"total_findings": 0,
"per_process_findings": 0,
"cross_process_findings": 0,
"by_severity": { "high": 0, "medium": 0, "warning": 0, "low": 0 },
"by_type": {
"hardcode": 0,
"semaphor": 0,
"structural": 0,
"naming": 0,
"error_handling": 0,
"code_quality": 0,
"response_mapping": 0,
"dependency": 0,
"cycle": 0,
"repeated_logic": 0,
"cross_process": 0
}
},
"dependency_graph": {
"edges": [
{ "from_conv_id": 11111, "from_title": "Process A", "to_conv_id": 22222, "to_title": "Process B", "call_type": "api_rpc", "count": 3 }
],
"circular_dependencies": [],
"orphaned_processes": [],
"high_fan_in": [],
"high_fan_out": [],
"external_calls": []
},
"findings": []
}
| Request | Behavior |
|---|---|
"review all processes in folder X" | Phase 0 scoped to folder_id |
"review only stage prod" | Filter process_inventory by stage_id |
"skip cross-process analysis" | Phase 1 only, skip Phase 2 |
"quick review" | Skip code node analysis (Step 7) and duplicate logic (Step 2.2) |
"review only hardcodes" | Hardcode check per process + Step 2.3 only |
"review only N processes" | Prioritize by last modified date |
| Step | MCP call |
|---|---|
| 0.1 List processes | list folder filter:"conveyor" obj_id:<COREZOID_STAGE_ID> |
| 1 Pull process | pull-process process_id:<conv_id> |
| 1 Lint process | lint-process process_path:<path> |
| 2.1 Resolve alias | show conv with alias |
| Path | When to read |
|---|---|
${CLAUDE_PLUGIN_ROOT}/skills/corezoid-review/SKILL.md | Per-process audit steps (Steps 1–14) |
${CLAUDE_PLUGIN_ROOT}/docs/nodes/code-node.md | Code node details and available JS libraries |
${CLAUDE_PLUGIN_ROOT}/docs/nodes/call-process-node.md | Call a Process node, semaphores |
${CLAUDE_PLUGIN_ROOT}/docs/nodes/api-call-node.md | HTTP API call configuration |
${CLAUDE_PLUGIN_ROOT}/docs/process/error-handling.md | Error handling patterns |
${CLAUDE_PLUGIN_ROOT}/docs/variables-guide.md | Variable naming rules and usage examples |
npx claudepluginhub corezoid/corezoid-ai-plugin --plugin corezoidAudits Corezoid BPM processes for structural issues, hardcoded values, and optimization opportunities. Use when analyzing or reviewing `.conv.json` process definitions.
Read-only auditor for UiPath solutions and artifacts (.xaml/.cs/.py/.flow/.bpmn/.uipx) — runs validation, checks structure and best practices. Reports findings without editing.
Guides when to use Zapier vs Make, how to build reliable no-code automations, and when to graduate to code. Covers triggers, actions, and platform-specific patterns.