Best for
- User says "plan sprint", "create sprint plan", "plan next phase"
- User asks to estimate timeline for a feature or design doc
- User wants to know how long implementation will take
sunholo-data/ailang/.claude/skills/sprint-planner/SKILL.md
Analyze design docs, calculate velocity from recent work, and create realistic sprint plans with day-by-day breakdowns. Use when user asks to "plan sprint", "create sprint plan", or wants to estimate development timeline.
Decision brief
Create comprehensive, data-driven sprint plans by analyzing design documentation, current implementation status, and recent velocity.
Compatibility matrix
| Platform | Status | Evidence | What to check |
|---|---|---|---|
| Codex | Not declared | No explicit evidence | Portability before use |
| Claude Code | Not declared | No explicit evidence | Portability before use |
| Cursor | Not declared | No explicit evidence | Portability before use |
| Gemini CLI | Not declared | No explicit evidence | Portability before use |
Installation
The source command is displayed only when detected. A safe inspection prompt is always available so your agent can explain every action before execution.
npx skills add https://github.com/sunholo-data/ailang --skill ".claude/skills/sprint-planner"Inspect the Agent Skill "sprint-planner" from https://github.com/sunholo-data/ailang/blob/fb85250a127dcc6e8308c6653f153d9c59f08d62/.claude/skills/sprint-planner/SKILL.md at commit fb85250a127dcc6e8308c6653f153d9c59f08d62. List every install step, command, network request, credential, file read/write, external action, and rollback step. Explain whether it fits my task. Do not install or execute anything until I approve.
Workflow
Review the “Quick Start” section in the pinned source before continuing.
Review the “3. Review current implementation status” section in the pinned source before continuing.
CRITICAL: Always end by handing off to sprint-executor after user approval!
Check these sources: - CHANGELOG.md - Recent features and LOC counts - git log --oneline --since="1 week ago" - Actual commits - make test-coverage-badge - Current test coverage - Design doc vs reality - gaps or partial implementations
[ ] CHANGELOG.md: Recent features, LOC counts, test counts
Permission review
The documentation includes network, browsing, or remote request actions.
https://ailang.sunholo.com/docs/reference/language-syntaxThe documentation asks the agent to create, modify, or delete local files.
*NEW**: Create structured JSON progress file for multi-session sprint execution.The documentation asks the agent to create, modify, or delete local files.
# Create JSON progress file from sprint planThe documentation asks the agent to run terminal commands or scripts.
git add design_docs/YYYYMMDD/M-<milestone>.mdThe documentation asks the agent to run terminal commands or scripts.
git add .ailang/state/sprints/sprint_<id>.jsonEvidence record
| Signal | Value | Evidence type | Meaning |
|---|---|---|---|
| Quality score | 93/100 | Computed | Documentation, specificity, maintenance, and trust rules |
| Repository stars | 33 | Source | Repository attention, not individual Skill quality |
| Compatibility | 0 platforms | Source | Declared in the catalog source record |
| Usage guide | automated source guide | Editorial | Generated or reviewed according to the visible evidence level |
Pinned source
Create comprehensive, data-driven sprint plans by analyzing design documentation, current implementation status, and recent velocity.
Use the data above first. Only re-run these commands manually if the injected context is empty or you need to refresh after making changes.
Most common usage:
# User says: "Plan the next sprint based on v0.4.0 roadmap"
# This skill will:
# 1. Read design doc (design_docs/planned/v0.4-roadmap.md)
# 2. Analyze CHANGELOG for recent velocity
# 3. Review current implementation status
# 4. Propose realistic milestones with LOC estimates
# 5. Create day-by-day task breakdown
Invoke this skill when:
When invoked by the AILANG Coordinator (detected by GitHub issue reference in the prompt), you MUST output these markers at the end of your response:
SPRINT_PLAN_PATH: design_docs/planned/vX_Y/sprint-plan-name.md
SPRINT_JSON_PATH: .ailang/state/sprints/sprint_ID.json
Why? The coordinator uses these markers to:
Example completion:
## Sprint Plan Created
I've created the sprint plan with 3 milestones...
**SPRINT_PLAN_PATH**: `design_docs/planned/v0_6_3/m-feature-sprint-plan.md`
**SPRINT_JSON_PATH**: `.ailang/state/sprints/sprint_M-FEATURE.json`
When planning sprints that involve adding error messages, help text, or documentation links:
Website: https://ailang.sunholo.com/
Documentation Source: The website documentation lives in this repo at docs/
docs/docs/ (guides, reference, etc.)docs/static/docs/docusaurus.config.jsCommon Documentation Paths:
/docs/reference/language-syntax/docs/guides/module_execution/docs/guides/getting-started/docs/guides/getting-started#repl/docs/reference/implementation-status/docs/guides/benchmarking/docs/guides/evaluation/READMEFull URL Example:
https://ailang.sunholo.com/docs/reference/language-syntax
Best Practices:
docs/docs/ to verify the file exists locallyls docs/docs/reference/ or ls docs/docs/guides/ to find available pagessprint-planner acts as the "Initializer" agent in the two-phase pattern from Anthropic's long-running agent article:
Initializer (sprint-planner): Creates infrastructure for execution
Coding Agent (sprint-executor): Works incrementally across sessions
passes field as milestones completeThis separation enables multi-session continuity - sprints can span days or weeks with Claude resuming work from where it left off.
scripts/analyze_velocity.sh [days]Analyze recent development velocity from CHANGELOG and git commits.
Usage:
# Analyze last 7 days (default)
.claude/skills/sprint-planner/scripts/analyze_velocity.sh
# Analyze last 14 days
.claude/skills/sprint-planner/scripts/analyze_velocity.sh 14
Output:
Analyzing velocity for last 7 days...
=== Recent CHANGELOG Entries ===
Total: ~1,200 LOC
Total: ~800 LOC
=== Recent Commits (last 7 days) ===
abc1234 Complete M-DX1.5: Migrate all builtins
def5678 Add Type Builder DSL
=== Files Changed (last 7 days) ===
15 files changed, 1200 insertions(+), 300 deletions(-)
=== Velocity Summary ===
Based on CHANGELOG entries and git history, estimate:
- Average LOC/day from recent milestones
- Typical milestone duration
- Current development pace
scripts/create_sprint_json.sh <sprint_id> <sprint_plan_md> [design_doc_md]NEW: Create structured JSON progress file for multi-session sprint execution.
Usage:
# Create JSON progress file from sprint plan
.claude/skills/sprint-planner/scripts/create_sprint_json.sh \
"M-S1" \
"design_docs/planned/v0_4_0/m-s1-sprint-plan.md" \
"design_docs/planned/v0_4_0/m-s1-parser-improvements.md"
What it does:
.ailang/state/sprints/sprint_<id>.json with feature listpasses field changes)Output:
.ailang/state/sprints/sprint_<id>.jsonFile Organization:
Sprint JSON files are stored in .ailang/state/sprints/ to keep the state directory organized.
Integration with sprint-executor: After creating the JSON file, sprint-executor can:
CRITICAL: Always end by handing off to sprint-executor after user approval!
Input: Path to design doc (e.g., design_docs/planned/v0.4-roadmap.md)
What to extract:
Check these sources:
CHANGELOG.md - Recent features and LOC countsgit log --oneline --since="1 week ago" - Actual commitsmake test-coverage-badge - Current test coverageUse the velocity script:
.claude/skills/sprint-planner/scripts/analyze_velocity.sh
Calculate:
List incomplete milestones with:
Use the template:
See resources/sprint_plan_template.md
Include:
Show user:
Be ready to revise based on user priorities or constraints.
Once approved:
# Create sprint plan document (markdown - human-readable)
# Naming: M-<type><number>.md (M-P1 for parser, M-T1 for types, etc.)
Include in sprint plan:
NEW: Create JSON progress file (machine-readable):
# Create structured progress file for multi-session execution
.claude/skills/sprint-planner/scripts/create_sprint_json.sh \
"<sprint-id>" \
"design_docs/planned/vX_Y/<sprint-id>-plan.md" \
"design_docs/planned/vX_Y/<feature>-design.md"
The script creates a TEMPLATE - you MUST populate it with real data!
The create_sprint_json.sh script generates placeholder content. Before handing off to sprint-executor, you MUST edit the JSON file to include actual milestones.
Required edits to .ailang/state/sprints/sprint_<id>.json:
Replace placeholder features array with real milestones:
"features": [
{
"id": "M1_ACTUAL_NAME",
"description": "Real description from your sprint plan",
"estimated_loc": 150,
"dependencies": [],
"acceptance_criteria": [
"Actual criterion from sprint plan",
"Another real criterion"
],
"passes": null,
"started": null,
"completed": null,
"notes": null
}
]
Update velocity estimates to match your sprint plan:
"velocity": {
"target_loc_per_day": 150,
"estimated_total_loc": 670,
"estimated_days": 4
}
Validation checklist before handoff:
"id": "MILESTONE_ID" (placeholder)estimated_total_loc matches sum of milestone LOCestimated_days matches sprint plan durationsprint-executor will REJECT the sprint if placeholders remain!
The script automatically discovers related GitHub issues using ailang messages integration.
The create_sprint_json.sh script automatically:
ailang messages import-githubmsg_YYYYMMDD_HHMMSS_hash)#123 references from the design docgithub_issues: [...] to the sprint JSONWhy link GitHub issues?
refs #123 to link without closingFixes #123 to AUTO-CLOSE issue on mergeImportant: "refs" vs "Fixes"
refs #17 - Links commit to issue (NO auto-close) - use during developmentFixes #17, Closes #17, Resolves #17 - AUTO-CLOSES issue when merged - use in final commitDeduplication: ailang messages import-github checks existing issues by number before importing. Issues are never duplicated.
Manual linking (if auto-extraction misses issues):
# Add GitHub issues to sprint JSON
jq '.github_issues = [17, 42]' .ailang/state/sprints/sprint_<id>.json > tmp && mv tmp .ailang/state/sprints/sprint_<id>.json
Example JSON with linked issues:
{
"sprint_id": "M-BUG-FIX",
"github_issues": [17, 42],
"features": [...]
}
Workflow with GitHub integration:
ailang messages send user "Bug: ..." --type bug --github**Bug Report**: msg_20251210_..._abc123create_sprint_json.sh extracts message ID, looks up issue #17, adds to JSONrefs #17 in milestone commits (links, no close)Fixes #17 to auto-close issue on mergeCRITICAL: After creating an approved sprint plan, ALWAYS hand off to sprint-executor immediately.
This is the standard workflow:
Send handoff message:
ailang agent send sprint-executor '{
"type": "plan_ready",
"correlation_id": "sprint_<sprint-id>_<date>",
"sprint_id": "<sprint-id>",
"plan_path": "design_docs/planned/vX_Y/<sprint-id>-plan.md",
"progress_path": ".ailang/state/sprints/sprint_<id>.json",
"estimated_duration": "X days (Y hours)",
"milestones": [
{"id": "M1", "name": "...", "estimated_hours": X},
{"id": "M2", "name": "...", "estimated_hours": Y}
],
"discovery": "Key findings from analysis",
"total_loc_estimate": N,
"risk_level": "low|medium|high"
}'
Why this workflow?
Optional: Commit before handoff:
git add design_docs/YYYYMMDD/M-<milestone>.md
git add .ailang/state/sprints/sprint_<id>.json
git commit -m "Add M-<milestone> sprint plan with JSON progress tracking"
examples/ directory)See resources/sprint_plan_template.md for complete sprint plan structure.
Before planning a sprint for a bug fix, verify the design doc addresses systemic issues.
The design-doc-creator skill includes guidance for auditing related code paths before writing a design doc. If the design doc only fixes the reported symptom without checking for similar gaps, send it back for revision.
Quick check: Does the design doc mention:
If not: Ask user to revise design doc before planning sprint.
See design-doc-creator skill for full systemic analysis checklist.
See resources/sprint_plan_template.md for full template.
Key sections:
This skill loads information progressively:
scripts/ (velocity analysis)resources/sprint_plan_template.md (template)Scripts execute without loading into context window, saving tokens.
The sprint-planner skill integrates with the AILANG Coordinator for automated workflows.
When configured in ~/.ailang/config.yaml, the sprint-planner agent:
coordinator:
agents:
- id: sprint-planner
inbox: sprint-planner
workspace: /path/to/ailang
capabilities: [research, docs, planning]
trigger_on_complete: [sprint-executor]
auto_approve_handoffs: false
session_continuity: true
The sprint-planner receives:
{
"type": "design_doc_ready",
"correlation_id": "task-123",
"design_doc_path": "design_docs/planned/v0_6_3/m-semantic-caching.md",
"session_id": "claude-session-abc"
}
# Direct task (skip design-doc-creator)
ailang messages send sprint-planner "Plan sprint for M-CACHE feature" \
--title "Sprint: M-CACHE" --from "user"
# Reference existing design doc
ailang messages send sprint-planner '{"design_doc_path": "design_docs/planned/v0_6_3/m-cache.md"}' \
--title "Sprint: M-CACHE" --from "design-doc-creator"
On completion, sprint-planner sends:
{
"type": "plan_ready",
"correlation_id": "sprint_M-CACHE_20251231",
"sprint_id": "M-CACHE",
"plan_path": "design_docs/planned/v0_6_3/m-cache-sprint-plan.md",
"progress_path": ".ailang/state/sprints/sprint_M-CACHE.json",
"session_id": "claude-session-xyz",
"estimated_duration": "3 days",
"total_loc_estimate": 650,
"risk_level": "medium"
}
With auto_approve_handoffs: false:
With session_continuity: true:
session_id from design-doc-creator handoff--resume SESSION_ID for Claude Code CLIFrequently asked questions
Create comprehensive, data-driven sprint plans by analyzing design documentation, current implementation status, and recent velocity.
The source record exposes this install command: npx skills add https://github.com/sunholo-data/ailang --skill ".claude/skills/sprint-planner". Inspect the command and pinned source before running it.
Static rules flagged network, write-files, exec-script in the source; the page lists the matching lines and excerpts.
Alternatives
sunholo-data/ailang
Analyze design docs, calculate velocity from recent work, and create realistic sprint plans with day-by-day breakdowns. Use when user asks to "plan sprint", "create sprint plan", or wants to estimate development timeline.
NintendaDev/unikit-ai
Generate and maintain the project's TECHNICAL documentation from its codebase — scans the project structure, tech stack, and module boundaries, then writes a lean README landing page plus detailed topic pages (architecture, modules, setup, build, APIs), only the docs that are relevant. Use whenever the user wants to create, update, or validate documentation of the CODE or the project itself, e.g. "generate documentation", "create docs", "write the README", "update the project docs", "document th
eugenelim/agent-ready-repo
Use when implementing or resuming a non-trivial repository change: a feature, behavior-changing fix, refactor, migration, framework or dependency upgrade, schema or API change, performance work, infrastructure or build-system change, reversion, or an existing build spec under `docs/specs/`. Also use for bare continuation commands ('resume', 'continue', 'keep going', 'pick up where I left off', 'let's get going') when conversation or workspace context identifies active build work. Do not use for
objectstack-ai/objectstack
Author ObjectStack UI metadata — Views (list/form/kanban/calendar/gantt), Apps (navigation), Pages (structured plus the HTML and React source-authoring tiers, ADR-0080/0081), Dashboards, Reports, Charts, Actions, and package Docs (`src/docs/*.md`). Use when the user is adding `*.view.ts` / `*.app.ts` / `*.dashboard.ts` / `*.action.ts` / `src/docs/*.md` files or designing a Studio-rendered UI surface, including dataset-bound dashboard/report widgets. Do not use for: data schema (see objectstack-d