New: Earn 20% as an AgentAlley affiliate. Share your link and earn on every sale you refer. Join now New: Earn 20% as an affiliate. Join now

Advanced Scrum Master skill for data-driven agile team

Scrum Master Expert

by alirezarezvani · MIT license · ★ 26,349 on GitHub · updated Aug 30

Scrum Master Expert cover

Advanced Scrum Master skill for data-driven agile team analysis and coaching. Use when the user asks about sprint planning, velocity tracking, retrospectives, standup facilitation, backlog grooming, story points, burndown charts,…

---
name: "scrum-master"
description: "Advanced Scrum Master skill for data-driven agile team analysis and coaching. Use when the user asks about sprint planning, velocity tracking, retrospectives, standup facilitation, backlog grooming, story points, burndown charts, blocker resolution, or agile team health. Runs Python scripts to analyse sprint JSON exports from Jira or similar tools: velocity_analyzer.py for Monte Carlo sprint forecasting, sprint_health_scorer.py for multi-dimension health scoring, and retrospective_analyzer.py for action-item and theme tracking. Produces confidence-interval forecasts, health grade reports, and improvement-velocity trends for high-performing Scrum teams."
license: MIT
metadata:
  version: 2.0.0
  author: Alireza Rezvani
  category: project-management
  domain: agile-development
  updated: 2026-02-15
  python-tools: velocity_analyzer.py, sprint_health_scorer.py, retrospective_analyzer.py
  tech-stack: scrum, agile-coaching, team-dynamics, data-analysis
---

# Scrum Master Expert

Data-driven Scrum Master skill combining sprint analytics, probabilistic forecasting, and team development coaching. The unique value is in the three Python analysis scripts and their workflows — refer to `references/` and `assets/` for deeper framework detail.

Overview

Data-driven Scrum Master skill combining sprint analytics, probabilistic forecasting, and team development coaching. The unique value is in the three Python analysis scripts and their workflows — refer to references/ and assets/ for deeper framework detail.

Manual install (npx, ZIP)
Claude Codenpx skills add alirezarezvani/claude-skills --skill scrum-master -g -a claude-code
Claude Code (manual)mkdir -p ~/.claude/skills && curl -sL https://codeload.github.com/alirezarezvani/claude-skills/tar.gz/19392f7a0826 \ | tar -xz -C ~/.claude/skills --strip-components=3 claude-skills-19392f7a0826/project-management/skills/scrum-master
Windows (PowerShell)New-Item -ItemType Directory -Force "$HOME\.claude\skills" | Out-Null; Invoke-WebRequest "https://m.agentalley.io/zip/69f75f52c55d533934e7/scrum-master.zip" -OutFile "$env:TEMP\scrum-master.zip"; Expand-Archive "$env:TEMP\scrum-master.zip" -DestinationPath "$HOME\.claude\skills" -Force
Claude.ai / desktopDownload the ZIP and upload it under Settings → Capabilities → Skills.
Codex, Cursor, other agentsPoint them at SKILL.md. The other files are plain text.

Connects with Agent Alley MCP · agentalley.io/mcp

Files included

  • SKILL.md9.5 KB
  • assets/5 files · 46.7 KB
  • references/3 files · 45.0 KB
  • scripts/3 files · 84.9 KB
Read the files here
alirezarezvani/19392f712 files
SKILL.md
Show the full text223 lines

Scrum Master Expert

Data-driven Scrum Master skill combining sprint analytics, probabilistic forecasting, and team development coaching. The unique value is in the three Python analysis scripts and their workflows — refer to references/ and assets/ for deeper framework detail.


Table of Contents


Analysis Tools & Usage

1. Velocity Analyzer (scripts/velocity_analyzer.py)

Runs rolling averages, linear-regression trend detection, and Monte Carlo simulation over sprint history.

# Text report
python velocity_analyzer.py sprint_data.json --format text

# JSON output for downstream processing
python velocity_analyzer.py sprint_data.json --format json > analysis.json

Outputs: velocity trend (improving/stable/declining), coefficient of variation, 6-sprint Monte Carlo forecast at 50 / 70 / 85 / 95% confidence intervals, anomaly flags with root-cause suggestions.

Validation: If fewer than 3 sprints are present in the input, stop and prompt the user: "Velocity analysis needs at least 3 sprints. Please provide additional sprint data." 6+ sprints are recommended for statistically significant Monte Carlo results.


