Skip to content

feat(ceremonies): automated retro enforcement - GitHub Issues over markdown - #630

Merged
bradygaster merged 3 commits into
bradygaster:devfrom
tamirdresher:retro-enforcement-v2
Mar 28, 2026
Merged

feat(ceremonies): automated retro enforcement - GitHub Issues over markdown#630
bradygaster merged 3 commits into
bradygaster:devfrom
tamirdresher:retro-enforcement-v2

Conversation

@tamirdresher

Copy link
Copy Markdown
Collaborator

Replaces #607 with corrected file structure per Brady review feedback.

Closes #601

Changes:

  • Files in correct paths: packages/squad-cli/templates/skills/retro-enforcement/SKILL.md
  • Ceremonies template updated (.squad-templates/ceremonies.md) with Field/Value format
  • Added .changeset/retro-enforcement.md
  • Targeting dev branch (was main)
  • Only 3 files changed (no internal .squad logs/history accidentally included)

…rkdown

- Add retro-enforcement skill to packages/squad-cli/templates/skills/
- Test-RetroOverdue function: blocks work queue if no retro log in last 7 days
- Action items must be GitHub Issues (labeled retro-action), not markdown checklists
- Update ceremonies template with enforcement-aware Retrospective section
- Production data from tamirdresher/tamresearch1: 0% completion (markdown) -> 100% (Issues)

Closes bradygaster#601

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Add packages/squad-sdk/templates/skills/retro-enforcement/SKILL.md (mirror of CLI)
- Add docs/proposals/retro-enforcement.md (required per proposal-first policy)
@tamirdresher

Copy link
Copy Markdown
Collaborator Author

Addressed review feedback: (1) Added packages/squad-sdk/templates/skills/retro-enforcement/SKILL.md mirror. (2) Added docs/proposals/retro-enforcement.md proposal document. PR already targets dev with correct @bradygaster scoped changeset.

@bradygaster bradygaster left a comment

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

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

Flight Review — PR #630

