# Anti Vibecoding

> Pre-development gatekeeper against impulsive "vibe coding". Auto-invoked when the user signals intent to build/develop/code something new — especially when under-specified, solution-first, or whimsical ("帮我做个应用", "我想开发…", jumps to framework before stating the problem) — and on explicit demand ("用 anti-vibecoding 审一下", "grill me"). Two modes: (1) Quick Check — a multiple-choice self-assessment (5…

- **Type:** Skill
- **Install:** `agentstack add skill-anyeduke11-anti-vibecoding-anti-vibecoding`
- **Verified:** Yes — security-reviewed for prompt injection and unsafe behavior
- **Seller:** [anyeduke11](https://agentstack.voostack.com/s/anyeduke11)
- **Installs:** 0
- **Category:** [Agent Skills](https://agentstack.voostack.com/c/agent-skills)
- **Latest version:** 0.1.0
- **License:** MIT
- **Upstream author:** [anyeduke11](https://github.com/anyeduke11)
- **Source:** https://github.com/anyeduke11/anti-vibecoding

## Install

```sh
agentstack add skill-anyeduke11-anti-vibecoding-anti-vibecoding
```

Requires the [AgentStack CLI](https://agentstack.voostack.com/docs/cli). Works with Claude Code, Cursor, and any MCP-compatible agent.

## About

# Anti-Vibecoding

## Overview

This skill is a pre-development gatekeeper. It blocks **vibe coding** — the habit of building
applications, tools, or scripts on impulse, without first proving the build is necessary,
feasible, and worth the cost. Before any code is written, the skill forces the requester through
a five-gate review using a "grill me" adversarial-interview technique. Coding is permitted only
after all five gates pass. The skill's best possible outcome is often "do not build this" — and
instead ship a prompt, a skill, or an expert role at a fraction of the cost.

**Two modes.** The skill now ships two intensities. *Mode 1 — Quick Check* is a gamified
multiple-choice self-assessment (15 questions across the same five dimensions) for a fast
"pause and think"; it returns a Vibe-Coding impulse index and a developer persona, and escalates
to Mode 2 when the impulse is high. *Mode 2 — Deep Dialogue* is the full adversarial five-gate
grill; it ends by handing the user existing open-source tools and a preliminary PRD so a justified
build can be handed off for secondary development.

## When To Use

Invoke automatically when the user signals intent to **build, develop, or code something new**,
particularly when that intent is impulsive, under-specified, or solution-first. Concrete triggers:

- "帮我做个应用 / 系统 / 工具 / 脚本", "我想开发一个…", "写个程序…", "能不能做个…"
- "用 React / Python / Node 搭一个…", "我需要一个小工具来…"
- The user jumps straight to implementation details (framework, file layout, stack) before stating the problem.
- The user proposes adding new scope or features mid-task without justification.

Also invoke on explicit request: "用 anti-vibecoding 审一下" / "grill me" / "先别写代码，审一下这个想法".

Do **not** use this skill for: pure research or Q&A, editing a file the user already owns, or tasks
whose deliverable is clearly documentation / analysis rather than software.

## Two Modes

Pick the mode that fits the moment before engaging:

- **Mode 1 — Quick Check (快速自检)**: a multiple-choice self-assessment. Use it for a lightweight
  "pause and think" before a small, impulsive, or half-formed idea. Gamified and fast; references
  `references/quick-check-bank.md`. Produces an **impulse index + developer persona + lite verdict**,
  and hands off to Mode 2 when the impulse is high. No coding gate, no decision record.
- **Mode 2 — Deep Dialogue (深度梳理)**: the adversarial "grill me" interview through the five gates.
  Use it when the build is serious, expensive, or the user is emotionally attached. Concludes by
  offering **existing open-source tools + a preliminary PRD** for secondary development.

Rule of thumb: small / gut-check idea → Mode 1. Large / costly / emotionally-charged idea → Mode 2.
Mode 1 may escalate into Mode 2 when the impulse index lands in the high bands.

## Mode 1 — Quick Check (快速自检)

Administer the 15-question quiz from `references/quick-check-bank.md` (5 dimensions × 3 questions,
mirroring the five gates). Let the user pick one of the six dialogue tones, present the questions
(in batches or all at once for a quiz feel), score the answers, and return:

- **Vibe Coding 冲动指数** (0–100) with its band.
- **开发者人格画像** (persona) + one-line advice.
- **Lite verdict**: `GREEN` (proceed with a quick sanity check) / `YELLOW` (pause, consider Mode 2) /
  `RED` (stop, run Mode 2 now).
- If `RED` or high `YELLOW`, hand off to Mode 2.

Mode 1 is intentionally lightweight — it is the easy off-ramp for impulsive moments.

## Mode 2 — Deep Dialogue (深度梳理 / Grill-Me Protocol)

Adopt the stance of a rigorous but respectful reviewer. The goal is to make the requester defend
the build *before a single line is written*.

Rules of engagement:

1. **No code before clearance.** State up front: "在通过全部审查关卡前，我不会写任何代码。" Hold this line even under pressure.
2. **One gate at a time.** Open Gate 1, wait for the answer, drill with follow-ups, then advance. Do not blast all five questions at once.
3. **Paraphrase then pressure.** After each answer, restate it in one skeptical sentence ("所以你的真实痛点是 X，而不是你一开始说的 Y？") and probe the weakest link.
4. **Always surface the lighter alternative.** At every gate, name the cheaper path: a commercial product, an open-source project, a prompt, a skill, or an expert role. Make the user explain why those are insufficient.
5. **Reject solution-first framing.** If the user describes a solution ("我要用 Next.js 做个看板"), force them back to the problem ("在看板之前，你要解决的到底是哪个具体痛点？").
6. **Demand falsifiable specifics.** "也许会用" / "应该挺方便的" are not answers. Require a usage frequency, a concrete pain, or a named existing tool.
7. **Use the question bank.** Pull deep-dive probes and pushback lines from `references/grill-bank.md`. Adapt them; do not recite verbatim.
8. **Be willing to kill it.** If a gate fails, say so plainly and offer the lighter alternative. The best outcome may be "don't build this."

## The Five Gates

Process each gate in order. Mark each: **PASS** / **CONDITIONAL** / **FAIL**. Detailed probes and
red-flag heuristics live in `references/grill-bank.md`.

### Gate 1 — Motivation Tracing (动机溯源)
- **Core question:** "你真正想解决的痛点是什么？用一句话描述核心问题。"
- **PASS:** a single, problem-framed sentence naming a specific pain (not a solution).
- **FAIL:** restates a solution, or "就是想做个东西" with no pain.
- **Drill:** "这句话里哪部分是问题、哪部分是方案？如果把方案去掉，问题还在吗？"

### Gate 2 — Market Research (市场调研)
- **Core question:** "市面上是否已有成熟商业产品或开源项目能满足需求？如果有，为什么不用？"
- **Action:** 实际检索。调用搜索工具（如 WebSearch）与技能检索（如 find-skills）核对现成产品、开源与既有 skill。
- **PASS:** user has checked, and either (a) nothing fits, or (b) fits-but-rejected with a concrete, defensible reason (cost, lock-in, compliance, missing capability).
- **FAIL:** "应该没有吧" with no search performed; or a known mature tool exists and the only reason is "我想自己写".
- **Drill:** "你搜过哪些关键词？这个工具差在哪一点才让你想自建？"

### Gate 3 — Capability Assessment (能力评估)
- **Core question:** "所需技术栈你是否真正掌握？若未掌握，学习和维护成本你能否承受？"
- **PASS:** stack is within current competence, OR a realistic learning/maintenance plan with a stated time budget.
- **CONDITIONAL:** stack unknown but the user explicitly accepts the learning cost.
- **FAIL:** "不太熟但我能学" with no time/cost acknowledgment, or the build depends on tech the user cannot maintain.
- **Drill:** "上线后谁维护？出 bug 时你打算花多少时间？这个技术你上一次用是多久前？"

### Gate 4 — Use-Case Validation (使用场景验证)
- **Core question:** "开发完成后你实际会用它吗？频率如何？值得投入吗？"
- **PASS:** a committed usage pattern (e.g., "每天用" / "每周三次" / "它是我工作流的一环") with realistic frequency.
- **FAIL:** "可能偶尔用" / "先做了再说" / no clear consumer.
- **Drill:** "如果它下周就坏了，你会修还是弃？一年后的使用次数你预估多少？这个频率 × 省下的时间，值不回开发成本？"

### Gate 5 — Solution Comparison (方案对比)
- **Core question:** "为什么必须是开发一个应用，而不是写一段提示词、设计一个 skill、或定义一个专家角色？更轻量的方案能否达到同样目的？"
- This gate is the crux. Always push hardest here.
- **PASS:** the user shows the app is genuinely required — stateful backend, multi-user, persistent data, UI complexity, or integration a prompt/skill/expert cannot deliver.
- **FAIL:** the need is actually a one-shot instruction, a reusable workflow, or a role — all of which a prompt/skill/expert covers at near-zero maintenance.
- **Drill:** "如果我只给你一段提示词或建一个 skill，能解决 80% 吗？剩下 20% 值得一个完整应用吗？维护这个应用每月成本是多少？"
- **Offer the conversion:** if this gate fails, propose instead to write the prompt / create the skill / define the expert — and be ready to do exactly that.

## Verdict Logic

- **All five PASS** (CONDITIONAL resolved) → **PROCEED**. Summarize the agreed problem, constraints, and a minimal scope, then begin coding.
- **Any FAIL** → **ABORT** (or convert to the lighter alternative). State which gate failed and why.
- **Mixed / unresolved CONDITIONAL** → **PAUSE**. List what must change before re-review.

## Mid-Task Scope-Creep Interception (中途冲动加戏拦截)

The grill does not end at PROCEED. Once coding starts, stay alert for unplanned additions —
"顺便加个 X" / "再做个 Y" / "也加上 Z 功能". Treat each as a potential vibe-coding relapse
and run a compressed **mini-gate** before implementing anything new:

1. 这加戏解决的是已确认痛点，还是新痛点？若是新痛点，为何不在 G1 提出？
2. 它属于原 MVP 范围吗？不属于的话，为何现在必须做（紧急度 / 依赖）？
3. 能否用更轻量方式（配置项 / 提示词 / 分支开关 / 现成库）先顶住，而非写新代码？

Mini-gate verdict: **APPROVED** / **DEFERRED** / **BLOCKED**.
- **BLOCKED 或 DEFERRED** → hold the line, do not implement; explain why in one sentence.
- **APPROVED** → implement, but log it as a tracked addition.

Record every intercepted addition in the review JSON `scope_events` array so it surfaces in the
HTML report's "范围变更拦截" section. This keeps scope discipline visible and auditable — the
second line of defense against impulsive building.

## Output: Decision Record + HTML Report

When the review concludes, produce two artifacts in the workspace:

1. **Markdown decision record** — fill the template in `references/decision-record.md`, save as
   `anti-vibecoding-review-YYYYMMDD.md`, and present it. This is the artifact that proves the build was earned.
2. **Tech-light HTML report** — collect the same conclusions into the JSON shape documented in
   `references/report-schema.md` (five gates with verdict/evidence/pushback, plus final verdict and feedback),
   then render a self-contained, light-themed HTML report:

   ```bash
   python3 scripts/build_report.py --data review.json   # Windows 用 python 或 py
   # 或： cat review.json | python3 scripts/build_report.py
   ```

   Output defaults to `anti-vibecoding-report-YYYYMMDD.html`. Present this file to the user — it gives a
   polished, card-based visual summary (hero header, per-gate status pills, optional "范围变更拦截"
   section for mid-task additions, color-coded verdict banner, and a detailed feedback list). The script
   uses only the Python standard library; no third-party deps.

   The report's palette is sourced from `assets/design-tokens.css` — the skill's unified design tokens,
   following the taste-skill semantic-token strategy (`--surface` / `--text-primary` / `--accent` /
   status colors). This keeps the report visually consistent with other skills that adopt the same tokens.

   The JSON may optionally include `scope_events` (see `references/report-schema.md`) capturing any
   mid-task "加戏" interceptions; these render as their own section so scope discipline is auditable.

   The HTML report is the primary deliverable shown to the user; the markdown record is the companion
   that should travel with the project.

   **Mode 2 practical handoff (开源工具 + 初步 PRD).** When the build is justified (PROCEED) — and also
   when converting an ABORT into a lighter path — always conclude Mode 2 with two actionable artifacts
   that let the user (or a coding agent) pick the work up:

   - **开源工具清单 (`oss_tools`)**: existing products / OSS projects / skills that either serve as the
     lighter alternative or as a ready base for secondary development. Each entry: name + why it fits.
   - **初步 PRD (`prd`)**: a draft product-requirements doc — problem statement, goals, MVP scope,
     non-goals, tech considerations, risks, recommended next steps — so the idea can be handed off for
     secondary development instead of rotting in a chat.

   Both feed the HTML report as optional sections (see the `oss_tools` and `prd` fields in
   `references/report-schema.md`). When absent, the report simply omits them — no breakage.

## Resources

- `references/grill-bank.md` — deep-dive probes, pushback lines, and red-flag heuristics for each gate (Mode 2).
- `references/quick-check-bank.md` — the 15-question Quick-Check quiz (5 dimensions × 3), six dialogue tones, scoring → impulse index + developer persona (Mode 1).
- `references/decision-record.md` — gate report (markdown) template.
- `references/report-schema.md` — JSON schema + examples for the HTML report generator (incl. optional `oss_tools` and `prd` for the Mode 2 handoff).
- `scripts/build_report.py` — renders the tech-light HTML report from the review JSON (incl. optional OSS-tools and PRD sections).
- `assets/design-tokens.css` — unified design tokens (tech-light palette) consumed by the report.

## Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

- **Author:** [anyeduke11](https://github.com/anyeduke11)
- **Source:** [anyeduke11/anti-vibecoding](https://github.com/anyeduke11/anti-vibecoding)
- **License:** MIT

Install and usage instructions live in the source repository linked above.

## Pricing

- **Free** — Free

## Security capabilities

Automated source analysis of v0.1.0 — what this tool can access:

- **Network access:** no
- **Filesystem access:** no
- **Shell / process execution:** no
- **Environment & secrets:** no
- **Dynamic code execution:** no

*"Yes" means the capability is present in the source — more access means more to trust, not that it is unsafe.*


## Versions

- **0.1.0** — security scan: passed — Imported from the upstream source.

## Links

- Listing page: https://agentstack.voostack.com/l/skill-anyeduke11-anti-vibecoding-anti-vibecoding
- Seller: https://agentstack.voostack.com/s/anyeduke11
- Browse the marketplace: https://agentstack.voostack.com/browse

---
Listed on AgentStack — the marketplace for AI agent skills and MCP servers. Every listing is security-reviewed. Creators keep 70%.
