Individual skill

thinking-partner

A deterministic thinking partner that challenges assumptions and applies mental models to sharpen decisions, solve problems, and think more clearly. Use this skill whenever a user says "help me think through X", "challenge my thinking", "what am I missing", "apply mental models to this", "play devil's advocate", "stress test this idea", "poke holes in my plan", "help me decide between X and Y", "what are the second-order effects", "I'm stuck on a decision", names any specific model (SWOT, first principles, inversion, pre-mortem, etc.), or asks for structured reasoning on any ambiguous, high-stakes, or complex problem. Also trigger when the user seems uncertain, is rationalizing, or is asking "am I thinking about this right?" Even casual phrases like "what do you think about..." on non-trivial topics should trigger this skill.

skills/thinking-partner/SKILL.md

Read pinned source

Source commit ce95b6280660652d67bfc3fc36f8d7f941538f7f

What was checked

Matches the observed repository HEAD
Yes
Scanner rules are current
Yes
Repository scan complete
Yes
Skill scan complete
Yes
Observed behavior
Instructions only
Last checked
Nov 5, 2026

These are observations at the recorded commit, not a guarantee of safety. Review the source before running it.

Install this skill

Choose an agent in your Stack or copy a command below. Commands fetch the pinned commit and copy only this skill directory. Existing destinations are refused. Copying a command does not install anything.

Claude Code

Destination .claude/skills/thinking-partner

( set -euo pipefail destination='./.claude/skills/thinking-partner' if [ -e "$destination" ] || [ -L "$destination" ]; then printf '%s\n' 'Destination already exists; nothing overwritten.' >&2; exit 1; fi work=$(mktemp -d) trap 'rm -rf -- "$work"' EXIT git clone --filter=blob:none --no-checkout -- 'https://github.com/mattnowdev/thinking-partner.git' "$work/repo" git -C "$work/repo" checkout --detach ce95b6280660652d67bfc3fc36f8d7f941538f7f git -C "$work/repo" archive --format=tar 'ce95b6280660652d67bfc3fc36f8d7f941538f7f:skills/thinking-partner' > "$work/skill.tar" mkdir -p -- './.claude/skills' mkdir -- "$destination" tar -xf "$work/skill.tar" -C "$destination" )
Codex

Destination .agents/skills/thinking-partner

( set -euo pipefail destination='./.agents/skills/thinking-partner' if [ -e "$destination" ] || [ -L "$destination" ]; then printf '%s\n' 'Destination already exists; nothing overwritten.' >&2; exit 1; fi work=$(mktemp -d) trap 'rm -rf -- "$work"' EXIT git clone --filter=blob:none --no-checkout -- 'https://github.com/mattnowdev/thinking-partner.git' "$work/repo" git -C "$work/repo" checkout --detach ce95b6280660652d67bfc3fc36f8d7f941538f7f git -C "$work/repo" archive --format=tar 'ce95b6280660652d67bfc3fc36f8d7f941538f7f:skills/thinking-partner' > "$work/skill.tar" mkdir -p -- './.agents/skills' mkdir -- "$destination" tar -xf "$work/skill.tar" -C "$destination" )
Cursor

Destination .cursor/skills/thinking-partner

( set -euo pipefail destination='./.cursor/skills/thinking-partner' if [ -e "$destination" ] || [ -L "$destination" ]; then printf '%s\n' 'Destination already exists; nothing overwritten.' >&2; exit 1; fi work=$(mktemp -d) trap 'rm -rf -- "$work"' EXIT git clone --filter=blob:none --no-checkout -- 'https://github.com/mattnowdev/thinking-partner.git' "$work/repo" git -C "$work/repo" checkout --detach ce95b6280660652d67bfc3fc36f8d7f941538f7f git -C "$work/repo" archive --format=tar 'ce95b6280660652d67bfc3fc36f8d7f941538f7f:skills/thinking-partner' > "$work/skill.tar" mkdir -p -- './.cursor/skills' mkdir -- "$destination" tar -xf "$work/skill.tar" -C "$destination" )
Gemini CLI

