Web Quality v1.0.0 MIT
Anti-Vibecode
Use when building or auditing a marketing page. Scores the page against 30 common tells, and passes it only when no more than five are present.
Features
- A scorecard of 30 named tells, scored 0 or 1 with no partial credit.
- Replacement guidance for each tell, grouped by visual, proof, copy and chrome.
- A pass rule on total hits, not per category.
- An audit-only mode that reports the scorecard without editing.
- A required output block so the score can be checked.
Benefits
- Pages are judged against a fixed list, so reviewers agree on the result.
- Every fix is tied to a tell, so the work is bounded.
- Invented proof is caught, because proof tells are scored separately.
Install
From the tap (or GitHub path)
hermes skills install shagghiesuperstar/hermes-skills/skills/anti-vibecode --category web-quality
Direct URL
hermes skills install https://raw.githubusercontent.com/shagghiesuperstar/hermes-skills/main/skills/anti-vibecode/SKILL.md --category web-quality
Get the skill
Related repos
- GitHub repohermes-skillsThe public collection this skill belongs to. MIT licensed.
- GitHub repoNousResearch/hermes-agentHermes Agent by Nous Research, the upstream runtime these skills are written for.
- GitHub reposhagghiesuperstar/anti-vibecodeHermes skill: score the 30 vibecoded landing-page tells and refuse to ship more than five.
The skill file
Anti-Vibecode
Overview
A marketing page that looks like every other generated page loses trust in the first three seconds. This skill is a ship gate: it scores a page against 30 common tells, each worth one point if a stranger would notice it in a three-second scan, and it passes the page only when five or fewer are present. The goal is a page that fits the actual product, not a fashionable template.
When to Use
- Building or restyling a landing page, homepage, waitlist, pricing page or product marketing site.
- A user asks for a design that does not look generic, or asks for a review of a page's default look.
- Reviewing generated markup or styling for default-model aesthetics before a screenshot or deployment.
Skip it for internal admin screens that must match an existing kit, and for a brand system that already sets these choices on purpose.
Features
- A scorecard of 30 named tells, scored 0 or 1 with no partial credit.
- Replacement guidance for each tell, grouped by visual, proof, copy and chrome.
- A pass rule on total hits, not per category.
- An audit-only mode that reports the scorecard without editing.
- A required output block so the score can be checked.
Benefits
- Pages are judged against a fixed list, so reviewers agree on the result.
- Every fix is tied to a tell, so the work is bounded.
- Invented proof is caught, because proof tells are scored separately.
Procedure
- Name the job in one sentence. Say what the product does and for whom. If the sentence cannot be written, the page is not ready for a headline.
- Choose three locked choices before writing markup. Pick a pairing of display and body type that is not the default sans-serif pair. Pick one accent colour from the product itself, not a purple-to-blue gradient. Pick one layout that serves the job, not a grid of equal cards.
- Build the page, or read the existing one.
- Score all 30 tells. Each is 0 or 1. A tell counts only when a stranger would notice it in a three-second scan.
- Apply the ship rule. Five or fewer hits passes. More than five fails. Do not present a failing page as finished. List the hits, apply the replacements, and score again.
- In audit-only mode, return the scorecard and stop. Do not edit the page unless the user asks.
Completion means a 30-row scorecard with a total and a verdict: either a pass at five or fewer, or a fixed page that scores a pass.
The 30 tells
- Purple, or purple fading into blue
- A glowing orb behind the hero
- A dot-grid background
- A gradient applied to the headline text
- A sparkle icon on anything labelled AI
- A glass card floating over a gradient
- An icon inside a tinted rounded square
- An average bento grid of equal tiles
- A clearly fake product screenshot
- The only font is a default sans-serif
- Default framework colours used without change
- Testimonials from invented people with stock avatars
- A "trusted by" logo strip with logos the business has no permission to show
- A statistics row of large user counts and uptime figures that the business cannot back up
- A "powered by AI" badge in the navigation
- A waitlist form that does not store anything
- "It's not X, it's Y"
- Em dashes throughout the copy
- "Fast. Simple. Powerful." descriptors
- Feature names that are two generic nouns
- Three feature cards of identical text length
- "Get started" beside "Learn more"
- Three pricing tiers with "most popular" in the middle
- A $9, $29, $99 price structure
- A FAQ that answers questions nobody asked
- Generic hover and scroll animations
- A hero that never says what the product does
- No loading or empty state, only a blank area
- A blog link where no blog exists
- The default favicon
None of these is forbidden by itself. More than five is the failure.
Replacements
- Visual (1 to 8, 10, 11, 26). Use one type pairing with character. Build the palette from the product's real materials, such as photography, packaging or the logo. Use a flat or lightly textured ground. Leave out orbs, dot grids, glass over gradients and sparkle icons. Animate only to show a state change.
- Proof (9, 12 to 16, 25, 29). Use a real screenshot or none. Use real names or no testimonials. Show logos only with permission. Show statistics only when they are true. A waitlist must store a real address. A FAQ answers real questions. A blog link needs real posts behind it.
- Copy (17 to 22, 27). Say what the product does in the hero, in plain words. Name features with verbs or outcomes. Card lengths may differ. Use one primary call to action that names the action. Avoid "it's not X" and empty triads of adjectives.
- Chrome (15, 23, 24, 28, 30). Leave out "powered by AI" chips. Show the price you actually charge. Provide loading and empty states. Use a real favicon.
Honesty rule. If there is no metric, testimonial, logo or screenshot, leave out that section. Invented proof scores as a hit on tells 9, 12, 13 or 14.
Pitfalls
- Changing purple to indigo is still tell 1.
- Using two default sans-serif families together still scores tell 10 unless other choices are made.
- A bento grid of equal tiles is still tell 8, however it is labelled.
- Replacing em dashes with spaced hyphens but keeping "fast, simple, powerful" still fails tell 19.
- The cap is on total hits, not per category. A page can pass visual tells and still fail on copy.
- Do not add other tells to the scorecard. Extra style notes go in a separate paragraph, not in the score.
Verification
Return this block with every row filled:
anti-vibecode score
hits: <n> / 30 verdict: PASS (<=5) | FAIL (>5)
1-10: ...
11-20: ...
21-30: ...
fixes applied: <ids or none>
A verdict of PASS applies only to the page being handed back, not to the page that was started from.
Attribution
The list of 30 tells was written by @kloss_xyz (opens in a new tab). The original post is https://x.com/kloss_xyz/status/2097808934442844307. Packaging of this skill is by the Pixel Rainbow project: https://github.com/shagghiesuperstar/anti-vibecode. Credit the original post first when citing the list.