원클릭으로
feature-workflow
TDD-based feature workflow with 9 phases - loads directly into session (no installation)
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
TDD-based feature workflow with 9 phases - loads directly into session (no installation)
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
Auto-send Slack notifications when TodoWrite tasks complete. Includes task summary, file changes, execution time, and repository context. Supports config file (no env vars needed) and manual `/devnogari:slack-notify` trigger.
Project-specific best practices - auto-loads based on detected project type
Kotlin Coroutines with Spring Boot/WebFlux performance optimization and best practices guidelines
Flutter performance optimization and clean architecture patterns. This skill should be used when writing, reviewing, or refactoring Flutter/Dart code to ensure optimal performance patterns. Triggers on tasks involving Flutter widgets, state management, async patterns, memory management, or architecture design.
Go + Gin performance optimization and idiomatic patterns with mandatory Uber fx DI. Contains 48 rules across 8 categories, prioritized by impact for automated code generation and review.
Kotlin Multiplatform performance optimization and clean architecture patterns. This skill should be used when writing, reviewing, or refactoring KMP code to ensure optimal performance patterns. Triggers on tasks involving Compose Multiplatform, Ktor client, Koin DI, coroutines, or platform-specific code.
SOC 직업 분류 기준
| name | feature-workflow |
| description | TDD-based feature workflow with 9 phases - loads directly into session (no installation) |
9-phase TDD feature implementation workflow (from worktree setup through deployed-and-smoked closeout). Loads directly into session - no file installation required.
These 4 principles are MANDATORY throughout the entire workflow. Violations are BLOCKED.
❌ BLOCKED: Direct Edit/Write without subagent
✅ REQUIRED: Task(subagent_type="...") for ALL implementation
| Task Type | Subagent |
|---|---|
| Backend/API | backend-architect |
| Frontend/UI | frontend-architect |
| Tests | quality-engineer |
| Types | typescript-pro |
| Exploration | Explore |
❌ BLOCKED: grep, glob, Grep, Glob for symbol search
✅ REQUIRED: LSP tool for code navigation
| Task | LSP Operation |
|---|---|
| Find definition | goToDefinition |
| File symbols | documentSymbol |
| Project search | workspaceSymbol |
| Find references | findReferences |
| Find implementations | goToImplementation |
❌ BLOCKED: Implementation before tests
✅ REQUIRED: Write tests → Run (RED) → Implement → Run (GREEN)
❌ INEFFICIENT: Sequential subagent calls
✅ REQUIRED: Parallel Task calls when no dependencies
# GOOD: Single message with multiple Task calls
Task(types) + Task(query-keys) ← Parallel (no dependency)
# GOOD: Sequential only when dependent
Task(api) → Task(hooks) ← Sequential (hooks needs api)
□ Am I using Task tool with subagent? → If NO, STOP
□ Am I using LSP for code navigation? → If grep/glob, STOP
□ Did I write tests first? → If NO, go back to Phase 2
□ Can these tasks run in parallel? → If YES, single message with multiple Task calls
/feature-workflow:feature-workflow "feature description"
When this skill is invoked, IMMEDIATELY delegate to feature-dev:feature-dev
/feature-workflow:feature-workflow "Implement user settings page"
│
▼
Skill(feature-dev:feature-dev, args="Implement user settings page")
│
▼
feature-dev orchestrates → feature-workflow phases 1-7
# ALWAYS delegate - no exceptions
if skill_invoked == "feature-workflow":
Skill("feature-dev:feature-dev", args=user_request)
.worktrees/Gate: Worktree exists, correct branch
Gate: Test files created
🚨 SUBAGENT DELEGATION IS REQUIRED - NOT OPTIONAL
ALWAYS use Task tool with subagents for implementation. Direct implementation without subagents is BLOCKED.
❌ BLOCKED: Direct file editing without subagent
✅ REQUIRED: Task(subagent_type="backend-architect" | "frontend-architect" | ...)
| Task Type | Subagent | When to Use |
|---|---|---|
| API/Backend | backend-architect | Handlers, services, repositories |
| UI/Frontend | frontend-architect | Components, pages, hooks |
| Tests | quality-engineer | Test files, test utilities |
| Types/Schemas | typescript-pro | Type definitions, schemas |
| Performance | performance-engineer | Optimization tasks |
| Security | security-engineer | Auth, validation |
Phase 3 Implementation:
├─ [Parallel] Task(types) + Task(query-keys)
├─ [Sequential] Task(api) → Task(hooks) (dependency)
└─ [Parallel] Task(page) + Task(components)
| Task | Use This | ❌ NOT This |
|---|---|---|
| Find definition | LSP goToDefinition | grep/glob |
| File symbols | LSP documentSymbol | cat/read |
| Project search | LSP workspaceSymbol | grep |
| Find references | LSP findReferences | grep |
Gate: Implementation complete via subagents, no direct edits
Gate: Build passes, lint clean
Gate: E2E tests pass
🔴 Local code review loop is REQUIRED. Do NOT skip to Phase 7 without a clean PASS verdict.
Loop until verdict = PASS (zero BLOCKING and zero HIGH findings).
Review: dispatch code-reviewer (Opus) per worktree/PR. Run in parallel when multiple PRs/features are in flight.
git diff origin/develop...HEAD).file:line references and concrete proposed fix per item, plus a final BLOCK | PASS verdict.Triage:
BLOCKING = correctness bug / security vuln / spec violation / will break prod → must fixHIGH = clear logic defect → must fixPASS (0 BLOCKING + 0 HIGH) → exit loop, proceed to Phase 7Fix: dispatch executor (Opus, run in worktree). One executor per PR, batching all findings for that PR in a single prompt.
file:line + reviewer's proposed fixktlintCheck + relevant unit tests + relevant integration tests all greenRe-review: dispatch fresh code-reviewer (Opus) on the same worktree against the new HEAD. Go to step 2.
Stop conditions:
| Severity | Examples |
|---|---|
| BLOCKING | unverified webhook signature, missing @PreAuthorize on admin endpoint, TOCTOU race that double-sends/double-pays, log leak of secrets, wrong state transition, payment amount mutation, schema migration with no rollback |
| HIGH | silent failure path that loses data, missing null-safety on field the spec requires, off-by-one in cohort filter, idempotency that only works on the happy path, IT that passes even when the bug is reintroduced |
| ❌ Not reported | style/ktlint/formatting, naming, "could be more elegant", missing comments, perf micro-opts, test coverage gaps unless a critical path is uncovered |
When multiple PRs/worktrees are in this phase, fire all reviewers in a single message (one Agent call per PR with run_in_background: true). Same for executors. Do NOT serialize independent PRs.
Gate: All worktrees return verdict PASS (0 BLOCKING + 0 HIGH).
Gate: Clean commit, pushed
Once Phase 6 returns PASS, merge each PR and confirm the deploy reaches the dev environment.
develop / main) with --delete-branch so the worktree branch is cleaned up.gh run list --branch <integration-branch>).Gate: integration-branch CI green for every merged PR commit AND dev environment reports the new image healthy.
Only after dev is confirmed healthy with the new code:
curl (if the dev environment exposes a routable URL).kubectl --context=<dev-context> exec into the running pod and run an in-pod request against localhost (when the dev environment is internal-only).*.http file, integration suite tagged @SmokeTest) when one exists.Gate: smoke passes for every merged feature AND every tracked issue is closed with concrete deploy + smoke evidence in the closeout comment.
❌ BLOCKED:
- Starting Phase 3 without completing Phase 2
- Skipping to Phase 6 from Phase 2
- Committing (Phase 7) before code review (Phase 6)
- Merging (Phase 8) before commit/push (Phase 7)
- Closing the issue (end of Phase 9) before smoke passes against the deployed dev env
- Direct file editing in Phase 3 (MUST use subagents)
✅ ALLOWED:
- Sequential progression: 1→2→3→4→5→6→7→8→9
- Fixing issues within current phase
- Parallel subagent execution in Phase 3
Phase 3 REQUIRES subagent delegation. This is NOT optional.
Before ANY file edit in Phase 3, ask:
□ Am I using Task tool with a subagent? → If NO, STOP
□ Did I select the appropriate subagent_type? → Match task to agent
□ Can multiple tasks run in parallel? → Launch parallel Task calls
if phase == 3 and action == "edit_file":
if not using_subagent:
BLOCK("Use Task tool with subagent_type for implementation")
| Type | Stack | Key Features |
|---|---|---|
| react-vite | React + Vite + pnpm | Playwright E2E, TanStack Query |
| nextjs | Next.js + pnpm | App Router, Server Components |
| go-gin | Go + Gin + fx | Handler→Service→Repo, Swagger |
| flutter | Flutter + BLoC | Clean Architecture |
| Symbol | Status |
|---|---|
[P1:_] | Pending |
[P1:*] | In Progress |
[P1:V] | Verified |
[P1:X] | Failed |
feature-dev:feature-dev - DELEGATED TO (orchestrates the 9 phases)superpowers:using-git-worktrees - Worktree setup (Phase 1)superpowers:test-driven-development - TDD approach (Phase 2)oh-my-claudecode:code-reviewer (Opus) - Local review agent invoked each round of the Phase 6 loopoh-my-claudecode:executor (Opus) - Fix agent invoked when Phase 6 reviewer returns BLOCKING/HIGHralph-loop:ralph-loop - Optional alternative for fully-autonomous Phase 6 loop (use when the orchestrator is not Claude Code)code-patterns - LSP-first enforcement (Phase 3)