2. Sprint Health Scorer (scripts/sprint_health_scorer.py)

Scores team health across 6 weighted dimensions, producing an overall 0–100 grade.

Dimension Weight Target
Commitment Reliability 25% >85% sprint goals met
Scope Stability 20% <15% mid-sprint changes
Blocker Resolution 15% <3 days average
Ceremony Engagement 15% >90% participation
Story Completion Distribution 15% High ratio of fully done stories
Velocity Predictability 10% CV <20%
python sprint_health_scorer.py sprint_data.json --format text

Outputs: overall health score + grade, per-dimension scores with recommendations, sprint-over-sprint trend, intervention priority matrix.

Validation: Requires 2+ sprints with ceremony and story-completion data. If data is missing, report which dimensions cannot be scored and ask the user to supply the gaps.


3. Retrospective Analyzer (scripts/retrospective_analyzer.py)

Tracks action-item completion, recurring themes, sentiment trends, and team maturity progression.

python retrospective_analyzer.py sprint_data.json --format text

Outputs: action-item completion rate by priority/owner, recurring-theme persistence scores, team maturity level (forming/storming/norming/performing), improvement-velocity trend.

Validation: Requires 3+ retrospectives with action-item tracking. With fewer, note the limitation and offer partial theme analysis only.


Input Requirements

All scripts accept JSON following the schema in assets/sample_sprint_data.json:

{
  "team_info": { "name": "string", "size": "number", "scrum_master": "string" },
  "sprints": [
    {
      "sprint_number": "number",
      "planned_points": "number",
      "completed_points": "number",
      "stories": [...],
      "blockers": [...],
      "ceremonies": {...}
    }
  ],
  "retrospectives": [
    {
      "sprint_number": "number",
      "went_well": ["string"],
      "to_improve": ["string"],
      "action_items": [...]
    }
  ]
}

Jira and similar tools can export sprint data; map exported fields to this schema before running the scripts. See assets/sample_sprint_data.json for a complete 6-sprint example and assets/expected_output.json for corresponding expected results (velocity avg 20.2 pts, CV 12.7%, health score 78.3/100, action-item completion 46.7%).


Sprint Execution Workflows

Sprint Planning
  1. Run velocity analysis: python velocity_analyzer.py sprint_data.json --format text
  2. Use the 70% confidence interval as the recommended commitment ceiling for the sprint backlog.
  3. Review the health scorer's Commitment Reliability and Scope Stability scores to calibrate negotiation with the Product Owner.
  4. If Monte Carlo output shows high volatility (CV >20%), surface this to stakeholders with range estimates rather than single-point forecasts.
  5. Document capacity assumptions (leave, dependencies) for retrospective comparison.
Daily Standup
  1. Track participation and help-seeking patterns — feed ceremony data into sprint_health_scorer.py at sprint end.
  2. Log each blocker with date opened; resolution time feeds the Blocker Resolution dimension.
  3. If a blocker is unresolved after 2 days, escalate proactively and note in sprint data.
Sprint Review
  1. Present velocity trend and health score alongside the demo to give stakeholders delivery context.
  2. Capture scope-change requests raised during review; record as scope-change events in sprint data for next scoring cycle.
Sprint Retrospective
  1. Run all three scripts before the session:
    python sprint_health_scorer.py sprint_data.json --format text > health.txt
    python retrospective_analyzer.py sprint_data.json --format text > retro.txt
    
  2. Open with the health score and top-flagged dimensions to focus discussion.
  3. Use the retrospective analyzer's action-item completion rate to determine how many new action items the team can realistically absorb (target: ≤3 if completion rate <60%).
  4. Assign each action item an owner and measurable success criterion before closing the session.
  5. Record new action items in sprint_data.json for tracking in the next cycle.

Team Development Workflow

Assessment
python sprint_health_scorer.py team_data.json > health_assessment.txt
python retrospective_analyzer.py team_data.json > retro_insights.txt
  • Map retrospective analyzer maturity output to the appropriate development stage.
  • Supplement with an anonymous psychological safety pulse survey (Edmondson 7-point scale) and individual 1:1 observations.
  • If maturity output is forming or storming, prioritise safety and conflict-facilitation interventions before process optimisation.
Intervention

