checkmyvibe 1.0.0 → 1.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,8 +1,8 @@
1
1
  # checkmyvibe
2
2
 
3
- A structured, zero-dependency, local security-audit workflow packaged as an Agent Skill for AI coding assistants (such as Claude Code, Cursor, Codex, and Gemini CLI).
3
+ A structured, zero-dependency, local production readiness and code quality workflow packaged as an Agent Skill for AI coding assistants (such as Claude Code, Cursor, Codex, and Gemini CLI).
4
4
 
5
- AI-generated ("vibe-coded") applications built on modern AI tools frequently ship with serious, well-documented security flaws—such as exposed API keys, fake authentication stubs, permissive default database rules, and client-side pricing logic. **checkmyvibe** solves this by packaging security checks directly into an Agent Skill. When you ask your coding agent to "run a security audit," the agent uses checkmyvibe's local helper scripts and its own reasoning capabilities to analyze your codebase, producing a prioritized report detailing what's wrong, why it matters, and how to fix it.
5
+ AI-generated ("vibe-coded") applications built on modern AI tools frequently ship with serious, well-documented configuration and quality issues—such as exposed API keys, fake authentication stubs, permissive default database rules, and client-side pricing logic. **checkmyvibe** solves this by packaging readiness and verification checks directly into an Agent Skill. When you ask your coding agent to "run checkmyvibe" or "perform a readiness check", the agent uses checkmyvibe's local helper scripts and its own reasoning capabilities to analyze your codebase, producing a prioritized report detailing what configuration issues or gaps exist, why they matter, and how to fix them.
6
6
 
7
7
  ---
8
8
 
@@ -20,8 +20,8 @@ AI-generated ("vibe-coded") applications built on modern AI tools frequently shi
20
20
  ## What This Does NOT Check For (Disclaimer)
21
21
 
22
22
  > [!WARNING]
23
- > **checkmyvibe is not a substitute for a full professional security audit.**
24
- > This tool is a first-pass heuristic scanner meant to highlight common mistakes made by AI coding models during rapid scaffolding. It does not perform dynamic runtime analysis, penetration testing, deep static analysis, dependency vulnerability checks, or comprehensive logic auditing. Do not rely solely on checkmyvibe to declare your application secure for production.
23
+ > **checkmyvibe is not a substitute for a full professional external security audit.**
24
+ > This tool is a first-pass quality and readiness checklist meant to highlight common mistakes and temporary scaffolding shortcuts made by AI coding models during rapid prototyping. It does not perform dynamic runtime analysis, penetration testing, deep static analysis, dependency vulnerability checks, or comprehensive logic auditing. Do not rely solely on checkmyvibe to declare your application hardened for production.
25
25
 
26
26
  ---
27
27
 
@@ -50,13 +50,11 @@ If you prefer not to use `npx`, copy the files manually:
50
50
 
51
51
  Once installed, your AI coding agent will automatically recognize the `checkmyvibe` skill when relevant. You can trigger the workflow explicitly:
52
52
 
53
- ### Claude Code
54
- Open your terminal in the workspace and type:
55
- ```bash
56
- /bug run a security audit
57
- ```
58
- *Or simply ask Claude in the chat:*
59
- > "Run a security audit on this project using checkmyvibe"
53
+ ### Claude Code / Gemini CLI
54
+ Open your terminal in the workspace and ask:
55
+ > "Run checkmyvibe on this project"
56
+ *Or:*
57
+ > "Perform a production readiness check using checkmyvibe"
60
58
 
61
59
  The agent will walk through the checks, execute the local python validation scripts, and print a prioritized markdown report (Critical / Should Fix / Worth Reviewing) with instructions on how to correct the issues.
62
60
 
package/SKILL.md CHANGED
@@ -1,14 +1,13 @@
1
1
  ---
2
2
  name: checkmyvibe
3
3
  description: >
