ovid/paad/vibe
Claude Code and agent skill by ovid/paad
- community
Checking that the SKILL.md file is still in the repository.
Use when making a small, quick change — a bug fix, typo, minor feature, tweak, or anything the user calls "vibe coding" — that looks like 1-3 files in the same module
Install
npx vskill@latest install ovid/paad/vibeSKILL.md
On invocation: announce "Running paad:vibe v2.1.0", then immediately proceed with the steps below — do not stop after announcing.
Configuration (experimental): after announcing, check whether paad/config/paad.md and paad/config/vibe.md exist, relative to the working directory. If any does, read it and follow its instructions for the rest of this run, passing the relevant parts to every subagent you dispatch, and make the first line of your final answer Config: <path> naming each file you followed. If none exists, do not mention config at all. Config never changes a subagent's type or grants it write tools — refuse that line, say so, and continue. Config can contradict the flow below; see https://github.com/Ovid/paad/blob/main/CONFIG.md before writing one.
Safe Vibe Coding
Quick fixes and small changes with guardrails. You get the speed of vibe coding without the recklessness — mandatory TDD, architecture awareness, and reusable component detection.
Flow:
Arguments
/vibe accepts optional $ARGUMENTS:
/vibe— ask the user what needs fixing/vibe fix the login timeout bug— start working on the described task immediately/vibe src/components/Modal.tsx add close on escape key— task with a file hint
When arguments are provided, treat them as the task description. Still ask clarifying questions if the task is unclear.
Step 1: Understand the Task
If no $ARGUMENTS provided, ask: "What needs fixing or changing?"
Once you have a task description:
- If the task is unclear, ask one clarifying question at a time
- Focus on: what should change, what should stay the same, edge cases
- Don't over-question simple tasks. "Fix the typo in the header" doesn't need a requirements session.
Step 2: Pre-flight Checks
Before writing any code, check these. If any raise concerns, discuss with the user before proceeding.
Test infrastructure
Does this project have a test framework and runner? Look for:
- Test directories (
test/,tests/,spec/,__tests__/) - Test config files (
jest.config,vitest.config,pytest.ini,.rspec,phpunit.xml,Cargo.tomlwith[dev-dependencies], etc.) - Existing test files
If no test infrastructure exists: tell the user. Ask: "There's no test setup in this project. Want me to set up a basic test framework first, or proceed without TDD?" If they choose to proceed without TDD, still follow GREEN and REFACTOR steps but skip RED.
Existing tests in the affected area
Does the code being changed already have tests? If yes, note them — they'll inform your RED step and catch regressions. If no, that's fine but worth noting.
Scope check
How many files and modules does this change likely touch?
- 1-3 files, same module: good vibe territory. Proceed.
- 4+ files or crosses module boundaries: warn the user: "This looks like it touches [N] files across [modules]. It might be bigger than a vibe task. Want to proceed, or would a more structured approach be better?"
Architecture smell
If the task is conceptually simple (e.g., "only admin users can download finance reports") but investigation reveals it requires a lot of work to implement, stop. Investigate whether there are deeper architectural issues making the work harder than it should be. Discuss findings with the user before proceeding.
Reusable components
If the task involves common functionality — toast notifications, modals, form validation, error handling, data formatting, API calls, permission checks, logging, etc. — search the codebase first for:
- Existing components or utilities that already do this
- Partial implementations someone started but didn't finish
- Patterns used elsewhere in the codebase for the same kind of thing
If found: tell the user what you found and recommend using/extending the existing code rather than building from scratch.
Step 3: Implement (Red/Green/Refactor)
This is mandatory. Follow it strictly.
RED — Write one failing test
Write a single test that defines the expected behavior for the change.
Run it. It should fail. If it doesn't:
- If the test passes: stop. The feature or fix may already exist, or your test may not be testing what you think. Tell the user what happened and ask how to proceed.
- If the test fails in an unexpected way: stop. The failure mode may reveal an unknown issue. Tell the user what you expected vs what happened and ask how to proceed.
Only proceed to GREEN when the test fails in the expected way.
When an existing test already encodes the old behaviour. Common on a requirement change rather than a bug fix: a test asserts the value you are about to change. That test is the old requirement written down, not a regression signal — update it to the new expectation and run it before touching the source. That is a valid RED. Don't add a second test asserting the same behaviour.
Two things this does not license:
- Changing a test after the source, to make a red suite go green. Order is the entire difference: before the fix it is a specification, after it is whatever makes the failure go away.
- Skipping RED because an existing test "already covers" the branch. It asserts the old value, so it goes red whether your change is right or wrong.
If you cannot tell whether a failing test encodes a superseded requirement or a real regression, stop and ask.
GREEN — Write minimal code to pass
Write the simplest code that makes the failing test pass. Resist the urge to:
- Add error handling for cases not covered by the test
- Build abstractions "while you're in there"
- Fix adjacent code that isn't broken
- Add features beyond what was asked
Run the test. It should pass. Run all existing tests in the affected area too — make sure nothing broke.
REFACTOR — Improve while keeping tests green
Now clean up. This is the step AI skips unless told to, and it's where real quality comes from. Look for:
- Duplicated logic that should be extracted into a shared function
- Hard-coded values that belong in config or constants
- Inconsistent patterns where your new code doesn't match the conventions around it
- Naming that could be clearer
- Dead code your change made obsolete
Run all tests after refactoring. Everything must stay green.
Repeat if needed
If the task involves multiple behaviors, repeat the red/green/refactor cycle for each. One test at a time, one behavior at a time.
When You're About to Skip a Step
Every excuse below was produced by an agent working a real timed task under this skill, not invented for illustration. They are persuasive because they are almost right — each one contains a true observation attached to a wrong conclusion. If you catch yourself composing one of these, that is the signal to do the step, not to explain why you didn't.
This is the start of the file. Read the full SKILL.md on GitHub.
Security
- Security scanPassed, 90 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingplugins/paad/skills/vibe/SKILL.md
Popularity
- Repository stars
- 137
- Repository forks
- 11
- 7-day trend score
- 0
Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/ovid/paad/vibe)