https://github.com/bwicarus/obsidian-claudecode-skills
· scanned 2026-06-17 01:44 UTC (1 month, 1 week ago)
305 raw signals (0 security + 305 graph)
Last scanned 1 month, 1 week ago · v2 · last Δ -16.3 (diff) · 287 actionable findings from 1 signal source. 18 repeated signals grouped for readability. Security checks, system graph analysis, and verified AI-agent feedback are merged into one review queue.
All 3163 nodes from the latest scan, grouped by kind. Each node is a unit the engine identified (file, function, endpoint, table…). Most users won't need this view — it's primarily for debugging the engine's graph extraction or for AI agents that want to enumerate the project structure.
| Label | Layer | Status | Path |
|---|---|---|---|
test_script_exists |
software | healthy | tests/test_pending_notes.py:18 |
test_runs_clean_with_correct_output_format |
software | healthy | tests/test_pending_notes.py:21 |
test_idempotent_run_does_not_corrupt_state |
software | healthy | tests/test_pending_notes.py:36 |
total |
software | healthy | tests/test_pending_notes.py:47 |
_request |
software | healthy | tests/test_nav_links_api.py:22 |
setUpClass |
software | healthy | tests/test_nav_links_api.py:38 |
test_GET_unauthenticated_returns_401 |
software | healthy | tests/test_nav_links_api.py:47 |
test_POST_unauthenticated_returns_401 |
software | healthy | tests/test_nav_links_api.py:51 |
test_nav_js_served_and_has_fetch_logic |
software | healthy | tests/test_nav_links_api.py:59 |
setUp |
software | healthy | tests/test_task_tracker.py:99 |
tearDown |
software | healthy | tests/test_task_tracker.py:32 |
test_handle_mirrors_to_stdout_when_not_tty |
software | healthy | tests/test_task_tracker.py:35 |
test_track_writes_and_clears_active_entry |
software | healthy | tests/test_task_tracker.py:60 |
test_self_pid_is_alive |
software | healthy | tests/test_task_tracker.py:86 |
test_invalid_pid_is_dead |
software | healthy | tests/test_task_tracker.py:89 |
test_returns_tasks_and_completed_keys |
software | healthy | tests/test_task_tracker.py:106 |
test_known_top_level_field_accepted |
software | healthy | tests/test_config_schema.py:17 |
test_known_nested_field_accepted |
software | healthy | tests/test_config_schema.py:22 |
test_unknown_field_rejected |
software | healthy | tests/test_config_schema.py:27 |
test_wrong_type_rejected |
software | healthy | tests/test_config_schema.py:33 |
test_bool_vs_int_strict |
software | healthy | tests/test_config_schema.py:39 |
test_mixed_valid_and_invalid |
software | healthy | tests/test_config_schema.py:45 |
test_non_dict_input |
software | healthy | tests/test_config_schema.py:65 |
test_all_fields_have_known_schema_entry |
software | healthy | tests/test_config_schema.py:75 |
test_returns_list_of_dicts_with_required_keys |
software | healthy | tests/test_config_schema.py:79 |
test_type_field_is_python_type_name |
software | healthy | tests/test_config_schema.py:88 |
render_sets_text |
software | healthy | scripts/upgrade_fitness_plan.py:169 |
render_weight_hint |
software | healthy | scripts/upgrade_fitness_plan.py:174 |
main |
software | healthy | scripts/upgrade_fitness_plan.py:181 |
normalize_note_name |
software | healthy | scripts/connect_note.py:29 |
parse_link |
software | healthy | scripts/connect_note.py:39 |
dedupe_links |
software | healthy | scripts/connect_note.py:54 |
build_section |
software | healthy | scripts/connect_note.py:66 |
find_related_section |
software | healthy | scripts/connect_note.py:72 |
parse_existing_items |
software | healthy | scripts/connect_note.py:96 |
update_note |
software | healthy | scripts/connect_note.py:120 |
main |
software | healthy | scripts/connect_note.py:164 |
find_image_file |
software | healthy | scripts/annotate_images.py:43 |
split_sections |
software | healthy | scripts/annotate_images.py:73 |
find_images_in_section |
software | healthy | scripts/annotate_images.py:87 |
cmd_scan |
software | healthy | scripts/annotate_images.py:112 |
cmd_apply |
software | healthy | scripts/annotate_images.py:154 |
main |
software | healthy | scripts/annotate_images.py:204 |
_sha |
software | healthy | scripts/compress_pdf.py:34 |
_write |
software | healthy | scripts/compress_pdf.py:39 |
_recompress_image |
software | healthy | scripts/compress_pdf.py:48 |
main |
software | healthy | scripts/compress_pdf.py:68 |
_load_prompt |
software | healthy | scripts/register_notes.py:47 |
_load_vault_structure |
software | healthy | scripts/register_notes.py:51 |
_subprocess_capture |
software | healthy | scripts/register_notes.py:55 |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
CLAUDE.md |
software | healthy | CLAUDE.md |
AGENTS.md |
software | healthy | AGENTS.md |
dashboard.json |
software | healthy | dashboard/dashboard.json |
index.html |
software | healthy | dashboard/index.html |
test_pending_notes.py |
software | healthy | tests/test_pending_notes.py |
__init__.py |
software | healthy | tests/__init__.py |
test_nav_links_api.py |
software | healthy | tests/test_nav_links_api.py |
test_task_tracker.py |
software | healthy | tests/test_task_tracker.py |
README.md |
software | healthy | tests/README.md |
test_config_schema.py |
software | healthy | tests/test_config_schema.py |
upgrade_fitness_plan.py |
software | healthy | scripts/upgrade_fitness_plan.py |
connect_note.py |
software | healthy | scripts/connect_note.py |
annotate_images.py |
software | healthy | scripts/annotate_images.py |
compress_pdf.py |
software | healthy | scripts/compress_pdf.py |
register_notes.py |
software | healthy | scripts/register_notes.py |
export_history.py |
software | healthy | scripts/export_history.py |
platform_utils.py |
software | healthy | scripts/platform_utils.py |
embed_google_ocr_to_pdf.py |
software | healthy | scripts/embed_google_ocr_to_pdf.py |
pdf_extract.py |
software | healthy | scripts/pdf_extract.py |
prewarm_pdf.py |
software | healthy | scripts/prewarm_pdf.py |
backup_data.sh |
software | healthy | scripts/backup_data.sh |
check_pdf_reader_js.sh |
software | healthy | scripts/check_pdf_reader_js.sh |
quick_sync.py |
software | healthy | scripts/quick_sync.py |
fix_bare_latex.py |
software | healthy | scripts/fix_bare_latex.py |
find_jeff_videos.py |
software | healthy | scripts/find_jeff_videos.py |
google_vision_ocr.py |
software | healthy | scripts/google_vision_ocr.py |
task_tracker.py |
software | healthy | scripts/task_tracker.py |
config.py |
software | healthy | scripts/config.py |
spacy_parse.py |
software | healthy | scripts/spacy_parse.py |
daily_anki_status.py |
software | healthy | scripts/daily_anki_status.py |
anki_weblogin.py |
software | healthy | scripts/anki_weblogin.py |
review_priority.py |
software | healthy | scripts/review_priority.py |
prewarm_pdf_pages.py |
software | healthy | scripts/prewarm_pdf_pages.py |
sentence_card.py |
software | healthy | scripts/sentence_card.py |
annotate_note.py |
software | healthy | scripts/annotate_note.py |
google_api_quota.py |
software | healthy | scripts/google_api_quota.py |
embed_ocr_to_pdf.py |
software | healthy | scripts/embed_ocr_to_pdf.py |
deploy_reader.sh |
software | healthy | scripts/deploy_reader.sh |
backfill_vault_name.py |
software | healthy | scripts/backfill_vault_name.py |
export_dashboard.py |
software | healthy | scripts/export_dashboard.py |
config_schema.py |
software | healthy | scripts/config_schema.py |
reconcile_records.py |
software | healthy | scripts/reconcile_records.py |
build_search_index.py |
software | healthy | scripts/build_search_index.py |
reorder_videos_by_keyword.py |
software | healthy | scripts/reorder_videos_by_keyword.py |
cleanup_orphans.py |
software | healthy | scripts/cleanup_orphans.py |
build_review_deck.py |
software | healthy | scripts/build_review_deck.py |
build_pdf_reader_js.sh |
software | healthy | scripts/build_pdf_reader_js.sh |
prewarm_pdf_chars.py |
software | healthy | scripts/prewarm_pdf_chars.py |
scan_bare_latex.py |
software | healthy | scripts/scan_bare_latex.py |
note_state.py |
software | healthy | scripts/note_state.py |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
ANY /login |
api | healthy | webapp/app.py |
ANY /logout |
api | healthy | webapp/app.py |
ANY /dashboard/ |
api | healthy | webapp/app.py |
ANY /dashboard/<path:filename> |
api | healthy | webapp/app.py |
ANY /dashboard/graph-settings.json |
api | healthy | webapp/app.py |
ANY /private/ |
api | healthy | webapp/app.py |
ANY /private/<path:filename> |
api | healthy | webapp/app.py |
ANY /history/ |
api | healthy | webapp/app.py |
ANY /history/<path:filename> |
api | healthy | webapp/app.py |
ANY /qa/ |
api | healthy | webapp/app.py |
ANY /qa |
api | healthy | webapp/app.py |
ANY /qa/update |
api | healthy | webapp/app.py |
ANY /skilltree/ |
api | healthy | _server_deploy/skilltree.py |
ANY /skilltree/api/books-meta |
api | healthy | _server_deploy/skilltree.py |
ANY /skilltree/<book>/api/delete |
api | healthy | _server_deploy/skilltree.py |
ANY /skilltree/<book>/ |
api | healthy | _server_deploy/skilltree.py |
ANY /skilltree/<book>/data.json |
api | healthy | _server_deploy/skilltree.py |
ANY /skilltree/<book>/pdf |
api | healthy | _server_deploy/skilltree.py |
ANY /skilltree/<book>/api/archive-node |
api | healthy | _server_deploy/skilltree.py |
ANY /skilltree/<book>/api/restore-node |
api | healthy | _server_deploy/skilltree.py |
ANY /skilltree/<book>/api/prune-notes |
api | healthy | _server_deploy/skilltree.py |
ANY /skilltree/<book>/api/build-note |
api | healthy | _server_deploy/skilltree.py |
ANY /skilltree/<book>/api/build-note-status/<job_id> |
api | healthy | _server_deploy/skilltree.py |
ANY /skilltree/<book>/api/toggle-tracked |
api | healthy | _server_deploy/skilltree.py |
ANY /skilltree/<book>/api/edit |
api | healthy | _server_deploy/skilltree.py |
ANY /control/api/status |
api | healthy | _server_deploy/control.py |
ANY /control/api/config/schema |
api | healthy | _server_deploy/control.py |
ANY /control/api/ipad-config |
api | healthy | _server_deploy/control.py |
ANY /control/api/config |
api | healthy | _server_deploy/control.py |
ANY /control/api/quota-log |
api | healthy | _server_deploy/control.py |
ANY /control/api/quota-now |
api | healthy | _server_deploy/control.py |
ANY /control/api/trigger-log |
api | healthy | _server_deploy/control.py |
ANY /control/api/trigger/<action> |
api | healthy | _server_deploy/control.py |
ANY /control/api/kg-build |
api | healthy | _server_deploy/control.py |
ANY /control/api/kg-build-log |
api | healthy | _server_deploy/control.py |
ANY / |
api | healthy | _server_deploy/pdf_reader.py |
ANY /api/cache-stats |
api | healthy | _server_deploy/pdf_reader.py |
ANY /api/ping |
api | healthy | _server_deploy/pdf_reader.py |
ANY /api/book-meta |
api | healthy | _server_deploy/pdf_reader.py |
ANY /api/prefs |
api | healthy | _server_deploy/pdf_reader.py |
ANY /sw.js |
api | healthy | _server_deploy/pdf_reader.py |
ANY /api/page-image |
api | healthy | _server_deploy/pdf_reader.py |
ANY /view |
api | healthy | _server_deploy/pdf_reader.py |
ANY /file/<path:rel> |
api | healthy | _server_deploy/pdf_reader.py |
ANY /api/list-pdfs |
api | healthy | _server_deploy/pdf_reader.py |
ANY /api/preprocess-status |
api | healthy | _server_deploy/pdf_reader.py |
ANY /api/preprocess-async |
api | healthy | _server_deploy/pdf_reader.py |
ANY /api/prewarm-async |
api | healthy | _server_deploy/pdf_reader.py |
ANY /api/prewarm-status |
api | healthy | _server_deploy/pdf_reader.py |
ANY /api/compress-async |
api | healthy | _server_deploy/pdf_reader.py |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
PendingNotesSmokeTest |
software | healthy | tests/test_pending_notes.py:17 |
WebappReachableMixin |
software | healthy | tests/test_nav_links_api.py:35 |
NavLinksRouteTest |
software | healthy | tests/test_nav_links_api.py:45 |
NavJsDeploymentTest |
software | healthy | tests/test_nav_links_api.py:56 |
TaskTrackerMirrorTest |
software | healthy | tests/test_task_tracker.py:18 |
TaskTrackerStateFileTest |
software | healthy | tests/test_task_tracker.py:50 |
IsPidAliveTest |
software | healthy | tests/test_task_tracker.py:75 |
ReadSnapshotTest |
software | healthy | tests/test_task_tracker.py:96 |
ConfigSchemaTest |
software | healthy | tests/test_config_schema.py:15 |
SchemaForUITest |
software | healthy | tests/test_config_schema.py:71 |
_NullHandle |
software | healthy | scripts/register_notes.py:467 |
Handle |
software | healthy | scripts/task_tracker.py:215 |
NoteInfo |
software | healthy | scripts/review_priority.py:55 |
_NumpyEncoder |
software | healthy | scripts/mokuro_ocr_book.py:37 |
Handler |
software | healthy | scripts/cmd_server.py:162 |
AISession |
software | healthy | scripts/ai_client.py:264 |
CmdServer |
software | healthy | _client/core/cmd_server_thread.py:68 |
Handler |
software | healthy | _client/core/cmd_server_thread.py:99 |
_Handler |
software | healthy | _client/core/watcher.py:32 |
VaultWatcher |
software | healthy | _client/core/watcher.py:80 |
_AdapterSession |
software | healthy | _client/core/qa_browser.py:38 |
_AiClientShim |
software | healthy | _client/core/qa_browser.py:118 |
ThreadedHTTPServer |
software | healthy | _client/core/qa_browser.py:2778 |
Handler |
software | healthy | _client/core/qa_browser.py:2781 |
DailyScheduler |
software | healthy | _client/core/scheduler.py:28 |
FloatingWindow |
software | healthy | _client/core/floating_window.py:38 |
AnkiClient |
software | healthy | _client/core/anki.py:12 |
Handler |
software | healthy | _client/core/auth.py:55 |
MainWindow |
software | healthy | _client/core/gui.py:42 |
TrayIcon |
software | healthy | _client/core/tray.py:33 |
ApiClient |
software | healthy | _client/core/api_client.py:14 |
BackendAdapter |
software | healthy | _client/core/ai_backends.py:46 |
CliBackend |
software | healthy | _client/core/ai_backends.py:124 |
ClaudeCli |
software | healthy | _client/core/ai_backends.py:162 |
CodexCli |
software | healthy | _client/core/ai_backends.py:262 |
ClaudeApi |
software | healthy | _client/core/ai_backends.py:354 |
OpenAiApi |
software | healthy | _client/core/ai_backends.py:495 |
Ollama |
software | healthy | _client/core/ai_backends.py:604 |
OnboardingWizard |
software | healthy | _client/core/wizard.py:32 |
OrbitControls |
software | healthy | _server_deploy/static/three/OrbitControls.js:OrbitControls |
GLTFLoader |
software | healthy | _server_deploy/static/three/GLTFLoader.js:GLTFLoader |
GLTFLightsExtension |
software | healthy | _server_deploy/static/three/GLTFLoader.js:GLTFLightsExtensi… |
GLTFMaterialsUnlitExtension |
software | healthy | _server_deploy/static/three/GLTFLoader.js:GLTFMaterialsUnli… |
GLTFMaterialsEmissiveStrengthExtension |
software | healthy | _server_deploy/static/three/GLTFLoader.js:GLTFMaterialsEmis… |
GLTFMaterialsClearcoatExtension |
software | healthy | _server_deploy/static/three/GLTFLoader.js:GLTFMaterialsClea… |
GLTFMaterialsDispersionExtension |
software | healthy | _server_deploy/static/three/GLTFLoader.js:GLTFMaterialsDisp… |
GLTFMaterialsIridescenceExtension |
software | healthy | _server_deploy/static/three/GLTFLoader.js:GLTFMaterialsIrid… |
GLTFMaterialsSheenExtension |
software | healthy | _server_deploy/static/three/GLTFLoader.js:GLTFMaterialsShee… |
GLTFMaterialsTransmissionExtension |
software | healthy | _server_deploy/static/three/GLTFLoader.js:GLTFMaterialsTran… |
GLTFMaterialsVolumeExtension |
software | healthy | _server_deploy/static/three/GLTFLoader.js:GLTFMaterialsVolu… |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
dashboard |
software | healthy | dashboard |
tests |
software | healthy | tests |
scripts |
software | healthy | scripts |
kg |
software | healthy | scripts/kg |
vocab |
software | healthy | scripts/vocab |
lib |
software | healthy | scripts/lib |
index |
software | healthy | index |
webapp |
software | healthy | webapp |
templates |
software | healthy | webapp/templates |
_client |
software | healthy | _client |
launcher |
software | healthy | _client/launcher |
core |
software | healthy | _client/core |
home |
software | healthy | home |
anki |
software | healthy | anki |
records |
software | healthy | anki/records |
_server_deploy |
software | healthy | _server_deploy |
static |
software | healthy | _server_deploy/static |
pdf |
software | healthy | _server_deploy/static/pdf |
reader.src |
software | healthy | _server_deploy/static/pdf/reader.src |
three |
software | healthy | _server_deploy/static/three |
nginx |
software | healthy | _server_deploy/nginx |
templates |
software | healthy | _server_deploy/templates |
fitness |
software | healthy | _server_deploy/templates/fitness |
history |
software | healthy | _server_deploy/history |
references |
software | healthy | references |
prompts |
software | healthy | references/prompts |
launchers |
software | healthy | launchers |
ios |
software | healthy | ios |
.claude |
software | healthy | .claude |
skills |
software | healthy | .claude/skills |
history |
software | healthy | history |
| Label | Layer | Status | Path |
|---|---|---|---|
quota_log |
data | healthy | scripts/google_api_quota.py |
pages_data |
data | healthy | scripts/build_search_index.py |
meta |
data | healthy | scripts/build_search_index.py |
sent |
data | healthy | scripts/vocab/build_tanaka_index.py |
wex |
data | healthy | scripts/vocab/build_tanaka_index.py |
conversations |
data | healthy | _client/core/qa_browser.py |
youtube_subtitles |
data | healthy | _server_deploy/youtube_subtitles.py |
youtube_summaries |
data | healthy | _server_deploy/youtube_subtitles.py |
fitness_log |
data | healthy | _server_deploy/fitness.py |
fitness_video_override |
data | healthy | _server_deploy/fitness.py |
fitness_video_favorite |
data | healthy | _server_deploy/fitness.py |
fitness_exercise_override |
data | healthy | _server_deploy/fitness.py |
fitness_session_analysis |
data | healthy | _server_deploy/fitness.py |
fitness_settings |
data | healthy | _server_deploy/fitness.py |
fitness_ai_job |
data | healthy | _server_deploy/fitness.py |
fitness_coach_chat |
data | healthy | _server_deploy/fitness.py |
users |
data | healthy | _server_deploy/app.py |
invites |
data | healthy | _server_deploy/app.py |
api_tokens |
data | healthy | _server_deploy/app.py |
| Label | Layer | Status | Path |
|---|---|---|---|
127.0.0.1 |
network | healthy | CLAUDE.md |
100.110.193.39 |
network | healthy | CLAUDE.md |
100.101.15.57 |
network | healthy | CLAUDE.md |
31.220.31.30 |
network | healthy | scripts/config.py |
100.99.9.124 |
network | healthy | scripts/deploy_reader.sh |
1.27.2.3 |
network | healthy | _server_deploy/requirements.txt |
| Label | Layer | Status | Path |
|---|---|---|---|
auth::_client/core/auth.py |
security | healthy | _client/core/auth.py |
auth::_client/core/gui.py |
security | healthy | _client/core/gui.py |
auth::CLAUDE.md |
security | healthy | CLAUDE.md |
auth::_server_deploy/app.py |
security | healthy | _server_deploy/app.py |
auth::scripts/lib/claude_quota.py |
security | healthy | scripts/lib/claude_quota.py |
| Label | Layer | Status | Path |
|---|---|---|---|
port:9090 |
network | healthy | scripts/cmd_server.py |
port:5000 |
network | healthy | webapp/app.py |
port:5001 |
network | healthy | _client/core/qa_browser.py |
port:9091 |
network | healthy | _client/core/gui.py |
| Label | Layer | Status | Path |
|---|---|---|---|
bwicarus__obsidian-claudecode-skills |
software | healthy | /data/fable5_failed_archive/bwicarus__obsidian-claudecode-s… |
| Label | Layer | Status | Path |
|---|---|---|---|
sqlite |
data | healthy | CLAUDE.md |
| Label | Layer | Status | Path |
|---|---|---|---|
nginx |
network | healthy | CLAUDE.md |
| Label | Layer | Status | Path |
|---|---|---|---|
vps::gcp |
hardware | healthy | CLAUDE.md |
| Label | Layer | Status | Path |
|---|---|---|---|
gpu (detected) |
hardware | healthy | _server_deploy/static/three/GLTFLoader.js |
This page is publicly accessible at:
https://repobility.com/scan/64c62b53-4847-4b2e-b956-095ab8ab4ad6/
To check status programmatically (no auth required):
curl -s https://repobility.com/api/v1/public/scan/64c62b53-4847-4b2e-b956-095ab8ab4ad6/
Important — please don't re-submit the same URL repeatedly. The submission endpoint is idempotent: re-submitting the same git URL returns this same scan_token, not a new one. To re-scan this repo, sign up free and use the dashboard.