Apply stage-specific facilitation (details in references/team-dynamics-framework.md):

Stage Focus
Forming Structure, process education, trust building
Storming Conflict facilitation, psychological safety maintenance
Norming Autonomy building, process ownership transfer
Performing Challenge introduction, innovation support
Progress Measurement
  • Sprint cadence: re-run health scorer; target overall score improvement of ≥5 points per quarter.
  • Monthly: psychological safety pulse survey; target >4.0/5.0.
  • Quarterly: full maturity re-assessment via retrospective analyzer.
  • If scores plateau or regress for 2 consecutive sprints, escalate intervention strategy (see references/team-dynamics-framework.md).

Key Metrics & Targets

Metric Target
Overall Health Score >80/100
Psychological Safety Index >4.0/5.0
Velocity CV (predictability) <20%
Commitment Reliability >85%
Scope Stability <15% mid-sprint changes
Blocker Resolution Time <3 days
Ceremony Engagement >90%
Retrospective Action Completion >70%

Limitations

  • Sample size: fewer than 6 sprints reduces Monte Carlo confidence; always state confidence intervals, not point estimates.
  • Data completeness: missing ceremony or story-completion fields suppress affected scoring dimensions — report gaps explicitly.
  • Context sensitivity: script recommendations must be interpreted alongside organisational and team context not captured in JSON data.
  • Quantitative bias: metrics do not replace qualitative observation; combine scores with direct team interaction.
  • Team size: techniques are optimised for 5–9 member teams; larger groups may require adaptation.
  • External factors: cross-team dependencies and organisational constraints are not fully modelled by single-team metrics.

  • Agile Product Owner (product-team/agile-product-owner/) — User stories and backlog feed sprint planning
  • Senior PM (project-management/senior-pm/) — Portfolio health context informs sprint priorities

For deep framework references see references/velocity-forecasting-guide.md and references/team-dynamics-framework.md. For template assets see assets/sprint_report_template.md and assets/team_health_check_template.md.

