Pathfinder logo

Pathfinder

Community
GadaaLabs
pathfinder

Structured first-pass exploration of an unfamiliar codebase — what to read, in what order, what to map, what traps to find. Use when entering any new or inherited project before writing code.

Overview

PublisherGadaaLabs
Repositoryclaude-code-on-steroids
Skill namepathfinder
Stars
67
Forks
10
Bundled files
Instructions only
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • Self-contained

    Everything the model needs lives in the instructions — no extra files to sync.

  • Open source

    Published by GadaaLabs on GitHub. Read the source before you install it.

Installation

Install the Pathfinder AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/GadaaLabs/claude-code-on-steroids.git /tmp/claude-code-on-steroids
mkdir -p .claude/skills
cp -r /tmp/claude-code-on-steroids/skills/pathfinder .claude/skills/pathfinder
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Pathfinder in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Pathfinder on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Pathfinder is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

Codebase Onboarding

Overview

PATHFINDERA pathfinder scouts unfamiliar terrain before the team moves in. When invoked: maps an unknown codebase in 5 phases — project structure, entry points, data flow, architectural patterns, and landmine files — before writing a single line of code.

Core principle: Never write code in a codebase you haven't mapped. 20 minutes of structured exploration prevents days of working against the grain.

Unfamiliar codebases have hidden conventions, undocumented constraints, landmine files, and established patterns. Violating them creates bugs that look mysterious but are obvious to anyone who knows the codebase.

Announce at start: "Running PATHFINDER to map this codebase before writing code."

Progressive Depth Strategy

Always explore at the shallowest level first. Only go deeper when shallow confirms relevance. Reading full files speculatively wastes context budget — a 500-line file read prematurely costs 10x more than a 50-line header read.

Depth 1 — Directory listing (cheapest):
  Understand shape of the codebase. Know what exists.

Depth 2 — File headers (30-50 lines):
  Imports, exports, top-level declarations reveal purpose.
  Decide if deeper read is warranted.

Depth 3 — Function signatures (grep for exports/defs):
  Confirm the file owns what you need before reading the body.

Depth 4 — Full source (expensive, use sparingly):
  Only for files confirmed relevant at Depth 2-3.
  For files >100 lines: require Depth 2 confirmation first.
  For files >300 lines: require Depth 3 confirmation first.

Rule: Never full-read a file >100 lines in the first pass. Read headers, confirm relevance, then go deep.

When to use:

  • First time working in a project
  • Returning after > 2 weeks away
  • Inheriting someone else's work
  • Working in a new module/subsystem of a large project

Phase 1: Orientation (5 minutes)

Read these in order. Do not skip:

1.1 Entry Points

bash
# What exists at the root?
ls -la

# Package info / dependencies
cat package.json 2>/dev/null || cat pyproject.toml 2>/dev/null || \
cat Cargo.toml 2>/dev/null || cat go.mod 2>/dev/null

# Primary README
cat README.md 2>/dev/null | head -100

Extract:

  • What does this project do? (1 sentence)
  • What language/runtime?
  • What are the install/run commands?
  • What testing framework?

1.2 Project Instructions

bash
# Claude-specific instructions
cat CLAUDE.md 2>/dev/null
cat .claude/CLAUDE.md 2>/dev/null

# General agent instructions
cat AGENTS.md 2>/dev/null
cat GEMINI.md 2>/dev/null

These override everything else. Read completely before proceeding.

1.3 Recent History

bash
# What was recently worked on?
git log --oneline -20

# What's the current state?
git status
git diff --stat HEAD~5..HEAD

Extract:

  • What was the most recent focus area?
  • Any in-progress work?
  • Any merge conflicts or dirty state?

Phase 2: Structure Map (5 minutes)

2.1 Directory Layout

bash
# Top-level structure (depth 2)
find . -maxdepth 2 -type d | grep -v node_modules | grep -v .git | \
  grep -v __pycache__ | grep -v .venv | sort

Map to mental model:

TYPICAL LAYOUTS:

