Featured

Deploy OpenClaw in 60 seconds — 20% off logoDeploy OpenClaw in 60 seconds — 20% off

Launch OpenClaw on Hostinger in about 60 seconds and keep your agent live 24/7. Our referral link gives you 20% off, no coupon code needed.

Launch on Hostinger
Run your Hermes agent on Hostinger, fully managed logoRun your Hermes agent on Hostinger, fully managed

Launch Hermes on Hostinger in one click, fully managed, no VPS knowledge needed. Use code ZACAARON10 for 10% off.

Launch on Hostinger
Crawl and scrape any site into clean data, 10% off logoCrawl and scrape any site into clean data, 10% off

Firecrawl crawls and scrapes any site into clean markdown for your agent. Get 1,000 free credits, and new users get 10% off their first purchase.

Try Firecrawl free
Your own AI agent, running 24/7 with QwikClaw logoYour own AI agent, running 24/7 with QwikClaw

QwikClaw sets up and runs an always-on OpenClaw agent for you. One click, no config files, no server setup.

Deploy now
One API to scrape, enrich, and extract the internet. logoOne API to scrape, enrich, and extract the internet.

Context.dev gives your agents a single API to scrape, enrich, and extract live web data — no proxies, no parsers, no maintenance.

Start building free
SetupClaw: done-for-you OpenClaw for founders & exec teams logoSetupClaw: done-for-you OpenClaw for founders & exec teams

White-glove OpenClaw for founders and exec teams (4–50+ employees): we install, harden, integrate your tools, and maintain it — secured from day one.

Get it set up for you
SEO data APIs for your agent, $1 free credit logoSEO data APIs for your agent, $1 free credit

DataForSEO gives your agent live access to SERP results, keyword data, backlinks, and on-page SEO data through one API. New accounts get a $1 credit, good for up to 20,000 keyword or backlink lookups.

Try DataForSEO free
Reach 47,000+ AI builders

A flat monthly placement in front of developers actively installing AI tools. No lock-in, cancel anytime.

Advertise here
obsidian-plugin logo

obsidian-plugin

vibe-coding

productivityClaude Codeby AndrewChang-cpu

Summary

Obsidian vault pipeline skills — ingest PDFs and learn from web/GitHub sources.

Install to Claude Code

/plugin install obsidian-plugin@vibe-coding

Run in Claude Code. Add the marketplace first with /plugin marketplace add AndrewChang-cpu/vibe-coding-configuration if you haven't already.

README.md

vibe-setup

Bootstrap a consistent AI agent environment for Claude Code, Codex, and Cursor.

Claude Code and Codex setup are intended to be global, once-per-machine setup. They write user-level instructions, agents, MCP configuration, and plugins so the same workflows are available from any repository. Cursor setup is still project-local because Cursor reads project config from .cursor/.

Usage

npx vibe-setup

Prompts you to select which tools to configure. Or use flags:

npx vibe-setup --all              # set up everything
npx vibe-setup --claude           # Claude Code only
npx vibe-setup --cursor           # Cursor only
npx vibe-setup --codex            # Codex only
npx vibe-setup --claude --cursor  # mix and match
npx vibe-setup --claude --yes     # skip confirmation prompts
npx vibe-setup --claude --reconfigure  # re-prompt for API keys and Obsidian vault path

Always pull the latest version:

npx vibe-setup@latest --claude

Prerequisites

  • Node.js 18+
  • Claude CLI (for --claude setup)
  • QMD CLI available on PATH (for the Obsidian RAG MCP)
  • API keys set as environment variables (see below)

API Keys

vibe-setup will prompt for any missing keys during setup and offer to save them to ~/.vibe-setup for future runs.

| Variable | Where to get it | |---|---| | GITHUB_PERSONAL_ACCESS_TOKEN | github.com/settings/tokens | | CONTEXT7_API_KEY | context7.com | | TAVILY_API_KEY | tavily.com |

Keys are resolved in this order: environment variable → ~/.vibe-setup → interactive prompt.

What gets generated

| Tool | Files | |------|-------| | Claude | ~/.claude/CLAUDE.md (global), ~/.claude/agents/ (global) | | Cursor | .cursor/mcp.json, .cursor/rules/, .vibe/ | | Codex | ~/.codex/AGENTS.md (global), ~/.codex/config.toml (global MCP sections), ~/.codex/agents/ (global), .agents/plugins/marketplace.json (repo-local development only) |

