Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
avifenesh avatar

Drift Analysis

  • 2 installs
  • 931 repo stars
  • Updated July 26, 2026
  • avifenesh/awesome-slash

drift-analysis is a Claude Code skill that detects divergence between a project's documented plans and its actual implementation and produces a prioritized reconstruction plan.

About

drift-analysis compares documented plans (PLAN.md, roadmaps, READMEs, issues) against the actual codebase to detect four kinds of drift: plan, documentation, issue, and scope. It collects state with pure JavaScript and runs a single semantic analysis pass, then scores each gap with a priority formula and confidence indicators. The output is a prioritized reconstruction plan bucketed into Immediate, Short-term, Medium-term, and Backlog.

  • Detects plan, documentation, issue, and scope drift between docs and actual code
  • Scores drift with high/medium/low-confidence indicators and a priority formula
  • Buckets findings into Immediate, Short-term, Medium-term, and Backlog reconstruction items

Drift Analysis by the numbers

  • 2 all-time installs (skills.sh)
  • Ranked #2,419 of 3,282 Productivity & Planning skills by installs in the Skillselion catalog
  • Data as of Aug 5, 2026 (Skillselion catalog sync)
At a glance

drift-analysis capabilities & compatibility

Capabilities
drift detection · doc code audit · reconstruction planning
Works with
github
Use cases
planning · documentation · project management
From the docs

What drift-analysis says it does

Knowledge and patterns for analyzing project state, detecting plan drift, and creating prioritized reconstruction plans.
SKILL.md
**Plan Drift**: When documented plans diverge from actual implementation
SKILL.md
npx skills add https://github.com/avifenesh/awesome-slash --skill drift-analysis

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs2
repo stars931
Last updatedJuly 26, 2026
Repositoryavifenesh/awesome-slash

What it does

Detect where a project's documentation and plans have diverged from the actual code and get a prioritized catch-up plan.

Who is it for?

Auditing whether docs, roadmap, and issues still match the code on an active project

Skip if: Making the code changes needed to close the detected gaps

When should I use this skill?

The user asks for a reality check or to compare docs and plans against the actual code

What you get

A prioritized reconstruction plan listing the concrete gaps between plans and code.

  • Drift report
  • Prioritized reconstruction plan

By the numbers

  • Detects 4 drift types: plan, documentation, issue, scope
  • Priority calc uses 4 severity levels (critical/high/medium/low)

Files

SKILL.mdMarkdownGitHub ↗

Drift Analysis

Knowledge and patterns for analyzing project state, detecting plan drift, and creating prioritized reconstruction plans.

Architecture Overview

/drift-detect
        │
        ├─→ collectors.js (pure JavaScript)
        │   ├─ scanGitHubState()
        │   ├─ analyzeDocumentation()
        │   └─ scanCodebase()
        │
        └─→ plan-synthesizer (Opus)
            └─ Deep semantic analysis with full context

Data collection: Pure JavaScript (no LLM overhead) Semantic analysis: Single Opus call with complete context

Drift Detection Patterns

Types of Drift

Plan Drift: When documented plans diverge from actual implementation

  • PLAN.md items remain unchecked for extended periods
  • Roadmap milestones slip without updates
  • Sprint/phase goals not reflected in code changes

Documentation Drift: When documentation falls behind implementation

  • New features exist without corresponding docs
  • README describes features that don't exist
  • API docs don't match actual endpoints

Issue Drift: When issue tracking diverges from reality

  • Stale issues that no longer apply
  • Completed work without closed issues
  • High-priority items neglected

Scope Drift: When project scope expands beyond original plans

  • More features documented than can be delivered
  • Continuous addition without completion
  • Ever-growing backlog with no pruning

Detection Signals

HIGH-CONFIDENCE DRIFT INDICATORS:
- Milestone 30+ days overdue with open issues
- PLAN.md < 30% completion after 90 days
- 5+ high-priority issues stale > 60 days
- README features not found in codebase

MEDIUM-CONFIDENCE INDICATORS:
- Documentation files unchanged for 180+ days
- Draft PRs open > 30 days
- Issue themes don't match code activity
- Large gap between documented and implemented features

LOW-CONFIDENCE INDICATORS:
- Many TODOs in codebase
- Stale dependencies
- Old git branches not merged

Prioritization Framework

Priority Calculation

function calculatePriority(item, weights) {
  let score = 0;

  // Severity base score
  const severityScores = {
    critical: 15,
    high: 10,
    medium: 5,
    low: 2
  };
  score += severityScores[item.severity] || 5;

  // Category multiplier
  const categoryWeights = {
    security: 2.0,    // Security issues get 2x
    bugs: 1.5,        // Bugs get 1.5x
    infrastructure: 1.3,
    features: 1.0,
    documentation: 0.8
  };
  score *= categoryWeights[item.category] || 1.0;

  // Recency boost
  if (item.createdRecently) score *= 1.2;

  // Stale penalty (old items slightly deprioritized)
  if (item.daysStale > 180) score *= 0.9;

  return Math.round(score);
}

