Skip to content

feat(squad): add sprint planning workflow#29

Merged
mpaulosky merged 2 commits into
devfrom
squad/28-sprint-planning-workflow
Apr 19, 2026
Merged

feat(squad): add sprint planning workflow#29
mpaulosky merged 2 commits into
devfrom
squad/28-sprint-planning-workflow

Conversation

@mpaulosky

Copy link
Copy Markdown
Owner

Summary

Implements the standard sprint planning workflow decided in session, triggered on every plan.md creation or material update.

Changes

File Change
.squad/templates/ceremonies.md Added Sprint Planning ceremony
.squad/routing.md Added planning route (Ralph + Aragorn), skill injection row, guardrail #6
.squad/playbooks/sprint-planning.md New — 8-step authoritative playbook
.squad/skills/sprint-planning/SKILL.md New — skill for agent injection

Workflow Added

On every plan.md creation or material update:

  1. Ralph decomposes todos → logical sprints (3–6 issues each)
  2. Aragorn creates GitHub milestones (Sprint N: {Theme})
  3. Aragorn creates GitHub issues, assigns milestones + squad:{member} labels
  4. Aragorn adds issues to GitHub Project board (Backlog column)
  5. Boromir creates sprint/{N}-{slug} branch + ../MyBlog-sprint-{N}/ worktree

⚠️ Manual Step Required

GitHub Project board ("MyBlog" with columns: Backlog → In Sprint → In Review → Done → Released) cannot be created headlessly — it requires the project OAuth scope via browser flow.

To create it:

gh auth refresh -s project
gh project create --owner mpaulosky --title "MyBlog"
# Then add columns: Backlog, In Sprint, In Review, Done, Released

Closes #28

- Add Sprint Planning ceremony to ceremonies.md
- Add sprint planning route to routing.md (Ralph + Aragorn)
- Add sprint-planning skill injection row to routing.md Skills section
- Add guardrail 6: trigger planning ceremony on every plan.md change
- Create .squad/playbooks/sprint-planning.md (8-step playbook)
- Create .squad/skills/sprint-planning/SKILL.md

Closes #28

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot AI review requested due to automatic review settings April 19, 2026 18:33
@github-actions

github-actions Bot commented Apr 19, 2026

Copy link
Copy Markdown
Contributor

Summary

Summary
Generated on: 04/19/2026 - 18:51:26
Coverage date: 04/19/2026 - 18:50:34 - 04/19/2026 - 18:51:10
Parser: MultiReport (4x Cobertura)
Assemblies: 4
Classes: 35
Files: 34
Line coverage: 64.3% (474 of 737)
Covered lines: 474
Uncovered lines: 263
Coverable lines: 737
Total lines: 2069
Branch coverage: 64% (169 of 264)
Covered branches: 169
Total branches: 264
Method coverage: Feature is only available for sponsors
Tag: 53_24636497399

Coverage

