Shared Execution Policy
This file is the supporting behavioral contract for /nova-plugin:explore and the deprecated /nova-plugin:nova-explore compatibility entrypoint. Prefer the direct command; the compatibility name remains only for the current major-version migration window.
- Resolve natural-language and explicit
KEY=value inputs using ../_shared/parameter-resolution.md; explicit non-conflicting values take precedence.
- Apply
../_shared/safety-preflight.md before side effects. Never infer approval, destructive scope, credentials, or output destinations.
- Follow
../_shared/output-contracts.md and ../_shared/artifact-policy.md; report completed, skipped, and blocked validation truthfully.
- Respect the frontmatter tool boundary. Missing inputs, unavailable dependencies, overlapping user changes, or repository-policy conflicts are blockers rather than permission to broaden scope.
Execution
- Parse
$ARGUMENTS against the workflow-specific inputs below.
- Read only the context required for the requested scope.
- Apply the workflow contract and its strict output format.
- Stop before unauthorized side effects; otherwise validate in proportion to risk and report residual risk.
Workflow Contract
Generated from workflow-specs/behaviors.v2.json. This block is authoritative. Run node scripts/generate-behavior-surfaces.mjs --write after changing the IR; if explanatory text below conflicts, fail closed.
Generated Behavior Index
- Purpose: Align understanding and identify unknowns or risks without proposing solutions.
- Canonical inputs:
INPUT(required aliases=REQUEST,CONTEXT); PERSPECTIVE(optional aliases=MODE default="observer" exact="observer","reviewer"); DEPTH(optional default="standard" exact="lite","standard","deep")
- Resolved variant authority:
{} normalized={"DEPTH":"standard","PERSPECTIVE":"observer"} -> runtime/contracts/explore.json; {"DEPTH":"lite","PERSPECTIVE":"observer"} normalized={"DEPTH":"lite","PERSPECTIVE":"observer"} -> runtime/contracts/explore-lite.json; {"PERSPECTIVE":"reviewer"} normalized={"DEPTH":"standard","PERSPECTIVE":"reviewer"} -> runtime/contracts/explore-review.json; {"DEPTH":"deep"} normalized={"DEPTH":"deep","PERSPECTIVE":"observer"} -> runtime/contracts/senior-explore.json. Declared selector defaults are applied before matching. An exact normalized override wins; a non-exact combination that triggers an alias specialization stops as conflicting, and only a valid combination that triggers no specialization uses the canonical fallback. The complete resolved runtime contract is authoritative and no field falls back to canonical prose.
- Claude static-entrypoint gate: Native command and Skill frontmatter are static. A matching command wrapper may continue after it has verified that its invoked command id equals
resolvedWorkflowId; this canonical Skill must not re-resolve or reject that validated wrapper. Only when this canonical Skill is itself the Claude native invoked entrypoint and no validated wrapper gate exists must resolvedWorkflowId equal explore. Otherwise STOP before tools or side effects and invoke the exact direct command /nova-plugin:<resolved commandEntrypoint.directCommandId>; never execute the specialized contract under unmatched canonical frontmatter. Generic and Codex adapters may execute the resolved contract directly under adapter enforcement.
- Decision entries: 4; canonical routes and variants:
explore {"PERSPECTIVE":"reviewer"}, explore {"PERSPECTIVE":"observer","DEPTH":"lite"}, explore {}, explore {"DEPTH":"deep"}.
- Workflow steps:
resolve-input → route → analyze → emit
- Output: mode=
chat; order=observations or what is clear → uncertainties or review questions → potential risks or risk signals; severity=none.
- Deviation/failure: mode=
forbid; failure order=status → missing input → allowed values → safe next action.
- Full IR:
runtime/contracts/explore.json#behaviorContract embeds the complete decision table, invariants, stops, field definitions, validation, and failure contract from the same source. Detailed guidance below may not override it.
Purpose
Quickly align understanding and identify unknowns/risks without proposing solutions.
Inputs
Resolve PERSPECTIVE and DEPTH first, then use the matched runtime
contract's required-input set:
| Resolved profile |
Selector |
Required inputs |
| Standard observer |
{} |
INPUT |
| Lite observer |
{"PERSPECTIVE":"observer","DEPTH":"lite"} |
INPUT |
| Reviewer |
{"PERSPECTIVE":"reviewer"} |
INPUT |
| Deep exploration |
{"DEPTH":"deep"} |
INTENT, CONTEXT |
INPUT is not required by deep exploration; that resolved contract requires
INTENT and CONTEXT.
Outputs
observer: Observations / Uncertainties / Potential risks.
reviewer: What is clear / Review questions / Risk signals.
- Default, lite, and reviewer profiles return chat output. The resolved
DEPTH=deep contract may also write the senior-explore artifact when its
explicit EXPORT_PATH and artifact-write approval are present.
Workflow
- Parse
PERSPECTIVE and DEPTH.
- Hub routing policy:
PERSPECTIVE=observer DEPTH=standard -> canonical nova-explore
PERSPECTIVE=observer DEPTH=lite -> resolved explore-lite contract
PERSPECTIVE=reviewer DEPTH=standard -> resolved explore-review contract
PERSPECTIVE=observer DEPTH=deep -> resolved senior-explore contract
- Emit structured analysis output only.
Examples
- Natural trigger:
Use explore to quickly align on this incident report.
- Explicit trigger:
explore PERSPECTIVE=reviewer INPUT="Product requirement draft".
Safety
- Do not provide solutions, implementation plans, or code.
- Separate facts from assumptions.
Detailed Contract
The quick-exploration procedure below describes the non-deep profiles. Deep
exploration follows the resolved senior-explore runtime contract and its
INTENT plus CONTEXT requirements.
QUICK EXPLORATION
You are Claude Code acting as a senior engineer / tech lead.
This command is for quick understanding and cognitive alignment, not for solving problems.
INPUT PARAMETERS
From $ARGUMENTS, extract the following:
PERSPECTIVE (Optional)
Choose the perspective for this exploration:
observer (default) → Neutral observation and fact-gathering
reviewer → Review mindset with critical questions
If not specified, use observer perspective.
PERSPECTIVE:
DEPTH (Optional)
lite → Concise fact gathering
standard (default) → Normal read-only exploration
deep → Senior analysis artifact contract; requires its resolved inputs and
explicit artifact-write approval
DEPTH:
EXECUTION RULES
- Do NOT write code
- Do NOT propose solutions or designs
- Do NOT suggest refactors or optimizations
Focus only on:
- What is clearly understood
- What is uncertain or ambiguous
- Where risks may exist due to gaps in understanding
Keep the output concise and practical.
Language constraints:
- Avoid words like: "should", "recommend", "solution", "implement"
- Prefer: "observed", "suggests", "may indicate", "unclear", "appears"
OUTPUT FORMAT (STRICT)
Output format varies based on PERSPECTIVE:
If PERSPECTIVE = observer:
Observations
- Clearly stated facts from the input
- Direct, obvious inferences (clearly labeled)
Uncertainties
- Missing information
- Ambiguous behavior or intent
- Assumptions being made
Potential risks
- Risks caused by misunderstandings or unknowns
- No mitigation or suggestions
If PERSPECTIVE = reviewer:
What is clear
- Confirmed understanding based on provided input
- Explicitly separate facts from interpretations
Review questions
- Questions a reviewer would raise
- Focus on correctness, clarity, and assumptions
- Avoid hypothetical redesign questions
Risk signals
- Correctness risks
- Boundary or edge-case risks
- Operational or maintenance risks
- No mitigation or next steps
4.0 VARIANT PROFILES
- Default or
PERSPECTIVE=observer: normal read-only exploration.
PERSPECTIVE=reviewer: former explore-review behavior.
DEPTH=lite: former explore-lite behavior.
DEPTH=deep: former senior-explore behavior; EXPORT_PATH requires explicit artifact-write scope and the shared safety preflight.
Compatibility command presets are defaults only; explicit non-conflicting user inputs win. Runtime contracts remain the complete behavior source for each variant.
END OF COMMAND
1---2name: nova-explore3description: Unified exploration Hub Skill. Route by PERSPECTIVE to observer/reviewer style outputs; analysis only, no design or implementation.4license: MIT5---67## Shared Execution Policy89This file is the supporting behavioral contract for `/nova-plugin:explore` and the deprecated `/nova-plugin:nova-explore` compatibility entrypoint. Prefer the direct command; the compatibility name remains only for the current major-version migration window.1011- Resolve natural-language and explicit `KEY=value` inputs using `../_shared/parameter-resolution.md`; explicit non-conflicting values take precedence.12- Apply `../_shared/safety-preflight.md` before side effects. Never infer approval, destructive scope, credentials, or output destinations.13- Follow `../_shared/output-contracts.md` and `../_shared/artifact-policy.md`; report completed, skipped, and blocked validation truthfully.14- Respect the frontmatter tool boundary. Missing inputs, unavailable dependencies, overlapping user changes, or repository-policy conflicts are blockers rather than permission to broaden scope.1516## Execution17181. Parse `$ARGUMENTS` against the workflow-specific inputs below.192. Read only the context required for the requested scope.203. Apply the workflow contract and its strict output format.214. Stop before unauthorized side effects; otherwise validate in proportion to risk and report residual risk.2223## Workflow Contract2425<!-- BEGIN GENERATED BEHAVIOR CONTRACT -->26> Generated from `workflow-specs/behaviors.v2.json`. This block is authoritative. Run `node scripts/generate-behavior-surfaces.mjs --write` after changing the IR; if explanatory text below conflicts, fail closed.2728### Generated Behavior Index2930- **Purpose:** Align understanding and identify unknowns or risks without proposing solutions.31- **Canonical inputs:** `INPUT`(required aliases=REQUEST,CONTEXT); `PERSPECTIVE`(optional aliases=MODE default="observer" exact="observer","reviewer"); `DEPTH`(optional default="standard" exact="lite","standard","deep")32- **Resolved variant authority:** `{} normalized={"DEPTH":"standard","PERSPECTIVE":"observer"} -> runtime/contracts/explore.json`; `{"DEPTH":"lite","PERSPECTIVE":"observer"} normalized={"DEPTH":"lite","PERSPECTIVE":"observer"} -> runtime/contracts/explore-lite.json`; `{"PERSPECTIVE":"reviewer"} normalized={"DEPTH":"standard","PERSPECTIVE":"reviewer"} -> runtime/contracts/explore-review.json`; `{"DEPTH":"deep"} normalized={"DEPTH":"deep","PERSPECTIVE":"observer"} -> runtime/contracts/senior-explore.json`. Declared selector defaults are applied before matching. An exact normalized override wins; a non-exact combination that triggers an alias specialization stops as conflicting, and only a valid combination that triggers no specialization uses the canonical fallback. The complete resolved runtime contract is authoritative and no field falls back to canonical prose.33- **Claude static-entrypoint gate:** Native command and Skill frontmatter are static. A matching command wrapper may continue after it has verified that its invoked command id equals `resolvedWorkflowId`; this canonical Skill must not re-resolve or reject that validated wrapper. Only when this canonical Skill is itself the Claude native invoked entrypoint and no validated wrapper gate exists must `resolvedWorkflowId` equal `explore`. Otherwise STOP before tools or side effects and invoke the exact direct command `/nova-plugin:<resolved commandEntrypoint.directCommandId>`; never execute the specialized contract under unmatched canonical frontmatter. Generic and Codex adapters may execute the resolved contract directly under adapter enforcement.34- **Decision entries:** 4; canonical routes and variants: `explore {"PERSPECTIVE":"reviewer"}`, `explore {"PERSPECTIVE":"observer","DEPTH":"lite"}`, `explore {}`, `explore {"DEPTH":"deep"}`.35- **Workflow steps:** `resolve-input` → `route` → `analyze` → `emit`36- **Output:** mode=`chat`; order=`observations or what is clear` → `uncertainties or review questions` → `potential risks or risk signals`; severity=none.37- **Deviation/failure:** mode=`forbid`; failure order=`status` → `missing input` → `allowed values` → `safe next action`.38- **Full IR:** `runtime/contracts/explore.json#behaviorContract` embeds the complete decision table, invariants, stops, field definitions, validation, and failure contract from the same source. Detailed guidance below may not override it.39<!-- END GENERATED BEHAVIOR CONTRACT -->4041### Purpose4243Quickly align understanding and identify unknowns/risks without proposing solutions.4445### Inputs4647Resolve `PERSPECTIVE` and `DEPTH` first, then use the matched runtime48contract's required-input set:4950| Resolved profile | Selector | Required inputs |51| --- | --- | --- |52| Standard observer | `{}` | `INPUT` |53| Lite observer | `{"PERSPECTIVE":"observer","DEPTH":"lite"}` | `INPUT` |54| Reviewer | `{"PERSPECTIVE":"reviewer"}` | `INPUT` |55| Deep exploration | `{"DEPTH":"deep"}` | `INTENT`, `CONTEXT` |5657`INPUT` is not required by deep exploration; that resolved contract requires58`INTENT` and `CONTEXT`.5960### Outputs6162- `observer`: `Observations / Uncertainties / Potential risks`.63- `reviewer`: `What is clear / Review questions / Risk signals`.64- Default, lite, and reviewer profiles return chat output. The resolved65 `DEPTH=deep` contract may also write the senior-explore artifact when its66 explicit `EXPORT_PATH` and artifact-write approval are present.6768### Workflow69701. Parse `PERSPECTIVE` and `DEPTH`.712. Hub routing policy:7273- `PERSPECTIVE=observer DEPTH=standard` -> canonical `nova-explore`74- `PERSPECTIVE=observer DEPTH=lite` -> resolved `explore-lite` contract75- `PERSPECTIVE=reviewer DEPTH=standard` -> resolved `explore-review` contract76- `PERSPECTIVE=observer DEPTH=deep` -> resolved `senior-explore` contract773. Emit structured analysis output only.7879### Examples8081- Natural trigger: `Use explore to quickly align on this incident report.`82- Explicit trigger: `explore PERSPECTIVE=reviewer INPUT="Product requirement draft"`.8384### Safety8586- Do not provide solutions, implementation plans, or code.87- Separate facts from assumptions.8889## Detailed Contract9091The quick-exploration procedure below describes the non-deep profiles. Deep92exploration follows the resolved `senior-explore` runtime contract and its93`INTENT` plus `CONTEXT` requirements.9495### QUICK EXPLORATION9697You are Claude Code acting as a senior engineer / tech lead.9899This command is for quick understanding and cognitive alignment, not for solving problems.100101---102103#### INPUT PARAMETERS104105From `$ARGUMENTS`, extract the following:106107##### PERSPECTIVE (Optional)108109Choose the perspective for this exploration:110111- `observer` (default) → Neutral observation and fact-gathering112- `reviewer` → Review mindset with critical questions113114If not specified, use `observer` perspective.115116PERSPECTIVE:117<PERSPECTIVE>118119##### DEPTH (Optional)120121- `lite` → Concise fact gathering122- `standard` (default) → Normal read-only exploration123- `deep` → Senior analysis artifact contract; requires its resolved inputs and124 explicit artifact-write approval125126DEPTH:127<DEPTH>128129---130131#### EXECUTION RULES132133- Do NOT write code134- Do NOT propose solutions or designs135- Do NOT suggest refactors or optimizations136137Focus only on:138139- What is clearly understood140- What is uncertain or ambiguous141- Where risks may exist due to gaps in understanding142143Keep the output concise and practical.144145Language constraints:146147- Avoid words like: "should", "recommend", "solution", "implement"148- Prefer: "observed", "suggests", "may indicate", "unclear", "appears"149150---151152#### OUTPUT FORMAT (STRICT)153154Output format varies based on PERSPECTIVE:155156##### If PERSPECTIVE = observer:157158###### Observations159160- Clearly stated facts from the input161- Direct, obvious inferences (clearly labeled)162163###### Uncertainties164165- Missing information166- Ambiguous behavior or intent167- Assumptions being made168169###### Potential risks170171- Risks caused by misunderstandings or unknowns172- No mitigation or suggestions173174---175176##### If PERSPECTIVE = reviewer:177178###### What is clear179180- Confirmed understanding based on provided input181- Explicitly separate facts from interpretations182183###### Review questions184185- Questions a reviewer would raise186- Focus on correctness, clarity, and assumptions187- Avoid hypothetical redesign questions188189###### Risk signals190191- Correctness risks192- Boundary or edge-case risks193- Operational or maintenance risks194- No mitigation or next steps195196---197198#### 4.0 VARIANT PROFILES199200- Default or `PERSPECTIVE=observer`: normal read-only exploration.201- `PERSPECTIVE=reviewer`: former `explore-review` behavior.202- `DEPTH=lite`: former `explore-lite` behavior.203- `DEPTH=deep`: former `senior-explore` behavior; `EXPORT_PATH` requires explicit artifact-write scope and the shared safety preflight.204205Compatibility command presets are defaults only; explicit non-conflicting user inputs win. Runtime contracts remain the complete behavior source for each variant.206207#### END OF COMMAND