@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
@@ -766,6 +766,55 @@
766
766
  "grok"
767
767
  ]
768
768
  },
769
+ {
770
+ "name": "wrap-up",
771
+ "lookupName": "olko:wrap-up",
772
+ "category": "software-development",
773
+ "path": "packages/software-development/wrap-up",
774
+ "description": "Verify a completed task against its original objective, confirm applicable checks, and safely tidy task-owned artifacts, worktrees, and local branches.",
775
+ "tags": [
776
+ "delivery",
777
+ "verification",
778
+ "cleanup",
779
+ "git",
780
+ "worktrees",
781
+ "release-hygiene"
782
+ ],
783
+ "adapters": [
784
+ "codex",
785
+ "claude",
786
+ "cursor",
787
+ "copilot",
788
+ "windsurf",
789
+ "kiro",
790
+ "grok"
791
+ ]
792
+ },
793
+ {
794
+ "name": "retro-analysis",
795
+ "lookupName": "olko:retro-analysis",
796
+ "category": "software-development",
797
+ "path": "packages/software-development/retro-analysis",
798
+ "description": "Produce repository, comparison, and cross-project engineering retrospectives from delivery, code-quality, work-pattern, and trend evidence.",
799
+ "tags": [
800
+ "retrospective",
801
+ "metrics",
802
+ "git",
803
+ "productivity",
804
+ "code-quality",
805
+ "trends",
806
+ "planning"
807
+ ],
808
+ "adapters": [
809
+ "codex",
810
+ "claude",
811
+ "cursor",
812
+ "copilot",
813
+ "windsurf",
814
+ "kiro",
815
+ "grok"
816
+ ]
817
+ },
769
818
  {
770
819
  "name": "ai-tools-setup",
771
820
  "lookupName": "olko:ai-tools-setup",
@@ -12,6 +12,8 @@
12
12
  "product-builder",
13
13
  "mvp-oneshot",
14
14
  "wikipedia-uk-editor",
15
+ "wrap-up",
16
+ "retro-analysis",
15
17
  "vinted-listing",
16
18
  "shared-knowledge-artifact"
17
19
  ]
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@olegkoval/agent-skills",
3
- "version": "1.32.0",
3
+ "version": "1.34.0",
4
4
  "private": false,