Time Bucket Thresholds

BucketCriteriaMax Items
Immediateseverity=critical OR priority >= 155
Short-termseverity=high OR priority >= 1010
Medium-termpriority >= 515
Backlogeverything else20

Priority Weights (Default)

security: 10     # Security issues always top priority
bugs: 8          # Bugs affect users directly
features: 5      # New functionality
documentation: 3 # Important but not urgent
tech-debt: 4     # Keeps codebase healthy

Cross-Reference Patterns

Document-to-Code Matching

// Fuzzy matching for feature names
function featureMatch(docFeature, codeFeature) {
  const normalize = s => s
    .toLowerCase()
    .replace(/[-_\s]+/g, '')
    .replace(/s$/, ''); // Remove trailing 's'

  const docNorm = normalize(docFeature);
  const codeNorm = normalize(codeFeature);

  return docNorm.includes(codeNorm) ||
         codeNorm.includes(docNorm) ||
         levenshteinDistance(docNorm, codeNorm) < 3;
}

Common Mismatches

Documented AsImplemented As
"user authentication"auth/, login/, session/
"API endpoints"routes/, api/, handlers/
"database models"models/, entities/, schemas/
"caching layer"cache/, redis/, memcache/
"logging system"logger/, logs/, telemetry/

Output Templates

Drift Report Section

## Drift Analysis

### {drift_type}
**Severity**: {severity}
**Detected In**: {source}

{description}

**Evidence**:
{evidence_items}

**Recommendation**: {recommendation}

Gap Report Section

## Gap: {gap_title}

**Category**: {category}
**Severity**: {severity}

{description}

**Impact**: {impact_description}

**To Address**:
1. {action_item_1}
2. {action_item_2}

Reconstruction Plan Section

## Reconstruction Plan

### Immediate Actions (This Week)
{immediate_items_numbered}

### Short-Term (This Month)
{short_term_items_numbered}

### Medium-Term (This Quarter)
{medium_term_items_numbered}

### Backlog
{backlog_items_numbered}

Best Practices

When Analyzing Drift

1. Compare timestamps, not just content

  • When was the doc last updated vs. last code change?
  • Are milestones dated realistically?

2. Look for patterns, not individual items

  • One stale issue isn't drift; 10 stale issues is a pattern
  • One undocumented feature isn't drift; 5 undocumented features is

3. Consider context

  • Active development naturally has some drift
  • Mature projects should have minimal drift
  • Post-launch projects often have documentation lag

4. Weight by impact

  • User-facing drift matters more than internal
  • Public API drift matters more than implementation details

When Creating Plans

1. Be actionable, not exhaustive

  • Top 5 immediate items, not top 50
  • Each item should be completable in reasonable time

2. Group related items

  • "Update authentication docs" not "Update login page docs" + "Update signup docs"

3. Include success criteria

  • How do we know this drift item is resolved?

4. Balance categories

  • All security first, but don't ignore everything else
  • Mix quick wins with important work

Data Collection (JavaScript)

The collectors.js module extracts data without LLM overhead:

GitHub Data

  • Open issues categorized by labels
  • Open PRs with draft status
  • Milestones with due dates
  • Stale items (> 90 days inactive)
  • Theme analysis from titles

Documentation Data

  • Parsed README, PLAN.md, CLAUDE.md, CHANGELOG.md
  • Checkbox completion counts
  • Section analysis
  • Feature lists

Code Data

  • Directory structure
  • Framework detection
  • Test framework presence
  • Health indicators (CI, linting, tests)

Semantic Analysis (Opus)

The plan-synthesizer receives all collected data and performs:

1. Cross-referencing: Match documented features to implementation 2. Drift identification: Find divergence patterns 3. Gap analysis: Identify what's missing 4. Prioritization: Context-aware ranking 5. Report generation: Actionable recommendations

Example Input/Output

Collected Data (from collectors.js)

{
  "github": {
    "issues": [...],
    "categorized": { "bugs": [...], "features": [...] },
    "stale": [...]
  },
  "docs": {
    "files": { "README.md": {...}, "PLAN.md": {...} },
    "checkboxes": { "total": 15, "checked": 3 }
  },
  "code": {
    "frameworks": ["Express"],
    "health": { "hasTests": true, "hasCi": true }
  }
}

Analysis Output (from plan-synthesizer)

# Reality Check Report

## Executive Summary
Project has moderate drift: 8 stale priority issues and 20% plan completion.
Strong code health (tests + CI) but documentation lags implementation.

## Drift Analysis
### Priority Neglect
**Severity**: high
8 high-priority issues inactive for 60+ days...

## Prioritized Plan
### Immediate
1. Close #45 (already implemented)
2. Update README API section...

Related skills

FAQ

What kinds of drift does it detect?

Plan drift, documentation drift, issue drift, and scope drift between documented plans and the actual implementation.

What does drift-analysis produce?

A drift report plus a prioritized reconstruction plan bucketed into Immediate, Short-term, Medium-term, and Backlog actions.

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.