sprint-retro
Skill4 starsChanged 6 months agoApache-2.0View on GitHub
Use when running a sprint retrospective, generating a retro, preparing retro data, or summarizing team activity for a retrospective. Takes team member names or a Slack alias as input. Gathers data from GitHub, Slack, Jira, Confluence, Google Docs, and CI/CD with strict privacy filtering.
3 other projects use a version of this.
Adopted by
Most recently taken up by
- drvoss/everything-copilot-clitheir own version, first seen Oct 26, 2026
- loremaster-ai/loremastertheir own version, first seen Jul 21, 2026
- benoror/obsidianos_worktheir own version, first seen Jun 11, 2026
Other versions3 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 3
- benoror/obsidianos_work★ 166same name
- drvoss/everything-copilot-cli★ 48same name
- loremaster-ai/loremaster★ 4same name
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 repository57 other files it gives its agents.
- autopilotSkill
- build-python-librarySkill
- build-temporalSkill
- canon-design-reviewSkill
- canon-pr-reviewSkill
- canon-reviewSkill
- ccr-modelsSkill
- ccr-runSkill
- chartSkill
- ci-health-reportSkill
- code-quality-trendsSkill
- competitive-matrixSkill
- councilSkill
- create-skillSkill
- deep-debug-ensemble-v1Skill
- deep-debugSkill
- deep-designSkill
- deep-ideaSkill
- deep-planSkill
- deep-qa-ensemble-v1Skill
- deep-qaSkill
- deep-researchSkill
- dependency-auditSkill
- deploy-status-reportSkill
- develop-board-gameSkill
- diagramSkill
- docxSkill
- dora-lite-reportSkill
- find-skillSkill
- flaky-test-diagnoserSkill
- gap-finderSkill
- gen-crash-testSkill
- gen-smokeSkill
- goal-managerSkill
- init-github-repoSkill
- loop-until-doneSkill
- magic-fetchSkill
- ml-pipeline-reportSkill
- monitorSkill
- napSkill
- pipeline-health-reportSkill
- platform-friction-detectorSkill
- pptxSkill
- prod-readinessSkill
- prompt-clash-ensembleSkill
- prompt-clashSkill
- retrospectSkill
- slack-digestSkill
- slidesSkill
- specSkill
- tableSkill
- team-temporalSkill
- timelineSkill
- update-stop-gateSkill
- user-activity-reportSkill
- vc-gauntletSkill
- xlsxSkill
The file
We split this skill into the rules it gives an agent
7 rules. 0 are common, 7 are distinctive, and 0 are very specific to this project.
0
Common
Most of the 3 edited versions we read keep these.
7
Distinctive
This author's own choices. Worth a look.
0
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 22
All data passes through a 5-gate privacy checklist before inclusion.
- Distinctive: line 23
Every retro item must cite a specific public data source.
- Distinctive: line 52
Before delivering, verify ALL:
- Distinctive: line 72
Active filtering, not passive trust: Never rely on tools to filter private content.
- Distinctive: line 73
Sanitized leaks are still leaks: Never paraphrase, summarize, or extract themes from private content.
- Distinctive: line 74
Resolve before searching: If input is an alias, resolve to names first.
- Distinctive: line 78
No filler: Every bullet cites a source.
“Common” is measured: kept by at least 6 in 10 of the 3 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Sprint Retro
Generates a data-backed sprint retrospective from multiple internal sources with strict privacy filtering that excludes DMs, private channels, restricted documents, and individually-shared content.
Execution model
- All data passes through a 5-gate privacy checklist before inclusion. No exceptions.
- Every retro item must cite a specific public data source. Uncited items are filler — delete them.
- Sanitized or paraphrased private content is still a leak. Discard entirely.
- Time pressure never relaxes privacy gates. Shorter retro, not weaker filtering.
- Evidence file (
sprint-retro-evidence.json) must exist on disk before claiming completion. - Termination label is an honest enum, not self-assessed "done."
Workflow
- Parse input — extract team member names or Slack alias, sprint window, repo list from arguments.
- Resolve alias — if input starts with
@, resolve to individual names via Pandora/Slack search. List resolved names for user verification. See_shared/identity-resolution.mdfor the canonical identity resolution workflow. See DATA-SOURCES.md. - Gather data from all sources — query GitHub, Slack (public only), Jira, Google Docs, CI/CD in parallel. See DATA-SOURCES.md.
- Apply privacy gates — run every search result through the 5-gate checklist. Discard anything that fails any gate. See PRIVACY.md.
- Check data coverage — count sources with actual results. If fewer than 3: label is
retro_partial. See GOLDEN-RULES.md. - Synthesize retro document — produce the retro in the structured format. Every item cites a source. Empty sections say "[No data available]" not filler. Ownership filter: only include items a resolved team member authored/owned (PR author, thread starter, ticket assignee) — discard items the team merely commented on, reacted to, or observed in a shared channel. See FORMAT.md and GOLDEN-RULES.md rule 9.
- Write evidence file — write
sprint-retro-evidence.jsonwith source coverage, privacy gate status, and termination label. See FORMAT.md. - Deliver — present the retro document and evidence file. Note any coverage gaps.
Honest termination labels
| Label | Meaning |
retro_complete | 3+ sources returned data, all privacy gates applied, evidence file on disk. |
retro_partial | Fewer than 3 sources returned data, or one or more sources failed. Coverage gaps noted. |
blocked_no_data | No sources returned usable data. Retro cannot be produced. |
blocked_alias_unresolved | Alias could not be resolved to team members. User input needed. |
cancelled | User interrupted. |
Self-review checklist
Before delivering, verify ALL:
- Every retro item cites a specific public source (PR link, Slack thread topic, Jira ID, build metric)
- Zero items derived from DMs, private channels, or restricted documents
- Zero items containing individual blame for failures (reframed as system issues)
- Data coverage table present with status for each of 5 sources
sprint-retro-evidence.jsonexists on disk withprivacy_gates_applied: true- Termination label matches actual coverage (not
retro_completeif fewer than 3 sources) - Team members listed in output header (resolved from alias if applicable)
- Every retro item authored/owned by a resolved team member — no bystander attribution (rule 9)
- No generic filler text in any section — empty sections say "[No data available]"
- Privacy footer present at end of document
- No document titles containing sensitive keywords (1:1, performance, comp, PIP) appear anywhere
- HTML version uploaded to S3 with commuter link (unless
--no-htmlor upload failed with noted fallback) - Slack/chat delivery uses TLDR + link, not the full report
Golden rules
Hard rules. Never violate these.
- Active filtering, not passive trust. Never rely on tools to filter private content. Every result passes the 5-gate checklist or gets discarded.
- Sanitized leaks are still leaks. Never paraphrase, summarize, or extract themes from private content. Discard entirely.
- Resolve before searching. If input is an alias, resolve to names first. Never skip to keyword search.
- System blame, never individual blame. Frame all problems as process/system issues, even when public data shows individual error.
- Minimum 3 sources for complete. Fewer than 3 data sources with results =
retro_partiallabel. - Evidence file is the gate.
sprint-retro-evidence.jsonmust exist on disk before claiming completion. - No filler. Every bullet cites a source. Empty sections say "[No data available]", not generic observations.
- Urgency never relaxes privacy. Under time pressure, produce a shorter retro, not a faster-filtered one.
Anti-rationalization counter-table
| Excuse | Reality |
| "The search tool returned it, so it must be team-visible." | Search tools index broadly. Run every result through the 5-gate checklist in PRIVACY.md. |
| "I'll include a sanitized version without names." | Sanitized private content reveals what was discussed privately. Discard the entire item. |
| "We're short on time, quick privacy pass is fine." | All 5 gates apply regardless of urgency. Shorter retro, not weaker filtering. |
| "The user asked about this topic, so I should include whatever I find." | User requests do not override privacy gates. Note the topic exists but details are in private sources. |
| "I only have GitHub data but the user needs it now." | Label it retro_partial. Explicit coverage gaps. Never present partial data as complete. |
| "I can infer from the public reference to a private conversation." | Inference from public references to private content is still a leak. Include only explicit public statements. |
| "The doc is shared with the whole team." | Check the actual sharing list. Threshold is 3+ named viewers. |
Reference files
| File | Contents |
| DATA-SOURCES.md | How to query each source (GitHub, Slack, Jira, Docs, CI/CD), alias resolution, failure diagnosis |
| PRIVACY.md | 5-gate privacy checklist, DM trail rule, audience-of-one rule, emergency stop |
| FORMAT.md | Retro document template, evidence file schema, formatting rules |
| GOLDEN-RULES.md | Expanded rules with detection criteria, full counter-table |
| INTEGRATION.md | MCP tool requirements, degraded mode protocol, parallel agent strategy |
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.