4
- Use this skill when the user asks for a security review, security audit, penetration test, or "is this safe to ship / safe to launch" check. Also trigger proactively when the agent is about to help deploy, publish, or push an application live, or when the codebase shows signs of AI-scaffolded patterns (Supabase/Firebase config, recently generated boilerplate, auth stubs, no existing security review) and the user has not had one done yet. Covers the specific, documented vulnerability patterns common in AI-generated and vibe-coded applications: exposed secrets, missing or fake authentication, permissive database rules, broken object-level authorization, unvalidated inputs, and client-side payment or pricing logic.
4
+ Use this skill when the user asks to "check my vibe", run a production readiness check, review code quality, do a sanity check, check for exposed environment variables, or check if the app is ready to launch/ship. Also trigger proactively when the agent is about to help deploy, publish, or push an application live, or when the codebase shows signs of AI-scaffolded patterns (Supabase/Firebase config, recently generated boilerplate, auth stubs, no existing verification) and the user has not had one done yet. Covers checking for missing or placeholder authentication, exposed secrets, permissive database rules, object-level authorization, input validation, and pricing configuration in client bundles.
5
5
  ---
6
-
7
- # checkmyvibe — Security Audit for Vibe-Coded Apps
6
+ # checkmyvibe — Production Readiness & Code Quality Check for Vibe-Coded Apps
8
7
 
9
8
  ## Why this skill exists
10
9
 
11
- AI coding tools optimize for "it works," not "it's safe." A feature can pass every
10
+ AI coding tools optimize for "it works," not "it's production-ready." A feature can pass every
12
11
  manual test a non-technical founder runs — sign up, log in, place an order — and
13
12
  still leak every other user's data to a stranger who changes one number in a URL.
14
13
  This happens because AI-generated code frequently ships with scaffolding shortcuts
@@ -16,24 +15,24 @@ that were meant to be temporary (a stub auth check, a permissive default databas
16
15
  rule) and never get hardened before launch, precisely because the person building
17
16
  the app doesn't know those shortcuts exist or what to look for.
18
17
 
19
- Your job when this skill is active: think like a security engineer doing a
20
- pre-launch review for a client who has never heard the words "IDOR" or "row-level
21
- security." Find the real, exploitable issues. Explain them in plain language. Give
22
- exact fixes. Do not pad the report with theoretical concerns that don't apply to
23
- this specific codebase, and do not skip a check because the codebase "looks
24
- simple" — simple codebases are exactly where stubbed auth and hardcoded secrets
25
- hide, because nobody expected them to hold real user data yet.
18
+ Your job when this skill is active: think like an experienced software engineer doing a
19
+ pre-launch quality review for a client who has never heard the words "IDOR" or "row-level
20
+ security." Find the real, addressable configuration and logic issues. Explain them in plain
21
+ language. Give exact fixes. Do not pad the report with theoretical concerns that don't apply
22
+ to this specific codebase, and do not skip a check because the codebase "looks simple" —
23
+ simple codebases are exactly where stubbed auth and hardcoded secrets hide, because nobody
24
+ expected them to hold real user data yet.
26
25
 
27
26
  ## Scope and honesty (read this before writing any report)
28
27
 
29
- This is a first-pass audit for known, documented failure patterns. It is not a
30
- full penetration test, it does not cover infrastructure security, dependency
31
- vulnerabilities, or novel/business-logic-specific flaws outside the six categories
32
- below. Never tell the user their app is "secure" or "safe" in an unqualified way.
28
+ This is a first-pass review for known, documented scaffolding failure patterns. It is not a
29
+ comprehensive external validation, and it does not cover infrastructure hosting, third-party package
30
+ issues, or novel/business-logic-specific flaws outside the six categories
31
+ below. Never tell the user their app is completely "secure" or "safe" in an unqualified way.
33
32
  The correct language is "no issues found in this pass" or "ready to ship as far as
34
33
  these checks go" — always paired with the scope reminder in the Final Summary
35
34
  section. If the app appears to handle payments, health data, or other regulated
36
- data, say explicitly that a professional audit is strongly recommended regardless
35
+ data, say explicitly that a professional verification is strongly recommended regardless
37
36
  of what this pass finds.
