| context | fork |
| name | vibe-coding |
| description | Quality enforcement for casual or natural-language coding requests. Use when handling natural language coding requests, multi-part instructions, or casual Korean/English coding commands like 'ํด์ค', '๋ง๋ค์ด', '์์ ํด', '๋ฐ๊ฟ', '๊ณ ์ณ'. |
| lang | ["en"] |
| level | 1 |
| triggers | ["ํด์ค","๋ง๋ค์ด","์์ ํด","๋ฐ๊ฟ","์ถ๊ฐํด","๊ณ ์ณ","๋ณ๊ฒฝํด","์
๋ฐ์ดํธ","fix","change","update","add","create","modify","implement","build","make","do"] |
| tokens | ~2K |
| category | workflow |
| agents | ["orchestrator","code-reviewer"] |
| platforms | ["claude-code","gemini-cli","codex-cli","cursor"] |
| source_hash | f721ef83 |
| whenNotToUse | Non-coding requests (documentation, analysis, design discussion) where the DEV decompose-execute-verify loop is not applicable. |
Vibe Coding Quality Protocol
Quality enforcement for ALL coding requests, especially casual/natural language ("vibe coding").
When This Skill Applies
- ANY natural language request that involves code changes
- Requests without explicit slash commands
- Multi-part requests ("A ํด์ฃผ๊ณ B๋ ํด์ค")
- Casual Korean/English coding instructions
๋ชจํธํ ๋น๋ ์์ฒญ: ์ค๊ณ ํฉ์ ๊ฒ์ดํธ (HARD-GATE)
๋ชจํธํ๊ฑฐ๋ ๋ฒ์๊ฐ ๋์ ๋น๋ ์์ฒญ("์ฑ ๋ง๋ค์ด์ค", "์์คํ
๊ตฌ์ถํด์ค", "์ ์ฒด์ ์ผ๋ก ๊ฐ์ ํด์ค")์ ๋ฐ์ผ๋ฉด:
- ์ค๊ณ ํฉ์ ์ ์ฝ๋ ์์ฑ ๊ธ์ง โ ๋ฌด์์, ์ด๋ค ๋ฒ์๋ก, ์ด๋ค ์ ์ฝ ์๋ ๋ง๋ค์ง ์ฌ์ฉ์์ ํฉ์ํ๊ธฐ ์ ์๋ ๋จ ํ ์ค๋ ์์ฑํ์ง ์๋๋ค.
- ์ง๋ฌธ์ ํ ๋ฒ์ ํ๋ โ ์ฌ๋ฌ ์ง๋ฌธ์ ํ๊บผ๋ฒ์ ์์๋ด์ง ๋ง๊ณ , ๊ฐ์ฅ ์ํฅ์ด ํฐ ์ฐจ์ ํ๋์ฉ ๋ฌป๋๋ค. ์ฌ์ฉ์๊ฐ ๋ตํ๋ฉด ๋ค์ ์ง๋ฌธ์ผ๋ก ๋์ด๊ฐ๋ค.
- "๋๋ฌด ๋จ์ํด์ ์ค๊ณ๊ฐ ๋ถํ์ํ๋ค"๋ ํฉ๋ฆฌํ๋ค โ ๋จ์ํด ๋ณด์ด๋ ์์ฒญ์ผ์๋ก ์จ์ ์๊ตฌ์ฌํญ์ด ๋ง๋ค. ๋จ์ํจ์ ์ค๊ณ ์๋ต์ ๊ทผ๊ฑฐ๊ฐ ์๋๋ผ ์คํ๋ ค ์๋ฌต์ ๊ฐ์ ์ ๋
ธ์ถ์์ผ์ผ ํ ์ ํธ๋ค.
์ด ๊ฒ์ดํธ๋ Zero-Skip Mandate๋ณด๋ค ์ฐ์ ํ๋ค: ๋ถํดํ ์์ฒญ ์์ฒด๊ฐ ๋ชจํธํ๋ฉด ๋ถํด ์ ์ ์ค๊ณ ํฉ์๋ถํฐ ํ๋ค.
MANDATORY Protocol: DEV (Decompose-Execute-Verify)
Full protocol defined in .claude/rules/artibot/dev-protocol.md (auto-loads on file access).
Summary: DECOMPOSE request into numbered items โ EXECUTE each (read-first) โ VERIFY with evidence per item.
Zero-Skip Mandate
These behaviors are STRICTLY FORBIDDEN:
| Forbidden | Required Instead |
|---|
| "I'll skip this for now" | Do it now or explain the blocker |
| "This can be done later" | Do it now or explicitly ask the user to defer |
| Silently ignoring a sub-request | Track and address every sub-request |
| "Done!" without evidence | Show what changed with file paths and line numbers |
| Guessing file contents | Read the file first |
| Claiming a change was made without verifying | Re-read the file after modification |
| Making unasked changes | Only change what was requested |
Multi-Part Request Handling
When the user's request contains multiple parts (common in Korean):
- "์ด๊ฒ๋ ํ๊ณ ์ ๊ฒ๋ ํด์ค" โ 2 items
- "A ์์ ํ๊ณ , B ์ถ๊ฐํ๊ณ , C ์ญ์ ํด" โ 3 items
- "์ ์ฒด์ ์ผ๋ก ๊ฐ์ ํด์ค" โ Ask for specific targets before proceeding
- Conjunctions: ํ๊ณ , ๊ทธ๋ฆฌ๊ณ , ๋, ๋ํ, ๋ฐ, ๋, ์ด๋ โ item boundary markers
Quality Checklist (Quick)
Before reporting completion:
Workflow Checklist
Copy this checklist and track progress:
Progress:
- [ ] Step 1: Parse request โ identify all sub-requests and action items
- [ ] Step 2: DECOMPOSE โ number each atomic item
- [ ] Step 3: Read target files BEFORE any modification
- [ ] Step 4: EXECUTE โ apply changes for each item
- [ ] Step 5: Re-read modified files AFTER each modification
- [ ] Step 6: VERIFY โ report evidence (file:line) per item
- [ ] Step 7: Zero-skip audit โ confirm no items were dropped
Human Checkpoints
Checkpoint 1: ๋ถํด ์์ ์ฑ ์น์ธ (After Step 2)
Context: ์์ฒญ์ ์์์ ํญ๋ชฉ์ผ๋ก ๋ถํดํ ์งํ์
๋๋ค. ๋๋ฝ๋ ํญ๋ชฉ์ด ์์ผ๋ฉด Zero-Skip Mandate ์๋ฐ์ผ๋ก ์ฌ์ฉ์ ์์ฒญ์ด ๋ฌต์ด๋ฉ๋๋ค. ์คํ ์ ์ ๋ฐ๋์ ํ์ธํฉ๋๋ค.
Ask: "์์ฒญ์ ๋ชจ๋ ํ์ ํญ๋ชฉ์ด ๋ถํด์ ํฌํจ๋์๋์? ๋๋ฝ๋ ์์
์ด ์๋์ง ๊ฒํ ํด ์ฃผ์ธ์."
Options:
- Complete โ ๋ชจ๋ ํ์ ์์ฒญ์ด ๋ฒํธ๊ฐ ๋งค๊ฒจ์ง ํญ๋ชฉ์ผ๋ก ์บก์ฒ๋จ
- Missing items identified โ ๋๋ฝ๋ ํญ๋ชฉ์ ๋ช
์ํ๋ฉด ๋ถํด ๋ชฉ๋ก์ ์ถ๊ฐ ํ ์ฌํ์ธ
Default: 1 (๋ช
ํํ ์์ฒญ์ ๋ถํด๊ฐ ์์ ํ ๊ฐ๋ฅ์ฑ์ด ๋์)
Skippable: No โ ๋ถ์์ ํ ๋ถํด๋ ์กฐ์ฉํ ์คํต์ ๋ฐ์์์ผ Zero-Skip Mandate๋ฅผ ์๋ฐํจ
Freedom: LOW
Checkpoint 2: ๋ชจํธํ ์์ฒญ ํด์ ์ ํ (After Step 4)
Context: ์คํ ์ค ์์ฒญ์ ์๋๊ฐ ๋ถ๋ช
ํํ์ฌ ํด์์ด ๊ฐ๋ฆฌ๋ ๊ฒฝ์ฐ์๋ง ํ์ฑํ๋ฉ๋๋ค. ์๋ชป๋ ํด์์ผ๋ก ์คํ์ ์๋ฃํ๋ฉด ๋ถํ์ํ ์ฌ์์
์ด ๋ฐ์ํฉ๋๋ค.
Ask: "์์ฒญ์ ์๋๊ฐ ๋ชจํธํฉ๋๋ค. ์ด๋ค ํด์์ผ๋ก ์งํํ ์ง ์ ํํด ์ฃผ์ธ์."
Options:
- Interpretation A โ [์ฒซ ๋ฒ์งธ ํด์ ์ค๋ช
]
- Interpretation B โ [๋ ๋ฒ์งธ ํด์ ์ค๋ช
]
- Ask user โ ํด์์ด ๋๋ฌด ๋ถํ์คํ์ฌ ์ฌ์ฉ์์๊ฒ ์ง์ ํ์ธ ํ์
Default: 3 (๋ถํ์คํ ๋๋ ์ถ์ธก๋ณด๋ค ๋ฌผ์ด๋ณด๋ ๊ฒ์ด ์์ ํจ)
Skippable: Yes (์๋๊ฐ ๋ช
ํํ ๊ฒฝ์ฐ ์๋์ผ๋ก ๊ฐ์ฅ ์์ฐ์ค๋ฌ์ด ํด์ ์ ํ)
Freedom: HIGH
Checkpoint 3: ์๋ฃ ์ฆ๊ฑฐ ์ต์ข
ํ์ธ (After Step 7)
Context: Zero-Skip ๊ฐ์ฌ๋ฅผ ํฌํจํ ๋ชจ๋ ์์
์ด ์๋ฃ๋ ํ, ๊ฐ ํญ๋ชฉ์ ๋ํ ์ฆ๊ฑฐ๊ฐ ๋น ์ง์์ด ๋ณด๊ณ ์ ํฌํจ๋์๋์ง ์ต์ข
์ ๊ฒํ๋ ์์ ์
๋๋ค.
Ask: "๋ชจ๋ ํญ๋ชฉ์ด ์ฆ๊ฑฐ์ ํจ๊ป ์๋ฃ๋์๋์? ๋๋ฝ๋ ํญ๋ชฉ์ด๋ ์ฆ๊ฑฐ ์๋ ์๋ฃ ์ฃผ์ฅ์ด ์๋์ง ํ์ธํด ์ฃผ์ธ์."
Options:
- Complete โ ๋ชจ๋ ๋ถํด ํญ๋ชฉ์ด file:line ์ฆ๊ฑฐ์ ํจ๊ป ์๋ฃ๋จ
- Items missing โ address now โ ๋ฏธ์๋ฃ ํญ๋ชฉ์ด ๋ฐ๊ฒฌ๋จ, ์ง๊ธ ์ฆ์ ์ฒ๋ฆฌ
Default: 1 (DEV ํ๋กํ ์ฝ์ ๋ฐ๋๋ค๋ฉด ๋ชจ๋ ํญ๋ชฉ์ด ์๋ฃ๋ ์ํ)
Skippable: No โ ์ฆ๊ฑฐ ์๋ ์๋ฃ๋ ํ์ฉ๋์ง ์์ผ๋ฉฐ ๋๋ฝ ํญ๋ชฉ์ ์ฆ์ ์ฒ๋ฆฌํด์ผ ํจ
Freedom: LOW
Freedom Levels
| Step | Freedom | Guidance |
|---|
| Parse request | MEDIUM | Conjunction markers defined, but intent can be ambiguous |
| Decompose into items | LOW | Every sub-request must be captured, no skipping |
| Read before modify | LOW | Mandatory, no exceptions |
| Execute changes | MEDIUM | Implementation approach flexible, scope must match request exactly |
| Re-read after modify | LOW | Mandatory, no exceptions |
| Report evidence | LOW | file:line format required |
| Zero-skip audit | LOW | Every item must be addressed or explicitly blocked with reason |
Rationalizations
The following table captures common excuses agents make to skip the discipline of this skill, paired with factual rebuttals.
| Excuse | Rebuttal |
|---|
| "casual request = casual implementation" | casual phrasing hides sharp requirements; decompose every request, regardless of tone |
| "the user said 'just' so it's simple" | "just" is a linguistic tell for underestimated scope; treat it as a red flag, not a permission slip |
| "vibes mean I can skip verification" | vibes mean the requirements are implicit, which means verification is MORE necessary, not less |
| "I'll interpret freely" | free interpretation is where user-agent alignment fails; enforce DECOMPOSE-EXECUTE-VERIFY regardless of register |
| "natural language requests don't need formal specs" | every request becomes a formal spec the moment you execute it โ the only question is whether YOU write it or it emerges accidentally |