Next.js/React:      app/ components/ lib/ public/ styles/
Python backend:     src/ tests/ scripts/ docs/ config/
ML project:         data/ notebooks/ src/ models/ experiments/
Embedded/C:         src/ include/ drivers/ tests/ hal/
Go service:         cmd/ internal/ pkg/ api/ handler/

2.2 Find the Entry Points

bash
# What's the main executable / server entry?
grep -r "main\|server\|app\|index" --include="*.ts" --include="*.py" \
  --include="*.go" --include="*.c" -l | head -10

Trace: entry point → router/dispatcher → handlers → services → data layer.

2.3 Find the Tests

bash
# Where are tests?
find . -name "*.test.*" -o -name "test_*.py" -o -name "*_test.go" | \
  grep -v node_modules | head -20

# Run them to establish baseline
npm test 2>/dev/null || pytest --tb=no -q 2>/dev/null || \
  go test ./... 2>/dev/null || cargo test 2>/dev/null

Baseline: All tests passing? If not — document which are broken BEFORE you touch anything.


Phase 3: Convention Detection (5 minutes)

Read 2-3 existing files to extract conventions. Never guess — read the code.

3.1 Naming Conventions

bash
# Pick 2 representative source files
# Read them completely

Detect:

  • camelCase, snake_case, PascalCase, kebab-case?
  • File naming: component.tsx, ComponentName.tsx, component-name.tsx?
  • Function naming: getUser, fetch_user, FetchUser?
  • Constants: MAX_RETRIES, maxRetries, MAX-RETRIES?

3.2 Import/Module Style

bash
grep -r "^import\|^from\|^require\|^use " --include="*.ts" \
  --include="*.py" --include="*.rs" -l | head -5 | xargs head -20

Detect:

  • Absolute vs relative imports?
  • Barrel files (index.ts re-exports)?
  • Path aliases (@/components vs ../components)?

3.3 Error Handling Pattern

bash
grep -r "try\|catch\|except\|Result\|Either\|unwrap" \
  --include="*.ts" --include="*.py" --include="*.rs" -l | head -3 | xargs head -40

Detect: Exceptions? Result types? Error callbacks? Error objects vs strings?

3.4 State Management (if frontend/full-stack)

bash
grep -r "useState\|useStore\|zustand\|redux\|jotai\|Context" \
  --include="*.tsx" --include="*.ts" -l | head -5

3.5 Data Access Pattern

bash
grep -r "prisma\|knex\|mongoose\|sqlalchemy\|diesel\|gorm" \
  --include="*.ts" --include="*.py" --include="*.rs" --include="*.go" -l | head -5

Phase 4: Trap Detection (5 minutes)

These are the landmines. Find them before stepping on them.

4.1 Large / Complex Files

bash
# Files over 300 lines are often load-bearing complexity
find . -name "*.ts" -o -name "*.py" -o -name "*.go" | \
  grep -v node_modules | grep -v .git | \
  xargs wc -l 2>/dev/null | sort -rn | head -20

Rule: If a file > 500 lines, read its top 50 lines to understand what it owns. Don't add to it without understanding it.

4.2 Shared Mutable State

bash
# Global state, singletons, module-level variables
grep -rn "global\|singleton\|module_level\|^let \|^var " \
  --include="*.ts" --include="*.py" | grep -v test | head -20

4.3 Environment Dependencies

bash
# What env vars does this need?
cat .env.example 2>/dev/null || cat .env.local 2>/dev/null || \
grep -r "process.env\|os.environ\|os.getenv" --include="*.ts" \
  --include="*.py" -h | sort -u | head -20

Document: Every env var required. Which ones have no defaults and will fail silently?

4.4 Known Broken / In-Progress

bash
# TODOs, FIXMEs, HACKs
grep -rn "TODO\|FIXME\|HACK\|XXX\|BUG\|BROKEN" \
  --include="*.ts" --include="*.py" --include="*.go" --include="*.c" \
  | grep -v node_modules | grep -v .git | head -30

Don't accidentally fix these without understanding why they're deferred.

4.5 Critical Files — Do Not Touch Without Full Understanding

Identify files that, if broken, take down the whole system:

  • Auth/session middleware
  • Database connection pool
  • Main router / API gateway
  • Schema migration files
  • CI/CD pipeline configs
