Execute the quick mode flow directly. Treat the idea text as the task description and follow the same execution steps as the quick skill:
a. Check for uncommitted changes:
git status --porcelain
If there are uncommitted changes, tell the user:
"I noticed some unsaved changes in your project. Want me to save those first before starting this task, or set them aside temporarily?"
Handle stash/commit/discard the same way the quick skill does.
b. Record current commit for later comparison:
git log --oneline -1
c. Assemble context for the builder. Build the XML-wrapped context:
Vision (optional): Read .director/VISION.md. If it has real content (not just the template), include it:
<vision>
[Full contents of VISION.md]
</vision>
If template-only or missing, skip this section entirely.
Task:
<task>
## Quick Task
**What to do:** [the idea text, verbatim]
**Scope:** This is a quick change. Focus on the specific request. Don't expand scope or add unrequested features.
</task>
Recent changes:
git log --oneline -5 2>/dev/null
<recent_changes>
Recent progress:
- [commit message 1]
- [commit message 2]
- ...
</recent_changes>
Instructions:
<instructions>
Complete this quick change. Focus tightly on the request -- don't expand scope or add unrequested features.
Create exactly one git commit when finished with this message format:
[quick] [plain-language description of what changed]
The [quick] prefix is REQUIRED. Example: "[quick] Change button color to blue"
After committing, spawn director:director-verifier to check for stubs and orphans. Fix any "needs attention" issues and amend your commit.
After verification passes, spawn director:director-syncer with the task context, a summary of what changed, and a cost_data section. The cost_data section must include:
- context_chars: [TOTAL_CONTEXT_CHARS] (the total character count of assembled context)
- goal: "Quick task" (quick tasks are not attributed to any specific goal)
Format the cost_data as:
<cost_data>
Context size: [TOTAL_CONTEXT_CHARS] characters
Estimated tokens: [TOTAL_CONTEXT_CHARS / 4 * 2.5, rounded to nearest thousand]
Goal: Quick task
</cost_data>
</instructions>
Replace [TOTAL_CONTEXT_CHARS] with the actual total character count of the assembled context.
d. Spawn the builder: Use the Task tool to spawn director:director-builder with the assembled XML context.
e. Verify builder results: After the builder returns, check for a new commit:
git log --oneline -1
Compare to the hash recorded earlier. If a new commit exists, check that it starts with [quick]. If not, amend it:
git commit --amend -m "[quick] [original message]"
If no new commit was created but files were modified, tell the user the change did not complete. If nothing changed, tell the user it may already be done.
f. Check for uncommitted sync changes:
git status --porcelain
If .director/ has unstaged changes from the syncer:
git add .director/
git commit --amend --no-edit
g. Post-task summary: Show what was done using the same adaptive verbosity as the quick skill -- one-liner for trivial changes, brief paragraph with "What changed" bullets for substantial changes. End with "Progress saved."