원클릭으로
execute
Do the work. Pre-flight, build, detect drift, salvage if needed. Use when you have a clear aim and are ready to implement.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Do the work. Pre-flight, build, detect drift, salvage if needed. Use when you have a clear aim and are ready to implement.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Clarify the outcome you want - a change in user behavior, not a feature shipped. Use at the start of any work to ground the session in strategic intent.
Devil's advocate. Seek contrary evidence before locking in. Use when about to make a significant decision, when confidence is high but stakes are higher, or when the team is converging too quickly.
Human-led curation of accumulated metis and guardrails. Surface patterns across sessions, propose what to promote, compact, or dismiss. Use after multiple sessions, before a new phase, or when search results feel noisy.
Map what we're optimizing and what constraints we treat as real. Use before jumping to solutions, when hitting repeated blockers, or when patches keep accumulating.
Check work and detect drift before committing. A second opinion that catches misalignment early. Use at natural pause points, before PRs, or when something feels off.
Extract learning before restarting. Code is a draft; learning is the asset. Use when work is drifting, approach has reversed 3+ times, or scope is expanding while "done" keeps fuzzing.
| name | execute |
| description | Do the work. Pre-flight, build, detect drift, salvage if needed. Use when you have a clear aim and are ready to implement. |
Do the actual work. Execute is the bridge from Solution Space to shipped code. Pre-flight checks, build, detect drift, salvage if needed.
Execute sits within the larger Intent -> Execution -> Review loop. This skill handles the Execution phase, which itself contains an inner loop: build, check alignment, course-correct or salvage.
Invoke /execute when:
Do not use when:
/aim first/solution-space first/problem-space or /problem-statement firstBefore writing code, verify alignment:
Pre-flight Checklist:
[ ] Aim is clear - what outcome am I producing?
[ ] Constraints known - what must I NOT break?
[ ] Context loaded - do I have the codebase understanding I need?
[ ] Scope bounded - what am I specifically doing (and NOT doing)?
[ ] Success criteria - how will I know when I'm done?
If any box can't be checked, stop and address it before proceeding. Ask clarifying questions if requirements are ambiguous.
"The task is [task]. The aim is [aim]. I'm specifically doing [scope]. I will NOT be touching [out of scope]. Success looks like [criteria]."
Do the work. Keep it focused.
Build principles:
During build:
sg review or equivalent)Periodically check alignment during execution:
Drift signals:
When you notice drift:
Drift Check:
- Original aim: [aim]
- What I'm actually doing now: [current work]
- Gap: [describe the divergence]
- Verdict: [aligned | minor drift | significant drift | lost]
Aligned: Continue building.
Minor drift: Note it, continue if still valuable, or refocus.
Significant drift: Pause. Either:
Lost: Invoke /salvage immediately.
When to stop and salvage:
Don't fight lost work. Extract the learning and restart clean.
"Code is cheap now. Learning is the asset."
Invoke /salvage to extract what you learned before restarting.
When execution completes successfully:
## Execution Complete
**Task:** [what was done]
**Aim achieved:** [how it maps to the original aim]
### Changes
- [file/component]: [what changed and why]
- [file/component]: [what changed and why]
### Verification
- [how it was tested/verified]
### Notes
- [anything relevant for future work]
When drift triggers a pause:
## Execution Paused - Drift Detected
**Original aim:** [aim]
**Current state:** [where things stand]
**Drift:** [what diverged and why]
### Options
1. [option 1]
2. [option 2]
3. Salvage and restart
Recommendation: [your assessment]
/execute
Task: Add validation for empty strings in user input
Pre-flight:
Pre-flight Checklist:
[x] Aim is clear - prevent empty strings from causing silent failures
[x] Constraints known - don't break existing validation, maintain API compatibility
[x] Context loaded - reviewed input processing flow, found 3 entry points
[x] Scope bounded - only the 3 input handlers, not the downstream processors
[x] Success criteria - empty strings rejected with clear error message
Output:
## Execution Complete
**Task:** Add empty string validation to user input
**Aim achieved:** Empty strings now rejected at entry points with clear error message
### Changes
- handlers/user.go: Added empty string check before processing
- handlers/profile.go: Added empty string check before processing
- handlers/settings.go: Added empty string check before processing
- lib/validation.go: New isEmpty() helper for consistency
### Verification
- Added unit tests for each handler (empty, whitespace-only, valid)
- Manual test: confirmed error message appears in UI
### Notes
- Downstream processors still accept empty strings (out of scope)
- Consider adding validation to API gateway layer in future
/execute
Task: Fix the timezone bug in calendar display
Mid-execution drift check:
Drift Check:
- Original aim: Fix timezone display bug
- What I'm actually doing now: Refactoring the entire date handling library
- Gap: Went from fixing display to rewriting infrastructure
- Verdict: Significant drift
Output:
## Execution Paused - Drift Detected
**Original aim:** Fix timezone bug in calendar display
**Current state:** Found the bug, but discovered date handling is inconsistent across 12 files
**Drift:** Started fixing the display bug, realized the root cause is a design issue.
Fixing it properly requires touching the date library, which affects everything.
### Options
1. Band-aid fix in display layer only (solves symptom, not cause)
2. Refactor date handling (right fix, but 10x scope)
3. Salvage learning, create proper task for date system redesign
Recommendation: Option 3 - the date system needs intentional redesign, not
accidental refactoring during a bug fix. Salvage what we learned, create a
proper design task, apply band-aid for now.
/execute
Building the new auth flow
After multiple iterations:
## Execution Paused - Salvaging
**Original aim:** Simplify authentication flow
**Current state:** 4th approach attempted, complexity has increased
The approach has reversed multiple times:
1. Started with unified flow -> broke provider-specific handling
2. Switched to provider adapters -> too much duplication
3. Tried abstract base class -> inheritance nightmare
4. Back to unified flow with exceptions -> where we started, but worse
Invoking /salvage to extract learning before restart.
This skill can persist context to .oh/<session>.md for use by subsequent skills.
If session name provided (/execute auth-refactor):
.oh/auth-refactor.md directlyIf no session name provided (/execute):
"Save to session? [suggested-name] [custom] [skip]"
Reading: Check for existing session file. Read Aim, Problem Statement, Solution Space to understand what we're building and why. This is essential for drift detection.
Writing: After pre-flight and during execution, write status to the session file:
## Execute
**Updated:** <timestamp>
**Status:** [pre-flight | in-progress | drift-detected | complete]
[execution notes, drift observations, etc.]
Works anywhere. Manual pre-flight checklist, drift detection by reasoning. No persistence.
.oh/<session>.md for aim, constraints, selected solutionComes after: /solution-space (you need a chosen approach to execute).
Leads to: /ship to deliver, /review to verify, /salvage if drifting.
Can loop back to: /aim or /problem-space via /salvage when the approach isn't working.
After execute, typically:
/review - Verify the work before committing/ship - Deploy the change to users/salvage - If drift was detected and restart neededRemember: Execute is the inner loop. Stay focused on the aim. Code is cheap; thrashing is expensive. Detect drift early. Salvage without shame.