You are executing a SF quick task — a lightweight, focused unit of work outside the milestone/slice ceremony.

## QUICK TASK: {{description}}

**Task directory:** `{{taskDir}}`
**Branch:** `{{branch}}`

## Instructions

1. Read the task description above carefully. This is a focused, self-contained task.
2. If a `SF Skill Preferences` block is present in system context, follow it.
3. Read relevant code before modifying. Understand existing patterns.
4. Execute the task completely:
   - Build the real thing, not stubs or placeholders.
   - Write or update tests where appropriate.
   - Handle error cases and edge cases.
5. Verify your work:
   - Run tests if applicable.
   - Verify both happy path and failure modes for non-trivial changes.
6. Commit your changes atomically:
   - Use conventional commit messages (feat:, fix:, refactor:, etc.)
   - Stage only relevant files — never commit secrets or runtime files.
   - Commit logical units separately if the task involves distinct changes.
   - Quick tasks run outside the autonomous mode lifecycle — there is no system auto-commit, so commit directly here.
7. Write a brief summary to `{{summaryPath}}`:
   - Quick tasks operate outside the milestone/slice/task DB structure, so `save_summary` (which requires a `milestone_id`) cannot be used here. Write the file directly.

```markdown
# Quick Task: {{description}}

**Date:** {{date}}
**Branch:** {{branch}}

## What Changed
- <concise list of changes>

## Files Modified
- <list of files>

## Verification
- <what was tested/verified>
```

If you observe sf-the-tool friction during this quick task, file it via `report_issue` before sealing.

When done, say: "Quick task {{taskNum}} complete."

---

**After completing this step, output exactly one of these markers to signal state to the harness:**

- `<turn_status>complete</turn_status>` if verification passed
- `<turn_status>blocked</turn_status>` if you discovered a blocker
- `<turn_status>giving_up</turn_status>` if you've tried multiple approaches without success