Destination .gemini/skills/thinking-partner

( set -euo pipefail destination='./.gemini/skills/thinking-partner' if [ -e "$destination" ] || [ -L "$destination" ]; then printf '%s\n' 'Destination already exists; nothing overwritten.' >&2; exit 1; fi work=$(mktemp -d) trap 'rm -rf -- "$work"' EXIT git clone --filter=blob:none --no-checkout -- 'https://github.com/mattnowdev/thinking-partner.git' "$work/repo" git -C "$work/repo" checkout --detach ce95b6280660652d67bfc3fc36f8d7f941538f7f git -C "$work/repo" archive --format=tar 'ce95b6280660652d67bfc3fc36f8d7f941538f7f:skills/thinking-partner' > "$work/skill.tar" mkdir -p -- './.gemini/skills' mkdir -- "$destination" tar -xf "$work/skill.tar" -C "$destination" )
GitHub Copilot

Destination .github/skills/thinking-partner

( set -euo pipefail destination='./.github/skills/thinking-partner' if [ -e "$destination" ] || [ -L "$destination" ]; then printf '%s\n' 'Destination already exists; nothing overwritten.' >&2; exit 1; fi work=$(mktemp -d) trap 'rm -rf -- "$work"' EXIT git clone --filter=blob:none --no-checkout -- 'https://github.com/mattnowdev/thinking-partner.git' "$work/repo" git -C "$work/repo" checkout --detach ce95b6280660652d67bfc3fc36f8d7f941538f7f git -C "$work/repo" archive --format=tar 'ce95b6280660652d67bfc3fc36f8d7f941538f7f:skills/thinking-partner' > "$work/skill.tar" mkdir -p -- './.github/skills' mkdir -- "$destination" tar -xf "$work/skill.tar" -C "$destination" )
OpenCode

Destination .opencode/skills/thinking-partner

( set -euo pipefail destination='./.opencode/skills/thinking-partner' if [ -e "$destination" ] || [ -L "$destination" ]; then printf '%s\n' 'Destination already exists; nothing overwritten.' >&2; exit 1; fi work=$(mktemp -d) trap 'rm -rf -- "$work"' EXIT git clone --filter=blob:none --no-checkout -- 'https://github.com/mattnowdev/thinking-partner.git' "$work/repo" git -C "$work/repo" checkout --detach ce95b6280660652d67bfc3fc36f8d7f941538f7f git -C "$work/repo" archive --format=tar 'ce95b6280660652d67bfc3fc36f8d7f941538f7f:skills/thinking-partner' > "$work/skill.tar" mkdir -p -- './.opencode/skills' mkdir -- "$destination" tar -xf "$work/skill.tar" -C "$destination" )

Repository context

Repository stars (not skill ratings)
227
Repository last updated
Mar 31, 2026
License
MIT

Observed agent integration: No specific integration evidence. Standard SKILL.md installation does not imply verified compatibility.

Files and excerpt

File metadata and permitted, redacted excerpts come from the recorded scan. Source links are pinned to that commit.

Browse files
Read excerpt

# Thinking Partner

A deterministic thinking partner that challenges assumptions and applies mental models to help users think better and clearer. Not a lecture — a sparring session.

## Core Philosophy

Good thinking is an active achievement, not a default state. The goal is not to tell the user what to think, but to sharpen *how* they think by:

1. **Challenging assumptions** — Surface hidden beliefs the user is treating as facts
2. **Applying mental models** — Select and deploy the right thinking frameworks for the situation
3. **Detecting orientation capture** — Notice when thinking serves comfort instead of truth
4. **Maintaining productive tension** — Hold complexity open long enough to find real insight

You are not a yes-machine. You are not an interrogator. You are a thinking partner: respectful, direct, genuinely curious, and willing to push back.