bash
# Find likely critical files
git log --oneline --all -- "**/*auth*" "**/*middleware*" \
  "**/*migration*" "**/*schema*" 2>/dev/null | head -10

Phase 5: Onboarding Summary

After completing all 4 phases, produce this summary before writing any code:

CODEBASE ONBOARDING COMPLETE
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Project:     [name — 1 sentence description]
Stack:       [language + runtime + key frameworks]
Entry:       [main file/command]
Tests:       [framework + baseline status (X passing, Y failing)]

Conventions:
  Naming:    [camelCase / snake_case / PascalCase]
  Imports:   [absolute / relative / barrel]
  Errors:    [exceptions / Result types / callbacks]
  State:     [local / Zustand / Redux / context]

Traps found:
  ⚠ [trap 1 — e.g., "auth.ts:340+ lines, owns session logic, fragile"]
  ⚠ [trap 2 — e.g., "3 pre-existing failing tests in payments/"]
  ⚠ [trap 3 — e.g., "STRIPE_KEY env var required, no default"]

Critical files (read before touching):
  - [path] — [why critical]

Safe to start work. ✓
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Store the summary in auto-memory:

~/.claude/projects/<hash>/memory/onboarding_<project>.md

Register in MEMORY.md so it loads next session.


Domain-Specific Additions

ML / Data Science Codebases

Additional checks:

bash
# Find notebooks (often undocumented experiments)
find . -name "*.ipynb" | head -10

# Data directories (don't commit these)
find . -name "*.csv" -o -name "*.parquet" -o -name "*.pkl" | \
  grep -v node_modules | head -10

# Model artifacts (large files)
find . -name "*.pt" -o -name "*.pkl" -o -name "*.h5" | head -10

Traps: Notebooks often have hardcoded paths. Models often assume GPU. Data pipelines often have environment-specific config.

Embedded / Firmware Codebases

Additional checks:

bash
# Build system
cat Makefile 2>/dev/null | head -50
cat CMakeLists.txt 2>/dev/null | head -50

# Target platform
grep -r "CPU\|MCU\|CORTEX\|ARM\|AVR\|STM32\|ESP32" \
  --include="*.h" --include="*.cmake" | head -10

# Flash/RAM constraints
grep -r "FLASH\|RAM\|HEAP\|STACK" --include="*.ld" \
  --include="*.cmake" | head -10

Traps: Linker scripts are critical. Stack sizes are often hardcoded. Clock initialization order matters.

AI / Agent Codebases

Additional checks:

bash
# Prompt files (often scattered)
find . -name "*.txt" -o -name "*.prompt" -o -name "prompts.py" | \
  grep -v node_modules | head -10

# API key management
grep -r "OPENAI\|ANTHROPIC\|GROQ\|GEMINI" --include="*.py" \
  --include="*.ts" -l | head -5

Traps: System prompts often have hidden constraints. Rate limits often not surfaced in code.


Integration with Superpowers

Run before:

  • Any first code change in a new project
  • architect — context for design decisions
  • blueprint — architecture decisions need codebase knowledge
  • oracle — includes codebase health in complexity assessment

After completion:

  • Store onboarding summary in auto-memory
  • Use chronicle to record any unusual patterns found

Final Rule

Map before you build
Read before you write
Conventions before creativity
Traps before touching

Frequently asked questions

What does the Pathfinder AI skill do?

Structured first-pass exploration of an unfamiliar codebase — what to read, in what order, what to map, what traps to find. Use when entering any new or inherited project before writing code.

Why use Pathfinder on TypingMind?

Because you install it once and use it with any model. Pathfinder is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Pathfinder in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/GadaaLabs/claude-code-on-steroids/tree/main/skills/pathfinder. TypingMind reads its SKILL.md and installs it as a skill you can enable per chat.

Which AI models can use Pathfinder?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Pathfinder?

As many as you like. As long as a model supports skills, you can use Pathfinder with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Pathfinder AI skill free?

It is published on GitHub by GadaaLabs. Check the repository for licensing terms. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