Scan timing: clone 2.65s · analysis 30.19s · 5.0 MB · GitHub API rate-limit (preflight)
https://github.com/AMAP-ML/SkillClaw
· scanned 2026-06-03 02:41 UTC (6 days, 21 hours ago)
· 10 languages
880 raw signals (141 security + 739 graph) 52nd percentile · Python · medium (20-100K LoC) System graph score 86 (lower by 22)
Last scanned 6 days, 21 hours ago · v8 · 162 actionable findings from 2 signal sources. 75 repeated signals grouped for readability. Security checks, system graph analysis, and verified AI-agent feedback are merged into one review queue.
| Component | Sub-score | Weight | Contribution |
|---|---|---|---|
structure_score |
75.0 | 0.15 | 11.25 |
security_score |
32.3 | 0.25 | 8.07 |
testing_score |
90.0 | 0.20 | 18.00 |
documentation_score |
85.0 | 0.15 | 12.75 |
practices_score |
70.0 | 0.15 | 10.50 |
code_quality |
37.6 | 0.10 | 3.76 |
| Overall | 1.00 | 64.3 |
All 1291 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_notify_proxy_reload_posts_callback_with_auth |
software | healthy | tests/test_evolve_proxy_reload.py:12 |
__init__ |
software | healthy | tests/test_evolve_proxy_reload.py:99 |
__aenter__ |
software | healthy | tests/test_evolve_proxy_reload.py:66 |
__aexit__ |
software | healthy | tests/test_evolve_proxy_reload.py:69 |
post |
software | healthy | tests/test_evolve_proxy_reload.py:72 |
test_notify_proxy_reload_retries_on_http_error |
software | healthy | tests/test_evolve_proxy_reload.py:49 |
raise_for_status |
software | healthy | tests/test_evolve_proxy_reload.py:59 |
fake_sleep |
software | healthy | tests/test_evolve_proxy_reload.py:76 |
test_notify_proxy_reload_skips_non_callback_modes |
software | healthy | tests/test_evolve_proxy_reload.py:89 |
_sha256_text |
software | healthy | tests/test_dashboard.py:19 |
_skill_id |
software | healthy | tests/test_dashboard.py:23 |
_skill_doc |
software | healthy | tests/test_dashboard.py:27 |
_history_entry |
software | healthy | tests/test_dashboard.py:43 |
_bundle_record |
software | healthy | tests/test_dashboard.py:64 |
_write_storage_bundle |
software | healthy | tests/test_dashboard.py:73 |
_transcript_record |
software | healthy | tests/test_dashboard.py:84 |
__init__ |
software | healthy | tests/test_dashboard.py:102 |
cleanup |
software | healthy | tests/test_dashboard.py:134 |
_write_json |
software | healthy | tests/test_dashboard.py:137 |
_build_local_docs |
software | healthy | tests/test_dashboard.py:141 |
_build_shared_docs |
software | healthy | tests/test_dashboard.py:193 |
_create_local_skills |
software | healthy | tests/test_dashboard.py:263 |
_create_shared_snapshot |
software | healthy | tests/test_dashboard.py:309 |
_create_local_state |
software | healthy | tests/test_dashboard.py:1040 |
_create_local_records |
software | healthy | tests/test_dashboard.py:1173 |
setUp |
software | healthy | tests/test_dashboard.py:1367 |
tearDown |
software | healthy | tests/test_dashboard.py:1370 |
test_snapshot_and_store_queries |
software | healthy | tests/test_dashboard.py:1254 |
test_local_sessions_are_visible_without_sharing |
software | healthy | tests/test_dashboard.py:1325 |
test_export_local_sessions_to_shared_storage |
software | healthy | tests/test_dashboard.py:1343 |
test_export_selected_local_sessions_to_shared_storage |
software | healthy | tests/test_dashboard.py:1353 |
test_dashboard_api_and_ui |
software | healthy | tests/test_dashboard.py:1373 |
test_codex_responses_message_items_convert_developer_to_sys… |
software | healthy | tests/test_responses_codex.py:4 |
test_codex_responses_drops_non_chat_completion_tools_but_ke… |
software | healthy | tests/test_responses_codex.py:31 |
_collect_response_stream |
software | healthy | tests/test_responses_codex.py:57 |
test_codex_responses_stream_includes_response_completed_and… |
software | healthy | tests/test_responses_codex.py:67 |
test_codex_responses_multimodal_image_input_converts_to_ope… |
software | healthy | tests/test_responses_codex.py:96 |
test_codex_responses_skill_function_call_and_output_convert… |
software | healthy | tests/test_responses_codex.py:124 |
test_openai_chat_tool_call_response_converts_to_codex_respo… |
software | healthy | tests/test_responses_codex.py:170 |
test_codex_responses_chat_bridge_converts_function_tool_cho… |
software | healthy | tests/test_responses_codex.py:207 |
test_codex_responses_chat_bridge_rejects_native_tool_choice |
software | healthy | tests/test_responses_codex.py:220 |
_write_skill |
software | healthy | tests/test_nacos_skill_hub.py:18 |
_json |
software | healthy | tests/test_nacos_skill_hub.py:24 |
test_nacos_push_uploads_then_submits_without_publish |
software | healthy | tests/test_nacos_skill_hub.py:28 |
handler |
software | healthy | tests/test_nacos_skill_hub.py:182 |
test_nacos_publish_is_explicit_after_review |
software | healthy | tests/test_nacos_skill_hub.py:62 |
test_nacos_pull_downloads_latest_zip |
software | healthy | tests/test_nacos_skill_hub.py:86 |
test_nacos_pull_downloads_largest_published_version_without… |
software | healthy | tests/test_nacos_skill_hub.py:130 |
test_nacos_pull_skips_unpublished_skill_and_continues |
software | healthy | tests/test_nacos_skill_hub.py:179 |
test_next_version_defaults_to_semver_for_new_skill |
software | healthy | tests/test_nacos_versioning.py:6 |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
README.md |
software | healthy | README.md |
client_env.example.sh |
software | healthy | client_env.example.sh |
.pre-commit-config.yaml |
software | healthy | .pre-commit-config.yaml |
pyproject.toml |
software | healthy | pyproject.toml |
requirements.txt |
software | healthy | requirements.txt |
test_evolve_proxy_reload.py |
software | healthy | tests/test_evolve_proxy_reload.py |
test_dashboard.py |
software | healthy | tests/test_dashboard.py |
test_responses_codex.py |
software | healthy | tests/test_responses_codex.py |
test_nacos_skill_hub.py |
software | healthy | tests/test_nacos_skill_hub.py |
test_nacos_versioning.py |
software | healthy | tests/test_nacos_versioning.py |
test_setup_wizard.py |
software | healthy | tests/test_setup_wizard.py |
test_responses_native.py |
software | healthy | tests/test_responses_native.py |
test_skill_backend_config.py |
software | healthy | tests/test_skill_backend_config.py |
test_codex_profile_integration.py |
software | healthy | tests/test_codex_profile_integration.py |
test_skill_bundle_support.py |
software | healthy | tests/test_skill_bundle_support.py |
test_multiuser_nacos_pull.py |
software | healthy | tests/test_multiuser_nacos_pull.py |
test_summarizer_skill_references.py |
software | healthy | tests/test_summarizer_skill_references.py |
test_agent_evolver_self_validation.py |
software | healthy | tests/test_agent_evolver_self_validation.py |
test_session_upload_trigger.py |
software | healthy | tests/test_session_upload_trigger.py |
test_anthropic_messages_api.py |
software | healthy | tests/test_anthropic_messages_api.py |
test_anthropic_messages.py |
software | healthy | tests/test_anthropic_messages.py |
test_nacos_working_version_push.py |
software | healthy | tests/test_nacos_working_version_push.py |
validation_store.py |
software | healthy | skillclaw/validation_store.py |
dashboard_store.py |
software | healthy | skillclaw/dashboard_store.py |
dashboard_ingest.py |
software | healthy | skillclaw/dashboard_ingest.py |
object_store.py |
software | healthy | skillclaw/object_store.py |
__init__.py |
software | healthy | skillclaw/__init__.py |
api_server.py |
software | healthy | skillclaw/api_server.py |
launcher.py |
software | healthy | skillclaw/launcher.py |
nacos_versions.py |
software | healthy | skillclaw/nacos_versions.py |
config.py |
software | healthy | skillclaw/config.py |
prm_scorer.py |
software | healthy | skillclaw/prm_scorer.py |
runtime_state.py |
software | healthy | skillclaw/runtime_state.py |
skill_bundle.py |
software | healthy | skillclaw/skill_bundle.py |
validation_worker.py |
software | healthy | skillclaw/validation_worker.py |
bedrock_client.py |
software | healthy | skillclaw/bedrock_client.py |
cli.py |
software | healthy | skillclaw/cli.py |
dashboard_server.py |
software | healthy | skillclaw/dashboard_server.py |
claw_adapter.py |
software | healthy | skillclaw/claw_adapter.py |
nacos_skill_hub.py |
software | healthy | skillclaw/nacos_skill_hub.py |
config_store.py |
software | healthy | skillclaw/config_store.py |
skill_manager.py |
software | healthy | skillclaw/skill_manager.py |
skill_hub.py |
software | healthy | skillclaw/skill_hub.py |
utils.py |
software | healthy | skillclaw/utils.py |
setup_wizard.py |
software | healthy | skillclaw/setup_wizard.py |
__main__.py |
software | warning | skillclaw/__main__.py |
log_color.py |
software | healthy | skillclaw/log_color.py |
styles.css |
software | healthy | skillclaw/dashboard_assets/styles.css |
index.html |
software | healthy | skillclaw/dashboard_assets/index.html |
app.js |
software | healthy | skillclaw/dashboard_assets/app.js |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
FakeAsyncClient |
software | healthy | tests/test_evolve_proxy_reload.py:98 |
FakeResponse |
software | healthy | tests/test_evolve_proxy_reload.py:58 |
DashboardFixture |
software | healthy | tests/test_dashboard.py:101 |
DashboardSnapshotTests |
software | healthy | tests/test_dashboard.py:1247 |
DashboardApiTests |
software | healthy | tests/test_dashboard.py:1366 |
FakeConfigStore |
software | healthy | tests/test_setup_wizard.py:8 |
FakeResponse |
software | healthy | tests/test_responses_native.py:15 |
FakeAsyncClient |
software | healthy | tests/test_responses_native.py:338 |
FakeSkillManager |
software | healthy | tests/test_responses_native.py:130 |
FakeStreamResponse |
software | healthy | tests/test_responses_native.py:319 |
FakeStreamContext |
software | healthy | tests/test_responses_native.py:331 |
InlineConfigStore |
software | healthy | tests/test_skill_backend_config.py:118 |
FakeSkillManager |
software | healthy | tests/test_codex_profile_integration.py:11 |
TestMultiUserNacosPull |
software | healthy | tests/test_multiuser_nacos_pull.py:77 |
TestPollLoopImmediateFirstPull |
software | healthy | tests/test_multiuser_nacos_pull.py:207 |
DummyCoro |
software | healthy | tests/test_session_upload_trigger.py:150 |
FakeTask |
software | healthy | tests/test_session_upload_trigger.py:213 |
FakeSkillManager |
software | healthy | tests/test_session_upload_trigger.py:255 |
FakeNacosClient |
software | healthy | tests/test_nacos_working_version_push.py:41 |
ValidationStore |
software | healthy | skillclaw/validation_store.py:28 |
DashboardStore |
software | healthy | skillclaw/dashboard_store.py:26 |
ObjectInfo |
software | healthy | skillclaw/object_store.py:19 |
_BytesObject |
software | healthy | skillclaw/object_store.py:26 |
LocalObjectStore |
software | healthy | skillclaw/object_store.py:75 |
S3ObjectStore |
software | healthy | skillclaw/object_store.py:113 |
OSSObjectStore |
software | healthy | skillclaw/object_store.py:172 |
SkillClawAPIServer |
software | healthy | skillclaw/api_server.py:1410 |
SkillClawLauncher |
software | healthy | skillclaw/launcher.py:26 |
SkillClawConfig |
software | healthy | skillclaw/config.py:10 |
PRMScorer |
software | healthy | skillclaw/prm_scorer.py:116 |
SkillBundleError |
software | healthy | skillclaw/skill_bundle.py:17 |
IdleStateProvider |
software | healthy | skillclaw/validation_worker.py:28 |
ValidationRunSummary |
software | healthy | skillclaw/validation_worker.py:35 |
ValidationWorker |
software | healthy | skillclaw/validation_worker.py:42 |
_Message |
software | healthy | skillclaw/bedrock_client.py:41 |
_Choice |
software | healthy | skillclaw/bedrock_client.py:47 |
_Usage |
software | healthy | skillclaw/bedrock_client.py:54 |
_ChatCompletion |
software | healthy | skillclaw/bedrock_client.py:61 |
_Completions |
software | healthy | skillclaw/bedrock_client.py:72 |
_Chat |
software | healthy | skillclaw/bedrock_client.py:145 |
BedrockChatClient |
software | healthy | skillclaw/bedrock_client.py:157 |
DashboardService |
software | healthy | skillclaw/dashboard_server.py:119 |
NacosSkillClient |
software | healthy | skillclaw/nacos_skill_hub.py:38 |
NacosSkillHub |
software | healthy | skillclaw/nacos_skill_hub.py:308 |
ConfigStore |
software | healthy | skillclaw/config_store.py:250 |
SkillManager |
software | healthy | skillclaw/skill_manager.py:158 |
SkillHub |
software | healthy | skillclaw/skill_hub.py:62 |
SetupWizard |
software | healthy | skillclaw/setup_wizard.py:105 |
SkillClawColorFormatter |
software | healthy | skillclaw/log_color.py:117 |
EvolveServer |
software | healthy | evolve_server/engines/workflow.py:52 |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
GET /healthz |
api | healthy | skillclaw/api_server.py |
POST /internal/reload-skills |
api | healthy | skillclaw/api_server.py |
GET /v1/models |
api | healthy | skillclaw/api_server.py |
POST /v1/chat/completions |
api | healthy | skillclaw/api_server.py |
POST /v1/responses |
api | healthy | skillclaw/api_server.py |
GET /v1/responses/{response_id} |
api | healthy | skillclaw/api_server.py |
DELETE /v1/responses/{response_id} |
api | healthy | skillclaw/api_server.py |
POST /v1/messages/count_tokens |
api | healthy | skillclaw/api_server.py |
POST /v1/messages |
api | healthy | skillclaw/api_server.py |
GET / |
api | healthy | skillclaw/dashboard_server.py |
GET /api/v1/health |
api | healthy | skillclaw/dashboard_server.py |
GET /api/v1/overview |
api | healthy | skillclaw/dashboard_server.py |
GET /api/v1/skills |
api | healthy | skillclaw/dashboard_server.py |
GET /api/v1/skills/{skill_id} |
api | healthy | skillclaw/dashboard_server.py |
POST /api/v1/skills/{skill_id}/activate |
api | healthy | skillclaw/dashboard_server.py |
GET /api/v1/sessions |
api | healthy | skillclaw/dashboard_server.py |
GET /api/v1/sessions/{session_id} |
api | healthy | skillclaw/dashboard_server.py |
GET /api/v1/validation/jobs |
api | healthy | skillclaw/dashboard_server.py |
GET /api/v1/evolve/status |
api | healthy | skillclaw/dashboard_server.py |
POST /api/v1/sync |
api | healthy | skillclaw/dashboard_server.py |
POST /api/v1/ops/pull |
api | healthy | skillclaw/dashboard_server.py |
POST /api/v1/ops/push |
api | healthy | skillclaw/dashboard_server.py |
POST /api/v1/ops/sync |
api | healthy | skillclaw/dashboard_server.py |
POST /api/v1/ops/export-sessions |
api | healthy | skillclaw/dashboard_server.py |
POST /api/v1/ops/trigger-evolve |
api | healthy | skillclaw/dashboard_server.py |
POST /api/v1/validation/jobs/{job_id}/review |
api | healthy | skillclaw/dashboard_server.py |
POST /trigger |
api | healthy | evolve_server/engines/workflow.py |
GET /status |
api | healthy | evolve_server/engines/workflow.py |
GET /health |
api | healthy | evolve_server/engines/workflow.py |
| Label | Layer | Status | Path |
|---|---|---|---|
tests |
software | healthy | tests |
skillclaw |
software | healthy | skillclaw |
dashboard_assets |
software | healthy | skillclaw/dashboard_assets |
protocols |
software | healthy | skillclaw/protocols |
evolve_server |
software | healthy | evolve_server |
engines |
software | healthy | evolve_server/engines |
pipeline |
software | healthy | evolve_server/pipeline |
core |
software | healthy | evolve_server/core |
storage |
software | healthy | evolve_server/storage |
scripts |
software | healthy | scripts |
assets |
software | healthy | assets |
.github |
software | healthy | .github |
workflows |
software | healthy | .github/workflows |
| Label | Layer | Status | Path |
|---|---|---|---|
meta |
data | healthy | skillclaw/dashboard_store.py |
skills |
data | healthy | skillclaw/dashboard_store.py |
skill_versions |
data | healthy | skillclaw/dashboard_store.py |
sessions |
data | healthy | skillclaw/dashboard_store.py |
session_skill_links |
data | healthy | skillclaw/dashboard_store.py |
validation_jobs |
data | healthy | skillclaw/dashboard_store.py |
| Label | Layer | Status | Path |
|---|---|---|---|
vps::aws |
hardware | healthy | skillclaw/object_store.py |
vps::azure |
hardware | healthy | skillclaw/api_server.py |
| Label | Layer | Status | Path |
|---|---|---|---|
repobility-clone-_r555kkh |
software | healthy | /tmp/repobility-clone-_r555kkh |
| Label | Layer | Status | Path |
|---|---|---|---|
sqlite |
data | healthy | skillclaw/dashboard_store.py |
| Label | Layer | Status | Path |
|---|---|---|---|
127.0.0.1 |
network | healthy | tests/test_codex_profile_integration.py |
| Label | Layer | Status | Path |
|---|---|---|---|
gha::lint |
cicd | healthy | .github/workflows/lint.yml |
| Label | Layer | Status | Path |
|---|---|---|---|
lint |
cicd | healthy | .github/workflows/lint.yml |
This page is publicly accessible at:
https://repobility.com/scan/6305a5e6-dcd4-4ac8-a363-2cfcd00740d3/
To check status programmatically (no auth required):
curl -s https://repobility.com/api/v1/public/scan/6305a5e6-dcd4-4ac8-a363-2cfcd00740d3/
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.