38
37
 
39
38
  ## Before you start
@@ -51,7 +50,6 @@ of what this pass finds.
51
50
 
52
51
  ---
53
52
 
54
-
55
53
  ## Supported stacks to recognize
56
54
 
57
55
  Common stacks this skill should expect include: Next.js, Express, FastAPI, Supabase, Firebase, Prisma, Postgres, MongoDB, Clerk, NextAuth, Stripe, and common app patterns built around them.
@@ -80,6 +78,7 @@ strings, and variable assignments where a name like `key`, `secret`, `token`, or
80
78
  `password` is set to a literal string instead of `process.env.X` or equivalent.
81
79
 
82
80
  **What counts as a finding:**
81
+
83
82
  - A real credential committed directly in source, e.g.:
84
83
  `const stripeKey = "sk_live_51H8x..."` — Critical
85
84
  - A secret present only in `.env` but `.env` is not gitignored (see Check 2) —
@@ -90,6 +89,7 @@ strings, and variable assignments where a name like `key`, `secret`, `token`, or
90
89
  Critical, this is directly shippable to every visitor's browser
91
90
 
92
91
  **What is NOT a finding (avoid false positives):**
92
+
93
93
  - Public/anon/publishable keys that are designed to be exposed client-side
94
94
  (Stripe publishable keys starting `pk_`, Supabase anon keys) — these are safe
95
95
  by design as long as server-side authorization (RLS, API checks) is correctly
