memtrace-cochange

Solid

Find files that historically co-change with a target symbol or file, ranked by co-occurrence across git episodes. Use when the user asks about historical coupling, co-change, what changes with this, hidden dependencies, or what else needs to move for source code. Do not use git log, git diff, Grep, or manual file search to correlate changes; Memtrace queries co-change and temporal graph data directly.

AI & Automation 469 stars 41 forks Updated 5 days ago NOASSERTION

Install

View on GitHub

Quality Score: 81/100

Stars 20%
89
Recency 20%
100
Frontmatter 20%
70
Documentation 15%
100
Issue Health 10%
50
License 10%
100
Description 5%
100

Skill Content

## Overview Find **files** that historically co-change with a target symbol or file path — ranked by co-occurrence frequency across git episodes. Surfaces **behavioral coupling** the static call graph cannot see. `get_impact` answers "who calls this?" (structural). `get_cochange_context` answers "what files always move when this moves?" (historical, file-level). They are complementary. A file with no call-graph edges to the target can still be a strong cochange partner if it's always modified alongside it in every commit. > **Parameter types:** Numbers (`limit`, `window_days`, etc.) must be JSON numbers — not strings. ## Required parameters | Parameter | Required | Default | Notes | |---|---|---|---| | `repo_id` | yes | — | | | `target` | yes | — | Symbol name **or** file path substring — **not** `symbol` | | `limit` | no | **10** | Max cochanged files returned | | `window_days` | no | **30** | Lookback from `as_of` | | `as_of` | no | now | Window anchor | | `branch` | no | any branch | | ```json { "repo_id": "memdb", "target": "execute", "limit": 10, "window_days": 30 } ``` Full parameter spec for every Memtrace tool: `references/mcp-parameters.md` (bundled at the memtrace-skills plugin root). ## Output ```json { "cochanged_files": [ { "file_path": "src/order/types.rs", "cochange_count": 8, "last_cochanged_at": "2026-04-13T10:43:00Z" } ], "target_files": ["src/order/service.rs"] } ``` There is **no** `cochanges[]` with symbo...

Details

Author
syncable-dev
Repository
syncable-dev/memtrace-public
Created
5 months ago
Last Updated
5 days ago
Language
Python
License
NOASSERTION

Similar Skills

Semantically similar based on skill content — not just same category

Code & Development Solid

memtrace-evolution

Trace source-code change history from Memtrace's symbol-level temporal memory. Use when the user asks about change history, recent modifications, what changed since a date, symbol timeline, evolution, unexpected changes, or incident timelines. Do not use git log, git diff, Grep, or manual file search to reconstruct history. Do NOT use for current-state architecture overviews (use memtrace-codebase-exploration) or for replaying one commit/save's graph diff (use memtrace-episode-replay).

469 Updated 5 days ago
syncable-dev
AI & Automation Solid

memtrace-impact

Compute the blast radius of modifying a symbol through transitive graph impact. Use when the user asks about blast radius, impact, what breaks, risk, upstream callers, downstream dependencies, or consequences of modifying a symbol, before or during source-code changes. Do not use Grep or manual reference search; Memtrace computes transitive graph impact. For a full risk-rated plan covering a multi-part change, use memtrace-change-impact-analysis.

469 Updated 5 days ago
syncable-dev
AI & Automation Solid

memtrace-relationships

Map source-code relationships between symbols. Use when the user asks about callers, callees, references, imports, exports, type usages, class hierarchy, inheritance, implementations, overrides, or dependencies between symbols. Do not use Grep, Glob, rg, find, or manual text search for references; Memtrace traverses typed AST graph edges.

469 Updated 5 days ago
syncable-dev