@olegkoval/agent-skills 1.32.0 → 1.34.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (32) hide show
  1. package/.claude-plugin/plugin.json +3 -1
  2. package/.cursor-plugin/index.json +10 -0
  3. package/.grok-plugin/index.json +10 -0
  4. package/.kiro/steering/retro-analysis.md +186 -0
  5. package/.kiro/steering/wrap-up.md +77 -0
  6. package/.windsurf/rules/retro-analysis.md +185 -0
  7. package/.windsurf/rules/wrap-up.md +76 -0
  8. package/README.md +6 -4
  9. package/catalog/skills.json +49 -0
  10. package/collections/software-development.json +2 -0
  11. package/package.json +1 -1
  12. package/packages/software-development/add-to-my-skills/adapters/codex/README.md +16 -2
  13. package/packages/software-development/retro-analysis/SKILL.md +195 -0
  14. package/packages/software-development/retro-analysis/adapters/claude/plugin.json +5 -0
  15. package/packages/software-development/retro-analysis/adapters/claude/skills/retro-analysis/SKILL.md +196 -0
  16. package/packages/software-development/retro-analysis/adapters/codex/README.md +16 -0
  17. package/packages/software-development/retro-analysis/adapters/cursor/plugin.json +6 -0
  18. package/packages/software-development/retro-analysis/adapters/cursor/skills/retro-analysis/SKILL.md +197 -0
  19. package/packages/software-development/retro-analysis/adapters/grok/plugin.json +6 -0
  20. package/packages/software-development/retro-analysis/adapters/grok/skills/retro-analysis/SKILL.md +196 -0
  21. package/packages/software-development/retro-analysis/adapters/kiro/steering/retro-analysis.md +186 -0
  22. package/packages/software-development/retro-analysis/adapters/windsurf/rules/retro-analysis.md +185 -0
  23. package/packages/software-development/wrap-up/SKILL.md +86 -0
  24. package/packages/software-development/wrap-up/adapters/claude/plugin.json +5 -0
  25. package/packages/software-development/wrap-up/adapters/claude/skills/wrap-up/SKILL.md +87 -0
  26. package/packages/software-development/wrap-up/adapters/codex/README.md +17 -0
  27. package/packages/software-development/wrap-up/adapters/cursor/plugin.json +6 -0
  28. package/packages/software-development/wrap-up/adapters/cursor/skills/wrap-up/SKILL.md +88 -0
  29. package/packages/software-development/wrap-up/adapters/grok/plugin.json +6 -0
  30. package/packages/software-development/wrap-up/adapters/grok/skills/wrap-up/SKILL.md +87 -0
  31. package/packages/software-development/wrap-up/adapters/kiro/steering/wrap-up.md +77 -0
  32. package/packages/software-development/wrap-up/adapters/windsurf/rules/wrap-up.md +76 -0
