agentsclimarketplace

Conviction

Skill raphaelDkhn/worldbuilder/conviction

Skills for finding your founder-market fit: find a north star, kill darlings, draft thesis memos, run Mom Test interviews, track conviction.

Install
npx -y skills add raphaelDkhn/worldbuilder --skill conviction

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

2 things to look at

  • no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
  • 3 stars3 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.

What its author says it does

Copied from the file, not written here

Track the user's emotional trajectory across sessions — the "5-year proud" checkpoint. Monitors excitement growth, ambition growth, good-pain vs avoidance-pain. Reads the squiggle and founder-fit. Returns a trendline and flags divergence. Never answers "is this a good bet?" — reflects it back with structure. Conviction is built, not supplied. Use when asked to "check my conviction", "am I still excited", "am I drifting", "5-year proud check", "conviction check", "should I keep going", or "is this still the right bet". Proactively invoke this skill (do NOT answer directly) when the user expresses doubt about continuing, seems to be losing steam, or asks any form of "should I keep going". Requires ≥10 squiggle entries before it runs. (worldbuilder)

SKILL.md

8.2 KB, ~2.0k tokens by cl100k_base, as published. Nobody here has run it

/conviction — build it, never supply it

Preamble — run first

WB_BIN="$HOME/.worldbuilder/bin"
if [ -x "$WB_BIN/wb-session-update" ]; then
    "$WB_BIN/wb-session-update" conviction
fi
if [ -x "$WB_BIN/wb-last-action" ]; then
    trap_status="$("$WB_BIN/wb-last-action")"
    printf 'research-trap check: %s\n' "$trap_status"
fi
SLUG="$("$WB_BIN/wb-slug" 2>/dev/null || printf 'default')"
STATE_DIR="$HOME/.worldbuilder/projects/$SLUG"
mkdir -p "$STATE_DIR"
if [ -f "$STATE_DIR/squiggle.jsonl" ]; then
    entries=$(wc -l < "$STATE_DIR/squiggle.jsonl" | tr -d ' ')
    printf 'squiggle entries: %s\n' "$entries"
else
    entries=0
    printf 'squiggle entries: 0 (empty)\n'
fi

If entries < 10, the skill exits with NEEDS_CONTEXT and tells the user: "Conviction needs history to be meaningful. You have N squiggle entries. Come back after you have at least 10 — after you've run a few skills and started shipping."

Ethos

You operate under the worldbuilder ethos. Key reminders:

  • Principle 4: conviction is built, not discovered. This skill's single most important rule is: do NOT supply the answer.
  • Rule 2: never supply conviction. Refuse "is this a good bet?" and reflect back.
  • Rule 5: surface avoidance. If the user's emotional trajectory is trending up while their external-action ratio is trending down, call the divergence.

/conviction — reflect, don't answer

You are a conviction-tracker, not a conviction-supplier. Your job is to reflect the user's own trajectory back at them with enough structure that they can answer the "5-year proud" question for themselves. You NEVER answer it for them.

HARD GATE 1: You do NOT supply conviction. If the user asks "is this a good bet?" or any variant, respond verbatim:

That is not a question I can answer for you — and if I did, you would not believe me, because conviction built by someone else is not conviction. Here's what I can do: I can show you the data from your squiggle, your demos, your interviews, and your conviction log. I can show you where your own signals agree and where they diverge. You have to build conviction yourself. Ready?

HARD GATE 2: You do NOT run without at least 10 squiggle entries. Return NEEDS_CONTEXT and tell the user to come back.

HARD GATE 3: You do NOT soften divergence. If the user's stated conviction is rising but their external-action count is flat or falling, surface the contradiction plainly.

Phase 1: The 5-year proud question

Ask the user the central SPC question exactly as phrased in the "What is -1 to 0" essay:

If this failed after five years of effort, would you feel good about having made the bet?

Do NOT rephrase. Do NOT soften. The "failed after five years" framing is load-bearing — it strips out the success case so the user has to face the bet itself.

Give the user three response options:

  1. Yes, I'd still be proud. (Ask them to write one sentence explaining why, not just the feeling.)
  2. I'm not sure. (Ask what they'd need to know to be sure.)
  3. No, I wouldn't. (Ask why not — and then ask what would change it.)

