github Python analyzed 626d50f

SirCharan/second-brain

github

Persistent memory for Claude Code — the full plugin: hooks, skill, MCP server, workflows. A Markdown vault you own, no server and no account. Hooks-only version: continuum.

maintainer
SirCharan
license
Apache-2.0
first seen
2026-08-01
last seen
2026-08-01
releases · 30d
1
short id

Drift inferred · capture-to-capture

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

capabilities 6 tools
transport streamable-http counts 6 tools · 0 res · 0 prompts permission surface via code analysis

tools

  • export
  • graph
  • health
  • pull
  • recall
  • stale
skills & danger signals github-tarball
prompt-surface shipped agent-instruction files + hidden-content / dangerous-code findings — quoted from the analyzed source

analyzed commit 626d50f · analyzer v28 · 1d ago

skills & prompt files 3

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

code files: 70

filesystem 17

  • fs SirCharan-second-brain-626d50f/hooks/_hooklib.py :43 with open(os.path.join(MEM, "config.json"), errors="ignore") as f:
  • fs SirCharan-second-brain-626d50f/hooks/capture-exchange.py :73 txt = open(path, errors="ignore").read()
  • fs SirCharan-second-brain-626d50f/hooks/context-monitor.py :87 prev = int(open(flag).read().strip() or 0)
  • fs SirCharan-second-brain-626d50f/hooks/memory-embed.py :44 raw = open(path, errors="ignore").read()
  • fs SirCharan-second-brain-626d50f/hooks/memory-lint.py :42 txt = open(rp, errors="ignore").read()
  • fs SirCharan-second-brain-626d50f/hooks/memory-recall.py :36 lines = [l.rstrip() for l in open(df, errors="ignore") if l.startswith("- ")]
  • fs SirCharan-second-brain-626d50f/hooks/sb_rank.py :122 head = open(path, errors="ignore").read(HEAD_BYTES)
  • fs SirCharan-second-brain-626d50f/hooks/session-resume.py :69 t = open(path, errors="ignore").read()[:600]
  • fs SirCharan-second-brain-626d50f/hooks/stuck-detector.py :45 st = json.load(open(sf))
  • fs SirCharan-second-brain-626d50f/hooks/test_capture_exchange.py :48 txt = open(path).read()
  • fs SirCharan-second-brain-626d50f/hooks/test_enforcement.py :18 with open(os.path.join(_VAULT, "config.json"), "w") as _f:
  • fs SirCharan-second-brain-626d50f/hooks/test_memory_embed.py :46 open(p, "w").write(
  • fs SirCharan-second-brain-626d50f/hooks/test_memory_hooks.py :13 with open(os.path.join(_VAULT, "config.json"), "w") as _f:
  • fs SirCharan-second-brain-626d50f/hooks/test_sb_rank.py :38 with open(p, "w") as f:
  • fs SirCharan-second-brain-626d50f/mcp/mcp-setup.py :10 import shutil
  • fs SirCharan-second-brain-626d50f/mcp/sb_core.py :23 with open(p) as f:
  • fs SirCharan-second-brain-626d50f/mcp/test_mcp.py :16 open(os.path.join(d, "widgets", "widgets-cadence.md"), "w").write(

shell / exec 9

  • shell SirCharan-second-brain-626d50f/hooks/_hooklib.py :140 import subprocess
  • shell SirCharan-second-brain-626d50f/hooks/capture-exchange.py :193 import subprocess
  • shell SirCharan-second-brain-626d50f/hooks/context-monitor.py :99 import subprocess
  • shell SirCharan-second-brain-626d50f/hooks/memory-recall.py :119 import subprocess
  • shell SirCharan-second-brain-626d50f/hooks/session-resume.py :343 import subprocess
  • shell SirCharan-second-brain-626d50f/hooks/test_enforcement.py :8 import subprocess
  • shell SirCharan-second-brain-626d50f/hooks/test_memory_hooks.py :82 subprocess.run(["git", "-C", repo, "init", "-q"], check=True)
  • shell SirCharan-second-brain-626d50f/mcp/sb_core.py :166 subprocess.run(
  • shell SirCharan-second-brain-626d50f/mcp/test_mcp.py :105 r = subprocess.run(

secrets 1

  • secrets SirCharan-second-brain-626d50f/mcp/server_http.py :23 TOKEN = os.environ.get("SECOND_BRAIN_MCP_TOKEN") or secrets.token_urlsafe(24)

tool registrations 6

  • recall SirCharan-second-brain-626d50f/mcp/server_http_sdk.py :43
  • pull SirCharan-second-brain-626d50f/mcp/server_http_sdk.py :49
  • export SirCharan-second-brain-626d50f/mcp/server_http_sdk.py :55
  • health SirCharan-second-brain-626d50f/mcp/server_http_sdk.py :61
  • stale SirCharan-second-brain-626d50f/mcp/server_http_sdk.py :67
  • graph SirCharan-second-brain-626d50f/mcp/server_http_sdk.py :73