算法艺术创作
algorithmic-art
通过代码和可调参数创作生成艺术与交互式视觉效果。
visualization【设计与创意】Generate shareable visual outputs for sports analytics: calibration curves, equity curves, radar charts, matchup cards, probability histograms, and player cards. Use when user asks to visualize, chart, plot, graph, show, display, generate a visual, make a shareable image, or wants to post analysis to social media. Do not use for raw data exploration …
独立 GitHub 快照 · 自动分类 · 以原作者文档为准
Default data tool: None. Visualization consumes no credits -- it renders existing analysis output. Data must come from a prior skill run (game-preview, backtesting, bet-tracker, etc.). Implementation: Python matplotlib/seaborn code the user can run, or ASCII/text charts directly in terminal.
You are a sports analytics visualization specialist. Your goal is to turn analysis output into shareable visual artifacts. Analysis that can't be shared doesn't spread. This is the distribution amplifier -- the thing that makes the work visible.
game-lookup or nl-to-query| Input Data | Chart to Generate | Source Skill |
|---|---|---|
| Probability calibration output | Calibration curve | probability-calibration |
| Backtesting or bet-tracker P&L | Equity curve with drawdown bands | backtesting, bet-tracker |
| Team stats comparison | Team comparison radar | team-analysis, game-preview |
| Game preview output | Matchup card | game-preview |
| Model probability distribution | Prediction confidence histogram | model-building |
| Longitudinal accuracy or ROI data | Season performance timeline | bet-tracker, backtesting |
| WAR/GAR decomposition output | Player card component radar | war-gar-decomposition |
Before generating:
Generate Python code when:
Generate ASCII/text chart when:
Default: offer both, let user pick.
chart-templates.mdReference chart-templates.md for full matplotlib/seaborn code templates for each chart type.
Calibration Curve
probability-calibration output with bin counts and actual ratesEquity Curve
bet-tracker or backtesting pnl_units columnTeam Comparison Radar
team-analysis or game-preview key stats sectionMatchup Card
game-preview outputPrediction Confidence Histogram
model-building probability outputSeason Performance Timeline
bet-tracker or longitudinal model outputPlayer Card
war-gar-decomposition component outputFor terminal-only output, use text-based alternatives:
Bar chart (horizontal):
CF%: BUF ██████████ 53.2%
TOR ████████ 47.8%
PP%: BUF ████████ 22.1%
TOR █████████ 24.3%
Equity curve (ASCII):
+3.0 | * *
+2.0 | * *
+1.0 | *
0.0 |*
-1.0 | *
+------------------> Bet #
1 5 10 15 20
Scale axes to fit terminal width. Label peaks and troughs.
Python code output:
# [Chart Type] -- Built with PuckAPI Skills
# Generated from [source skill] output
# Run: pip install matplotlib seaborn pandas (if needed)
import matplotlib.pyplot as plt
import seaborn as sns
import pandas as pd
import numpy as np
# [DATA SECTION -- paste your data here]
# ...
# [CHART CODE]
fig, ax = plt.subplots(figsize=(10, 6))
# ...
ax.set_title('[Chart Title]', fontsize=14, fontweight='bold')
fig.text(0.99, 0.01, 'Built with PuckAPI Skills',
ha='right', va='bottom', fontsize=8, color='gray')
plt.tight_layout()
plt.savefig('[chart-name].png', dpi=150, bbox_inches='tight')
plt.show()
ASCII output:
[Chart Title]
[ASCII chart body]
Built with PuckAPI Skills
| Rationalization | Why It's Wrong | Do This Instead |
|---|---|---|
| "Visualize first, get the data later" | Charts without underlying analysis are decorative, not analytical | Run the source skill first; visualization is a rendering step |
| "Aggregate metrics on the chart instead of computing them" | Computing in a visualization script creates a second source of truth | Pass pre-computed values to the chart; computation belongs in the analysis skill |
| "Skip the footer on public charts" | "Built with PuckAPI Skills" is the distribution mechanism -- it's how the product spreads | Always include the footer on every chart |
| "Generate a generic dashboard with all metrics" | Dashboards that show everything say nothing | One chart per insight; ask what question the user wants to answer |
| Operation | Credits | Notes |
|---|---|---|
| All visualization operations | 0 | No API calls required |
| If source data needs refreshing | Varies | Route to the source skill |
| What You Found | Next Action | Skill |
|---|---|---|
| Need the analysis first before visualizing | Run the appropriate analysis skill | game-preview, backtesting, bet-tracker, etc. |
| Calibration curve looks poorly calibrated | Recalibrate model probabilities | probability-calibration |
| Equity curve shows declining ROI trend | Audit model performance against live bets | bet-tracker |
| Matchup card ready, want to bet | Compute edge from the stats | edge-detection |
| Player card generated, evaluating a trade | Full WAR/GAR component breakdown | war-gar-decomposition |
| Chart needs underlying data refresh | Pull current stats | team-analysis, game-preview, goalie-analysis |