https://github.com/TwinAnalytics/player-score
· scanned 2026-06-16 00:43 UTC (2 months, 1 week ago)
48 raw signals (0 security + 48 graph)
Last scanned 2 months, 1 week ago · v1 · 42 actionable findings from 1 signal source. 6 repeated signals grouped for readability. Security checks, system graph analysis, and verified AI-agent feedback are merged into one review queue.
All 355 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 |
|---|---|---|---|
set_dark_bg |
software | healthy | marketing/generate_team_mv_visuals.py:77 |
add_footnote |
software | healthy | marketing/generate_team_mv_visuals.py:89 |
dark_axes |
software | healthy | marketing/generate_league_score_visuals.py:91 |
footnote |
software | healthy | marketing/generate_league_score_visuals.py:103 |
new_fig |
software | healthy | marketing/generate_intensity_carousel.py:30 |
add_logo_bar |
software | healthy | marketing/generate_intensity_carousel.py:38 |
add_top_accent |
software | healthy | marketing/generate_intensity_carousel.py:46 |
save |
software | healthy | marketing/generate_intensity_carousel.py:49 |
slide1 |
software | healthy | marketing/generate_intensity_carousel.py:57 |
slide2 |
software | healthy | marketing/generate_intensity_carousel.py:90 |
slide3 |
software | healthy | marketing/generate_intensity_carousel.py:122 |
slide4 |
software | healthy | marketing/generate_intensity_carousel.py:169 |
slide5 |
software | healthy | marketing/generate_intensity_carousel.py:245 |
slide6 |
software | healthy | marketing/generate_intensity_carousel.py:291 |
season_from_path |
software | healthy | streamlit/generate_pizza_csv.py:48 |
process_file |
software | healthy | streamlit/generate_pizza_csv.py:53 |
main |
software | healthy | streamlit/generate_pizza_csv.py:111 |
get_data_version |
software | healthy | streamlit/app.py:162 |
_get_coordinates |
software | healthy | streamlit/app.py:167 |
_get_indices_between |
software | healthy | streamlit/app.py:178 |
__init__ |
software | healthy | streamlit/app.py:197 |
plot_radar |
software | healthy | streamlit/app.py:225 |
__plot_titles |
software | healthy | streamlit/app.py:334 |
__plot_circles |
software | healthy | streamlit/app.py:401 |
__add_labels |
software | healthy | streamlit/app.py:459 |
__add_ranges |
software | healthy | streamlit/app.py:508 |
__get_vertices |
software | healthy | streamlit/app.py:534 |
__repr__ |
software | healthy | streamlit/app.py:570 |
load_data |
software | healthy | streamlit/app.py:590 |
get_role_label |
software | healthy | streamlit/app.py:636 |
mean_or_na |
software | dead | streamlit/app.py:648 |
assess_diff |
software | dead | streamlit/app.py:654 |
get_primary_score_and_band |
software | healthy | streamlit/app.py:667 |
band_from_score |
software | dead | streamlit/app.py:686 |
score_trend_chart |
software | dead | streamlit/app.py:704 |
render_pizza_chart |
software | healthy | streamlit/app.py:742 |
resolve_metric_column |
software | healthy | streamlit/app.py:982 |
render_career_pizza_chart |
software | healthy | streamlit/app.py:927 |
render_role_scatter |
software | healthy | streamlit/app.py:1151 |
resolve_col |
software | healthy | streamlit/app.py:1165 |
compute_domain |
software | healthy | streamlit/app.py:1239 |
render_toplist_bar |
software | healthy | streamlit/app.py:1341 |
_bar_hover |
software | healthy | streamlit/app.py:1405 |
render_score_age_beeswarm |
software | healthy | streamlit/app.py:1484 |
_hover |
software | healthy | streamlit/app.py:1532 |
render_band_histogram |
software | healthy | streamlit/app.py:1626 |
fmt_market_value |
software | healthy | streamlit/app.py:1772 |
render_fifa_card |
software | healthy | streamlit/app.py:1779 |
fmt_int |
software | healthy | streamlit/app.py:3265 |
pick_value |
software | healthy | streamlit/app.py:1825 |
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 |
CLAUDE.md |
software | healthy | CLAUDE.md |
TICKETS.md |
software | healthy | TICKETS.md |
AGENTS.md |
software | healthy | AGENTS.md |
CONCEPT_V2.md |
software | healthy | CONCEPT_V2.md |
devcontainer.json |
software | healthy | .devcontainer/devcontainer.json |
index.html |
software | healthy | docs/index.html |
hidden_gems_post.md |
software | healthy | marketing/hidden_gems_post.md |
playerScore_linkedin_serie.md |
software | healthy | marketing/playerScore_linkedin_serie.md |
generate_team_mv_visuals.py |
software | healthy | marketing/generate_team_mv_visuals.py |
generate_league_score_visuals.py |
software | healthy | marketing/generate_league_score_visuals.py |
generate_intensity_carousel.py |
software | healthy | marketing/generate_intensity_carousel.py |
u23_hidden_gems_post.md |
software | healthy | marketing/u23_hidden_gems_post.md |
generate_pizza_csv.py |
software | healthy | streamlit/generate_pizza_csv.py |
run_pipeline.py |
software | healthy | streamlit/run_pipeline.py |
app.py |
software | healthy | streamlit/app.py |
run_multi_season_pipeline.py |
software | healthy | streamlit/run_multi_season_pipeline.py |
generate_roadmap_pdf.py |
software | healthy | streamlit/generate_roadmap_pdf.py |
run_weekly_sofa.py |
software | healthy | streamlit/run_weekly_sofa.py |
download_club_crests.py |
software | healthy | streamlit/download_club_crests.py |
requirements.txt |
software | healthy | streamlit/requirements.txt |
generate_presentation.py |
software | healthy | streamlit/generate_presentation.py |
processing_sofa.py |
software | healthy | streamlit/src/processing_sofa.py |
match_transfermarkt.py |
software | healthy | streamlit/src/match_transfermarkt.py |
export_heatmaps_frontend.py |
software | healthy | streamlit/src/export_heatmaps_frontend.py |
processing.py |
software | healthy | streamlit/src/processing.py |
export_gk_shots_frontend.py |
software | healthy | streamlit/src/export_gk_shots_frontend.py |
similar_players.py |
software | healthy | streamlit/src/similar_players.py |
__init__.py |
software | healthy | streamlit/src/__init__.py |
scraping_sofascore_heatmaps.py |
software | healthy | streamlit/src/scraping_sofascore_heatmaps.py |
multi_season.py |
software | healthy | streamlit/src/multi_season.py |
squad.py |
software | healthy | streamlit/src/squad.py |
scraping_fbref_big5_table.py |
software | healthy | streamlit/src/scraping_fbref_big5_table.py |
export_sofascore_frontend.py |
software | healthy | streamlit/src/export_sofascore_frontend.py |
scoring_sofa.py |
software | healthy | streamlit/src/scoring_sofa.py |
export_tableau_hertha.py |
software | healthy | streamlit/src/export_tableau_hertha.py |
export_shots_frontend.py |
software | healthy | streamlit/src/export_shots_frontend.py |
club_crests.py |
software | healthy | streamlit/src/club_crests.py |
scraping_sofascore.py |
software | healthy | streamlit/src/scraping_sofascore.py |
build_dob_fallback.py |
software | healthy | streamlit/src/build_dob_fallback.py |
pipeline_sofa.py |
software | healthy | streamlit/src/pipeline_sofa.py |
scraping_transfermarkt_values.py |
software | healthy | streamlit/src/scraping_transfermarkt_values.py |
sofa_benchmarks.json |
software | healthy | streamlit/src/sofa_benchmarks.json |
match_sofascore.py |
software | healthy | streamlit/src/match_sofascore.py |
scoring.py |
software | healthy | streamlit/src/scoring.py |
scraping_fbref_squad_stats.py |
software | healthy | streamlit/src/scraping_fbref_squad_stats.py |
scraping_fbref_player_stats.py |
software | healthy | streamlit/src/scraping_fbref_player_stats.py |
fbref_browser.py |
software | healthy | streamlit/src/fbref_browser.py |
scraping_sofascore_profiles.py |
software | healthy | streamlit/src/scraping_sofascore_profiles.py |
pipeline.py |
software | healthy | streamlit/src/pipeline.py |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
.devcontainer |
software | healthy | .devcontainer |
docs |
software | healthy | docs |
marketing |
software | healthy | marketing |
streamlit |
software | healthy | streamlit |
src |
software | healthy | streamlit/src |
charts |
software | healthy | streamlit/src/charts |
.claude |
software | healthy | .claude |
football_api_explorer |
software | healthy | football_api_explorer |
.github |
software | healthy | .github |
workflows |
software | healthy | .github/workflows |
| Label | Layer | Status | Path |
|---|---|---|---|
Radar |
software | healthy | streamlit/app.py:192 |
RoadmapPDF |
software | healthy | streamlit/generate_roadmap_pdf.py:20 |
SofascoreClient |
software | healthy | streamlit/src/scraping_sofascore.py:115 |
| Label | Layer | Status | Path |
|---|---|---|---|
repobility-clone-dna1v2r6 |
software | healthy | /tmp/repobility-clone-dna1v2r6 |
| Label | Layer | Status | Path |
|---|---|---|---|
1.7.4.5 |
network | healthy | streamlit/requirements.txt |
| Label | Layer | Status | Path |
|---|---|---|---|
port:06 |
network | healthy | .github/workflows/playerscore-weekly-current-season.yml |
| Label | Layer | Status | Path |
|---|---|---|---|
generic_api_key::football_api_explorer/explore.py |
security | healthy | football_api_explorer/explore.py |
| Label | Layer | Status | Path |
|---|---|---|---|
gha::playerscore-weekly-current-season |
cicd | healthy | .github/workflows/playerscore-weekly-current-season.yml |
| Label | Layer | Status | Path |
|---|---|---|---|
run-pipeline |
cicd | healthy | .github/workflows/playerscore-weekly-current-season.yml |
| Label | Layer | Status | Path |
|---|---|---|---|
WEB_REPO_TOKEN |
cicd | healthy | — |
This page is publicly accessible at:
https://repobility.com/scan/234f27de-ae1f-4d58-9933-c8961c5e8cef/
To check status programmatically (no auth required):
curl -s https://repobility.com/api/v1/public/scan/234f27de-ae1f-4d58-9933-c8961c5e8cef/
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.