REFERENCE · SKILLS

Skills

Synthex exposes the same commands and agents to several harnesses, each through the entrypoint that harness understands. This page lists all four kinds, what each one contains, and which entries you are meant to call yourself.

At a glance

KindLives inUsed byCountYou invoke it?
Claude Code slash commandscommands/*.mdClaude Code22Yes
Workflow enginesworkflows/*.jsClaude Code2No: commands call them
Portable Agent Skillsportable-skills/*/SKILL.mdCodex, Grok, Gemini CLI, OpenCode, Hermes47Command skills yes; agent skills no
Cursor Task agentscursor-agents/*.mdCursor25No: subagents, not skills

All paths are relative to plugins/synthex/. Every one of these is a thin entrypoint. The behavior lives in commands/*.md and agents/*.md, which are the single source of truth for every harness.

Claude Code slash commands

Each file in commands/ is registered in .claude-plugin/plugin.json and appears in Claude Code as /synthex:<name>. All of them are meant to be run by you. The model tier comes from each command's frontmatter; a command with no model: runs on your session's model.

CommandModelPurpose
init/synthex:inithaikuScaffold .synthex/config.yaml and the docs directories
configure-multi-model/synthex:configure-multi-modelhaikuEnable or reconfigure multi-model code review
configure-teams/synthex:configure-teamshaikuEnable or reconfigure standing review pool routing
dismiss-upgrade-nudge/synthex:dismiss-upgrade-nudgehaikuSilence the upgrade nudge for this project
star/synthex:starhaikuOffer to star the Lumenai repo on GitHub
loop/synthex:loopsonnetRun any prompt in a loop until a completion promise or max iterations
list-loops/synthex:list-loopshaikuList running and recent loops
cancel-loop/synthex:cancel-loophaikuCancel a running loop
next-priority/synthex:next-priorityopusExecute the next highest-priority plan tasks
refine-requirements/synthex:refine-requirementsopusMulti-agent review of a PRD, then apply the edits
write-implementation-plan/synthex:write-implementation-planopusTurn a PRD into an implementation plan
review-code/synthex:review-codesonnetCraftsmanship, security, and optional performance review
write-adr/synthex:write-adropusWrite an Architecture Decision Record
write-rfc/synthex:write-rfcopusWrite a Request for Comments
test-coverage-analysis/synthex:test-coverage-analysishaikuFind test coverage gaps, optionally write tests
design-system-audit/synthex:design-system-auditsonnetAudit the frontend for design-system compliance
retrospective/synthex:retrospectivehaikuRun a structured end-of-cycle retrospective
reliability-review/synthex:reliability-reviewsonnetAssess operational readiness
performance-audit/synthex:performance-auditsonnetFull-stack performance audit
start-review-team/synthex:start-review-teamsessionStart a standing review pool
stop-review-team/synthex:stop-review-teamsessionStop one or all standing review pools
list-teams/synthex:list-teamssessionList standing pools and per-invocation teams

Claude Code also registers the 25 files in agents/ as plugin subagents. Commands and other agents delegate to them; they are not slash commands.

Claude Code Workflow engines

Two scripts in workflows/ are Claude Code Workflow scripts. Claude Code discovers them from that directory without a manifest entry. They are the opt-in workflow engines:

WorkflowCalled byWhen
synthex:review-code-enginereview-code/synthex:review-codecode_review.engine: workflow and a Workflow tool is available
synthex:loop-engineevery --loop command and loop/synthex:loopnative_looping.engine: workflow, a Workflow tool is available, and --loop-isolated is not set

Both config keys ship as prose, so neither engine runs until you turn it on:

# .synthex/config.yaml
code_review:
  engine: workflow # prose | workflow
native_looping:
  engine: workflow # prose | workflow

Don't run them yourself. Claude Code registers each workflow under its own name, so both show up in the slash menu (synthex:review-code-engine and synthex:loop-engine). They expect arguments that only the calling command supplies. The loop engine says so in its own metadata: run directly, it returns a harmless fallback result. The review engine, run directly, skips the command's config checks and review loop and has no diff to review. Use review-code/synthex:review-code and the --loop flags instead. (The workflows are deliberately not named review-code or loop: a workflow name would shadow the command of the same name.)

Headless runs have nobody to approve the Workflow call, so add a permission allow rule ahead of time: Workflow(synthex:loop-engine) for the loop engine and Workflow(synthex:review-code-engine) for the review engine (or run in auto or bypass mode).

Portable Agent Skills

portable-skills/ holds one Agent Skills folder per command and one per agent: 22 command skills and 25 agent skills. scripts/generate-codex-skills.mjs generates them (its --check mode reports any that have drifted from their sources). Each SKILL.md carries a name, a description, and (for commands) an argument-hint, then tells the host to read the matching commands/ or agents/ file and follow it.

These are what Codex, Grok, Gemini CLI, OpenCode, and Hermes load. How you call one depends on the host:

  • Codex: mention it with $, for example $review-code, or pick it from /skills.
  • Grok: review-code/synthex:review-code, or /review-code when the name is unambiguous.
  • Gemini CLI, OpenCode, Hermes: through the host's own skill mechanism. See Agent compatibility.

Command skills

Every command skill is meant for you to invoke.

SkillArgumentsPurpose
cancel-loop<loop_id> | --allMark a running loop cancelled; checked at the next iteration boundary. Idempotent.
configure-multi-model[config_path]Enable or reconfigure multi-model code review.
configure-teams[config_path]Enable or reconfigure standing review pool routing.
design-system-audit[scope]Audit the frontend for design-token violations, misused components, and accessibility.
dismiss-upgrade-nudge(no arguments)Silence the upgrade nudge for this project.
init[config_path]Scaffold .synthex/config.yaml and the docs directories.
list-loops(no arguments)List running and recent loops in .synthex/loops/. Read-only.
list-teams(no arguments)List standing pools and per-invocation teams with roster, tasks, and TTL.
loop--prompt <string> | --prompt-file <path> [--max-iterations <int>]Run any prompt in a loop until a completion promise or max iterations.
next-priority[implementation_plan_path] [--loop]Execute the next highest-priority plan tasks through the Tech Lead.
performance-audit[scope] [url]Full-stack performance audit against budgets, with fixes.
refine-requirements[requirements_path] [specs_path] [--loop]Multi-agent review of a PRD for clarity and completeness, then apply the edits.
reliability-review[scope]Assess operational readiness: SLOs, observability, runbooks, deployment risk.
retrospective[scope] [implementation_plan_path]Structured end-of-cycle retrospective combining metrics and qualitative findings.
review-code[target] [--loop]Craftsmanship, security, and optional performance review of a diff or file set.
star(no arguments)Offer to star the Lumenai repo on GitHub.
start-review-team[name] [reviewers] [multi_model] [ttl_minutes]Start a standing review pool that review commands route to.
stop-review-team[name] | --all [--force]Shut down one or all standing review pools, draining in-flight tasks first.
test-coverage-analysis[scope] [write_tests]Analyze test coverage gaps, optionally writing tests for the top gaps.
write-adr<title>Write an Architecture Decision Record with the Architect.
write-implementation-plan[requirements_path] [plan_path] [--loop]Turn a PRD into a prioritized, parallelizable implementation plan.
write-rfc<title>Write an RFC with PM, Architect, and Security review.

Standing review pool commands need Claude Code's Agent Teams tools. On other hosts they print a notice and stop; use review-code or performance-audit instead.

Agent skills

Agent skills are for commands and other agents to delegate to, not for you to start a workflow with. Every agent SKILL.md sets user-invocable: false, which keeps it out of Grok's slash menu, and ships an agents/openai.yaml with allow_implicit_invocation: false, so Codex never picks one on its own. Codex still lets you mention a specialist by name (for example $architect) if you want to talk to that role directly.

The internal helpers in the table are plumbing for multi-model review and standing pools. The commands call them; there is no reason to invoke them by hand.

SkillRolePurpose
architectSpecialistReviews architecture, feasibility, and trade-offs; writes ADRs and RFC sections.
code-reviewerSpecialistReviews code for craftsmanship, correctness, conventions, and reuse.
design-system-agentSpecialistOwns design tokens and the component library; audits design-system compliance.
lead-frontend-engineerSpecialistLeads frontend delivery: UI, UX quality, accessibility, design-system use.
metrics-analystSpecialistReports DORA, HEART, and AARRR metrics and tracks OKRs.
performance-engineerSpecialistAnalyzes Core Web Vitals, queries, and bundles, with quantified fixes.
product-managerSpecialistGathers requirements and turns them into a prioritized implementation plan.
quality-engineerSpecialistDesigns test strategy, writes tests, and analyzes coverage gaps.
retrospective-facilitatorSpecialistRuns a structured retrospective with a bounded list of improvement items.
security-reviewerSpecialistReviews code for vulnerabilities, secret leaks, and access-control defects.
sre-agentSpecialistDefines SLOs, designs observability, writes runbooks, assesses deployment risk.
tech-leadSpecialistPrimary coding and orchestration agent; implements features and delegates.
technical-writerSpecialistWrites API docs, user guides, migration guides, and changelogs.
terraform-plan-reviewerSpecialistReviews terraform plan output for cost, security, and destructive changes.
ux-researcherSpecialistProduces research plans, personas, journey maps, and Opportunity Solution Trees.
multi-model-review-orchestratorInternal helperFans a review out to native and external proposers in parallel and consolidates findings.
findings-consolidatorInternal helperDeduplicates and merges findings from multiple reviewers into one attributed list.
bedrock-review-prompterInternal helperAdapter that runs AWS Bedrock as an external review proposer.
claude-review-prompterInternal helperAdapter that runs a second Claude CLI session as an external review proposer.
codex-review-prompterInternal helperAdapter that runs the OpenAI Codex CLI as an external review proposer.
gemini-review-prompterInternal helperAdapter that runs the Gemini CLI as an external review proposer.
llm-review-prompterInternal helperAdapter that runs Simon Willison's llm CLI as an external review proposer.
ollama-review-prompterInternal helperAdapter that calls a local Ollama server as an external review proposer.
standing-pool-submitterInternal helperSubmits review tasks to a standing pool and waits for the consolidated report.
standing-pool-cleanupInternal helperRemoves a stale standing pool's index entry and metadata directory.

Cursor Task agents

cursor-agents/ holds one wrapper per agent (25 files), generated by the same script. These are Cursor subagents for the Task tool, not skills. Each file has Cursor frontmatter (name, description, model: inherit, readonly) and points at the canonical agents/<name>.md.

To use them in your project, copy or symlink cursor-agents/ into .cursor/agents/, or merge in the roles you want.

Advisory and gate-only roles are readonly: true, so the Task tool withholds write tools from them:

  • architect, code-reviewer, security-reviewer, performance-engineer, terraform-plan-reviewer
  • metrics-analyst, retrospective-facilitator, ux-researcher
  • findings-consolidator
  • bedrock-review-prompter, claude-review-prompter, codex-review-prompter, gemini-review-prompter, llm-review-prompter, ollama-review-prompter

Every other agent (the implementers and orchestrators, such as tech-lead, product-manager, and multi-model-review-orchestrator) is readonly: false. Background versus foreground is chosen per Task call, not in the wrapper.

Next