Skip to content
Back to skills

Path Forward

ASecurity

Find the most unblocking next step given current codebase state and goals

  • 36 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added September 2, 2026
ai-agentsgobashgitapi

Works with

  • claude code
  • cli
  • api
  • mcp

Security analysis

A100/100

Scanned September 2, 2026

npx -y skills add fagemx/edda --skill path-forward --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Path Forward?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Path Forward
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/fagemx-path-forward/badge)](https://www.skillsdirectory.com/skills/fagemx-path-forward)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: path-forward
description: "Find the most unblocking next step given current codebase state and goals"
---

# Path Forward

Find the single next action that unblocks the most downstream work. Use this after completing a task, when stuck on priorities, or when returning to the project after a break.

## Usage

```
path-forward                      # What should I work on next?
path-forward completed <task>     # I just finished <task>, what's unblocked?
path-forward stuck <problem>      # I'm blocked, find an alternate path
path-forward status               # Show current state of all tracks
```

## Core Principle

**Maximum unblocking, not minimum effort.**

The right next step is the one that enables the MOST subsequent work. This is different from:
- "Easiest task" — easy tasks may not unblock anything
- "Most important feature" — importance doesn't mean buildable now
- "What the docs say is next" — docs may not reflect actual code state

## Operations

### Default: What Should I Do Next?

#### Step 1: Scan Current State

Check each crate's implementation status:

```bash
# For each crate, check: lines of code, stub count, test count
for crate in edda-core edda-ledger edda-store edda-transcript edda-index edda-derive edda-pack edda-bridge-claude edda-mcp edda-search-fts edda-cli; do
  echo "=== $crate ==="
  # Actual code lines (excluding blanks and comments)
  find crates/$crate/src -name "*.rs" 2>/dev/null | xargs wc -l 2>/dev/null | tail -1
  # Stub count
  grep -rn "todo!\|unimplemented!" crates/$crate/src/ 2>/dev/null | wc -l
  # Test count
  grep -rn "#\[test\]\|#\[tokio::test\]" crates/$crate/ 2>/dev/null | wc -l
done
```

```bash
# Overall health
cargo check 2>&1 | tail -5
cargo test 2>&1 | tail -10
```

#### Step 2: Map What's Blocked

Read project docs for the dependency graph and critical path:

```
Transcript ingest → Event ledger → Derive views → Pack generation → Bridge injection
```

Crate dependency order:
```
edda-core (types, events)
  → edda-store (file storage)
  → edda-ledger (append-only event log)
  → edda-transcript (Claude transcript parsing)
  → edda-index (event indexing)
  → edda-derive (view derivation from events)
  → edda-pack (memory pack generation)
  → edda-search-fts (full-text search)
  → edda-bridge-claude (Claude Code hook injection)
  → edda-mcp (MCP server)
  → edda-cli (CLI entry point)
```

For each incomplete track, determine:
- **Blocked by**: upstream crates that aren't done
- **Blocks**: downstream crates waiting on this
- **Downstream count**: total tasks that this enables (directly + transitively)

#### Step 3: Score Candidates

For each candidate next task:

```
Unblocking Score = (downstream tasks enabled) × (prerequisite readiness)
```

- Task enabling 5 downstream tasks > task enabling 1
- Task with 100% prerequisites ready > task with 50%
- Tie-breaker: prefer critical path (Transcript → Ledger → Derive → Pack → Bridge)

#### Step 4: Verify Top Candidate

For the highest-scoring candidate, quick ground-check:
- Do required types exist?
- Do required crate APIs exist?
- Does it compile with the prerequisite crates?

If not buildable, move to next candidate.

#### Step 5: Report

```markdown
## Path Forward

### Current State

| Crate | LOC | Tests | Stubs | Status |
|-------|-----|-------|-------|--------|
| edda-core | 450 | 12 | 0 | Complete |
| edda-ledger | 230 | 5 | 3 | In Progress |
| edda-store | 180 | 8 | 0 | Complete |
| edda-transcript | 300 | 10 | 2 | In Progress |
| ... | ... | ... | ... | ... |

### Recommended Next Step

**<task description>**

Why this one:
- Prerequisites: <what's already done>
- Unblocks: <what this enables>
- Readiness: <evidence it's buildable now>
- Scope: <estimated size>

### After That

1. <next priority> — unblocks <what>
2. <next priority> — unblocks <what>
3. <next priority> — unblocks <what>
```

---

### Operation: completed <task>

After finishing a task:

1. **Verify completion**: compile + tests pass for the changed crate
2. **Check what's newly unblocked**: which downstream tasks now have all prerequisites met?
3. **Recommend the newly-unblocked task with highest unblocking score**

```markdown
## Completed: <task>

### Newly Unblocked
- <task> (was waiting on <prerequisite> — now done)
- <task> (was waiting on <prerequisite> — now done)

### Recommended Next: <task>
- Just unblocked by your completion of <previous>
- Unblocks: <downstream tasks>
- All prerequisites now met
```

---

### Operation: stuck <problem>

When blocked on something:

1. **Identify the blocker** — what specifically can't you do and why?
2. **Find alternative paths**:
   - Can you achieve the same goal differently?
   - Can you do 80% and defer the blocked part?
   - Can you mock/stub the blocker temporarily?
3. **Find the unblocking path** — what would remove the blocker?

```markdown
## Stuck on: <problem>

### Blocker Analysis
<What's blocking and why>

### Alternative Paths
1. **Work around it**: <approach that avoids the blocker>
2. **Partial implementation**: <do what you can, stub the rest>
3. **Unblock it**: <prerequisite work to remove the blocker>

### Recommended Path
<Which alternative and why>
```

---

### Operation: status

Quick overview, no recommendations:

```markdown
## Project Status

| Crate | LOC | Tests | Stubs | Status |
|-------|-----|-------|-------|--------|
| edda-core | 450 | 12 | 0 | Complete |
| edda-ledger | 230 | 5 | 3 | In Progress |
| edda-store | 180 | 8 | 0 | Complete |
| ... | ... | ... | ... | ... |

### Build Health
- Compilation: pass/fail
- Tests: X passing, Y failing

### Critical Path Progress
core [===] → ledger [== ] → derive [   ] → pack [   ] → bridge [   ]
```

## Scale Awareness

The skill adapts its recommendations to the project's growth phase:

**Early phase** (most crates <100 LOC, many stubs):
- Focus on foundation crates (core, store, ledger)
- Recommend groundwork that enables the most downstream crates
- Prefer depth (finish one crate) over breadth (start many)

**Mid phase** (core crates implemented, bridge/mcp have stubs):
- Focus on integration (derive, pack, bridge)
- Recommend connecting implemented pieces
- Prefer end-to-end paths over isolated features

**Late phase** (all crates compile and have tests):
- Focus on polish (CLI, MCP, search)
- Recommend end-to-end validation and edge cases
- Prefer hardening over new features

**Ongoing development** (post-initial build):
- Focus on what the user is actively working on
- Check recent git history to understand current direction
- Recommend based on what was just completed and what's in flight

Phase detection:
```bash
# Check LOC distribution across crates
for crate in crates/*/; do
  echo "$(basename $crate): $(find $crate/src -name '*.rs' 2>/dev/null | xargs wc -l 2>/dev/null | tail -1)"
done
```

## What This Skill Does NOT Do

- Does NOT check if a specific task is ready (that's `/ground-check`)
- Does NOT create issues or PRs
- Does NOT modify code
- Does NOT question architecture decisions — works within them

## References

- Project scope: `docs/SCOPE_V1.md`
- Roadmap: `docs/ROADMAP_V1_1.md`
- Bridge contract: `docs/BRIDGE_CONTRACT_P1.md`
- Critical path: Transcript → Ledger → Derive → Pack → Bridge

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.