retro-enforcement
Skill3.4k starsChanged 2 months agoMITView on GitHub
Ensure retrospectives happen on schedule and that their action items are tracked in GitHub Issues — not markdown checklists. This skill addresses a specific, measured failure mode: 0% completion rate on markdown retro action items across 6 consecutive retrospectives. GitHub Issues have an 85%+ completion rate in the same squad. The format was the problem, not the people. The function checks .squad/log/ for any file matching *retrospective* dated within the last $WindowDays days (default: 7). If none is found, the…
2 other projects use a version of this, 2 of them edited.
Adopted by
Most recently taken up by
- microsoft/github-vteam-industry-demosedited, first seen Oct 25, 2026
- github/gh-awedited, first seen May 27, 2026
Other versions2 projects use a version of this.
Word for word · 0
None found.
Edited · 2
- github/gh-aw★ 5.6k98% same
- microsoft/github-vteam-industry-demos★ 298% same
Wrote their own version · 0
None found.
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository247 other files it gives its agents.
- .github/agents.mdAGENTS.md
- .github/copilot-instructions.mdCopilot instructions
- packages/squad-cli/templates/copilot-instructions.mdCopilot instructions
- packages/squad-sdk/templates/copilot-instructions.mdCopilot instructions
- .squad-templates/copilot-instructions.mdCopilot instructions
- .squad/templates/copilot-instructions.mdCopilot instructions
- templates/copilot-instructions.mdCopilot instructions
- action-skill-contractsSkill
- agent-collaborationSkill
- agent-conductSkill
- architectural-proposalsSkill
- architectural-reviewSkill
- archival-integritySkill
- ci-validation-gatesSkill
- client-compatibilitySkill
- cli-wiringSkill
- content-scopeSkill
- distributed-meshSkill
- documentation-maintenanceSkill
- github-multi-accountSkill
- git-workflowSkill
- history-hygieneSkill
- init-modeSkill
- model-selectionSkill
- pr-lifecycleSkill
- protected-filesSkill
- release-processSkill
- reskillSkill
- reviewer-protocolSkill
- secret-handlingSkill
- security-reviewSkill
- squad-conventionsSkill
- test-disciplineSkill
- windows-compatibilitySkill
- agentic-workflow-designerSkill
- gh-aw-reliabilitySkill
- iterative-retrievalSkill
- reflectSkill
- {skill-name}Skill
- agent-collaborationSkill
- agent-conductSkill
- architectural-proposalsSkill
- ci-validation-gatesSkill
- client-compatibilitySkill
- cli-wiringSkill
- coordinator-init-modeSkill
- coordinator-response-modeSkill
- coordinator-source-of-truthSkill
- cross-machine-coordinationSkill
- cross-squad-communicationSkill
- cross-squadSkill
- distributed-meshSkill
- docs-standardsSkill
- e2e-template-testingSkill
- economy-modeSkill
- error-recoverySkill
- external-commsSkill
- fact-checkingSkill
- gh-auth-isolationSkill
- gh-aw-enlistmentSkill
- The first 60 shown.
The file
We split this skill into the rules it gives an agent
5 rules. About 0 are common, 3 are distinctive, and 2 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈3
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 5
Ensure retrospectives happen on schedule and that their action items are tracked in GitHub Issues — not markdown checklists.
- Very specific: line 42
Call Test-RetroOverdue at the start of every round, before building the work queue.
- Very specific: line 62
When Test-RetroOverdue returns $true:
- Distinctive: line 68
Resume normal round: after retro log confirmed
- Distinctive: line 72
Every retro action item MUST become a GitHub Issue.
≈ “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
Skill: Retro Enforcement
Purpose
Ensure retrospectives happen on schedule and that their action items are tracked in GitHub Issues — not markdown checklists.
This skill addresses a specific, measured failure mode: 0% completion rate on markdown retro action items across 6 consecutive retrospectives. GitHub Issues have an 85%+ completion rate in the same squad. The format was the problem, not the people.
Core Function: Test-RetroOverdue
function Test-RetroOverdue {
param(
[string]$LogDir = ".squad/log",
[int]$WindowDays = 7,
[string]$Pattern = "*retrospective*"
)
$cutoff = (Get-Date).AddDays(-$WindowDays)
$retroLogs = Get-ChildItem -Path $LogDir -Filter $Pattern -ErrorAction SilentlyContinue |
Where-Object { $_.LastWriteTime -ge $cutoff }
return ($retroLogs.Count -eq 0)
}Returns
$true— No retro log found within the window. Retro is overdue. Block other work.$false— At least one retro log found within the window. Proceed normally.
Detection Logic
The function checks .squad/log/ for any file matching *retrospective* dated within the last $WindowDays days (default: 7). If none is found, the retro is overdue.
File naming convention: .squad/log/{ISO8601-timestamp}-retrospective.md
Example: .squad/log/2026-03-24T14-45-00Z-retrospective.md
Coordinator Integration
Call Test-RetroOverdue at the start of every round, before building the work queue.
# At round start — before any work queue construction
if (Test-RetroOverdue -LogDir ".squad/log" -WindowDays 7) {
Write-Host "[RETROSPECTIVE] Retrospective overdue. Running before other work."
# Spawn retro facilitator
Invoke-RetroSession -Mode "catch-up"
# Wait for retro log to be written
# Then resume normal round
}
# Proceed with normal work queue
$workQueue = Get-PendingIssues | Sort-Object -Property PriorityBlocking Semantics
When Test-RetroOverdue returns $true:
- Do not start any other work until the retro completes
- Spawn the facilitator agent (Scribe or designated) with retro mode
- Wait for the log file to be written to
.squad/log/ - Verify action items were created as GitHub Issues (not markdown)
- Resume normal round after retro log confirmed
Action Item Enforcement
Every retro action item MUST become a GitHub Issue. The facilitator agent is responsible for this. The coordinator verifies.
Verification Check
function Test-RetroActionItemsCreated {
param([string]$RetroLogPath)
$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,})')
# Check for unclosed markdown checkboxes (bad pattern)
$openCheckboxes = [regex]::Matches($content, '- \[ \]')
if ($openCheckboxes.Count -gt 0) {
Write-Warning "[RETROSPECTIVE] Found $($openCheckboxes.Count) markdown checkboxes — convert to Issues"
return $false
}
return ($issueRefs.Count -gt 0)
}Why Not Markdown Checklists
From production data in tamirdresher/tamresearch1:
| Retro | Action Items Format | Completion |
| 2025-12-05 | Markdown - [ ] | 0/4 = 0% |
| 2025-12-19 | Markdown - [ ] | 0/3 = 0% |
| 2026-01-09 | Markdown - [ ] | 0/5 = 0% |
| 2026-01-23 | Markdown - [ ] | 0/4 = 0% |
| 2026-02-07 | Markdown - [ ] | 0/3 = 0% |
| 2026-02-21 | Markdown - [ ] | 0/4 = 0% |
| 2026-03-24 | GitHub Issues | 4/4 = 100% (after enforcement) |
Root cause: Markdown checklists have no assignee, no notifications, no close event, and no query surface. They are invisible to every workflow that drives completion.
Cadence Enforcement
Recommended schedule
- Weekly squads: window = 7 days
- Bi-weekly squads: window = 14 days
Ralph integration example
# ralph-watch.ps1 — round start hook
function Invoke-RoundStart {
# 1. Always check retro first
if (Test-RetroOverdue -LogDir "$RepoRoot/.squad/log" -WindowDays 7) {
Write-Host "[RALPH] Retro overdue — enforcing before work queue"
Invoke-RetroSession
return # Re-enter round after retro completes
}
# 2. Normal work queue
$issues = Get-ReadyIssues
foreach ($issue in $issues) {
Invoke-WorkItem -Issue $issue
}
}Skill Metadata
| Field | Value |
| Skill ID | retro-enforcement |
| Category | Ceremonies / Process |
| Trigger | Coordinator round start |
| Dependencies | .squad/log/ directory, GitHub Issues API |
| Tested in | tamirdresher/tamresearch1 (production, March 2026) |
| Outcome | Retro cadence restored; action item completion 0% → 100% |
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.