@@ -105,10 +105,10 @@ them (not just whether a `.gitignore` file exists — many AI-generated `.gitign
105
105
  files exist but miss the actual secret file).
106
106
 
107
107
  **What counts as a finding:**
108
+
108
109
  - `.env` present in the working directory and not listed in `.gitignore` —
109
110
  Critical, regardless of current contents
110
- - `.env` already committed to git history (check with a quick `git log --all
111
- --full-history -- .env` if git is available) — Critical, and note in the
111
+ - `.env` already committed to git history (check with a quick `git log --all --full-history -- .env` if git is available) — Critical, and note in the
112
112
  fix that removing it from `.gitignore` going forward is not enough; the
113
113
  secrets in git history must be rotated, since they're recoverable even after
114
114
  deletion
@@ -119,17 +119,18 @@ files exist but miss the actual secret file).
119
119
  checks) for these patterns:
120
120
 
121
121
  **What counts as a finding:**
122
+
122
123
  - A function that always returns true/success regardless of input, e.g.:
123
124
  ```js
124
125
  function isAuthenticated(req) {
125
126
  return true; // TODO: implement real auth
126
127
  }
127
128
  ```
129
+
128
130
  Critical — this is a placeholder someone forgot to replace.
129
131
  - Naming that signals a stub: `mockAuth`, `fakeLogin`, `tempAuth`, `bypassAuth`,
130
132
  `skipAuth`, `devAuth` still present in a codebase with no clear dev-only guard
131
- around it. If it IS properly guarded (e.g. `if (process.env.NODE_ENV ===
132
- 'development')`), verify the guard is airtight and note it as Should Fix
133
+ around it. If it IS properly guarded (e.g. `if (process.env.NODE_ENV === 'development')`), verify the guard is airtight and note it as Should Fix
133
134
  rather than Critical, since misconfigured environment variables in production
134
135
  are a common way these leak through anyway.
135
136
  - A protected route or API endpoint with no auth check at all — compare route
@@ -153,6 +154,7 @@ If the project uses **Supabase**: check for row-level security (RLS) policies on
153
154
  every table that holds user-specific data. A table with RLS disabled, or enabled
154
155
  with a policy like `USING (true)` for `SELECT`/`UPDATE`/`DELETE`, means any
155
156
  authenticated (or even anonymous) user can read or modify every row.
157
+
156
158
  ```sql
157
159
  -- Finding example: this policy applies to ALL rows for ALL users
158
160
  CREATE POLICY "allow all" ON orders FOR SELECT USING (true);
@@ -204,6 +206,7 @@ common and DELETE is often the most damaging.
204
206
  ## Check 6: Unvalidated inputs
205
207
 
206
208
  Spot-check forms and API endpoints for:
209
+
207
210
  - No type or length validation on inputs before they're stored or used
208
211
  - User input passed into a database query via string concatenation rather than
209
212
  parameterized queries/an ORM (SQL injection risk)
@@ -261,6 +264,7 @@ For every finding, use exactly this structure:
261
264
  - Include a `Generated fix:` line when a direct code snippet or precise implementation step would help the agent patch the issue immediately.
262
265
 
263
266
  **[SEVERITY] Short title**
267
+
264
268
  - **What's wrong:** plain-English description, no jargon. If a technical term is
265
269
  unavoidable (e.g. "IDOR"), define it in one clause the first time it's used.
266
270
  - **Why it matters:** a concrete, real-world consequence a non-technical person
@@ -271,10 +275,10 @@ For every finding, use exactly this structure:
271
275
  suggestion like "add proper validation."
272
276
  - **File(s):** exact path and line number(s).
273
277
 
274
-
275
278
  ## After the checks
276
279
 
277
- Once the checks are complete, create a security audit/report. **The report must be written in clear, plain English, completely free of dense security jargon, so that it is easily understandable by non-technical stakeholders (such as founders, clients, or project managers).** The report must include:
280
+ Once the checks are complete, create a readiness review report. **The report must be written in clear, plain English, completely free of dense technical jargon, so that it is easily understandable by non-technical stakeholders (such as founders, clients, or project managers).** The report must include:
281
+
278
282
  - what was found
279
283
  - what is fixed already
280
284
  - how each fix was applied
@@ -283,12 +287,12 @@ Once the checks are complete, create a security audit/report. **The report must
283
287
 
284
288
  If no issues are found, still produce a short report that says no blocking issues were found in this pass, which categories were checked, and what the remaining scope limits are.
285
289
 
286
-
287
290
  ## Example report style
288
291
 
289
292
  Use clear, direct wording like:
290
293
 
291
294
  **[Critical] Missing object-level authorization**
295
+
292
296
  - **What's wrong:** Any logged-in user can read another user's order by changing the order ID.
293
297
  - **Why it matters:** A stranger could see someone else's orders and personal details.
294
298
  - **The fix:** Add a user ownership check in the query and return 404 when the record does not belong to the current user.
@@ -296,22 +300,23 @@ Use clear, direct wording like:
296
300
 
297
301
  ## Final summary
298
302
 
299
- End every audit with, in this order:
303
+ End every review with, in this order:
304
+
300
305
  1. Stack and data-sensitivity context noted at the start (one line)
301
306
  2. Total findings by severity, e.g. "2 Critical, 3 Should Fix, 1 Worth Reviewing"
302
307
  3. A one-line verdict: "Not ready to ship — fix the Critical items first" or "No
303
308
  blocking issues found in this pass — review the Should Fix items when you can"
304
- 4. The scope reminder: "This covers common patterns seen in AI-generated code —
305
- exposed secrets, auth stubs, database misconfiguration, IDOR, input validation,
306
- and client-side payment logic. It is not a full penetration test. If this app
307
- handles payment, health, or other regulated data, get a professional security
308
- review before launch regardless of these results."
309
+ 4. The scope reminder: "This review covers common configuration patterns seen in AI-generated code —
310
+ exposed secrets, auth stubs, database rules, object-level authorization, input validation,
311
+ and client-side payment logic. It is not a comprehensive third-party safety audit or pentest. If this app
312
+ handles payment, health, or other regulated data, get a professional external review
313
+ before launch regardless of these results."
309
314
 
310
315
  ## Notes for the agent
311
316
 
312
- - Always produce an audit/report after the scan; do not stop at raw findings.
317
+ - Always produce a review report after the check; do not stop at raw findings.
313
318
  - Write the entire report in clear, accessible language. Frame findings around concrete, real-world user consequences rather than abstract technical concepts. A non-technical stakeholder must be able to read the report and immediately understand the real-world danger.
314
- - The audit should clearly separate what was found, what was fixed, how it was fixed, and what remains.
319
+ - The review should clearly separate what was found, what was fixed, how it was fixed, and what remains.
315
320
  - Always run the available scripts (located in the `scripts/` directory relative to this `SKILL.md` file) before relying on reasoning alone for Checks 1-4 — they exist so those specific checks are reliable and repeatable rather than dependent on re-deriving the logic every time.
316
321
  - If a script is missing, fails to run, or the language/stack isn't supported by
317
322
  it, say so explicitly in the report ("automated secret scan could not run;
@@ -323,4 +328,4 @@ End every audit with, in this order:
323
328
  categories — pick the most relevant category and reference it once.
324
329
  - If the codebase is large, prioritize routes and files that touch
325
330
  authentication, payments, and any endpoint returning data tied to a specific
326
- user ID — these are where real damage concentrates.
331
+ user ID — these are where real damage concentrates.
package/install.js CHANGED
@@ -52,9 +52,9 @@ function performInstall(destPath) {
52
52
  console.log('\n=========================================');
53
53
  console.log('🎉 checkmyvibe Agent Skill installed!');
54
54
  console.log('=========================================');
55
- console.log('\nHow to run a security audit:');
55
+ console.log('\nHow to run checkmyvibe:');
56
56
  console.log('1. Open your terminal in the target repository.');
57
- console.log('2. Ask your coding agent: "run a security audit"');
57
+ console.log('2. Ask your coding agent: "run checkmyvibe" or "perform a readiness check"');
58
58
  console.log('3. The agent will execute checkmyvibe\'s checks and output a prioritized report!');
59
59
  console.log('=========================================\n');
60
60
  } catch (err) {
package/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "$schema": "https://json.schemastore.org/package.json",
3
3
  "name": "checkmyvibe",
4
- "version": "1.0.0",
5
- "description": "A structured security-audit workflow Agent Skill for AI coding assistants to catch common vibe-coded vulnerabilities.",
4
+ "version": "1.0.2",
5
+ "description": "A structured production readiness and code quality workflow Agent Skill for AI coding assistants to catch common vibe-coded configuration issues.",
6
6
  "main": "install.js",
7
7
  "bin": {
8
8
  "checkmyvibe": "install.js"
@@ -20,12 +20,21 @@
20
20
  },
21
21
  "keywords": [
22
22
  "ai-agent",
23
- "security-audit",
23
+ "code-quality",
24
+ "production-readiness",
24
25
  "claude-code",
25
26
  "cursor",
26
27
  "vibe-coding",
27
28
  "agent-skill"
28
29
  ],
29
30
  "author": "Sarthak",
30
- "license": "Apache-2.0"
31
+ "license": "Apache-2.0",
32
+ "repository": {
33
+ "type": "git",
34
+ "url": "git+https://github.com/Sarthakpatil23/checkmyvibe.git"
35
+ },
36
+ "bugs": {
37
+ "url": "https://github.com/Sarthakpatil23/checkmyvibe/issues"
38
+ },
39
+ "homepage": "https://github.com/Sarthakpatil23/checkmyvibe#readme"
31
40
  }
@@ -1,6 +1,6 @@
1
- # Vibe Vulnerability Patterns
1
+ # Vibe Readiness Risk Patterns
2
2
 
3
- This document serves as a reference for common vulnerability patterns identified in AI-generated ("vibe-coded") applications. AI coding assistants frequently introduce these security flaws because they prioritize speed, feature completion, and standalone component demonstration over robust security configurations.
3
+ This document serves as a reference for common readiness risk patterns identified in AI-generated ("vibe-coded") applications. AI coding assistants frequently introduce these configuration and design flaws because they prioritize speed, feature completion, and standalone component demonstration over robust production-ready setups.
4
4
 
5
5
  ---
6
6