5
5
  "publishConfig": {
6
6
  "access": "public"
@@ -1,3 +1,17 @@
1
- # Codex adapter
1
+ # Codex Adapter for add-to-my-skills
2
2
 
3
- Use the canonical skill directly from `packages/software-development/add-to-my-skills/SKILL.md`.
3
+ This is the Codex-specific adapter for the `olko:add-to-my-skills` skill. The canonical workflow is in
4
+ `../../SKILL.md`.
5
+
6
+ ## Usage
7
+
8
+ Invoke it when a skill from another repository or a catalog page should become a first-class package:
9
+
10
+ ```text
11
+ Use the olko:add-to-my-skills skill to bring this skill into the catalog, generate all adapters, validate it, and publish the change.
12
+ ```
13
+
14
+ For Codex, resolve a supplied `skills.olegkoval.com/skills/<name>/` URL to its canonical GitHub or local
15
+ source before copying. Preserve unrelated dirty work, prefer an isolated worktree, update the canonical
16
+ `SKILL.md` before generated adapters, run `npm run build` and `npm test`, and report commit/push/PR state
17
+ separately from local validation.
@@ -0,0 +1,195 @@
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
+
17
+ # Retro Analysis
18
+
19
+ 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.
20
+
21
+ 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.
22
+
23
+ ## Invocation
24
+
25
+ Accept one of these arguments:
26
+
27
+ - no argument or `7d`: the previous seven calendar days
28
+ - `24h`: the previous 24 hours
29
+ - `14d` or `30d`: the previous N calendar days
30
+ - `compare` or `compare 14d`: compare the selected window with the immediately preceding window of equal length
31
+ - `global`, `global 14d`: aggregate across discoverable repositories and agent sessions
32
+
33
+ If the argument is invalid, print the accepted forms and stop. Do not silently choose a different window.
34
+
35
+ 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.
36
+
37
+ ## Safety and evidence rules
38
+
39
+ - Be read-only by default. Do not push, merge, deploy, close issues, edit source, or rewrite history.
40
+ - 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.
41
+ - 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.
42
+ - Preserve dirty work, untracked files, existing snapshots, credentials, and unrelated temporary artifacts.
43
+ - Never infer delivery from a local commit. Treat local Git, remote/PR state, CI, deployment, and device or human QA as separate evidence gates.
44
+ - Do not expose secrets, tokens, private prompts, or raw session content. Use aggregate counts and redacted references only.
45
+ - Missing data is `UNKNOWN`, not zero. Distinguish “none found” from “not available”.
46
+ - Do not turn commit count, lines changed, hours, or AI-assisted activity into a simplistic productivity score. Use them as context for the narrative.
47
+
48
+ ## 1. Establish scope and baseline
49
+
50
+ For repository mode:
51
+
52
+ 1. Identify the repository, current branch, `HEAD`, configured author, base branch, and working-tree state.
53
+ 2. Preserve and report pre-existing dirty paths; do not include their changes as delivered work unless the evidence links them to the window.
54
+ 3. Use the repository's local timezone for calendar boundaries. Use UTC timestamps in stored machine-readable data.
55
+ 4. Read only relevant project documentation and task artifacts needed to interpret the changes. Do not invent milestones, objectives, or acceptance criteria.
56
+ 5. Locate prior snapshots in `.context/retros/` and load the immediately preceding comparable snapshot when available.
57
+
58
+ For global mode:
59
+
60
+ 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.
61
+ 2. For each repository, collect the same bounded evidence as repository mode and skip missing, inaccessible, or non-Git directories.
62
+ 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.
63
+ 4. Keep per-project results separate before producing cross-project totals. Never hide a repository-level failure in an aggregate.
64
+
65
+ ## 2. Collect raw evidence
66
+
67
+ 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.
68
+
69
+ ### Repository history
70
+
71
+ Collect, bounded to the resolved window and scope:
72
+
73
+ - commit hash, author, timestamp, subject, body, and parent information
74
+ - insertions, deletions, files changed, and test-file versus production-file changes
75
+ - commit type signals from Conventional Commit prefixes, labels, or equivalent repository conventions
76
+ - pull request or merge request references present in commits, and provider state when a provider CLI is available
77
+ - changed-file frequency, churn, and hotspots; distinguish generated, vendored, lockfile, and source files when possible
78
+ - per-author commit and file ownership signals, including co-authors and AI-assisted markers only when explicitly present
79
+
80
+ 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.
81
+
82
+ ### Delivery and quality signals
83
+
84
+ Inspect only signals that exist in the repository or authorized provider tooling:
85
+
86
+ - branch and remote tracking state, current PR title/body, review state, and current-head checks
87
+ - test files, test commands, recent test-related commits, and known failing or skipped checks
88
+ - changelog, release notes, issue/task references, and plan artifacts when present
89
+ - TODO/backlog markers when a project-maintained backlog exists
90
+ - regression fixes, reverted changes, follow-up fixes, and repeated failure patterns
91
+ - optional review or static-analysis summaries, clearly labeling unavailable or rate-limited providers
92
+
93
+ Never call an absent test suite “healthy”; report `NOT_AVAILABLE`. Never call a skipped check green.
94
+
95
+ ### Work-pattern signals
96
+
97
+ When timestamps are available:
98
+
99
+ - build an hour-of-day histogram in local time
100
+ - group commits or activity into sessions separated by at least 45 minutes of inactivity
101
+ - classify sessions as deep (3+ hours), medium (1–3 hours), or micro (<1 hour)
102
+ - count active days, longest streak, and context switches between repositories or work areas
103
+
104
+ Treat commit timestamps as a proxy, not proof of keyboard time. If session telemetry exists, prefer it and name the source.
105
+
106
+ ## 3. Compute the analysis
107
+
108
+ Use the evidence to calculate, or explicitly mark unavailable, the following dimensions:
109
+
110
+ ### Shipping and scope
111
+
112
+ - features, fixes, refactors, docs, tests, chores, and releases shipped
113
+ - commits, weighted commits, active days, contributors, and referenced PRs
114
+ - version range or release identifiers when the repository exposes them
115
+ - logical lines changed and raw lines changed, reported separately
116
+ - plan or objective items completed, deferred, or still open when a plan is available
117
+
118
+ ### Quality and maintainability
119
+
120
+ - test lines or test files changed relative to production changes
121
+ - test commands run and their current result
122
+ - regressions, reverts, repeated fixes, and hotspots with high churn
123
+ - type, lint, build, security, review, and release signals when available
124
+ - backlog/TODO health only when there is a maintained source to inspect
125
+
126
+ 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.
127
+
128
+ ### Focus and delivery flow
129
+
130
+ - commit-type mix and fix ratio; flag a high fix ratio as a signal for investigation, not a diagnosis
131
+ - PR/MR size buckets and time-to-merge when provider data is available
132
+ - work sessions, time-of-day distribution, context switching, and focus patterns
133
+ - planned versus unplanned work, if the plan and change evidence support the comparison
134
+ - the single most consequential shipment or decision, with evidence and caveats
135
+
136
+ ### People and collaboration
137
+
138
+ 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.
139
+
140
+ 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.
141
+
142
+ ## 4. Compare and track trends
143
+
144
+ For `compare` or any window with a prior snapshot:
145
+
146
+ - compare features/fixes, commits, active days, contributors, PRs, change volume, test signals, regressions, and backlog movement
147
+ - identify meaningful directional changes and explain whether the evidence is strong, weak, or incomplete
148
+ - preserve the same metric definitions between periods; do not compare a repository window to a global window as if they were equivalent
149
+ - report streaks, recurring hotspots, repeated failure modes, and unresolved improvements only when snapshots support them
150
+
151
+ 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.
152
+
153
+ ## 5. Produce the report
154
+
155
+ Lead with a concise, shareable summary of the period. Then use this order:
156
+
157
+ 1. **Scope and evidence** — window, timezone, repositories, branch/base, sources, and limitations.
158
+ 2. **Summary table** — shipping, activity, quality, and delivery metrics with `UNKNOWN` where needed.
159
+ 3. **What shipped** — the most important features, fixes, releases, or decisions, tied to commits/PRs.
160
+ 4. **Trends** — comparison with the previous period, if available.
161
+ 5. **Time and sessions** — active days, session shape, time distribution, and context switching.
162
+ 6. **Quality and test health** — checks, regressions, churn hotspots, review signals, and open risks.
163
+ 7. **Plan completion** — objective items completed, deferred, or missing evidence.
164
+ 8. **Focus and collaboration** — personal or team analysis with fair context.
165
+ 9. **Top wins** — three evidence-backed wins when enough evidence exists.
166
+ 10. **Improvements** — three concrete, small, actionable improvements; fewer is fine when evidence is limited.
167
+ 11. **Next-period habits** — explicit habits or experiments with an owner or trigger when known.
168
+ 12. **Limitations** — missing refs, unavailable provider data, stale telemetry, dirty work, or ambiguous attribution.
169
+
170
+ 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.
171
+
172
+ ## 6. End-of-task handoff
173
+
174
+ If this run is explicitly closing a completed implementation, continue with `olko:wrap-up`:
175
+
176
+ - use the retro to check that the delivered work matches the original idea and to capture follow-up items
177
+ - let `wrap-up` perform the separate local/remote/PR/CI/deployment/QA gates and task-owned cleanup
178
+ - preserve the retro snapshot and report any limitation instead of deleting evidence
179
+
180
+ 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.
181
+
182
+ ## Minimal final status
183
+
184
+ End every run with:
185
+
186
+ ```text
187
+ RETRO_STATUS: DONE | DONE_WITH_LIMITATIONS | BLOCKED
188
+ WINDOW: <resolved window and timezone>
189
+ SCOPE: <repository or repositories>
190
+ SNAPSHOT: <path, NOT_WRITTEN, or NOT_AVAILABLE>
191
+ TOP_FINDINGS: <short summary>
192
+ NEXT_ACTIONS: <short actionable list>
193
+ ```
194
+
195
+ 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,5 @@
1
+ {
2
+ "name": "olko-retro-analysis",
3
+ "description": "Produce repository, comparison, and cross-project engineering retrospectives from delivery, code-quality, work-pattern, and trend evidence.",
4
+ "skills": "./skills"
5
+ }
@@ -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,16 @@
1
+ # Codex adapter: retro-analysis
2
+
3
+ Use this adapter when the user asks for a retrospective, trend review, “what did we ship?”, recurring engineering analysis, or a cross-project/global retro.
4
+
5
+ Invoke it as `olko:retro-analysis` with `24h`, `7d`, `14d`, `30d`, `compare`, `compare 14d`, or `global [window]`. Resolve calendar windows in the user's local timezone and state the exact scope before analyzing it.
6
+
7
+ Codex-specific defaults:
8
+
9
+ - Use repository Git evidence and `gh` provider evidence when available; keep local, remote, PR, CI, deployment, and device/human QA claims separate.
10
+ - Inspect the repository's existing scripts and instructions before running checks. For Node projects, use the project's `npm run` scripts rather than raw `node` commands.
11
+ - Preserve dirty worktrees and unrelated artifacts. Do not fetch, push, merge, deploy, delete branches, or clean temporary files as a side effect of analysis.
12
+ - Treat unavailable or stale provider/session data as a limitation, not as a zero or a green result.
13
+ - Write only the bounded `.context/retros/` snapshot described by the canonical skill when persistence is in scope; never include secrets or raw private session content.
14
+ - If the retrospective closes a completed implementation, follow it with `olko:wrap-up` for the delivery receipt and task-owned cleanup.
15
+
16
+ Return the full narrative report followed by the canonical `RETRO_STATUS` block. Do not convert the report into a delivery claim unless `olko:wrap-up` has separately verified delivery.
@@ -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
+ }