asana-sprint-planning
Skill11 starsChanged 51 days agoApache-2.0View on GitHub
Sprint planning with Asana — task hierarchy, story point sizing, capacity tracking, and sprint workflow. Requires an Asana MCP server (see docs/guides/asana-integration.md). Use when planning sprints, creating tasks, estimating work, or managing sprint capacity in Asana.
In this repository83 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- about-konductorSkill
- adr-generatorSkill
- adversarial-code-review-pass-integritySkill
- adversarial-code-review-pass-schemaSkill
- adversarial-code-review-pass-securitySkill
- adversarial-code-reviewSkill
- adversarial-design-reviewSkill
- agents-md-authoringSkill
- app-discoverySkill
- architecture-advisorSkill
- architecture-diagram-generationSkill
- argumentation-referenceSkill
- asdlc-aspect-reviewSkill
- asdlc-code-simplifierSkill
- aws-service-validatorSkill
- backend-developmentSkill
- backend-reviewSkill
- claude-teams-behaviorSkill
- cmux-dispatchSkill
- code-reviewSkill
- constraintsSkill
- cost-estimationSkill
- cypress-test-implementationSkill
- decision-researchSkill
- decision-writingSkill
- delegation-protocolSkill
- deliberation-panelSkill
- design-doc-guidelinesSkill
- design-evaluationSkill
- design-impact-reviewSkill
- design-quality-checkSkill
- doc-accuracy-analyzerSkill
- document-formatsSkill
- dom-inspectionSkill
- dynamodb-designSkill
- dynamodb-validationSkill
- e2e-test-strategySkill
- external-researchSkill
- find-aws-skillsSkill
- frontend-developmentSkill
- frontend-reviewSkill
- git-mergeSkill
- git-workflowSkill
- historical-issues-registrySkill
- humanize-writingSkill
- iam-policy-designSkill
- infra-validationSkill
- kiro-design-generationSkill
- kiro-requirements-generationSkill
- kiro-task-generationSkill
- legacy-to-agentic-estimateSkill
- mux-dispatchSkill
- non-functional-requirementsSkill
- persistent-memorySkill
- plan-reviewSkill
- playwright-test-implementationSkill
- policy-validationSkill
- pre-planning-analysisSkill
- The first 60 shown.
The file
Show its rules and text
We split this skill into the rules it gives an agent
15 rules. About 0 are common, 13 are distinctive, and 2 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈13
Distinctive · estimate
This author's own choices. Worth a look.
2
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 17
Before starting, verify Asana tools are available:
- Distinctive: line 19
Use the Asana identity/current-user capability (to verify connectivity and get the workspace) — if this succeeds, the Asana MCP is …
- Distinctive: line 20
If the call fails or the capability is not found, STOP and inform the user:
- Distinctive: line 25
Use the workspace GID obtained during Asana MCP Detection above
- Very specific: line 26
Ask the user which project to plan the sprint in.
- Distinctive: line 32
Ask for the number of team members in the sprint
- Distinctive: line 55
Create parent tasks first, then nest children by creating a task with a parent GID or by nesting the task under a parent (subtask)
- Distinctive: line 56
Use sections to group tasks by epic, sprint, or workflow stage (sections are flat — they cannot be nested)
- Distinctive: line 57
Only leaf-level tasks (Tasks/Subtasks) should carry story point estimates
- Distinctive: line 59
Always set an explicit assignee and due date when available
- Distinctive: line 66
If no story point custom field exists on the project, note this to the user and track points locally
- Distinctive: line 78
Create a task via the Asana MCP with: project GID, section GID, name, notes, assignee, due date
- Distinctive: line 82
Add a comment to the task to link to source tickets or context
- Very specific: line 93
Use the Asana search capability (search projects/tasks in the workspace) with filters for the current project, current sprint section, and …
- Distinctive: line 94
Verify the next sprint's section exists by listing the project's sections.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Sprint Planning (Asana)
Extends the sprint-planning skill — load it for sprint parameters, task hierarchy, story-point sizing, and capacity tracking. The steps below are Asana-specific.
Instructions
Asana MCP Detection
Before starting, verify Asana tools are available:
- Use the Asana identity/current-user capability (to verify connectivity and get the workspace) — if this succeeds, the Asana MCP is configured. Extract the workspace GID from the response. If the user belongs to multiple workspaces, present the list and ask which one to use.
- If the call fails or the capability is not found, STOP and inform the user:
"Asana MCP is not configured. See
docs/guides/asana-integration.mdfor setup instructions."
Session Start
- Use the workspace GID obtained during Asana MCP Detection above
- Ask the user which project to plan the sprint in. Then use the Asana search capability (search projects/tasks in the workspace) with the project name and resource type
projectto find matching projects. Alternatively, browse portfolios and their items to let the user select. - List the project's sections (columns) for the target project
- Confirm sprint parameters with user:
- Sprint capacity: 10 points per person (default)
- Sprint duration: 2 weeks (default)
- 1 point = 1 work day (default)
- Ask for the number of team members in the sprint
- Calculate total sprint capacity:
capacity_per_person × team_size(e.g., 10 pts × 3 people = 30 pts) - Present project/section/capacity summary for confirmation
Note: Asana sprint/iteration setup (date ranges, custom fields for story points) must be configured in the Asana UI. Use the capabilities to read project details and list the project's sections to discover existing sprint sections.
Task Hierarchy
Asana supports: Project > Section > Task > Subtask
Standard project hierarchy levels map to Asana as follows:
| Concept | Asana Equivalent | How |
| Goal | Portfolio | Browse portfolios and their items to navigate |
| Initiative | Project | Use the Asana search capability (search projects/tasks in the workspace) to find projects |
| Epic | Section within a project | List the project's sections |
| Story | Task | Create a task via the Asana MCP |
| Task | Task or Subtask | Create a task via the Asana MCP with a parent param for subtasks |
| Subtask | Subtask | Nest the task under a parent (subtask) |
Rules:
- Create parent tasks first, then nest children by creating a task with a parent GID or by nesting the task under a parent (subtask)
- Use sections to group tasks by epic, sprint, or workflow stage (sections are flat — they cannot be nested)
- Only leaf-level tasks (Tasks/Subtasks) should carry story point estimates
- Asana has no explicit task "type" field — hierarchy is controlled via sections and parent/subtask relationships, not a type attribute
- Always set an explicit assignee and due date when available
Story Point Sizing
- Tasks above 5 points should be broken down
- Set story points via Asana custom fields (use the capability to update the task's fields/custom fields to set custom field values)
- To check if a story points custom field exists, read project details with
opt_fields=custom_fieldsand look for a numeric field named "Story Points" or similar - If no story point custom field exists on the project, note this to the user and track points locally
Capacity Tracking
- Compute total sprint capacity from team size × per-person capacity
- Track running total of points as tasks are added
- Warn when approaching capacity (≥80%)
- Alert when exceeding capacity
- Display remaining capacity after each task added:
Sprint: {used}/{capacity} pts ({remaining} remaining)
Task Creation Rules
- Create a task via the Asana MCP with: project GID, section GID, name, notes, assignee, due date
- Tag tasks with source ticket ID in the description when applicable
- Apply a tag/label to the task for categorization
- For tasks sourced from external tickets: include the ticket ID and URL in the Asana task description
- Add a comment to the task to link to source tickets or context
CR Integration
Link tasks to code reviews by including the Asana task URL in the commit message or pull request description.
Sprint Rollover
To roll over incomplete work to the next sprint:
<!-- prettier-ignore -->- Use the Asana search capability (search projects/tasks in the workspace) with filters for the current project, current sprint section, and
completed=falseto find incomplete tasks in the current sprint section - Verify the next sprint's section exists by listing the project's sections. If it doesn't, create a section in the project
- Present the rollover plan:
a. List the incomplete tasks found in step 1 (name, assignee, points)
b. Warn the user about data loss: because the Asana MCP tool set does not expose a move-between-sections capability, rollover must recreate tasks in the new section. The following are lost on the new task:
- Task history / activity log
- Comments
- Attachments
- Subtasks
- Followers
- Tags
- Custom fields (other than story points, which are copied in step 4) c. Ask the user for explicit confirmation before proceeding
- Resolve the "Rolled Over" tag GID before starting the loop: ask the user for the GID (they can find it in the Asana UI under tag settings). If the tag doesn't exist yet, instruct them to create one in Asana (Tags → + New Tag) and provide the GID. If the user declines, skip tagging for all tasks and use comment links only. Cache the tag GID for subsequent rollovers in the same session
- For each incomplete task, perform the following in order. If (a) fails, skip (b)–(d) for that task, report the failure, and continue with the next task:
a. Create the replacement task in the new sprint's section via the Asana MCP with the same name, description, assignee, and due date offset forward by the sprint duration (if the original has no due date, leave it blank). If a story points custom field exists on the project, update the task's fields/custom fields to copy the value to the new task. If points are tracked locally (no custom field), carry the point value into the new sprint's local capacity tracking and note it in the new task's description
b. If a tag GID was resolved in step 4, apply a tag/label to the original task. If this fails, note the failure but continue
c. Add a comment to the original task linking to the new task. If this fails, note the failure but continue
d. Close the original task by updating the task's fields/custom fields with
completed=true— this step is critical and must always run if (a) succeeded, regardless of whether (b) or (c) failed. If (d) fails, report both the original and new task GIDs to the user so they can reconcile manually - Recalculate capacity for the new sprint based on carried-over points
Note: The Asana API supports moving tasks between sections, but the Asana MCP tool sets available today do not consistently expose this endpoint. The workaround above recreates tasks in the target section. Be aware this loses task history, comments, attachments, subtasks, followers, tags, and other custom fields from the original task.
Batch Approval
Present the full create plan for batch approval before executing writes. Users can approve the batch rather than being prompted for each individual write operation.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

