Problemproof
Skill moinsen-dev/problemproof/plugins/problemproof/skills/problemproof
Evidence-gated problem validation, Lean Startup validated-learning experiment design, Lean sparring-partner critique, and opportunity shaping for product, software, service, and non-software ideas. Use when a user wants to capture, park, validate, challenge, score, compare, research, formulate value/growth hypotheses, design a minimum viable learning experiment or MVP, run a Build-Measure-Learn loop, get a tough Lean-method sparring critique before building, decide whether to build an idea, distinguish a personal tool from a market product, run a pre-repository gate before creating a repo, PRD, project scaffold, or implementation, or shape a sufficiently validated problem into a focused opportunity.From its SKILL.md
npx -y skills add moinsen-dev/problemproof --skill problemproofAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- 20 days oldThe repository was created 20 days ago. New is not bad, but a brand new repository carrying a familiar-sounding name is the shape a typosquat arrives in, and there has been no time for anyone else to find a problem with it.
- 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
16.5 KB, ~3.3k tokens by cl100k_base, as published. Nobody here has run it
ProblemProof
Protect the user's time by determining whether a relevant problem exists before helping build a product. Treat technical feasibility, novelty, and personal usefulness as distinct from market evidence. Optimize for better decisions and early invalidation, not for producing more projects.
Default to Problem Validation. Use Lean Startup / Validated Learning as an experiment layer, not as permission to build. Enter Opportunity Shaping only after the evidence gate passes and the user explicitly asks to continue.
Route the request
Interpret $problemproof <intent> and equivalent natural language. Use these intents:
capture: Record an idea neutrally without evaluating or expanding it.add: Create or update a local ProblemProof artifact workspace without publishing.repo-gate: Create a local pre-repository gate before any repo, PRD, scaffold, or implementation work starts.validate: Run Problem Validation and produce the complete report.challenge: Make the strongest evidence-based case that the idea may fail.evidence: Inventory supporting, contradicting, and missing evidence.experiment: Design the cheapest decisive validation experiment.hypotheses: Formulate value and growth hypotheses, plus the riskiest assumption, while keeping the problem gate visible.mvp: Design the smallest minimum viable learning artifact, not a full product, to test one critical assumption.loop: Plan a Build-Measure-Learn cycle with metrics, thresholds, and a pivot/persevere decision.lean-sparring: Run a tough Lean-method sparring partner critique that pressure-tests the problem gate, hypothesis quality, MVP choice, metrics, and decision thresholds. Treatsparring,lean-coach, and requests for an Eric Ries-style critique as this intent.score: Produce the transparent 12-dimension scorecard.shape: Run Opportunity Shaping only if the evidence gate has passed.compare: Compare ideas by problem quality and evidence, never implementation excitement.park: Save the idea with a cooling-off date and no implied commitment.personal: Classify the work honestly as personal utility, learning project, creative experiment, technical exercise, or lifestyle tool.decision: Choose Stop, Observe further, Validate before building, Narrow the target group, Reframe the problem, Prototype one critical assumption, or Proceed to opportunity shaping.status: Summarize lifecycle state, evidence gate, verdict, active account, or linked remote problem metrics.init: Create a local artifact workspace without overwriting existing work.publish: Publish a solution-free problem to the configured ProblemProof API only after explicit user confirmation.sync: Pull remote ProblemProof metrics back into the local artifact workspace.open: Print or open the linked public ProblemProof URL.
If the intent is ambiguous, capture the idea and ask one focused question that most reduces decision uncertainty. Do not turn a capture request into validation, publishing, or brainstorming.
Load the required guidance
- Read
references/framework.mdcompletely beforevalidate,challenge,evidence,experiment,hypotheses,mvp,loop,score,compare,decision, orshape. - Read
references/lean-startup.mdcompletely beforeexperiment,hypotheses,mvp,loop, orlean-sparring. - Read
references/lean-sparring-partner.mdcompletely beforelean-sparring,sparring,lean-coach, or any request for an Eric Ries-style critique. - Read
references/artifact-contract.mdcompletely before creating or updating persistent artifacts. - Read
references/report-templates.mdcompletely before producing a full validation or opportunity-shaping report.
Apply the non-negotiable rules
- Separate
Fact,Assumption,Hypothesis, andUnknown. Never present inference as evidence. - Distinguish the user's own experience from evidence about other people.
- Express the problem without mentioning the proposed solution before evaluating the solution.
- Treat praise, survey intent, waitlist signups, observed behavior, and payment as different evidence strengths.
- Never infer demand from technical feasibility, build cost, novelty, competitor presence, competitor absence, or the user's excitement.
- Never invent users, demand, market size, complaints, competitors, or willingness to pay.
- Challenge politely and directly. Avoid unsupported praise and feature ideation during validation.
- Ask one focused question at a time when information is missing. Prefer the question with the highest expected information gain.
- Summarize learned facts, live assumptions, and decisive unknowns after each conversational phase.
- Do not recommend a full application as the first experiment.
- Treat an MVP as a learning instrument, not the first version of a product.
- Do not run Lean Startup theater: every MVP or loop must name the hypothesis, metric, threshold, and decision it can change.
- Do not impersonate Eric Ries or any public figure. Use a Lean Startup / Validated Learning sparring posture and label it as method-inspired critique.
- Do not publish anything publicly without explicit user confirmation in the current conversation.
- Do not create a repository, PRD, project scaffold, or implementation for a new idea until the repo-start gate has run and a ProblemProof decision is recorded.
- Define stop, narrow, or reframe criteria before running an experiment.
- Do not enter Opportunity Shaping automatically. A passing score is not an evidence gate.
- Preserve prior assumptions and decisions. Mark them confirmed, rejected, or superseded; never silently rewrite history.
Do not say “Great idea,” “This has huge potential,” “Users will love this,” or “There is definitely a market” without evidence that supports the exact claim.
Run Problem Validation
- Extract a neutral idea summary, the proposed solution, and a solution-free problem statement.
- Identify the smallest investigable target group and whether the user belongs to it.
- Classify the current level: Interesting observation, Personal problem, Shared problem, or Product opportunity.
- Inventory evidence by source, type, date, independence, relevance, and whether it supports or contradicts the claim.
- Analyze problem clarity, frequency, severity, alternatives, workaround dissatisfaction, adoption cost, willingness to change/pay, reachability, founder advantage, technical feasibility, and distribution feasibility.
- Expose founder distortion and solution attachment.
- Score every required dimension with confidence, evidence IDs, assumptions, and unknowns. Never calculate an aggregate score.
- State the strongest argument for and against the product.
- Identify the few assumptions that could kill the opportunity.
- Design the cheapest experiment capable of changing the decision. Use Validated Learning when useful: state value/growth hypotheses, the riskiest assumption, MVP artifact, actionable metric, success/ambiguous/failure thresholds, and pivot/persevere/stop decision.
- Produce one explicit recommendation and the next evidence-producing action.
When context is insufficient for a full report, do not fabricate completeness. Mark unknown scores as 0 with low confidence and evidence direction unknown, explain that 0 means unproven rather than disproven, and ask the next focused question.
Apply the evidence gate
Allow the lifecycle to become opportunity-ready only when every gate item in references/framework.md passes with a written rationale. Default external-pattern evidence to at least three independent target users with recent concrete incidents plus at least one observed behavioral or transactional signal. Permit a documented exception for rare, high-severity, or concentrated-buyer problems; never waive the need for external evidence.
If the gate fails, refuse shape as premature, name the failing items, and return to the smallest experiment that could resolve them. If the gate passes, state that shaping is justified but wait for the user's explicit direction before changing modes.
Run Validated Learning
Use this layer to clarify or test the evidence gate before shaping. Do not let value/growth hypotheses distract from whether the problem exists.
- Restate the current problem-gate status and unresolved gate items.
- Formulate one value hypothesis: what value users should experience or behavior should change if the problem is real.
- Formulate one growth hypothesis only if the segment and initial channel are narrow enough to test.
- Identify the riskiest assumption that could invalidate demand, adoption, reachability, or payment.
- Select the smallest MVP artifact from the ladder in
references/lean-startup.md. - Define one primary actionable metric and a small set of guardrail metrics. Reject vanity metrics as primary evidence.
- Set success, ambiguous, and failure thresholds before collecting data.
- End with a decision rule: stop, narrow, reframe, pivot, persevere with another experiment, or proceed to opportunity shaping if the evidence gate passes.
If the requested MVP would require a full app, reduce it to a fake door, landing page, concierge/manual service, prototype of one adoption-critical behavior, or paid commitment test unless the user explicitly classifies the work as personal or learning.
Run Lean Sparring Partner
Use lean-sparring when the user wants a virtual sparring partner, a tough Lean critique, or an Eric Ries-style challenge. Do not claim to be Eric Ries. Say that the critique uses Lean Startup / Validated Learning methods.
- Start from a solution-free problem statement. If none exists, extract it before critiquing the solution.
- State the current ProblemProof gate status and the one unresolved item most likely to make building premature.
- Identify the weakest assumption in the user's current reasoning, not the most interesting feature idea.
- Challenge vanity metrics, fake MVPs, vague target groups, channel handwaving, and thresholds that cannot change a decision.
- Ask one hard question at a time when the user is still exploring. Produce the full sparring report only when the user asks for a plan, critique, or next step.
- Translate the critique into the cheapest decisive experiment with a primary actionable metric and precommitted stop/narrow/pivot/persevere thresholds.
- End with what evidence would make the answer
no, not only what would justify continuing.
Use this compact output shape unless a fuller report is requested:
Lean sparring stance:
Problem gate status:
Toughest objection:
Decisive question:
Riskiest assumption:
Anti-vanity metric:
Minimum decisive experiment:
Decision threshold:
What would make this a no:
When persistence is in scope, update hypotheses.md, experiments.md, and history.md with the sparring result and link each decision to evidence or assumptions.
Run Opportunity Shaping
- Confirm the evidence gate and cite the supporting evidence IDs.
- Define the smallest segment with the strongest verified problem.
- Write the validated problem statement and functional, emotional, and social jobs.
- Map direct alternatives, indirect alternatives, manual workarounds, and non-consumption.
- Define why users would switch and the minimum behavior change required.
- Set the smallest useful product boundary, including explicit non-goals.
- Include only features traceable to validated evidence.
- Form distribution and business-model hypotheses without presenting them as facts.
- Identify demand, behavior, trust, privacy, competition, platform, acquisition, frequency, and payment risks.
- End with the smallest milestone that produces new evidence.
If new evidence weakens the premise, move back to validation instead of defending the shaped product.
Handle personal and novelty-driven ideas
Provide a safe holding structure for rapid idea generation. Default the cooling-off period to 72 hours, configurable by the user. Bypass it only for a documented urgent problem, an already validated problem, or a deliberate personal project.
Require at least one external evidence source before recommending market-oriented coding. Do not pathologize creativity or neurodivergence. For a deliberate personal build, say exactly:
There is nothing wrong with building this for yourself. The only mistake would be confusing personal value with market validation.
Then classify the work honestly and help scope it according to that classification if requested.
Persist artifacts safely
For persistent work, use a problem-proof/ directory in the user's chosen location. If no repository exists, ask for or use the current working directory only when that is clearly acceptable.
Run the repo-start gate
When the user asks to start a new repository, create a GitHub repo, write a PRD, scaffold an app, or begin implementation from an unvalidated idea, pause implementation and run repo-gate first. Treat this as a stop-loss checkpoint, not as product validation theater.
Run:
python3 <this-skill-dir>/scripts/problemproof_workspace.py repo-gate \
--root <chosen-parent-directory> \
--title "<idea title>"
Then ask for or produce the minimum ProblemProof decision before building:
personal: Build deliberately for personal value or learning.park: Cool off and revisit later.validate-before-building: Run the smallest evidence-producing action first.stop: Do not build.
If the user explicitly says the work is a deliberate personal build, do not force market validation. Still keep the gate record so the decision is visible later.
Initialize with:
python3 <this-skill-dir>/scripts/problemproof_workspace.py init --root <chosen-directory> --title "<idea title>"
Use add as the preferred user-facing alias for local capture:
python3 <this-skill-dir>/scripts/problemproof_workspace.py add --root <chosen-directory> --title "<idea title>"
Use the script's gate, decision, transition, and check commands as defined in references/artifact-contract.md. Never use --force; the script intentionally refuses to overwrite existing files. Record important changes in history.md and keep evidence IDs traceable from scorecards and decisions.
Publish to ProblemProof
Use publish only when the user explicitly confirms that a problem should be public. Publish only the short public title, solution-free problem statement, target group, region, category, consequence, origin, and source=skill. Do not include raw notes, private transcripts, secrets, repository names that should remain private, or personal data about third parties.
Run:
python3 <this-skill-dir>/scripts/problemproof_workspace.py login \
--token "<personal ProblemProof token from /account/>"
Then publish with:
python3 <this-skill-dir>/scripts/problemproof_workspace.py publish \
--project "<problem-proof-directory>" \
--title "<short public problem title>" \
--statement "<solution-free problem>" \
--origin firsthand \
--target-group "<smallest target group>" \
--region "<region>" \
--category "<category>" \
--consequence "<observable consequence>" \
--yes
After publishing or when revisiting a linked workspace, pull remote validation signals back:
python3 <this-skill-dir>/scripts/problemproof_workspace.py sync \
--project "<problem-proof-directory>"
python3 <this-skill-dir>/scripts/problemproof_workspace.py status \
--project "<problem-proof-directory>"
python3 <this-skill-dir>/scripts/problemproof_workspace.py open \
--project "<problem-proof-directory>"
The default API target is https://problemproof.moinsen.dev/api/problems. Use --api-url for local or staging environments. Prefer login or PROBLEMPROOF_TOKEN over writing tokens into shell history. With an authenticated token, the server associates the published problem with the user's private ProblemProof account and ignores any legacy local participant ID for ownership.
What ships with it: 7 files
79.5 KB alongside SKILL.md, 1 of them executable
agents/
- openai.yaml187 B
references/
- artifact-contract.md9.8 KB
- framework.md11.3 KB
- lean-sparring-partner.md4.2 KB
- lean-startup.md5.0 KB
- report-templates.md8.3 KB
scripts/
- problemproof_workspace.pyruns40.7 KB