g-eskayo/marvin/variable-tracker

Trust tier 3
  • community
Source check pending

Checking that the SKILL.md file is still in the repository.

Track Python variable definitions, uses, and scope across files

Install

npx vskill@latest install g-eskayo/marvin/variable-tracker

SKILL.md

Variable Tracker Skill

Find where a Python variable is defined, where it's used, and what scope it belongs to — without reading the whole file.

Triggers

Load this skill when you're:

  • "track this variable" / "where is X defined/used"
  • Starting work on an unfamiliar Python file
  • Asking "what's the state of X" — did we mutate it, is it stale?
  • Debugging variable shadowing or scope issues

CLI usage

bash
# After running install.sh:
track-vars <path> [<path>...] # scan file(s) or dir(s)
track-vars <path> --name X # find variable X only
track-vars <path> --since HEAD~1 # only files changed since commit
track-vars <path> --format json # JSON output for piping

Output format

Default text output: compact, inline-friendly, meant to paste into conversation:

cfg [module] lib/config.py (dict)
def L12 cfg = load_config()
use L15 return cfg["timeout"]
use L30 log_config(cfg)

Columns: variable name, scope, file, inferred type (if annotated). Each var tracks definitions (assignments, parameters, for/with targets) and uses (loads).

Same variable name in different scopes (e.g., x in module vs x in func1()) tracked separately — shadowing isn't conflated.

JSON output (--format json) suitable for tool chaining:

json
[
{
"name": "cfg",
"scope": "[module]",
"file": "lib/config.py",
"definitions": [
{"line": 12, "kind": "assign", "snippet": "cfg = load_config()"}
],
"uses": [
{"line": 15, "snippet": "cfg[\"timeout\"]"}
]
}
]

Extraction logic

Python-only (v1). Walks the AST:

  • Definitions: assignments, annotated assignments, augmented assignments (+=), for/with targets, function parameters, global/nonlocal declarations
  • Uses: Name nodes in Load context (reading a var)
  • Scope: module-level or function name; same var in different scopes tracked as separate records

Type annotations from x: int = 10 are captured.

Filters

  • --name X: return only variable X across all scanned files/scopes
  • --since <git-ref>: restrict scan to files changed since <ref> (via git diff --name-only)

Directory traversal

Recursively scans .py files; skips venv, node_modules, .git, __pycache__, .venv.

Install

bash
bash ~/.agents/skills/variable-tracker/install.sh
source ~/.zshrc

Then use track-vars from anywhere in the repo.

Security

  • Security scanPassed, 90 of 100Pattern checks on the skill's files.
  • Model reviewPassed

Quality evaluation

  • Task evaluationNot runNo evaluation yet. Run one in Skill Studio.

Source

Popularity

7-day trend score
5

Not refreshed yet.

Works with

Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.

  • Claude Code
  • Cursor
  • GitHub Copilot
  • Windsurf
  • Codex
  • Gemini CLI
  • Cline
  • Amp
  • Roo Code
  • Goose
  • Continue
  • Kilo Code
  • Junie
  • Trae
  • OpenHands
  • Qwen Code
  • AI Agent
  • Tabnine Chat
  • Sourcegraph Cody
  • Amazon Q
  • Firebase Genkit
  • Sweep
  • Devin
  • Phind
  • Mentat
  • Claude Desktop
  • Aider
  • GPT Pilot
  • Plandex
  • bolt.new
  • v0
  • Replit Agent
  • Anse
  • TypingMind
  • BetterChatGPT
  • LibreChat
  • Warp AI
  • Pieces
  • Fig AI
Embed badge
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/g-eskayo/marvin/variable-tracker/badge)](https://verified-skill.com/skills/g-eskayo/marvin/variable-tracker)

Something wrong with this skill or its page? Tell us.