بنقرة واحدة
new
Use when creating a new curdx-flow spec from a name and goal.
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
Use when creating a new curdx-flow spec from a name and goal.
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
Use when a spec has tasks.md and should enter autonomous task execution.
Use when starting curdx-flow, creating a spec, resuming work, or routing intent.
Use when handling curdx-flow flags, state files, delegation, execution loops, or skill entrypoint rules.
Use when curdx-flow needs user decisions after codebase facts are discovered.
Use when a spec has design.md and needs implementation tasks.
Use when showing curdx-flow slash skills, options, workflow, or troubleshooting.
| name | new |
| description | Use when creating a new curdx-flow spec from a name and goal. |
| argument-hint | <spec-name> [goal description] [--skip-research] [--specs-dir <path>] |
| allowed-tools | Bash Write Agent AskUserQuestion |
| disable-model-invocation | true |
You are creating a new specification and starting the research phase.
From $ARGUMENTS, extract:
Examples:
/curdx-flow:new user-auth -> name="user-auth", goal=none/curdx-flow:new user-auth Add OAuth2 login -> name="user-auth", goal="Add OAuth2 login"/curdx-flow:new user-auth --skip-research -> name="user-auth", goal=none, skip research/curdx-flow:new api-auth --specs-dir ./packages/api/specs -> create in specified dirThis command uses the plugin runtime for multi-directory support:
curdx-flow specs dirs # Returns defaultDir and all configured spec directories
curdx-flow specs find <name> # Find spec by name across configured roots
curdx-flow specs list # List specs as {name,path} objects
curdx-flow specs resolve [input] # Resolve current spec, name, or path
When --specs-dir is provided:
curdx-flow specs dirs to get configured directories--specs-dir Validation Logic:
1. Extract --specs-dir value from $ARGUMENTS
2. Get configured dirs: `curdx-flow specs dirs`
3. Normalize paths (remove trailing slashes)
4. Check: specsDir in dirs?
- YES: Use specsDir for spec creation
- NO: Error "Invalid --specs-dir: '$specsDir' is not in configured specs_dirs. Configured: $dirs"
Spec Directory Logic:
1. Check if --specs-dir in $ARGUMENTS
- YES: Validate against configured specs_dirs, use if valid
- NO: Use `defaultDir` from `curdx-flow specs dirs` (defaults to ./specs)
2. Determine spec base path:
specsDir = validated --specs-dir OR runtime defaultDir
basePath = "$specsDir/$name"
3. For .current-spec:
- If specsDir == "./specs" (default): Write bare name
- If specsDir != "./specs" (non-default): Write full path "$specsDir/$name"
$specsDir/$name/ already exists. If so, ask user if they want to resume or overwriteDetermine spec directory and base path:
specsDir = (validated --specs-dir) OR runtime defaultDir
basePath = "$specsDir/$name"
defaultDir = runtime defaultDir
Create directory structure:
mkdir -p "$basePath"
Update active spec tracker based on root directory:
# Write to .current-spec in default specs dir
if [ "$specsDir" = "$defaultDir" ]; then
echo "$name" > "$defaultDir/.current-spec" # Bare name for default root
else
echo "$basePath" > "$defaultDir/.current-spec" # Full path for non-default root
fi
For default-root specs, never write specs/$name to .current-spec; write the bare name only.
Ensure gitignore entries exist for spec state files:
# Add .current-spec and .progress.md to .gitignore if not already present
if [ -f .gitignore ]; then
grep -q "specs/.current-spec" .gitignore || echo "specs/.current-spec" >> .gitignore
grep -q "\*\*/\.progress\.md" .gitignore || echo "**/.progress.md" >> .gitignore
else
echo "specs/.current-spec" > .gitignore
echo "**/.progress.md" >> .gitignore
fi
Create .curdx-state.json in the spec directory (note: basePath uses resolved path):
First compute deterministic AutoPolicy:
ROUTE_JSON=$(curdx-flow route --name "$name" --goal "$goal" --flags "$ARGUMENTS")
POLICY_JSON=$(printf '%s' "$ROUTE_JSON" | node -e 'let s="";process.stdin.on("data",c=>s+=c);process.stdin.on("end",()=>process.stdout.write(JSON.stringify(JSON.parse(s).policy)))')
If POLICY_JSON.executionMode == "epic-triage" or POLICY_JSON.shouldSplitSpec == true, stop and route to /curdx-flow:triage with the same goal.
{
"version": 2,
"source": "spec",
"name": "$name",
"basePath": "$basePath",
"identity": { "name": "$name", "basePath": "$basePath", "goal": "$goal" },
"phase": "research",
"taskIndex": 0,
"totalTasks": 0,
"taskIteration": 1,
"maxTaskIterations": "<POLICY_JSON.maxTaskIterations>",
"globalIteration": 1,
"maxGlobalIterations": "<POLICY_JSON.maxGlobalIterations>",
"executionDriver": "goal",
"autoPolicy": "<POLICY_JSON object>",
"route": "<ROUTE_JSON compact object>",
"granularity": "<POLICY_JSON.taskGranularity>"
}
If --skip-research, set "phase": "requirements" instead.
If AutoPolicy cannot be computed, fall back to "maxGlobalIterations": 30.
Create initial .progress.md with the captured goal:
---
spec: $name
basePath: $basePath
phase: research
task: 0/0
updated: <current timestamp>
---
# Progress: $name
## Original Goal
$goal
## Completed Tasks
_No tasks completed yet_
## Current Task
Starting research phase
## Learnings
_Discoveries and insights will be captured here_
## Blockers
- None currently
## Next
Complete research, then proceed to requirements
If NOT --skip-research:
Invoke research-analyst agent with:
$basePath/research.mdThe agent will:
After research completes:
**STOP HERE. DO NOT PROCEED TO REQUIREMENTS.**(This does not apply in --quick mode, which auto-generates all artifacts without stopping.)
After displaying the output, you MUST:
/curdx-flow:requirementsDO NOT automatically invoke the product-manager or run the requirements phase. The user needs time to review research findings before proceeding.
If --skip-research was specified:
Invoke product-manager agent with:
$basePath/requirements.mdAfter completion, inform the user:
Spec '$name' created at $basePath/
Current phase: research (or requirements if skipped)
Next steps:
- Review the generated research.md (or requirements.md)
- Run /curdx-flow:requirements to proceed (or /curdx-flow:design if skipped research)
With --specs-dir:
Spec '$name' created at $basePath/ (--specs-dir: $specsDir)
Current phase: research (or requirements if skipped)
Next steps:
- Review the generated research.md (or requirements.md)
- Run /curdx-flow:requirements to proceed (or /curdx-flow:design if skipped research)
**STOP AFTER DISPLAYING OUTPUT.**
(This does not apply in --quick mode, which auto-generates all artifacts without stopping.)
Do NOT proceed to the next phase automatically. Wait for explicit user command to continue.