AppHost - 0%
Name Line Branch
AppHost 0% ****
Program 0%
Domain - 93.4%
Name Line Branch
Domain 93.4% 50%
Domain.Abstractions.Result 95% 50%
Domain.Abstractions.Result`1 75% 50%
MyBlog.Domain.Entities.BlogPost 100%
ServiceDefaults - 0%
Name Line Branch
ServiceDefaults 0% 0%
Microsoft.Extensions.Hosting.Extensions 0% 0%
Web - 68.1%
Name Line Branch
Web 68.1% 69%
MyBlog.Web.Components.Layout.MainLayout 100%
MyBlog.Web.Components.Layout.NavMenu 82.8% 71.4%
MyBlog.Web.Components.Pages.Error 100% 75%
MyBlog.Web.Components.Routes 0% 0%
MyBlog.Web.Components.Shared.RedirectToLogin 100%
MyBlog.Web.Data.BlogDbContext 100%
MyBlog.Web.Data.BlogPostDto 100%
MyBlog.Web.Data.BlogPostMappings 100%
MyBlog.Web.Data.MongoDbBlogPostRepository 100% 100%
MyBlog.Web.Features.BlogPosts.Create.Create 75% 50%
MyBlog.Web.Features.BlogPosts.Create.CreateBlogPostCommand 100%
MyBlog.Web.Features.BlogPosts.Create.CreateBlogPostHandler 100%
MyBlog.Web.Features.BlogPosts.Delete.ConfirmDeleteDialog 100% 100%
MyBlog.Web.Features.BlogPosts.Delete.DeleteBlogPostCommand 100%
MyBlog.Web.Features.BlogPosts.Delete.DeleteBlogPostHandler 100%
MyBlog.Web.Features.BlogPosts.Edit.Edit 88% 75%
MyBlog.Web.Features.BlogPosts.Edit.EditBlogPostCommand 100%
MyBlog.Web.Features.BlogPosts.Edit.EditBlogPostHandler 84% 90%
MyBlog.Web.Features.BlogPosts.Edit.GetBlogPostByIdQuery 100%
MyBlog.Web.Features.BlogPosts.List.GetBlogPostsHandler 100% 100%
MyBlog.Web.Features.BlogPosts.List.Index 86.8% 84.6%
MyBlog.Web.Features.UserManagement.AssignRoleCommand 100%
MyBlog.Web.Features.UserManagement.ManageRoles 90.4% 75%
MyBlog.Web.Features.UserManagement.Profile 97.2% 82%
MyBlog.Web.Features.UserManagement.RemoveRoleCommand 100%
MyBlog.Web.Features.UserManagement.RoleDto 100%
MyBlog.Web.Features.UserManagement.UserManagementHandler 0% 0%
MyBlog.Web.Features.UserManagement.UserWithRolesDto 100%
MyBlog.Web.Security.RoleClaimsHelper 91.8% 91.1%
Program 0% 0%

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Note

Copilot was unable to run its full agentic suite in this review.

Adds a standardized Sprint Planning workflow to the squad process docs, triggered by plan.md creation/material updates, and documents the responsibilities split across Ralph/Aragorn/Boromir.

Changes:

  • Added a Sprint Planning ceremony entry to the ceremonies template.
  • Introduced a new sprint-planning playbook and a corresponding injectable skill.
  • Updated routing to include sprint planning responsibilities, skill/playbook injection, and a new guardrail.

Reviewed changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated 5 comments.

File Description
.squad/templates/ceremonies.md Documents the Sprint Planning ceremony trigger, roles, and agenda.
.squad/routing.md Routes sprint-planning work, adds injection guidance and a guardrail for plan.md updates.
.squad/playbooks/sprint-planning.md Full end-to-end playbook describing milestones, issues, project board usage, and worktrees.
.squad/skills/sprint-planning/SKILL.md Skill card to inject the sprint-planning workflow and CLI patterns into agent prompts.

Comment on lines +25 to +26
Planning is **mandatory for ALL plans** — see `.squad/ceremonies.md` (Sprint
Planning ceremony) for the trigger and participants.

Copilot AI Apr 19, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This references .squad/ceremonies.md, but the ceremony added in this PR is in .squad/templates/ceremonies.md. If .squad/ceremonies.md doesn’t exist (or isn’t generated), this link will be broken; update the reference to the correct path (or add the expected file) to keep documentation navigable.

Copilot uses AI. Check for mistakes.
# Sprint Planning Playbook

**Owner:** Ralph (decomposition) + Aragorn (GH artifacts) + Boromir (worktrees)
**Ref:** `.squad/ceremonies.md` (Sprint Planning ceremony)

Copilot AI Apr 19, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same issue as the skill doc: this points to .squad/ceremonies.md but the ceremony entry in this PR is under .squad/templates/ceremonies.md. Update the reference (or ensure the referenced file exists) so readers can follow the link.

Copilot uses AI. Check for mistakes.

**Naming convention:** `Sprint {N}: {Theme}` (e.g., `Sprint 1: Foundation`)

Note the milestone number returned — you will need it for Step 5 and Step 7.

Copilot AI Apr 19, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Step 5 is worktree/branch setup and doesn’t use a milestone number. This is internally inconsistent and can confuse the operator; update the text to reference only the steps that actually require the milestone number (e.g., Step 7), or adjust the steps so the milestone number is used where claimed.

Copilot uses AI. Check for mistakes.

```bash
# 1. Ralph verifies 100% milestone completion
gh api repos/mpaulosky/MyBlog/milestones/{N} | jq '{title,open_issues,closed_issues}'

Copilot AI Apr 19, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In the GitHub API, {N} here is interpreted as the milestone number/ID, which typically won’t match the sprint sequence number (Sprint 1/2/3). The playbook correctly distinguishes {milestone_number} later; this command should also use {milestone_number} (or clearly state how to look it up), otherwise the documented command is likely to query the wrong milestone or 404.

Copilot uses AI. Check for mistakes.
Comment on lines +102 to +104
## Step 4 — Aragorn: Add Issues to Project Board

Add each new issue to the **MyBlog** GitHub Project:

Copilot AI Apr 19, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The PR description notes a manual prerequisite (project creation + project OAuth scope via browser flow), but the playbook/skill don’t call this out. Since Step 4 depends on that prerequisite, add a short prerequisite note here (and/or in the skill) explaining the required auth scope and that the project must exist, otherwise the workflow will fail when run 'automatically' on plan.md updates.

Copilot uses AI. Check for mistakes.
- Replace {PROJECT_NUMBER} placeholder with project 4 (MyBlog)
- Repo linked to https://github.com/users/mpaulosky/projects/4
- Status columns confirmed: Backlog, In Sprint, In Review, Done, Released

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@github-actions

Copy link
Copy Markdown
Contributor

Code Coverage

Package Line Rate Branch Rate Complexity Health
Domain 0% 0% 38
Web 0% 0% 334
ServiceDefaults 0% 0% 18
Domain 0% 0% 38
Web 0% 0% 334
ServiceDefaults 0% 0% 18
AppHost 0% 100% 1
Domain 43% 0% 38
Web 5% 1% 334
ServiceDefaults 0% 0% 18
AppHost 0% 100% 1
Domain 43% 0% 38
Web 5% 1% 334
ServiceDefaults 0% 0% 18
Domain 93% 50% 38
Web 63% 65% 334
ServiceDefaults 0% 0% 18
Domain 93% 50% 38
Web 63% 65% 334
ServiceDefaults 0% 0% 18
Summary 23% (1000 / 4382) 21% (338 / 1644) 2342

@mpaulosky
mpaulosky merged commit c8c63a1 into dev Apr 19, 2026
5 checks passed
@mpaulosky
mpaulosky deleted the squad/28-sprint-planning-workflow branch April 19, 2026 19:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Feature] Standard Sprint Planning Workflow for Squad

2 participants