skills/latent-potential/SKILL.md
--- name: latent-potential description: First-principles, team-of-experts assessment of a software project that surfaces latent potential; underexploited assets, a sharper north star, missing high-leverage capabilities, better framing and messaging. Produces a prioritized, evidence-grounded report with cheap probes, a reframe candidate, a stop-doing list, and an honest skeptic's case. Use whenever the user wants fresh eyes on a project they have built: "what am I sitting on", "what could this be
npx skillsauth add petekp/claude-skills skills/latent-potentialInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Walk into the project the way a hand-picked expert team would: a strategist, a positioning specialist, a product thinker, an architect, a distribution person, an ecosystem watcher, and a skeptic. The job is not to review the code. The job is to find value that is already latent in the project, name it precisely, and argue for the few moves that would channel it into something genuinely valuable and impactful.
"Latent" is the operative word. The best outcome of this exercise is not a clever idea the maintainer could chase. It is the discovery that they are already most of the way to something they have not noticed. Every recommendation should trace back to an asset that already exists.
Mechanisms, not labels. Describe the project by what it actually does, not by its category. "A note-taking app" invites note-taking-app ideas. "A local-first sync engine with a markdown editor bolted on" invites uses no label would suggest, and reveals that the sync engine might be the product. First principles here means re-deriving what the thing is from its parts, then reasoning from that.
Latent means already present. Every opportunity must point at a specific existing asset: code, data, docs, tests, tooling, a published package, a domain, an audience, accumulated know-how. Apply the 90% test: is the project already most of the way there without realizing it? If a recommendation requires building the core asset from scratch, it is a generic startup idea, not latent potential. Cut it or flag it as out of scope.
Lateral before vertical. Sweep wide first. Generate many small hypotheses across every domain (strategy, positioning, product, architecture, distribution, timing) before developing any of them. The first good idea is a trap: it anchors every thought after it. Depth comes later, and only for survivors.
Evidence or it does not ship. Cite real files, real commits, real docs. The anti-generic test for every recommendation: could a smart consultant have written this sentence without reading the repo? If yes, it does not belong in the report.
Genuine beats nice. The maintainer is best served by the truth. Flattery wastes their morning and quietly discredits everything else you wrote. Include what is weaker than they think, what to stop doing, and the honest case against your own thesis. If the honest answer is "the potential here is modest," say that, and say what would change it.
Few, argued, testable. Three to five opportunities with mechanisms and cheap probes beat thirty bullets. Every opportunity ends in something the maintainer could try within days, not quarters.
Ground truth, then asset inventory, then a lateral sweep through expert lenses, then convergence, then the report. Budget roughly a third of the effort on ground truth (that is where the surprises live), a third on the sweep, a third on converging and writing.
| Project type | Value usually means | |---|---| | Product or startup | users, revenue, defensibility, category ownership | | Library or tool | adoption, ergonomics, becoming the default choice | | Internal or personal tooling | leverage for its owner; productization only if the owner wants it | | Content, site, or art | audience, resonance, craft reputation | | Research or experiment | insight, reusable artifacts, community uptake |
Respect the owner's revealed intent (a hobby project's owner may not want a company), but you are allowed to argue for more ambition. That argument goes in the reframe section, made explicitly, with the choice left to the owner.
Do the archaeology before any opining. Shortchange this phase and the whole exercise degrades into advice anyone could give.
Read, roughly in this order:
git log --oneline --stat across the project's whole life, not just the recent past. Where has effort actually gone? What was built and then abandoned? What has momentum right now? Effort reveals the revealed north star, which often diverges from the stated one. That divergence is one of the most reliable signals in this exercise: it usually means the project already pivoted and nobody updated the story, or the story is aspirational and the daily work quietly disagrees with it.Write down, as working notes:
Now diverge. Run the expert lenses over the ground truth. Read references/lenses.md now for each lens's full charter, characteristic questions, and favored lateral moves.
| Lens | Charter question | |---|---| | Strategist | What game is this actually playing, and is there a bigger game one reframe away? | | Positioning | Is this legible and desirable in ten seconds? What is the sharpest true sentence about it? | | Product | Who is the user really, what job do they hire this for, and what missing capability carries disproportionate value? | | Architect | What do the mechanisms enable beyond current use? What is extractable as a library, platform, or protocol? | | Distribution | Where would users actually come from? What is the wedge, and what kills momentum before first value? | | Ecosystem | What just changed in the world that makes an existing asset newly valuable? Why now? | | Skeptic | Why might none of this matter? What should be killed? What would have to be true? |
How to run it:
The report is the deliverable. When a filesystem is available, write it as a markdown file named latent-potential-<project>.md, placed where the user asks (default: the working area for this conversation, not inside the target repo uninvited). In the conversation itself, give the short version: the thesis and the top opportunities in a few sentences, pointing at the file.
ALWAYS use this exact structure:
# Latent Potential: <project>
**Thesis:** The most valuable version of this project is ___.
(One sentence. Commit to one direction; name the runner-up if it is close.)
## 1. What this actually is
Mechanism paragraph. Stated north star vs revealed north star, delta called out.
## 2. Asset inventory
Table: asset / where it lives / what it could be 90% of.
## 3. Top opportunities (ranked)
For each of the 3 to 5:
### N. <name>
- **The move:**
- **Channels:** <asset, with paths>
- **Mechanism of value:** <who benefits and why they care>
- **Why now:**
- **Cheapest probe:** <days, not quarters>
- **Cost and displacement:**
- **Skeptic's objection:** <answered, or left standing>
## 4. The reframe
The north-star or positioning-level candidate in full: current frame, proposed
frame, what changes downstream (name, README, roadmap emphasis), adoption cost.
## 5. Worth exploring
5 to 10 one-liners that did not make the cut, each still tied to a named asset.
No orphan ideas.
## 6. Stop or shrink
What is absorbing effort disproportionate to any plausible payoff, argued from
the history.
## 7. The skeptic's page
The honest case against the thesis. What would have to be true for the thesis
to hold. The first disconfirming signal to watch for.
One conditional addition: when the user's request carried a pointed question ("is this worth continuing?", "should I open-source it?", "what am I sitting on?"), close the report with ## 8. The one-paragraph answer to your question and answer it there directly, in plain words, committing to the position the preceding sections earned. A report that analyzes everything but never answers what was asked reads as evasion.
Check before delivering:
Do not open with a questionnaire; go look. Deliver the report, then invite steering. The report ends the first pass; the maintainer's reaction picks which thread gets pulled next.
development
Draft short, plainspoken notes in the author's voice that help reviewers understand non-obvious choices, boundaries, and preserved behavior in the author's own pull request or local diff. Use when the user asks to self-review, annotate, or add reviewer context to their PR or changes. Draft locally when no PR exists, and post approved notes as one GitHub review when a PR does exist. Do not use for reviewing someone else's PR, writing code comments, explaining code generally, or drafting a PR description. Never post without explicit approval.
tools
Design and build pure-CSS (zero-JavaScript) Tailwind CSS v4 plugins of unusual depth and craft. Use when the user wants to create, architect, or refine a Tailwind utility plugin or CSS effect — e.g. "make a tailwind plugin", "build a tw-* plugin", "a CSS-only shimmer/fade/glow/grain/noise utility", "tailwind v4 @utility", "package this effect as a plugin", or wants an effect with surprising visual depth (gradients, masks, filters, SVG filter tricks, scroll-driven animation). Pairs deep CSS/SVG technique research with a bespoke tuning workbench for dialing the effect in. Inspired by tw-fade and tw-shimmer.
content-media
Create clear, polished before-and-after screenshots for a GitHub pull request. Use when a UI change needs visual proof: capture matching states, crop to the relevant UI, stitch and caption one comparison image, attach it natively to the PR, and keep the image out of the repository.
development
Audit and fix animation performance issues including layout thrashing, compositor properties, scroll-linked motion, and blur effects. Use when animations stutter, transitions jank, or reviewing CSS/JS animation performance.