agentsclimarketplace

Analyze deps

Skill mattjaikaran/meridian/skills/analyze-deps

Skill that gives AI coding agents persistent memory and quality enforcementFrom the repository description

Install
npx -y skills add mattjaikaran/meridian --skill analyze-deps

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

  • 1 stars1 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.
  • runs commandsInstructs the agent to run 3 commands, including `PYTHONPATH=$MERIDIAN_HOME uv run --project $MERIDIAN_HOME -- python -c " import json from pathlib import Path from scripts.analyze_deps import run_analysis, write_report report = run_analysis(Path('.'` and 2 more.

SKILL.md

4.0 KB, ~1.0k tokens by cl100k_base, as published. Nobody here has run it

/meridian:analyze-deps — Dependency Analysis

Detect phase ordering constraints within a milestone. Analyzes file overlap, semantic name references, and sequence gaps to suggest depends_on entries for phases that are missing explicit ordering. Optionally writes suggestions back to the DB.

Arguments

  • (no args) — analyze active milestone, print findings, write report (read-only)
  • --apply — write suggested depends_on entries back to the DB
  • --milestone <id> — target a specific milestone by ID instead of the active one

Keywords

dependencies, ordering, depends_on, phase ordering, file overlap, coupling, analysis

Procedure

Analyze (default — read-only)

PYTHONPATH=$MERIDIAN_HOME uv run --project $MERIDIAN_HOME -- python -c "
import json
from pathlib import Path
from scripts.analyze_deps import run_analysis, write_report
report = run_analysis(Path('.'))
path = write_report(report, Path('.'))
report['report_path'] = str(path)
print(json.dumps(report, indent=2))
"

Analyze and apply suggestions

PYTHONPATH=$MERIDIAN_HOME uv run --project $MERIDIAN_HOME -- python -c "
import json
from pathlib import Path
from scripts.analyze_deps import run_analysis, write_report
report = run_analysis(Path('.'), apply=True)
path = write_report(report, Path('.'))
report['report_path'] = str(path)
print(json.dumps(report, indent=2))
"

Target a specific milestone

PYTHONPATH=$MERIDIAN_HOME uv run --project $MERIDIAN_HOME -- python -c "
import json
from pathlib import Path
from scripts.analyze_deps import run_analysis, write_report
report = run_analysis(Path('.'), milestone_id='<MILESTONE_ID>')
path = write_report(report, Path('.'))
report['report_path'] = str(path)
print(json.dumps(report, indent=2))
"

Display Format

After running, present findings grouped by type:

## Meridian Dependency Analysis

Milestone: M7 — GSD Parity & Workflow Maturity
Status: suggestions  Warnings: 1  Notes: 4
Report written: .planning/deps/report-20260427T120000Z.md

### File Overlap Dependencies
  ℹ Phase 'Build API' modifies 'models/user.py' which is created by phase 'Create Models'
    → Suggested: Build API depends_on Create Models

### File Creation Conflicts
  ⚠ Phases 'Auth Setup' and 'User Module' both declare they create 'auth/models.py'
    → Review: only one phase should own this file

### Semantic Name References
  ℹ Phase 'Add Endpoints' plan text references phase 'Create Models' by name
    → Suggested: Add Endpoints depends_on Create Models

### Phases Without Explicit Ordering
  ℹ Phase 'Deploy Config' (seq=3) has no explicit depends_on
    → Run with --apply to set suggested ordering

### Suggested depends_on Entries
  Phase 2 (Build API) → [1] (Create Models)
  Phase 4 (Add Endpoints) → [1] (Create Models)

(Run /meridian:analyze-deps --apply to write these to the DB)

Icons: warning → ⚠ info → ℹ

If status == "clean": print a single success line and the report path. If status == "no_db": tell the user to run /meridian:init. If status == "no_milestone": tell the user to run /meridian:init. If --apply was used and applied is non-empty: show each phase that was updated.

What Each Check Detects

CheckWhat it finds
file_overlapPhase B modifies a file that Phase A creates → B depends on A
file_conflictTwo phases both declare they create the same file → ownership conflict
name_referencePhase B's plan descriptions mention Phase A by name → semantic coupling
missing_explicit_depPhase N (seq > 1) has no depends_on set at all

DB Write-Back

--apply merges suggestions into existing depends_on values (never overwrites). Phases that already have the suggested dependency are skipped (no duplicate writes). depends_on is stored as a JSON array of phase IDs: [1, 3].

Read-Only by Default

Without --apply, /meridian:analyze-deps never modifies the database. It only writes to .planning/deps/report-{timestamp}.md.

What ships with it

Read from the repository

Just SKILL.md. No reference files, no scripts.

Keep looking

Skills are one crate of 325,949. 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.