Tamir, great work iterating on this. This is a substantial improvement over #607:

  • ✅ Targets dev branch (was main)
  • ✅ Changeset included with correct package scopes
  • ✅ Ceremonies template uses Field/Value table format
  • ✅ Proposal doc included (was missing in #607)
  • ✅ Content quality remains strong — the production data is compelling

Three structural items to fix before merge:

1. Proposal location: docs/proposals/.squad/proposals/

Existing proposals live at .squad/proposals/ (see coordinator-restraint.md and prompt-architecture-analysis.md there). Move docs/proposals/retro-enforcement.md.squad/proposals/retro-enforcement.md to follow the established convention.

2. Skill location: packages/*/templates/skills/templates/skills/

I know the #607 review suggested packages/squad-cli/templates/skills/, but those directories don't actually exist in the project. The existing distributable skills pattern is templates/skills/{skill-name}/SKILL.md at the repo root (see squad-conventions, rework-rate, nap). Place a single SKILL.md at templates/skills/retro-enforcement/SKILL.md instead of two identical copies in non-existent package directories. One source of truth, follows existing convention.

3. SKILL.md frontmatter

All existing skills use YAML frontmatter (name, description, domain, confidence, source). Add frontmatter to match the project template at .squad/skill.md:

---
name: "retro-enforcement"
description: "Enforce retro cadence and GitHub Issues for action items"
domain: "ceremonies, process"
confidence: "high"
source: "manual"
---

The content below the frontmatter is solid — no changes needed there.


Summary: The feature itself is well-designed, well-documented, and production-tested. These three items are all about file placement and format conventions — straightforward fixes. Looking forward to the next iteration.

Copilot AI review requested due to automatic review settings March 28, 2026 13:47

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Adds a “retro-enforcement” skill template that describes a PowerShell-based overdue-retro check and updates the ceremonies template to include an enforcement-aware retrospective definition, with a changeset entry for release tracking.

Changes:

  • Added retro-enforcement skill templates to both CLI and SDK template trees.
  • Updated canonical ceremonies template to include “Retrospective with Enforcement” in Field/Value format.
  • Added proposal doc + changeset entry describing the feature and release impact.

Reviewed changes

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

Show a summary per file
File Description
packages/squad-sdk/templates/skills/retro-enforcement/SKILL.md Adds the SDK copy of the retro-enforcement skill template (PowerShell examples + verification guidance).
packages/squad-cli/templates/skills/retro-enforcement/SKILL.md Adds the CLI copy of the retro-enforcement skill template (same content as SDK copy).
docs/proposals/retro-enforcement.md Adds a proposal document describing motivation, approach, and risks.
.squad-templates/ceremonies.md Updates canonical ceremonies template with an enforcement-oriented retrospective entry.
.changeset/retro-enforcement.md Adds release metadata for CLI/SDK version bumps and change summary.

Comment on lines +44 to +52
---

## Retrospective with Enforcement

| Field | Value |
|-------|-------|
| **Trigger** | auto |
| **When** | weekly |
| **Condition** | No *retrospective* log in .squad/log/ within the last 7 days |

Copilot AI Mar 28, 2026

Copy link

Choose a reason for hiding this comment

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

.squad-templates/ is the canonical source for synced templates, but the mirror copies (e.g. templates/ceremonies.md, packages/squad-cli/templates/ceremonies.md, packages/squad-sdk/templates/ceremonies.md) are still on the older content. This will cause test/template-sync.test.ts to fail. Run node scripts/sync-templates.mjs and commit the synced mirror updates as part of this PR.

Copilot uses AI. Check for mistakes.
$content = Get-Content $RetroLogPath -Raw

# Check for Issue references (e.g., #1478, https://github.com/.../issues/1478)
$issueRefs = [regex]::Matches($content, '(?:#\d{3,}|issues/\d{3,})')

Copilot AI Mar 28, 2026

Copy link

Choose a reason for hiding this comment

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

The Issue reference regex requires 3+ digits (#\d{3,} / issues/\d{3,}), which will miss repositories with low issue numbers (e.g., #12). Use a \d+-style match so action-item verification works in newly created repos too.

Suggested change
$issueRefs = [regex]::Matches($content, '(?:#\d{3,}|issues/\d{3,})')
$issueRefs = [regex]::Matches($content, '(?:#\d+|issues/\d+)')

Copilot uses AI. Check for mistakes.
Comment on lines +82 to +83
# Check for Issue references (e.g., #1478, https://github.com/.../issues/1478)
$issueRefs = [regex]::Matches($content, '(?:#\d{3,}|issues/\d{3,})')

Copilot AI Mar 28, 2026

Copy link

Choose a reason for hiding this comment

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

The Issue reference regex requires 3+ digits (#\d{3,} / issues/\d{3,}), which will miss repositories with low issue numbers (e.g., #12). Use a \d+-style match so action-item verification works in newly created repos too.

Suggested change
# Check for Issue references (e.g., #1478, https://github.com/.../issues/1478)
$issueRefs = [regex]::Matches($content, '(?:#\d{3,}|issues/\d{3,})')
# Check for Issue references (e.g., #12, #1478, https://github.com/.../issues/7, https://github.com/.../issues/1478)
$issueRefs = [regex]::Matches($content, '(?:#\d+|issues/\d+)')

Copilot uses AI. Check for mistakes.
Comment on lines +34 to +38
`powershell
if (Test-RetroOverdue -LogDir ".squad/log" -WindowDays 7) {
# Spawn retro facilitator, wait for log, then resume
}
`

Copilot AI Mar 28, 2026

Copy link

Choose a reason for hiding this comment

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

The PowerShell example here is not fenced as a code block (it uses single backticks). Switch to triple-backtick fencing (powershell ... ) so the snippet renders correctly in Markdown.

Copilot uses AI. Check for mistakes.
Comment on lines +1 to +4
---
"@bradygaster/squad-cli": minor
"@bradygaster/squad-sdk": patch
---

Copilot AI Mar 28, 2026

Copy link

Choose a reason for hiding this comment

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

PR description says only 3 files changed, but this PR also adds packages/squad-sdk/templates/skills/retro-enforcement/SKILL.md and docs/proposals/retro-enforcement.md (5 files total). Please update the PR description to match the actual diff, or drop the extra files if they were unintended.

Copilot uses AI. Check for mistakes.
@bradygaster

Copy link
Copy Markdown
Owner

@copilot apply changes based on the comments in this thread

1 similar comment
@bradygaster

Copy link
Copy Markdown
Owner

@copilot apply changes based on the comments in this thread

@bradygaster
bradygaster merged commit aa91ba4 into bradygaster:dev Mar 28, 2026
7 checks passed
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.

feat: Automated retrospective ceremony with enforcement

3 participants