安装方式
命令行安装
在项目根目录执行以下命令,完成 Skill 安装。
npx bzskills add luongnv89/skills --skill viral-product-evaluator Review a product codebase and landing page against 32 viral principles and produce a Virality Score plus ranked fixes. Use to audit virality or prioritize growth. Don't use for SEO, ASO, copywriting, or code review.
6
下载量
命令行安装
在项目根目录执行以下命令,完成 Skill 安装。
npx bzskills add luongnv89/skills --skill viral-product-evaluator name: "viral-product-evaluator"
description: Review a product codebase and landing page against 32 viral principles and produce a Virality Score plus ranked fixes. Use to audit virality or prioritize growth. Don't use for SEO, ASO, copywriting, or code review.
license: MIT
effort: high
metadata:
version: 1.3.0
author: "Luong NGUYEN <luongnv89@gmail.com>"Grade a product against the 32 principles of viral products. Two inputs — a codebase and a
landing page — produce one output: a scored report of what's already satisfied and, in
priority order, what to do next to make it more viral.
Trigger when the user wants to:
Do not use for: technical SEO (seo-ai-optimizer), App Store ASO (aso-marketing),
turning a README into a page (landing-page-generator), or bug-hunting code review
(code-review). This skill
evaluates and prioritizes; it does not rewrite the product.
references/*.md files present for the rubric and output shape.Missing prerequisites → stop and report before gathering evidence.
It reads the codebase, fetches the landing page, and writes one report file
(viral-evaluation.md). It does not edit the user's source, change copy, or commit
anything — so no repo-sync/branch guardrail is needed. If the user then asks you to *apply*
fixes, that is a separate task (hand off to a copy/frontend skill); this skill stops at the
prioritized plan.
This skill invokes /browse, and only on the live URL path — a local file or an
auto-detected page needs nothing installed. Resolve it before fetching anything:
test -d "$HOME/.claude/skills/browse" || asm list -p claude --json | grep -q '"browse"' || {
echo "Missing required skill: browse" >&2
echo "Install it: asm install github:garrytan/gstack:browse -p claude -s global --yes" >&2
echo "No asm yet: npm install -g agent-skill-manager" >&2
echo "Verify: asm list -p claude --json | grep 'browse'" >&2
}
The install-path test runs first because /browse ships in gstack and may be present without
asm knowing about it. -p claude -s global is required: asm install will not guess a provider
non-interactively, and a project-scoped install lands where the $HOME test cannot see it.
A missing /browse is fail-soft, not fatal: print the commands above, then ask the user for a
local file or saved HTML of the page. Never score a URL you could not load — do not invent one.
Accept any combination the user provides; ask only for what's missing and truly needed.
/browse skill (headless). Capture rendered copy,headline, CTAs, pricing section, testimonials, nav, and <head> meta (og:image,
twitter:image, description, <title>).
index.html, a JSX/TSX/MDX page, a built dist/) → read it directly.index.html, app/page.tsx, pages/index.*, src/App.*, landing/, marketing/,
public/). Confirm the candidate with the user if ambiguous.
pricing/paywall/subscription principles, the feature surface ("does one thing"), and to
locate the landing page if no URL/file was given.
purpose", "target audience is developers", "we must stay subscription". Honor these when
*interpreting* a verdict (note the deliberate deviation) but still score the principle as
written so the number stays comparable.
If neither a URL, a file, nor a detectable page exists, stop and ask the user where the landing
page lives — do not invent one.
Run these in sequence. Emit the matching Step Completion Report (see
references/step-reports.md) after each.
/browse; file → read; else auto-detect).LemonSqueezy, RevenueCat, Chargebee), pricing config/constants, plan & tier definitions,
paywall/auth gating, trial logic. Grep for price, plan, tier, checkout,
subscription, free, trial, stripe, paddle.
feature evidence) so the main context stays clean. Collect: tier list, billing type (one-time
vs subscription), free-plan yes/no, and a one-line feature inventory.
references/principles.md — the full rubric. Score every principle PASS / PARTIAL /FAIL using its criteria. Do not skip any; absence of a thing a viral product would ship
(pricing, testimonials, demo) is a real FAIL, not "unknown".
name the actual tier, cite the file/line. Generic findings are not acceptable.
judgment/visual principle (hero punch, emotional headline, OG-image design,founder presence, novelty, price-vs-competitor) as low-confidence and record what a human
must eyeball.
PASS=1, PARTIAL=0.5, FAIL=0, summed over 32, ×100/32,rounded. Assign the tier (Viral-ready / Promising / Needs work / Not viral yet).
references/report-template.md and produce the report in that exact shape:verdict block → scorecard (all 32) → top fixes (prioritized) → what's working → caveats.
headline/proof/single-CTA first. Merge principles that share a root cause into one fix. Make
each fix concrete enough to act on (give the actual proposed headline, the tier to cut, the
CTA label) — quote what it is Now and what to Change it to.
viral-evaluation.md — repo root, or the current working directorywhen there is no repo — and also print the verdict block + top fixes inline.
This is a critique tool — its value is candor. Do not inflate scores to be encouraging. If the
hero fails, say it fails and show the fix. At the same time, do not invent flaws: a genuine PASS
is a PASS. Low-confidence verdicts must be labeled, never laundered into false certainty. When
extra instructions justify a deliberate deviation (e.g. a strategic free tier), score the
principle as written and explain the trade-off in the caveats — don't silently pass it.
On any failure to fetch inputs or read evidence, report the concrete error and stop — do not
guess or continue with incomplete data. Confirm with the user on every gate and before
finalizing the report. If a principle cannot be evidenced, mark FAIL or low-confidence; never invent.
After each phase, emit the report from references/step-reports.md. The three phases are
Gather Evidence, Evaluate, and Prioritize & Report.
also printed inline; Step Completion Reports emitted per phase.
A report containing:
---
references/principles.md — the 32-principle rubric: per-principle checks, evidence source,PASS/PARTIAL/FAIL bars, confidence flags, and the scoring formula. Load every run.
references/report-template.md — exact output shape (verdict block, scorecard, prioritizedfixes, strengths, caveats) with a calibration example.
references/step-reports.md — Step Completion Report formats for the three phases.