1---
2name: "scrum-master"
3description: "Advanced Scrum Master skill for data-driven agile team analysis and coaching. Use when the user asks about sprint planning, velocity tracking, retrospectives, standup facilitation, backlog grooming, story points, burndown charts, blocker resolution, or agile team health. Runs Python scripts to analyse sprint JSON exports from Jira or similar tools: velocity_analyzer.py for Monte Carlo sprint forecasting, sprint_health_scorer.py for multi-dimension health scoring, and retrospective_analyzer.py for action-item and theme tracking. Produces confidence-interval forecasts, health grade reports, and improvement-velocity trends for high-performing Scrum teams."
4license: MIT
5metadata:
6 version: 2.0.0
7 author: Alireza Rezvani
8 category: project-management
9 domain: agile-development
10 updated: 2026-02-15
11 python-tools: velocity_analyzer.py, sprint_health_scorer.py, retrospective_analyzer.py
12 tech-stack: scrum, agile-coaching, team-dynamics, data-analysis
13---
14 
15# Scrum Master Expert
16 
17Data-driven Scrum Master skill combining sprint analytics, probabilistic forecasting, and team development coaching. The unique value is in the three Python analysis scripts and their workflows — refer to `references/` and `assets/` for deeper framework detail.
18 
19---
20 
21## Table of Contents
22 
23- [Analysis Tools & Usage](#analysis-tools-usage)
24- [Input Requirements](#input-requirements)
25- [Sprint Execution Workflows](#sprint-execution-workflows)
26- [Team Development Workflow](#team-development-workflow)
27- [Key Metrics & Targets](#key-metrics-targets)
28- [Limitations](#limitations)
29 
30---
31 
32## Analysis Tools & Usage
33 
34### 1. Velocity Analyzer (`scripts/velocity_analyzer.py`)
35 
36Runs rolling averages, linear-regression trend detection, and Monte Carlo simulation over sprint history.
37 
38```bash
39# Text report
40python velocity_analyzer.py sprint_data.json --format text
41 
42# JSON output for downstream processing
43python velocity_analyzer.py sprint_data.json --format json > analysis.json
44```
45 
46**Outputs**: velocity trend (improving/stable/declining), coefficient of variation, 6-sprint Monte Carlo forecast at 50 / 70 / 85 / 95% confidence intervals, anomaly flags with root-cause suggestions.
47 
48**Validation**: If fewer than 3 sprints are present in the input, stop and prompt the user: *"Velocity analysis needs at least 3 sprints. Please provide additional sprint data."* 6+ sprints are recommended for statistically significant Monte Carlo results.
49 
50---
51 
52### 2. Sprint Health Scorer (`scripts/sprint_health_scorer.py`)
53 
54Scores team health across 6 weighted dimensions, producing an overall 0–100 grade.
55 
56| Dimension | Weight | Target |
57|---|---|---|
58| Commitment Reliability | 25% | >85% sprint goals met |
59| Scope Stability | 20% | <15% mid-sprint changes |
60| Blocker Resolution | 15% | <3 days average |
61| Ceremony Engagement | 15% | >90% participation |
62| Story Completion Distribution | 15% | High ratio of fully done stories |
63| Velocity Predictability | 10% | CV <20% |
64 
65```bash
66python sprint_health_scorer.py sprint_data.json --format text
67```
68 
69**Outputs**: overall health score + grade, per-dimension scores with recommendations, sprint-over-sprint trend, intervention priority matrix.
70 
71**Validation**: Requires 2+ sprints with ceremony and story-completion data. If data is missing, report which dimensions cannot be scored and ask the user to supply the gaps.
72 
73---
74 
75### 3. Retrospective Analyzer (`scripts/retrospective_analyzer.py`)
76 
77Tracks action-item completion, recurring themes, sentiment trends, and team maturity progression.
78 
79```bash
80python retrospective_analyzer.py sprint_data.json --format text
81```
82 
83**Outputs**: action-item completion rate by priority/owner, recurring-theme persistence scores, team maturity level (forming/storming/norming/performing), improvement-velocity trend.
84 
85**Validation**: Requires 3+ retrospectives with action-item tracking. With fewer, note the limitation and offer partial theme analysis only.
86 
87---
88 
89## Input Requirements
90 
91All scripts accept JSON following the schema in `assets/sample_sprint_data.json`:
92 
93```json
94{
95 "team_info": { "name": "string", "size": "number", "scrum_master": "string" },
96 "sprints": [
97 {
98 "sprint_number": "number",
99 "planned_points": "number",
100 "completed_points": "number",
101 "stories": [...],
102 "blockers": [...],
103 "ceremonies": {...}
104 }
105 ],
106 "retrospectives": [
107 {
108 "sprint_number": "number",
109 "went_well": ["string"],
110 "to_improve": ["string"],
111 "action_items": [...]
112 }
113 ]
114}
115```
116 
117Jira and similar tools can export sprint data; map exported fields to this schema before running the scripts. See `assets/sample_sprint_data.json` for a complete 6-sprint example and `assets/expected_output.json` for corresponding expected results (velocity avg 20.2 pts, CV 12.7%, health score 78.3/100, action-item completion 46.7%).
118 
119---
120 
121## Sprint Execution Workflows
122 
123### Sprint Planning
124 
1251. Run velocity analysis: `python velocity_analyzer.py sprint_data.json --format text`
1262. Use the 70% confidence interval as the recommended commitment ceiling for the sprint backlog.
1273. Review the health scorer's Commitment Reliability and Scope Stability scores to calibrate negotiation with the Product Owner.
1284. If Monte Carlo output shows high volatility (CV >20%), surface this to stakeholders with range estimates rather than single-point forecasts.
1295. Document capacity assumptions (leave, dependencies) for retrospective comparison.
130 
131### Daily Standup
132 
1331. Track participation and help-seeking patterns — feed ceremony data into `sprint_health_scorer.py` at sprint end.
1342. Log each blocker with date opened; resolution time feeds the Blocker Resolution dimension.
1353. If a blocker is unresolved after 2 days, escalate proactively and note in sprint data.
136 
137### Sprint Review
138 
1391. Present velocity trend and health score alongside the demo to give stakeholders delivery context.
1402. Capture scope-change requests raised during review; record as scope-change events in sprint data for next scoring cycle.
141 
142### Sprint Retrospective
143 
1441. Run all three scripts before the session:
145 ```bash
146 python sprint_health_scorer.py sprint_data.json --format text > health.txt
147 python retrospective_analyzer.py sprint_data.json --format text > retro.txt
148 ```
1492. Open with the health score and top-flagged dimensions to focus discussion.
1503. Use the retrospective analyzer's action-item completion rate to determine how many new action items the team can realistically absorb (target: ≤3 if completion rate <60%).
1514. Assign each action item an owner and measurable success criterion before closing the session.
1525. Record new action items in `sprint_data.json` for tracking in the next cycle.
153 
154---
155 
156## Team Development Workflow
157 
158### Assessment
159 
160```bash
161python sprint_health_scorer.py team_data.json > health_assessment.txt
162python retrospective_analyzer.py team_data.json > retro_insights.txt
163```
164 
165- Map retrospective analyzer maturity output to the appropriate development stage.
166- Supplement with an anonymous psychological safety pulse survey (Edmondson 7-point scale) and individual 1:1 observations.
167- If maturity output is `forming` or `storming`, prioritise safety and conflict-facilitation interventions before process optimisation.
168 
169### Intervention
170 
171Apply stage-specific facilitation (details in `references/team-dynamics-framework.md`):
172 
173| Stage | Focus |
174|---|---|
175| Forming | Structure, process education, trust building |
176| Storming | Conflict facilitation, psychological safety maintenance |
177| Norming | Autonomy building, process ownership transfer |
178| Performing | Challenge introduction, innovation support |
179 
180### Progress Measurement
181 
182- **Sprint cadence**: re-run health scorer; target overall score improvement of ≥5 points per quarter.
183- **Monthly**: psychological safety pulse survey; target >4.0/5.0.
184- **Quarterly**: full maturity re-assessment via retrospective analyzer.
185- If scores plateau or regress for 2 consecutive sprints, escalate intervention strategy (see `references/team-dynamics-framework.md`).
186 
187---
188 
189## Key Metrics & Targets
190 
191| Metric | Target |
192|---|---|
193| Overall Health Score | >80/100 |
194| Psychological Safety Index | >4.0/5.0 |
195| Velocity CV (predictability) | <20% |
196| Commitment Reliability | >85% |
197| Scope Stability | <15% mid-sprint changes |
198| Blocker Resolution Time | <3 days |
199| Ceremony Engagement | >90% |
200| Retrospective Action Completion | >70% |
201 
202---
203 
204## Limitations
205 
206- **Sample size**: fewer than 6 sprints reduces Monte Carlo confidence; always state confidence intervals, not point estimates.
207- **Data completeness**: missing ceremony or story-completion fields suppress affected scoring dimensions — report gaps explicitly.
208- **Context sensitivity**: script recommendations must be interpreted alongside organisational and team context not captured in JSON data.
209- **Quantitative bias**: metrics do not replace qualitative observation; combine scores with direct team interaction.
210- **Team size**: techniques are optimised for 5–9 member teams; larger groups may require adaptation.
211- **External factors**: cross-team dependencies and organisational constraints are not fully modelled by single-team metrics.
212 
213---
214 
215## Related Skills
216 
217- **Agile Product Owner** (`product-team/agile-product-owner/`) — User stories and backlog feed sprint planning
218- **Senior PM** (`project-management/senior-pm/`) — Portfolio health context informs sprint priorities
219 
220---
221 
222*For deep framework references see `references/velocity-forecasting-guide.md` and `references/team-dynamics-framework.md`. For template assets see `assets/sprint_report_template.md` and `assets/team_health_check_template.md`.*
223 
View all files on GitHub →

Details

Updated
Aug 30, 2026
License
MIT
Stars on the repo
★ 26,349
Checked
Source
alirezarezvani/claude-skills ↗
Creator
alirezarezvani · 363 listings
View creator

Similar skills

See all →
MCP3-5 days | Agents: 6 | Gate Keepers: DevOps Automator +⚙️ Phase 2 Playbook — Foundation & Scaffoldingmsitarzewski/agency-agents · by msitarzewski> Duration: 3-5 days | Agents: 6 | Gate Keepers: DevOps Automator + Evidence Collector★ 154k GitHub starsMCPNEXUS transforms The Agency's independent AI specialists🌐 NEXUS — Network of EXperts, Unified in Strategymsitarzewski/agency-agents · by msitarzewski> NEXUS transforms The Agency's independent AI specialists into a synchronized intelligence network. This is not a prompt collection — it…★ 154k GitHub starsSkillGenerate an Ansoff Matrix analysis mapping growth strategiesphuryn/pm-skills · by phurynGenerate an Ansoff Matrix analysis mapping growth strategies across market penetration, market development, product development, and diversification. Use when considering growth options, planning market expansion, or evaluating strategic growth paths.★ 26.6k GitHub starsSkillSurvey any codebase as a senior advisorImproveshadcn/improve · by shadcnSurvey any codebase as a senior advisor and produce prioritized, self-contained implementation plans for OTHER models/agents to execute. Strictly read-only on source code — never implements, fixes, or refactors anything itself. Use when asked to audit a codebase, find improvement opportunities (bugs, security, performance, test coverage, tech debt, migrations, DX), suggest features or where to take the project next (roadmap, product direction), or generate handoff plans for another agent to implement.★ 9.2k GitHub starsSkillTranslate skills from one industry to anotherCareer changer translatorParamchoudhary/ResumeSkills · by ParamchoudharyTranslate skills from one industry to another, identify transferable skills★ 2.4k GitHub starsSkillA collection of 37 battle-tested marketing skillsOpenClaw Marketing SkillsLeoYeAI/openclaw-marketing-skills · by LeoYeAIA collection of 37 battle-tested marketing skills for OpenClaw agents. Use when you want to install or reference any marketing skill including: CRO (page-cro, signup-flow-cro, onboarding-cro, form-cro, popup-cro, paywall-upgrade-cro), copywriting, copy-editing, cold-email, email-sequence, social-content, seo-audit, ai-seo, programmatic-seo, site-architecture, schema-markup, content-strategy, paid-ads, ad-creative, ab-test-setup, analytics-tracking, referral-program, free-tool-strategy, churn-prevention, revops, sales-enablement, launch-strategy, pricing-strategy, competitor-alternatives, marketing-ideas, marketing-psychology, lead-magnets, product-marketing-context, and data connectors (google-ads-connect, search-console-connect, meta-ads-connect, x-twitter-connect). Start with product-marketing-context to set up your product context document, then use any other skill naturally. Powered by MyClaw.ai.★ 1k GitHub stars

More from alirezarezvani

SkillResume a paused experiment/ar:ar-resume — Resume Experimentalirezarezvani/claude-skills · by alirezarezvaniResume a paused experiment. Checkout the experiment branch, read results history, continue iterating. Use when the user runs /ar:ar-resume or asks to pick up a previously started autoresearch experiment.★ 26.3k GitHub starsSkillShow experiment dashboard with results, active loops/ar:ar-status — Experiment Dashboardalirezarezvani/claude-skills · by alirezarezvaniShow experiment dashboard with results, active loops, and progress. Use when the user runs /ar:ar-status or asks how an autoresearch experiment is going.★ 26.3k GitHub starsSkillStart an autonomous experiment loop with user-selected/ar:loop — Autonomous Experiment Loopalirezarezvani/claude-skills · by alirezarezvaniStart an autonomous experiment loop with user-selected interval (10min, 1h, daily, weekly, monthly). Uses CronCreate for scheduling. Use when the user runs /ar:loop or asks to run an autoresearch experiment continuously on a schedule.★ 26.3k GitHub starsSkillRun a single experiment iteration/ar:run — Single Experiment Iterationalirezarezvani/claude-skills · by alirezarezvaniRun a single experiment iteration. Edit the target file, evaluate, keep or discard. Use when the user runs /ar:run or asks for one manual autoresearch iteration.★ 26.3k GitHub starsSkillSet up a new autoresearch experiment interactively/ar:setup — Create New Experimentalirezarezvani/claude-skills · by alirezarezvaniSet up a new autoresearch experiment interactively. Collects domain, target file, eval command, metric, direction, and evaluator. Use when the user runs /ar:setup or asks to start optimizing a file with the autoresearch loop.★ 26.3k GitHub starsSkill/cs:boardroom <brief/cs:boardroom — Multi-Role Boardroom Deliberationalirezarezvani/claude-skills · by alirezarezvani/cs:boardroom <brief> — 6-phase multi-role deliberation across the C-suite with Phase 2 isolation, critic pre-screen, and synthesis. Outputs a board memo. Use when a decision spans multiple executive domains — e.g. a pricing change touching finance, positioning, and product, or a raise-vs-cut runway call.★ 26.3k GitHub stars