github Python re-analysis due

yashdoke7/skeletongraph

github

Zero-LLM structural code retrieval for AI coding agents — tree-sitter index, BM25+dense+structural fusion, served over MCP.

maintainer
yashdoke7
licence
MIT
first seen
2026-07-25
last seen
2026-09-17
releases · 30d
0
short id

Drift inferred · capture-to-capture

No drift recorded — single capability capture; advisories appear once its surface changes.

capabilities 3 tools
transport stdio · http verified reported listed in the official MCP registry counts 3 tools · 0 res · 0 prompts permission surface via README inference

tools

  • sg_decision

    A design/implementation choice is made (picked or rejected, and why)

  • sg_log

    Reviewing recent session turns

  • sg_overview

    Session start — once per session

skills & danger signals github-tarball
prompt-surface shipped agent-instruction files + hidden-content / dangerous-code findings — quoted from the analyzed source

analyzed commit d81aea0 · analyzer v33 · 2d ago

danger signals1

code evidence vv0.1.0 · github-tarball
evidence-backed findings quoted directly from the published source artifact — not inferred

code files: 174

filesystem 112

  • fs yashdoke7-skeletongraph-d81aea0/eval/agent/aggregate.py :22 from pathlib import Path
  • fs yashdoke7-skeletongraph-d81aea0/eval/agent/check_builds.py :4 from pathlib import Path
  • fs yashdoke7-skeletongraph-d81aea0/eval/agent/config.py :12 from pathlib import Path
  • fs yashdoke7-skeletongraph-d81aea0/eval/agent/isolation.py :14 import shutil
  • fs yashdoke7-skeletongraph-d81aea0/eval/agent/plots.py :22 from pathlib import Path
  • fs yashdoke7-skeletongraph-d81aea0/eval/agent/prefetch.py :21 from pathlib import Path
  • fs yashdoke7-skeletongraph-d81aea0/eval/agent/prefetch_embeddings.py :5 from pathlib import Path
  • fs yashdoke7-skeletongraph-d81aea0/eval/agent/prewarm_fusion_dense.py :19 from pathlib import Path
  • fs yashdoke7-skeletongraph-d81aea0/eval/agent/profiles.py :22 from pathlib import Path
  • fs yashdoke7-skeletongraph-d81aea0/eval/agent/retrieval_latency.py :36 import shutil
  • fs yashdoke7-skeletongraph-d81aea0/eval/agent/run_agent.py :20 from pathlib import Path
  • fs yashdoke7-skeletongraph-d81aea0/eval/agent/run_claude_code.py :46 import shutil
show 28 more
  • fs yashdoke7-skeletongraph-d81aea0/eval/agent/run_singleshot.py :24 from pathlib import Path
  • fs yashdoke7-skeletongraph-d81aea0/eval/agent/run_stage.py :78 from pathlib import Path
  • fs yashdoke7-skeletongraph-d81aea0/eval/agent/sg_tools.py :21 from pathlib import Path
  • fs yashdoke7-skeletongraph-d81aea0/eval/agent/test_verify.py :16 from pathlib import Path
  • fs yashdoke7-skeletongraph-d81aea0/eval/agent/tools.py :15 from pathlib import Path
  • fs yashdoke7-skeletongraph-d81aea0/eval/agent/verify.py :23 from pathlib import Path
  • fs yashdoke7-skeletongraph-d81aea0/eval/agent/verify_pro.py :52 from pathlib import Path
  • fs yashdoke7-skeletongraph-d81aea0/eval/agent/vllm_bench.py :22 from pathlib import Path
  • fs yashdoke7-skeletongraph-d81aea0/eval/backends/aider_repomap.py :33 from pathlib import Path
  • fs yashdoke7-skeletongraph-d81aea0/eval/backends/bm25_flat.py :17 from pathlib import Path
  • fs yashdoke7-skeletongraph-d81aea0/eval/backends/cbmem.py :38 import shutil
  • fs yashdoke7-skeletongraph-d81aea0/eval/backends/dense.py :25 from pathlib import Path
  • fs yashdoke7-skeletongraph-d81aea0/eval/backends/graphify.py :31 import shutil
  • fs yashdoke7-skeletongraph-d81aea0/eval/backends/grep_sim.py :12 from pathlib import Path
  • fs yashdoke7-skeletongraph-d81aea0/eval/backends/hybrid.py :34 from pathlib import Path
  • fs yashdoke7-skeletongraph-d81aea0/eval/backends/localizer.py :61 from pathlib import Path
  • fs yashdoke7-skeletongraph-d81aea0/eval/backends/summary_search.py :37 from pathlib import Path
  • fs yashdoke7-skeletongraph-d81aea0/eval/curator/curator.py :13 from pathlib import Path
  • fs yashdoke7-skeletongraph-d81aea0/eval/curator/train.py :28 from pathlib import Path
  • fs yashdoke7-skeletongraph-d81aea0/eval/datasets/setup_multilingual.py :4 from pathlib import Path
  • fs yashdoke7-skeletongraph-d81aea0/eval/kv_cache.py :35 from pathlib import Path
  • fs yashdoke7-skeletongraph-d81aea0/eval/make_dataset.py :33 from pathlib import Path
  • fs yashdoke7-skeletongraph-d81aea0/eval/retrieval_eval.py :34 from pathlib import Path
  • fs yashdoke7-skeletongraph-d81aea0/eval/run_stage0.py :24 from pathlib import Path
  • fs (weak) yashdoke7-skeletongraph-d81aea0/eval/scripts/_dev/clean_hybrid_predictions.py :30 from pathlib import Path
  • fs (weak) yashdoke7-skeletongraph-d81aea0/eval/scripts/_dev/expand_graphify_100.py :32 from pathlib import Path
  • fs (weak) yashdoke7-skeletongraph-d81aea0/eval/scripts/_dev/high_turns.py :5 r = json.loads(open(f).read())
  • fs (weak) yashdoke7-skeletongraph-d81aea0/eval/scripts/_dev/inspect_pro.py :8 with open(path, "r", encoding="utf-8") as f:

72 more not shown — this panel samples each group; the count above is the real total.

shell / exec 16

  • shell yashdoke7-skeletongraph-d81aea0/eval/agent/isolation.py :16 import subprocess
  • shell yashdoke7-skeletongraph-d81aea0/eval/agent/prefetch_embeddings.py :3 import subprocess
  • shell yashdoke7-skeletongraph-d81aea0/eval/agent/retrieval_latency.py :38 import subprocess
  • shell yashdoke7-skeletongraph-d81aea0/eval/agent/run_all.py :28 import subprocess
  • shell yashdoke7-skeletongraph-d81aea0/eval/agent/run_claude_code.py :47 import subprocess
  • shell yashdoke7-skeletongraph-d81aea0/eval/agent/verify.py :21 import subprocess
  • shell yashdoke7-skeletongraph-d81aea0/eval/backends/cbmem.py :39 import subprocess
  • shell yashdoke7-skeletongraph-d81aea0/eval/backends/graphify.py :32 import subprocess
  • shell yashdoke7-skeletongraph-d81aea0/eval/datasets/setup_multilingual.py :3 import subprocess
  • shell yashdoke7-skeletongraph-d81aea0/eval/make_dataset.py :30 import subprocess
  • shell (weak) yashdoke7-skeletongraph-d81aea0/eval/scripts/make_rebench.py :50 import subprocess
  • shell (weak) yashdoke7-skeletongraph-d81aea0/eval/scripts/verify_rebench.py :72 import subprocess
show 4 more
  • shell yashdoke7-skeletongraph-d81aea0/src/skeletongraph/cli/prepare.py :23 import subprocess
  • shell yashdoke7-skeletongraph-d81aea0/src/skeletongraph/eval/token_counter.py :13 import subprocess
  • shell yashdoke7-skeletongraph-d81aea0/src/skeletongraph/retrieval/detect_changes.py :11 import subprocess
  • shell yashdoke7-skeletongraph-d81aea0/src/skeletongraph/server/mcp.py :1724 import subprocess

network 3

  • net yashdoke7-skeletongraph-d81aea0/eval/agent/run_all.py :31 import urllib.request
  • net yashdoke7-skeletongraph-d81aea0/src/skeletongraph/graph/embeddings.py :49 # Remove current directory from sys.path to prevent 'requests' repo from poisoning Huggingface's import requests
  • net yashdoke7-skeletongraph-d81aea0/src/skeletongraph/summary/ollama.py :17 import urllib.error

secrets 4

  • secrets yashdoke7-skeletongraph-d81aea0/eval/agent/config.py :60 API_KEY = os.environ.get("SG_EVAL_API_KEY", "EMPTY") # vLLM ignores it
  • secrets yashdoke7-skeletongraph-d81aea0/eval/backends/localizer.py :382 key = os.environ.get("SG_EVAL_API_KEY", "")
  • secrets yashdoke7-skeletongraph-d81aea0/eval/backends/summary_search.py :53 _OPENAI_KEY = os.environ.get("SG_SUMMARY_API_KEY",
  • secrets yashdoke7-skeletongraph-d81aea0/src/skeletongraph/llm/provider.py :47 self.api_key = os.environ.get("GEMINI_API_KEY") or os.environ.get("GOOGLE_API_KEY")

declared dependencies 32

  • tree-sitter@>=0.23
  • tree-sitter-python@>=0.23
  • tree-sitter-javascript@>=0.23
  • tree-sitter-typescript@>=0.23
  • tree-sitter-java@>=0.23
  • tree-sitter-go@>=0.23
  • tree-sitter-rust@>=0.23
  • tree-sitter-cpp@>=0.23
  • tree-sitter-c-sharp@>=0.23
  • tree-sitter-ruby@>=0.23
  • tree-sitter-php@>=0.23
  • click@>=8.0
show 20 more
  • mmh3@>=4.0
  • rich@>=13.0
  • tiktoken@>=0.7.0
  • sentence-transformers@>=3.0,<4
  • numpy@>=1.24
  • huggingface_hub@>=0.20,<0.30
  • skeletongraph@*
  • litellm@>=1.0
  • pandas@*
  • matplotlib@*
  • seaborn@*
  • swebench@*
  • openai@*
  • datasets@<3
  • aider-chat@>=0.82
  • rank-bm25@>=0.2
  • watchdog@>=3.0
  • pytest@*
  • pytest-cov@*
  • ruff@*

clipboard 1

  • clipboard shell call yashdoke7-skeletongraph-d81aea0/src/skeletongraph/cli/prepare.py :188 ("pbcopy", []),