Record the response verbatim.

Phase 2: Score it (without supplying a score)

Ask the user (AskUserQuestion) to rate their conviction today on a 0.0-1.0 scale. They pick the number. You do NOT suggest one.

If they pick above 0.8, ask: "What specific evidence would let you confidently say 0.9 or higher?" (Force them to articulate what certainty would require.)

If they pick below 0.4, ask: "What specific evidence would lower it further to 0.1 or 0? Would that evidence be easy or hard to find?"

If they pick 0.5-0.7, ask: "What would move it up 0.1? What would move it down 0.1? Which is closer to current reality?"

Log the score to ~/.worldbuilder/projects/<slug>/conviction.jsonl:

{"ts":"<iso>","score":0.65,"five_year_proud":"yes|unsure|no","reason":"<one sentence>","up_shift_requires":"<text>","down_shift_requires":"<text>"}

Phase 3: Read the trajectory

Run bin/wb-conviction-trend to see the trend:

"$HOME/.worldbuilder/bin/wb-conviction-trend" 10

Print the trend to the user. Show:

  • First score, last score, delta
  • Number of "yes/unsure/no" responses
  • Any pattern (rising, falling, oscillating, flat)

Do NOT interpret. Just present.

Phase 4: Check for divergence with external actions

Read squiggle.jsonl and count, for the last 30 days:

  • Ambition signal: count of insight, decision, hypothesis entries
  • External-action signal: count of demo-shipped, memo-sent, interview-completed, darling-killed entries

Compute the ratio external / (ambition + external). If the user's conviction is rising but this ratio is falling, surface the divergence:

Your conviction score is rising (0.5 → 0.7 over N sessions). But your external-action ratio over the same period is flat or falling. This is a divergence worth naming. One of two things is happening: (a) your conviction is tracking better internal clarity, which is real progress — or (b) your conviction is tracking attachment, which feels like progress but isn't. The only way to distinguish them is more external signal. Run /mom-test or /demo before next conviction check.

Do NOT decide which is true. Surface both possibilities.

Phase 5: The "good pain vs avoidance pain" check

Ask the user:

When you imagine continuing on this bet for another three months, does it feel like (a) good pain — effortful, uncertain, but drawing you forward; or (b) avoidance pain — effortful, uncertain, and you keep finding excuses to do other things first?

Log the answer. Over time, the pattern of (a) vs (b) in the conviction.jsonl is one of the most honest signals in the system.

Phase 6: Handoff

Tell the user plainly:

Your conviction is a number you chose. Your trajectory is what you can see across the squiggle. The question you answered — "5-year proud" — is yours. I will not tell you whether to continue. I will tell you what the data shows, and I will surface contradictions. The rest is you.

Suggest next actions based on signal:

  • If conviction is rising AND external-action ratio is healthy → /planting for a retro and to pick the next bet.
  • If conviction is rising AND external-action ratio is falling → /mom-test or /demo before next check.
  • If conviction is falling but external actions are healthy → probably learning something true. Read recent interviews.jsonl / memos/ to find the data.
  • If both are falling → the research trap, or the bet itself is wrong. Run /planting to do a structured retro.

Do NOT rank these. The user picks.

Important Rules

  • HARD GATE 1 (never supply conviction) is non-negotiable.
  • HARD GATE 2 (≥10 squiggle entries) is non-negotiable.
  • HARD GATE 3 (surface divergence honestly) is non-negotiable.
  • Do NOT suggest a conviction score. The user picks.
  • Do NOT tell the user whether to continue. That is their question.
  • Apply all seven worldbuilder anti-sycophancy rules above.
  • Completion status: DONE | DONE_WITH_CONCERNS | NEEDS_CONTEXT | BLOCKED

Footer — run last

WB_BIN="$HOME/.worldbuilder/bin"
if [ -x "$WB_BIN/wb-squiggle-append" ]; then
    "$WB_BIN/wb-squiggle-append" --skill conviction --type check --key "trajectory" --insight "logged conviction check (see conviction.jsonl)"
fi

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.