Re-running is safe — you'll be prompted before global instruction/config files are updated. Use --yes to skip.

Workflow

First-time global setup (once per machine)

npx vibe-setup@latest --claude --codex
  • Writes ~/.claude/CLAUDE.md with behavioral and security instructions
  • Writes ~/.codex/AGENTS.md with the same global behavioral instructions
  • Configures MCP servers and installs the skill plugins
  • Deploys agents to ~/.claude/agents/
  • Deploys Codex agents to ~/.codex/agents/
  • Registers the QMD MCP server; QMD reads its collections from your user-global ~/.config/qmd/index.yml

Per-project setup

npx vibe-setup@latest --cursor --yes

Use per-project setup only for tools that need repository-local config, such as Cursor. For Claude Code, run /init in a repository when you want a project-specific CLAUDE.md layered on top of the global setup. Codex does not need vibe-setup rerun in each project for the global instructions, MCP servers, plugins, or agents.

Claude Code Plugin

Install the skill library directly in any project via Claude Code:

/plugin marketplace add AndrewChang-cpu/vibe-coding-configuration
/plugin install general-plugin@vibe-coding

Codex Plugin

Install the skill library directly in Codex:

codex plugin marketplace add AndrewChang-cpu/vibe-coding-configuration
codex plugin marketplace upgrade vibe-coding
codex plugin add general-plugin@vibe-coding
codex plugin add obsidian-plugin@vibe-coding

The Codex plugin manifests live alongside the Claude Code manifests:

  • general-plugin/.codex-plugin/plugin.json
  • obsidian-plugin/.codex-plugin/plugin.json

Claude Code configuration remains intact.

After the initial install, each plugin owns its own prompt-submit update hook:

  • general-plugin updates general-plugin
  • obsidian-plugin updates obsidian-plugin

---

Workflows

Primary pipeline

Run these commands in sequence for any non-trivial feature or bugfix:

| Step | Command | What it does | Auto-fires | |------|---------|--------------|------------| | 1. Plan | /vibe:plan | Interviews you, writes .plan/PLAN.md with tasks, Definition of Done, and optional UI mockups | — | | 2. Tasks | /vibe:tasks | Decomposes PLAN.md into .plan/TASKS.md — TDD-ready task blocks with files, Done-when criteria, and test names | — | | 3. Work | /vibe:work | Dispatches implementer + reviewer subagents per task. TDD-mandated (RED → GREEN). Repeats waves until all tasks done | python-patterns (if .py in task files), doc-updater (after all tasks complete) | | 4. Review | /vibe:review | Adversarial code review: runs code-reviewer, then pre-commit checklist | python-reviewer (if .py in diff), security-reviewer (always) | | 5. Verify | /vibe:verify | Conversational UAT — walks through each DoD criterion with you, records pass/fail | — | | 6. Ship | /vibe:ship | Commit and push | — |

The pipeline is designed to be repeated. When you run /vibe:plan again on a project that already has a PLAN.md, it asks whether you're starting a new phase or extending the existing plan. Choosing "New phase" archives PLAN.md and TASKS.md to .plan/archive/ (versioned as PLANv1.md, PLANv2.md, etc.) before writing a fresh plan. Run the full cycle as many times as needed — once per feature, once per iteration, or whenever scope changes significantly.

Autonomous variants of step 3:

  • /vibe:work-loop — loops until all tasks complete without manual re-invocation
  • /vibe:work-goal — uses /goal as the outer loop in Claude Code or Codex:
  /goal Use vibe:work-goal to repeatedly execute vibe:work until every task in .plan/TASKS.md is done, the integration review passes, doc-updater has run, and every Definition of Done criterion in .plan/PLAN.md passes.
  • /vibe:work-ralph — Claude Code-only Ralph Wiggum stop-hook loop
  • /vibe:review-fix-loop — Codex-backed headless loop for post-review bug, security, and code-smell remediation. Launches fresh codex exec --ephemeral phases for review, taskify, and work. Stops on CLEAN, NEEDS_USER_INPUT, or BLOCKED; artifacts are written to .plan/review-fix-loop-output/.

---

Automatic behaviors