@@ -0,0 +1,197 @@
1
+ ---
2
+ name: retro-analysis
3
+ description: Produce a recurring engineering retrospective from repository history, delivery evidence, work patterns, code-quality signals, and prior snapshots, with repository, comparison, and cross-project modes.
4
+ license: MIT
5
+ metadata:
6
+ targets: ["cursor"]
7
+ author: Oleg Koval
8
+ tags:
9
+ - retrospective
10
+ - metrics
11
+ - git
12
+ - productivity
13
+ - code-quality
14
+ - trends
15
+ - planning
16
+ ---
17
+ <!-- Generated by scripts/build-adapters.sh. Do not edit directly. -->
18
+
19
+ # Retro Analysis
20
+
21
+ Run a factual engineering retrospective over a defined time window. The purpose is to explain what changed, how the work happened, what quality signals say, what was learned, and what should improve next. This is an analysis workflow, not a performance-ranking or blame exercise.
22
+
23
+ Use it manually at the end of a day, week, sprint, or release; on a recurring schedule; or when asked what was shipped, where time went, or how delivery quality is trending. When a specific implementation has just reached its goal, run this analysis before or alongside `olko:wrap-up` so the delivery audit and the broader retrospective remain distinct.
24
+
25
+ ## Invocation
26
+
27
+ Accept one of these arguments:
28
+
29
+ - no argument or `7d`: the previous seven calendar days
30
+ - `24h`: the previous 24 hours
31
+ - `14d` or `30d`: the previous N calendar days
32
+ - `compare` or `compare 14d`: compare the selected window with the immediately preceding window of equal length
33
+ - `global`, `global 14d`: aggregate across discoverable repositories and agent sessions
34
+
35
+ If the argument is invalid, print the accepted forms and stop. Do not silently choose a different window.
36
+
37
+ Calendar windows are aligned to midnight in the operator's local timezone. A short hourly window may use a relative timestamp. State the resolved start, end, timezone, scope, and comparison window at the beginning of the report.
38
+
39
+ ## Safety and evidence rules
40
+
41
+ - Be read-only by default. Do not push, merge, deploy, close issues, edit source, or rewrite history.
42
+ - A local retro may write one task-owned snapshot under `.context/retros/` when that directory exists or when persistence is explicitly requested. Never overwrite an existing snapshot; use a date and window-specific filename.
43
+ - Do not fetch or refresh remote refs unless the user or the surrounding workflow authorized that read-side state change. If refs may be stale, say so and use the available evidence.
44
+ - Preserve dirty work, untracked files, existing snapshots, credentials, and unrelated temporary artifacts.
45
+ - Never infer delivery from a local commit. Treat local Git, remote/PR state, CI, deployment, and device or human QA as separate evidence gates.
46
+ - Do not expose secrets, tokens, private prompts, or raw session content. Use aggregate counts and redacted references only.
47
+ - Missing data is `UNKNOWN`, not zero. Distinguish “none found” from “not available”.
48
+ - Do not turn commit count, lines changed, hours, or AI-assisted activity into a simplistic productivity score. Use them as context for the narrative.
49
+
50
+ ## 1. Establish scope and baseline
51
+
52
+ For repository mode:
53
+
54
+ 1. Identify the repository, current branch, `HEAD`, configured author, base branch, and working-tree state.
55
+ 2. Preserve and report pre-existing dirty paths; do not include their changes as delivered work unless the evidence links them to the window.
56
+ 3. Use the repository's local timezone for calendar boundaries. Use UTC timestamps in stored machine-readable data.
57
+ 4. Read only relevant project documentation and task artifacts needed to interpret the changes. Do not invent milestones, objectives, or acceptance criteria.
58
+ 5. Locate prior snapshots in `.context/retros/` and load the immediately preceding comparable snapshot when available.
59
+
60
+ For global mode:
61
+
62
+ 1. Discover repositories from the configured workspace locations or an existing discovery tool. If discovery is unavailable, report that limitation and continue with explicitly supplied paths.
63
+ 2. For each repository, collect the same bounded evidence as repository mode and skip missing, inaccessible, or non-Git directories.
64
+ 3. Optionally include available agent/session summaries or tool telemetry, but only as aggregate, redacted evidence. Do not require a specific agent vendor, plugin, or telemetry format.
65
+ 4. Keep per-project results separate before producing cross-project totals. Never hide a repository-level failure in an aggregate.
66
+
67
+ ## 2. Collect raw evidence
68
+
69
+ Capture enough raw data to reproduce the analysis. Prefer stable Git/provider CLIs already present in the environment. Save only the normalized snapshot unless raw artifacts were explicitly requested.
70
+
71
+ ### Repository history
72
+
73
+ Collect, bounded to the resolved window and scope:
74
+
75
+ - commit hash, author, timestamp, subject, body, and parent information
76
+ - insertions, deletions, files changed, and test-file versus production-file changes
77
+ - commit type signals from Conventional Commit prefixes, labels, or equivalent repository conventions
78
+ - pull request or merge request references present in commits, and provider state when a provider CLI is available
79
+ - changed-file frequency, churn, and hotspots; distinguish generated, vendored, lockfile, and source files when possible
80
+ - per-author commit and file ownership signals, including co-authors and AI-assisted markers only when explicitly present
81
+
82
+ Use `git log --shortstat` or equivalent for commit-level change counts and `git diff --numstat` or equivalent for test/source proportions. If a command cannot run, record the command and reason; do not substitute invented values.
83
+
84
+ ### Delivery and quality signals
85
+
86
+ Inspect only signals that exist in the repository or authorized provider tooling:
87
+
88
+ - branch and remote tracking state, current PR title/body, review state, and current-head checks
89
+ - test files, test commands, recent test-related commits, and known failing or skipped checks
90
+ - changelog, release notes, issue/task references, and plan artifacts when present
91
+ - TODO/backlog markers when a project-maintained backlog exists
92
+ - regression fixes, reverted changes, follow-up fixes, and repeated failure patterns
93
+ - optional review or static-analysis summaries, clearly labeling unavailable or rate-limited providers
94
+
95
+ Never call an absent test suite “healthy”; report `NOT_AVAILABLE`. Never call a skipped check green.
96
+
97
+ ### Work-pattern signals
98
+
99
+ When timestamps are available:
100
+
101
+ - build an hour-of-day histogram in local time
102
+ - group commits or activity into sessions separated by at least 45 minutes of inactivity
103
+ - classify sessions as deep (3+ hours), medium (1–3 hours), or micro (<1 hour)
104
+ - count active days, longest streak, and context switches between repositories or work areas
105
+
106
+ Treat commit timestamps as a proxy, not proof of keyboard time. If session telemetry exists, prefer it and name the source.
107
+
108
+ ## 3. Compute the analysis
109
+
110
+ Use the evidence to calculate, or explicitly mark unavailable, the following dimensions:
111
+
112
+ ### Shipping and scope
113
+
114
+ - features, fixes, refactors, docs, tests, chores, and releases shipped
115
+ - commits, weighted commits, active days, contributors, and referenced PRs
116
+ - version range or release identifiers when the repository exposes them
117
+ - logical lines changed and raw lines changed, reported separately
118
+ - plan or objective items completed, deferred, or still open when a plan is available
119
+
120
+ ### Quality and maintainability
121
+
122
+ - test lines or test files changed relative to production changes
123
+ - test commands run and their current result
124
+ - regressions, reverts, repeated fixes, and hotspots with high churn
125
+ - type, lint, build, security, review, and release signals when available
126
+ - backlog/TODO health only when there is a maintained source to inspect
127
+
128
+ Do not reward large diffs or penalize small ones without explaining their context. A small change that closes a high-value objective can be the most important shipment.
129
+
130
+ ### Focus and delivery flow
131
+
132
+ - commit-type mix and fix ratio; flag a high fix ratio as a signal for investigation, not a diagnosis
133
+ - PR/MR size buckets and time-to-merge when provider data is available
134
+ - work sessions, time-of-day distribution, context switching, and focus patterns
135
+ - planned versus unplanned work, if the plan and change evidence support the comparison
136
+ - the single most consequential shipment or decision, with evidence and caveats
137
+
138
+ ### People and collaboration
139
+
140
+ For multi-author work, provide a factual per-author view of commits, change volume, areas touched, review or PR participation, and notable contributions. Include a team view of ownership concentration, cross-review, handoffs, and shared hotspots. Avoid ranking people by raw LOC or commit count.
141
+
142
+ Use the configured Git author as the personal focus only when it is unambiguous. Otherwise produce a team report and state that no personal identity was selected.
143
+
144
+ ## 4. Compare and track trends
145
+
146
+ For `compare` or any window with a prior snapshot:
147
+
148
+ - compare features/fixes, commits, active days, contributors, PRs, change volume, test signals, regressions, and backlog movement
149
+ - identify meaningful directional changes and explain whether the evidence is strong, weak, or incomplete
150
+ - preserve the same metric definitions between periods; do not compare a repository window to a global window as if they were equivalent
151
+ - report streaks, recurring hotspots, repeated failure modes, and unresolved improvements only when snapshots support them
152
+
153
+ Store a JSON snapshot with stable keys, UTC timestamps, resolved window, scope, repository identity, commit/PR identifiers, metric values, evidence limitations, and a short list of findings. Keep narrative prose out of fields intended for machine comparison. A snapshot is an aid to future analysis, not a source of truth that overrides current evidence.
154
+
155
+ ## 5. Produce the report
156
+
157
+ Lead with a concise, shareable summary of the period. Then use this order:
158
+
159
+ 1. **Scope and evidence** — window, timezone, repositories, branch/base, sources, and limitations.
160
+ 2. **Summary table** — shipping, activity, quality, and delivery metrics with `UNKNOWN` where needed.
161
+ 3. **What shipped** — the most important features, fixes, releases, or decisions, tied to commits/PRs.
162
+ 4. **Trends** — comparison with the previous period, if available.
163
+ 5. **Time and sessions** — active days, session shape, time distribution, and context switching.
164
+ 6. **Quality and test health** — checks, regressions, churn hotspots, review signals, and open risks.
165
+ 7. **Plan completion** — objective items completed, deferred, or missing evidence.
166
+ 8. **Focus and collaboration** — personal or team analysis with fair context.
167
+ 9. **Top wins** — three evidence-backed wins when enough evidence exists.
168
+ 10. **Improvements** — three concrete, small, actionable improvements; fewer is fine when evidence is limited.
169
+ 11. **Next-period habits** — explicit habits or experiments with an owner or trigger when known.
170
+ 12. **Limitations** — missing refs, unavailable provider data, stale telemetry, dirty work, or ambiguous attribution.
171
+
172
+ Use compact tables for exact metrics and prose for interpretation. Label inference as inference. Link or name evidence paths/commit IDs where useful, but never paste private content.
173
+
174
+ ## 6. End-of-task handoff
175
+
176
+ If this run is explicitly closing a completed implementation, continue with `olko:wrap-up`:
177
+
178
+ - use the retro to check that the delivered work matches the original idea and to capture follow-up items
179
+ - let `wrap-up` perform the separate local/remote/PR/CI/deployment/QA gates and task-owned cleanup
180
+ - preserve the retro snapshot and report any limitation instead of deleting evidence
181
+
182
+ For a periodic or global retrospective, do not clean worktrees, branches, logs, or temporary files unless the user explicitly asks for that separate cleanup. Analysis alone must not alter delivery state.
183
+
184
+ ## Minimal final status
185
+
186
+ End every run with:
187
+
188
+ ```text
189
+ RETRO_STATUS: DONE | DONE_WITH_LIMITATIONS | BLOCKED
190
+ WINDOW: <resolved window and timezone>
191
+ SCOPE: <repository or repositories>
192
+ SNAPSHOT: <path, NOT_WRITTEN, or NOT_AVAILABLE>
193
+ TOP_FINDINGS: <short summary>
194
+ NEXT_ACTIONS: <short actionable list>
195
+ ```
196
+
197
+ Use `BLOCKED` only when the requested scope cannot be analyzed safely or the required evidence is inaccessible. A partial but clearly labeled report is `DONE_WITH_LIMITATIONS`.
@@ -0,0 +1,6 @@
1
+ {
2
+ "name": "olko:retro-analysis",
3
+ "version": "0.1.0",
4
+ "description": "Produce repository, comparison, and cross-project engineering retrospectives from delivery, code-quality, work-pattern, and trend evidence.",
5
+ "skills": "skills/"
6
+ }
@@ -0,0 +1,196 @@
1
+ ---
2
+ name: retro-analysis
3
+ description: Produce a recurring engineering retrospective from repository history, delivery evidence, work patterns, code-quality signals, and prior snapshots, with repository, comparison, and cross-project modes.
4
+ license: MIT
5
+ metadata:
6
+ author: Oleg Koval
7
+ tags:
8
+ - retrospective
9
+ - metrics
10
+ - git
11
+ - productivity
12
+ - code-quality
13
+ - trends
14
+ - planning
15
+ ---
16
+ <!-- Generated by scripts/build-adapters.sh. Do not edit directly. -->
17
+
18
+ # Retro Analysis
19
+
20
+ Run a factual engineering retrospective over a defined time window. The purpose is to explain what changed, how the work happened, what quality signals say, what was learned, and what should improve next. This is an analysis workflow, not a performance-ranking or blame exercise.
21
+
22
+ Use it manually at the end of a day, week, sprint, or release; on a recurring schedule; or when asked what was shipped, where time went, or how delivery quality is trending. When a specific implementation has just reached its goal, run this analysis before or alongside `olko:wrap-up` so the delivery audit and the broader retrospective remain distinct.
23
+
24
+ ## Invocation
25
+
26
+ Accept one of these arguments:
27
+
28
+ - no argument or `7d`: the previous seven calendar days
29
+ - `24h`: the previous 24 hours
30
+ - `14d` or `30d`: the previous N calendar days
31
+ - `compare` or `compare 14d`: compare the selected window with the immediately preceding window of equal length
32
+ - `global`, `global 14d`: aggregate across discoverable repositories and agent sessions
33
+
34
+ If the argument is invalid, print the accepted forms and stop. Do not silently choose a different window.
35
+
36
+ Calendar windows are aligned to midnight in the operator's local timezone. A short hourly window may use a relative timestamp. State the resolved start, end, timezone, scope, and comparison window at the beginning of the report.
37
+
38
+ ## Safety and evidence rules
39
+
40
+ - Be read-only by default. Do not push, merge, deploy, close issues, edit source, or rewrite history.
41
+ - A local retro may write one task-owned snapshot under `.context/retros/` when that directory exists or when persistence is explicitly requested. Never overwrite an existing snapshot; use a date and window-specific filename.
42
+ - Do not fetch or refresh remote refs unless the user or the surrounding workflow authorized that read-side state change. If refs may be stale, say so and use the available evidence.
43
+ - Preserve dirty work, untracked files, existing snapshots, credentials, and unrelated temporary artifacts.
44
+ - Never infer delivery from a local commit. Treat local Git, remote/PR state, CI, deployment, and device or human QA as separate evidence gates.
45
+ - Do not expose secrets, tokens, private prompts, or raw session content. Use aggregate counts and redacted references only.
46
+ - Missing data is `UNKNOWN`, not zero. Distinguish “none found” from “not available”.
47
+ - Do not turn commit count, lines changed, hours, or AI-assisted activity into a simplistic productivity score. Use them as context for the narrative.
48
+
49
+ ## 1. Establish scope and baseline
50
+
51
+ For repository mode:
52
+
53
+ 1. Identify the repository, current branch, `HEAD`, configured author, base branch, and working-tree state.
54
+ 2. Preserve and report pre-existing dirty paths; do not include their changes as delivered work unless the evidence links them to the window.
55
+ 3. Use the repository's local timezone for calendar boundaries. Use UTC timestamps in stored machine-readable data.
56
+ 4. Read only relevant project documentation and task artifacts needed to interpret the changes. Do not invent milestones, objectives, or acceptance criteria.
57
+ 5. Locate prior snapshots in `.context/retros/` and load the immediately preceding comparable snapshot when available.
58
+
59
+ For global mode:
60
+
61
+ 1. Discover repositories from the configured workspace locations or an existing discovery tool. If discovery is unavailable, report that limitation and continue with explicitly supplied paths.
62
+ 2. For each repository, collect the same bounded evidence as repository mode and skip missing, inaccessible, or non-Git directories.
63
+ 3. Optionally include available agent/session summaries or tool telemetry, but only as aggregate, redacted evidence. Do not require a specific agent vendor, plugin, or telemetry format.
64
+ 4. Keep per-project results separate before producing cross-project totals. Never hide a repository-level failure in an aggregate.
65
+
66
+ ## 2. Collect raw evidence
67
+
68
+ Capture enough raw data to reproduce the analysis. Prefer stable Git/provider CLIs already present in the environment. Save only the normalized snapshot unless raw artifacts were explicitly requested.
69
+
70
+ ### Repository history
71
+
72
+ Collect, bounded to the resolved window and scope:
73
+
74
+ - commit hash, author, timestamp, subject, body, and parent information
75
+ - insertions, deletions, files changed, and test-file versus production-file changes
76
+ - commit type signals from Conventional Commit prefixes, labels, or equivalent repository conventions
77
+ - pull request or merge request references present in commits, and provider state when a provider CLI is available
78
+ - changed-file frequency, churn, and hotspots; distinguish generated, vendored, lockfile, and source files when possible
79
+ - per-author commit and file ownership signals, including co-authors and AI-assisted markers only when explicitly present
80
+
81
+ Use `git log --shortstat` or equivalent for commit-level change counts and `git diff --numstat` or equivalent for test/source proportions. If a command cannot run, record the command and reason; do not substitute invented values.
82
+
83
+ ### Delivery and quality signals
84
+
85
+ Inspect only signals that exist in the repository or authorized provider tooling:
86
+
87
+ - branch and remote tracking state, current PR title/body, review state, and current-head checks
88
+ - test files, test commands, recent test-related commits, and known failing or skipped checks
89
+ - changelog, release notes, issue/task references, and plan artifacts when present
90
+ - TODO/backlog markers when a project-maintained backlog exists
91
+ - regression fixes, reverted changes, follow-up fixes, and repeated failure patterns
92
+ - optional review or static-analysis summaries, clearly labeling unavailable or rate-limited providers
93
+
94
+ Never call an absent test suite “healthy”; report `NOT_AVAILABLE`. Never call a skipped check green.
95
+
96
+ ### Work-pattern signals
97
+
98
+ When timestamps are available:
99
+
100
+ - build an hour-of-day histogram in local time
101
+ - group commits or activity into sessions separated by at least 45 minutes of inactivity
102
+ - classify sessions as deep (3+ hours), medium (1–3 hours), or micro (<1 hour)
103
+ - count active days, longest streak, and context switches between repositories or work areas
104
+
105
+ Treat commit timestamps as a proxy, not proof of keyboard time. If session telemetry exists, prefer it and name the source.
106
+
107
+ ## 3. Compute the analysis
108
+
109
+ Use the evidence to calculate, or explicitly mark unavailable, the following dimensions:
110
+
111
+ ### Shipping and scope
112
+
113
+ - features, fixes, refactors, docs, tests, chores, and releases shipped
114
+ - commits, weighted commits, active days, contributors, and referenced PRs
115
+ - version range or release identifiers when the repository exposes them
116
+ - logical lines changed and raw lines changed, reported separately
117
+ - plan or objective items completed, deferred, or still open when a plan is available
118
+
119
+ ### Quality and maintainability
120
+
121
+ - test lines or test files changed relative to production changes
122
+ - test commands run and their current result
123
+ - regressions, reverts, repeated fixes, and hotspots with high churn
124
+ - type, lint, build, security, review, and release signals when available
125
+ - backlog/TODO health only when there is a maintained source to inspect
126
+
127
+ Do not reward large diffs or penalize small ones without explaining their context. A small change that closes a high-value objective can be the most important shipment.
128
+
129
+ ### Focus and delivery flow
130
+
131
+ - commit-type mix and fix ratio; flag a high fix ratio as a signal for investigation, not a diagnosis
132
+ - PR/MR size buckets and time-to-merge when provider data is available
133
+ - work sessions, time-of-day distribution, context switching, and focus patterns
134
+ - planned versus unplanned work, if the plan and change evidence support the comparison
135
+ - the single most consequential shipment or decision, with evidence and caveats
136
+
137
+ ### People and collaboration
138
+
139
+ For multi-author work, provide a factual per-author view of commits, change volume, areas touched, review or PR participation, and notable contributions. Include a team view of ownership concentration, cross-review, handoffs, and shared hotspots. Avoid ranking people by raw LOC or commit count.
140
+
141
+ Use the configured Git author as the personal focus only when it is unambiguous. Otherwise produce a team report and state that no personal identity was selected.
142
+
143
+ ## 4. Compare and track trends
144
+
145
+ For `compare` or any window with a prior snapshot:
146
+
147
+ - compare features/fixes, commits, active days, contributors, PRs, change volume, test signals, regressions, and backlog movement
148
+ - identify meaningful directional changes and explain whether the evidence is strong, weak, or incomplete
149
+ - preserve the same metric definitions between periods; do not compare a repository window to a global window as if they were equivalent
150
+ - report streaks, recurring hotspots, repeated failure modes, and unresolved improvements only when snapshots support them
151
+
152
+ Store a JSON snapshot with stable keys, UTC timestamps, resolved window, scope, repository identity, commit/PR identifiers, metric values, evidence limitations, and a short list of findings. Keep narrative prose out of fields intended for machine comparison. A snapshot is an aid to future analysis, not a source of truth that overrides current evidence.
153
+
154
+ ## 5. Produce the report
155
+
156
+ Lead with a concise, shareable summary of the period. Then use this order:
157
+
158
+ 1. **Scope and evidence** — window, timezone, repositories, branch/base, sources, and limitations.
159
+ 2. **Summary table** — shipping, activity, quality, and delivery metrics with `UNKNOWN` where needed.
160
+ 3. **What shipped** — the most important features, fixes, releases, or decisions, tied to commits/PRs.
161
+ 4. **Trends** — comparison with the previous period, if available.
162
+ 5. **Time and sessions** — active days, session shape, time distribution, and context switching.
163
+ 6. **Quality and test health** — checks, regressions, churn hotspots, review signals, and open risks.
164
+ 7. **Plan completion** — objective items completed, deferred, or missing evidence.
165
+ 8. **Focus and collaboration** — personal or team analysis with fair context.
166
+ 9. **Top wins** — three evidence-backed wins when enough evidence exists.
167
+ 10. **Improvements** — three concrete, small, actionable improvements; fewer is fine when evidence is limited.
168
+ 11. **Next-period habits** — explicit habits or experiments with an owner or trigger when known.
169
+ 12. **Limitations** — missing refs, unavailable provider data, stale telemetry, dirty work, or ambiguous attribution.
170
+
171
+ Use compact tables for exact metrics and prose for interpretation. Label inference as inference. Link or name evidence paths/commit IDs where useful, but never paste private content.
172
+
173
+ ## 6. End-of-task handoff
174
+
175
+ If this run is explicitly closing a completed implementation, continue with `olko:wrap-up`:
176
+
177
+ - use the retro to check that the delivered work matches the original idea and to capture follow-up items
178
+ - let `wrap-up` perform the separate local/remote/PR/CI/deployment/QA gates and task-owned cleanup
179
+ - preserve the retro snapshot and report any limitation instead of deleting evidence
180
+
181
+ For a periodic or global retrospective, do not clean worktrees, branches, logs, or temporary files unless the user explicitly asks for that separate cleanup. Analysis alone must not alter delivery state.
182
+
183
+ ## Minimal final status
184
+
185
+ End every run with:
186
+
187
+ ```text
188
+ RETRO_STATUS: DONE | DONE_WITH_LIMITATIONS | BLOCKED
189
+ WINDOW: <resolved window and timezone>
190
+ SCOPE: <repository or repositories>
191
+ SNAPSHOT: <path, NOT_WRITTEN, or NOT_AVAILABLE>
192
+ TOP_FINDINGS: <short summary>
193
+ NEXT_ACTIONS: <short actionable list>
194
+ ```
195
+
196
+ Use `BLOCKED` only when the requested scope cannot be analyzed safely or the required evidence is inaccessible. A partial but clearly labeled report is `DONE_WITH_LIMITATIONS`.
@@ -0,0 +1,186 @@
1
+ <!-- Generated by scripts/build-adapters.sh. Do not edit directly. -->
2
+
3
+ ---
4
+ inclusion: manual
5
+ description: "Produce repository, comparison, and cross-project engineering retrospectives from delivery, code-quality, work-pattern, and trend evidence."
6
+ ---
7
+
8
+ # Retro Analysis
9
+
10
+ Run a factual engineering retrospective over a defined time window. The purpose is to explain what changed, how the work happened, what quality signals say, what was learned, and what should improve next. This is an analysis workflow, not a performance-ranking or blame exercise.
11
+
12
+ Use it manually at the end of a day, week, sprint, or release; on a recurring schedule; or when asked what was shipped, where time went, or how delivery quality is trending. When a specific implementation has just reached its goal, run this analysis before or alongside `olko:wrap-up` so the delivery audit and the broader retrospective remain distinct.
13
+
14
+ ## Invocation
15
+
16
+ Accept one of these arguments:
17
+
18
+ - no argument or `7d`: the previous seven calendar days
19
+ - `24h`: the previous 24 hours
20
+ - `14d` or `30d`: the previous N calendar days
21
+ - `compare` or `compare 14d`: compare the selected window with the immediately preceding window of equal length
22
+ - `global`, `global 14d`: aggregate across discoverable repositories and agent sessions
23
+
24
+ If the argument is invalid, print the accepted forms and stop. Do not silently choose a different window.
25
+
26
+ Calendar windows are aligned to midnight in the operator's local timezone. A short hourly window may use a relative timestamp. State the resolved start, end, timezone, scope, and comparison window at the beginning of the report.
27
+
28
+ ## Safety and evidence rules
29
+
30
+ - Be read-only by default. Do not push, merge, deploy, close issues, edit source, or rewrite history.
31
+ - A local retro may write one task-owned snapshot under `.context/retros/` when that directory exists or when persistence is explicitly requested. Never overwrite an existing snapshot; use a date and window-specific filename.
32
+ - Do not fetch or refresh remote refs unless the user or the surrounding workflow authorized that read-side state change. If refs may be stale, say so and use the available evidence.
33
+ - Preserve dirty work, untracked files, existing snapshots, credentials, and unrelated temporary artifacts.
34
+ - Never infer delivery from a local commit. Treat local Git, remote/PR state, CI, deployment, and device or human QA as separate evidence gates.
35
+ - Do not expose secrets, tokens, private prompts, or raw session content. Use aggregate counts and redacted references only.
36
+ - Missing data is `UNKNOWN`, not zero. Distinguish “none found” from “not available”.
37
+ - Do not turn commit count, lines changed, hours, or AI-assisted activity into a simplistic productivity score. Use them as context for the narrative.
38
+
39
+ ## 1. Establish scope and baseline
40
+
41
+ For repository mode:
42
+
43
+ 1. Identify the repository, current branch, `HEAD`, configured author, base branch, and working-tree state.
44
+ 2. Preserve and report pre-existing dirty paths; do not include their changes as delivered work unless the evidence links them to the window.
45
+ 3. Use the repository's local timezone for calendar boundaries. Use UTC timestamps in stored machine-readable data.
46
+ 4. Read only relevant project documentation and task artifacts needed to interpret the changes. Do not invent milestones, objectives, or acceptance criteria.
47
+ 5. Locate prior snapshots in `.context/retros/` and load the immediately preceding comparable snapshot when available.
48
+
49
+ For global mode:
50
+
51
+ 1. Discover repositories from the configured workspace locations or an existing discovery tool. If discovery is unavailable, report that limitation and continue with explicitly supplied paths.
52
+ 2. For each repository, collect the same bounded evidence as repository mode and skip missing, inaccessible, or non-Git directories.
53
+ 3. Optionally include available agent/session summaries or tool telemetry, but only as aggregate, redacted evidence. Do not require a specific agent vendor, plugin, or telemetry format.
54
+ 4. Keep per-project results separate before producing cross-project totals. Never hide a repository-level failure in an aggregate.
55
+
56
+ ## 2. Collect raw evidence
57
+
58
+ Capture enough raw data to reproduce the analysis. Prefer stable Git/provider CLIs already present in the environment. Save only the normalized snapshot unless raw artifacts were explicitly requested.
59
+
60
+ ### Repository history
61
+
62
+ Collect, bounded to the resolved window and scope:
63
+
64
+ - commit hash, author, timestamp, subject, body, and parent information
65
+ - insertions, deletions, files changed, and test-file versus production-file changes
66
+ - commit type signals from Conventional Commit prefixes, labels, or equivalent repository conventions
67
+ - pull request or merge request references present in commits, and provider state when a provider CLI is available
68
+ - changed-file frequency, churn, and hotspots; distinguish generated, vendored, lockfile, and source files when possible
69
+ - per-author commit and file ownership signals, including co-authors and AI-assisted markers only when explicitly present
70
+
71
+ Use `git log --shortstat` or equivalent for commit-level change counts and `git diff --numstat` or equivalent for test/source proportions. If a command cannot run, record the command and reason; do not substitute invented values.
72
+
73
+ ### Delivery and quality signals
74
+
75
+ Inspect only signals that exist in the repository or authorized provider tooling:
76
+
77
+ - branch and remote tracking state, current PR title/body, review state, and current-head checks
78
+ - test files, test commands, recent test-related commits, and known failing or skipped checks
79
+ - changelog, release notes, issue/task references, and plan artifacts when present
80
+ - TODO/backlog markers when a project-maintained backlog exists
81
+ - regression fixes, reverted changes, follow-up fixes, and repeated failure patterns
82
+ - optional review or static-analysis summaries, clearly labeling unavailable or rate-limited providers
83
+
84
+ Never call an absent test suite “healthy”; report `NOT_AVAILABLE`. Never call a skipped check green.
85
+
86
+ ### Work-pattern signals
87
+
88
+ When timestamps are available:
89
+
90
+ - build an hour-of-day histogram in local time
91
+ - group commits or activity into sessions separated by at least 45 minutes of inactivity
92
+ - classify sessions as deep (3+ hours), medium (1–3 hours), or micro (<1 hour)
93
+ - count active days, longest streak, and context switches between repositories or work areas
94
+
95
+ Treat commit timestamps as a proxy, not proof of keyboard time. If session telemetry exists, prefer it and name the source.
96
+
97
+ ## 3. Compute the analysis
98
+
99
+ Use the evidence to calculate, or explicitly mark unavailable, the following dimensions:
100
+
101
+ ### Shipping and scope
102
+
103
+ - features, fixes, refactors, docs, tests, chores, and releases shipped
104
+ - commits, weighted commits, active days, contributors, and referenced PRs
105
+ - version range or release identifiers when the repository exposes them
106
+ - logical lines changed and raw lines changed, reported separately
107
+ - plan or objective items completed, deferred, or still open when a plan is available
108
+
109
+ ### Quality and maintainability
110
+
111
+ - test lines or test files changed relative to production changes
112
+ - test commands run and their current result
113
+ - regressions, reverts, repeated fixes, and hotspots with high churn
114
+ - type, lint, build, security, review, and release signals when available
115
+ - backlog/TODO health only when there is a maintained source to inspect
116
+
117
+ Do not reward large diffs or penalize small ones without explaining their context. A small change that closes a high-value objective can be the most important shipment.
118
+
119
+ ### Focus and delivery flow
120
+
121
+ - commit-type mix and fix ratio; flag a high fix ratio as a signal for investigation, not a diagnosis
122
+ - PR/MR size buckets and time-to-merge when provider data is available
123
+ - work sessions, time-of-day distribution, context switching, and focus patterns
124
+ - planned versus unplanned work, if the plan and change evidence support the comparison
125
+ - the single most consequential shipment or decision, with evidence and caveats
126
+
127
+ ### People and collaboration
128
+
129
+ For multi-author work, provide a factual per-author view of commits, change volume, areas touched, review or PR participation, and notable contributions. Include a team view of ownership concentration, cross-review, handoffs, and shared hotspots. Avoid ranking people by raw LOC or commit count.
130
+
131
+ Use the configured Git author as the personal focus only when it is unambiguous. Otherwise produce a team report and state that no personal identity was selected.
132
+
133
+ ## 4. Compare and track trends
134
+
135
+ For `compare` or any window with a prior snapshot:
136
+
137
+ - compare features/fixes, commits, active days, contributors, PRs, change volume, test signals, regressions, and backlog movement
138
+ - identify meaningful directional changes and explain whether the evidence is strong, weak, or incomplete
139
+ - preserve the same metric definitions between periods; do not compare a repository window to a global window as if they were equivalent
140
+ - report streaks, recurring hotspots, repeated failure modes, and unresolved improvements only when snapshots support them
141
+
142
+ Store a JSON snapshot with stable keys, UTC timestamps, resolved window, scope, repository identity, commit/PR identifiers, metric values, evidence limitations, and a short list of findings. Keep narrative prose out of fields intended for machine comparison. A snapshot is an aid to future analysis, not a source of truth that overrides current evidence.
143
+
144
+ ## 5. Produce the report
145
+
146
+ Lead with a concise, shareable summary of the period. Then use this order:
147
+
148
+ 1. **Scope and evidence** — window, timezone, repositories, branch/base, sources, and limitations.
149
+ 2. **Summary table** — shipping, activity, quality, and delivery metrics with `UNKNOWN` where needed.
150
+ 3. **What shipped** — the most important features, fixes, releases, or decisions, tied to commits/PRs.
151
+ 4. **Trends** — comparison with the previous period, if available.
152
+ 5. **Time and sessions** — active days, session shape, time distribution, and context switching.
153
+ 6. **Quality and test health** — checks, regressions, churn hotspots, review signals, and open risks.
154
+ 7. **Plan completion** — objective items completed, deferred, or missing evidence.
155
+ 8. **Focus and collaboration** — personal or team analysis with fair context.
156
+ 9. **Top wins** — three evidence-backed wins when enough evidence exists.
157
+ 10. **Improvements** — three concrete, small, actionable improvements; fewer is fine when evidence is limited.
158
+ 11. **Next-period habits** — explicit habits or experiments with an owner or trigger when known.
159
+ 12. **Limitations** — missing refs, unavailable provider data, stale telemetry, dirty work, or ambiguous attribution.
160
+
161
+ Use compact tables for exact metrics and prose for interpretation. Label inference as inference. Link or name evidence paths/commit IDs where useful, but never paste private content.
162
+
163
+ ## 6. End-of-task handoff
164
+
165
+ If this run is explicitly closing a completed implementation, continue with `olko:wrap-up`:
166
+
167
+ - use the retro to check that the delivered work matches the original idea and to capture follow-up items
168
+ - let `wrap-up` perform the separate local/remote/PR/CI/deployment/QA gates and task-owned cleanup
169
+ - preserve the retro snapshot and report any limitation instead of deleting evidence
170
+
171
+ For a periodic or global retrospective, do not clean worktrees, branches, logs, or temporary files unless the user explicitly asks for that separate cleanup. Analysis alone must not alter delivery state.
172
+
173
+ ## Minimal final status
174
+
175
+ End every run with:
176
+
177
+ ```text
178
+ RETRO_STATUS: DONE | DONE_WITH_LIMITATIONS | BLOCKED
179
+ WINDOW: <resolved window and timezone>
180
+ SCOPE: <repository or repositories>
181
+ SNAPSHOT: <path, NOT_WRITTEN, or NOT_AVAILABLE>
182
+ TOP_FINDINGS: <short summary>
183
+ NEXT_ACTIONS: <short actionable list>
184
+ ```
185
+
186
+ Use `BLOCKED` only when the requested scope cannot be analyzed safely or the required evidence is inaccessible. A partial but clearly labeled report is `DONE_WITH_LIMITATIONS`.