These fire as part of the workflow above. No commands to remember — they are wired in.

| Behavior | Fires when | What it does | |----------|------------|--------------| | python-patterns | /vibe:work with .py files in task | Injects Python idioms, type hint conventions, and project standards into the implementer subagent before it writes code. Update python-patterns/SKILL.md to encode your codebase's standards. | | python-testing | /vibe:tdd or /vibe:add-tests on a Python project | Injects pytest fixture conventions, marker setup, coverage config, and codebase testing patterns into the test-writing phase. | | python-reviewer | /vibe:review with any .py file in the diff | Runs ruff, mypy, black --check, bandit automatically. Outputs CRITICAL/HIGH/MEDIUM findings. Blocks on CRITICAL or HIGH. | | security-reviewer | Every /vibe:review | OWASP Top 10 scan, secrets detection, injection/auth/XSS/deserialization analysis. Blocks on CRITICAL or HIGH. | | doc-updater | /vibe:work after all tasks complete | Checks whether READMEs, docstrings, or docs need updating to match completed changes. Writes updates if needed. | | plugin self-update | Prompt submit | Each installed plugin updates itself after bootstrap: general-plugin updates general-plugin, and obsidian-plugin updates obsidian-plugin. | | request-recap | Request end (Stop hook) | Asks the agent for a concise recap of its most recent response, including decisions, file-by-file technical changes, and verification status. | | tdd-reminder | Write to a new .py file (PostToolUse hook) | Outputs a one-line reminder to write the test first (RED phase) when a new non-test Python module is created. |

---

Utility skills (user invoked)

These are invoked directly by the user when needed, outside the primary pipeline.

| Command | When to use | |---------|-------------| | /vibe:debug | Bug found — investigates cause using the scientific method, proposes a targeted fix | | /vibe:review-fix-loop | Codex-only automated review-fix loop for defects within the current wave; stops before ambiguous technical decisions | | /vibe:add-tests | Retrofit tests onto work done outside the pipeline (manual edits, legacy code, external contributor) | | /test-driven-development | Standalone TDD guidance when not running the full pipeline | | /context-optimization | Long sessions — KV-cache, observation masking, compaction, partitioning techniques | | /filesystem-context | Inject relevant filesystem context into the session | | /doc-coauthoring | Collaborative documentation writing | | /frontend-design | UI and component design guidance | | /python-patterns | Consult Python project standards directly (also auto-used by vibe:work) | | /python-testing | Consult Python testing conventions directly (also auto-used by vibe:tdd and add-tests) |

Obsidian integration (obsidian-plugin, install separately):

| Command | When to use | |---------|-------------| | /vibe:ingest | Import and index content from your Obsidian vault | | /vibe:learn | Surface relevant notes from your Obsidian vault for the current task |

---

Agents

Agents are spawned as subagents by skills (automatic) or invoked directly using subagent_type: <name> in a prompt. Claude Code uses ~/.claude/agents/.md; Codex uses ~/.codex/agents/.toml and plugin-bundled general-plugin/codex-agents/*.toml.

| Agent | Spawned automatically by | Invoke directly when | |-------|--------------------------|----------------------| | code-reviewer | /vibe:review (always) | You want a standalone adversarial code review | | python-reviewer | /vibe:review when .py in diff | You want Python-only static analysis outside a review pass | | security-reviewer | /vibe:review (always) | You want a focused security scan outside a review pass | | doc-updater | /vibe:work after all tasks complete | After ad-hoc code changes outside the pipeline that may affect docs | | build-error-resolver | Manual only | Build or type-check fails; you want minimal-diff fixes with no architectural edits | | debugger | /vibe:debug | Bug investigation via scientific method | | researcher | /vibe:plan (research phase) | Deep technical research before planning a complex feature |

---

Living Python specs

Two skill files are designed to be updated over time as you learn your codebases:

| File | What to put in it | |------|------------------| | general-plugin/skills/python-patterns/SKILL.md | Project-specific Python idioms, architectural conventions, type hint patterns, error handling standards. python-reviewer uses this as its enforcement source of truth. | | general-plugin/skills/python-testing/SKILL.md | Codebase-specific pytest conventions: which fixtures are shared, how to set up the DB in tests, naming patterns, coverage targets, which markers are in use. |

---

Subdirectories

Related plugins

Browse all →