@olegkoval/agent-skills 1.10.1 → 1.11.1
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.
- package/.claude-plugin/plugin.json +2 -1
- package/.cursor-plugin/index.json +5 -0
- package/.kiro/steering/open-source-publisher.md +21 -0
- package/.kiro/steering/review-past-performance.md +202 -0
- package/.windsurf/rules/open-source-publisher.md +21 -0
- package/.windsurf/rules/review-past-performance.md +201 -0
- package/README.md +3 -2
- package/catalog/skills.json +23 -0
- package/package.json +1 -1
- package/packages/software-development/open-source-publisher/SKILL.md +22 -1
- package/packages/software-development/open-source-publisher/adapters/claude/skills/open-source-publisher/SKILL.md +22 -1
- package/packages/software-development/open-source-publisher/adapters/cursor/skills/open-source-publisher/SKILL.md +22 -1
- package/packages/software-development/open-source-publisher/adapters/kiro/steering/open-source-publisher.md +21 -0
- package/packages/software-development/open-source-publisher/adapters/windsurf/rules/open-source-publisher.md +21 -0
- package/packages/software-development/review-past-performance/SKILL.md +211 -0
- package/packages/software-development/review-past-performance/adapters/claude/plugin.json +5 -0
- package/packages/software-development/review-past-performance/adapters/claude/skills/review-past-performance/SKILL.md +212 -0
- package/packages/software-development/review-past-performance/adapters/codex/README.md +3 -0
- package/packages/software-development/review-past-performance/adapters/cursor/plugin.json +6 -0
- package/packages/software-development/review-past-performance/adapters/cursor/skills/review-past-performance/SKILL.md +213 -0
- package/packages/software-development/review-past-performance/adapters/kiro/steering/review-past-performance.md +201 -0
- package/packages/software-development/review-past-performance/adapters/windsurf/rules/review-past-performance.md +200 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "olko-agent-skills",
|
|
3
3
|
"description": "Agent-agnostic skill catalog for Codex, Claude, Cursor, and other skill-aware tools.",
|
|
4
|
-
"version": "1.
|
|
4
|
+
"version": "1.11.0",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Oleg Koval"
|
|
7
7
|
},
|
|
@@ -18,6 +18,7 @@
|
|
|
18
18
|
"./packages/music/fill-music-player",
|
|
19
19
|
"./packages/software-development/product-builder",
|
|
20
20
|
"./packages/software-development/starter-rules",
|
|
21
|
+
"./packages/software-development/review-past-performance",
|
|
21
22
|
"./packages/software-development/open-source-publisher",
|
|
22
23
|
"./packages/marketing/viral-launch",
|
|
23
24
|
"./packages/marketing/search-console-indexing-audit",
|
|
@@ -46,6 +46,11 @@
|
|
|
46
46
|
"source": "./packages/software-development/starter-rules/adapters/cursor",
|
|
47
47
|
"description": "Load and enforce hard rules for every oleg-koval/* starter: 300-line files, E2E tests, pre-commit hooks, Vertical Slice architecture, no comments, KISS/DRY/SOLID."
|
|
48
48
|
},
|
|
49
|
+
{
|
|
50
|
+
"name": "olko:review-past-performance",
|
|
51
|
+
"source": "./packages/software-development/review-past-performance/adapters/cursor",
|
|
52
|
+
"description": "Self-improvement loop that pulls the last 24h of ICM memories, git history, and skill analytics to detect repeated mistakes, slow workflows, and missing coverage, then proposes 1-3 concrete improvements."
|
|
53
|
+
},
|
|
49
54
|
{
|
|
50
55
|
"name": "olko:open-source-publisher",
|
|
51
56
|
"source": "./packages/software-development/open-source-publisher/adapters/cursor",
|
|
@@ -105,6 +105,27 @@ Rules:
|
|
|
105
105
|
|
|
106
106
|
Create a simple, recognizable SVG logo from the repository's essence. Prefer `logo.svg` and also render `logo.png` so the icon can be reused in README assets, release artifacts, and platform-specific previews.
|
|
107
107
|
|
|
108
|
+
Use the external `logo-generator` skill first for icon generation when it is installed (see `logo-generator` Installation below). If it is not installed, follow the manual SVG guidance below and commit both the editable SVG and rendered PNG when practical.
|
|
109
|
+
|
|
110
|
+
### `logo-generator` Installation
|
|
111
|
+
|
|
112
|
+
The `logo-generator` skill is external and is not bundled with this repository. Install it separately from <https://github.com/op7418/logo-generator-skill> before relying on it:
|
|
113
|
+
|
|
114
|
+
```bash
|
|
115
|
+
npx skills add https://github.com/op7418/logo-generator-skill.git
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
If automatic installation is unavailable, clone it into the Claude skills directory:
|
|
119
|
+
|
|
120
|
+
```bash
|
|
121
|
+
git clone https://github.com/op7418/logo-generator-skill.git ~/.claude/skills/logo-generator
|
|
122
|
+
cd ~/.claude/skills/logo-generator
|
|
123
|
+
pip install -r requirements.txt
|
|
124
|
+
cp .env.example .env
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
Then add `GEMINI_API_KEY` to `.env` and restart the agent runtime so the skill is discoverable.
|
|
128
|
+
|
|
108
129
|
Icon rules:
|
|
109
130
|
|
|
110
131
|
- Use one clear metaphor from the project domain, not a collage.
|
|
@@ -0,0 +1,202 @@
|
|
|
1
|
+
<!-- Generated by scripts/build-adapters.sh. Do not edit directly. -->
|
|
2
|
+
|
|
3
|
+
---
|
|
4
|
+
inclusion: manual
|
|
5
|
+
description: "Self-improvement loop that pulls the last 24h of ICM memories, git history, and skill analytics to detect repeated mistakes, slow workflows, and missing coverage, then proposes 1-3 concrete improvements."
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
# /review-past-performance
|
|
10
|
+
|
|
11
|
+
Self-improvement loop. Analyze recent sessions, find durable patterns, propose fixes.
|
|
12
|
+
|
|
13
|
+
## Step 1 — Gather raw signals (run in parallel)
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
# A: ICM memories from last 24h
|
|
17
|
+
icm recall "mistakes errors repeated workflow" --limit 10 2>/dev/null || echo "ICM_UNAVAILABLE"
|
|
18
|
+
icm recall "completed task feature fix" --limit 10 2>/dev/null || echo "ICM_UNAVAILABLE"
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
# B: Git activity last 24h across all repos the user works in
|
|
23
|
+
git log --all --since="24 hours ago" --oneline --author="$(git config user.email 2>/dev/null)" 2>/dev/null | head -30 || echo "NO_GIT"
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
```bash
|
|
27
|
+
# C: ICM transcripts (last 3 sessions)
|
|
28
|
+
icm transcript search "" --limit 3 2>/dev/null || echo "TRANSCRIPTS_UNAVAILABLE"
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
```bash
|
|
32
|
+
# D: Skill usage from gstack analytics (what skills were run, outcomes)
|
|
33
|
+
tail -50 ~/.gstack/analytics/skill-usage.jsonl 2>/dev/null | jq -c 'select(.ts > (now - 86400 | todate))' 2>/dev/null || \
|
|
34
|
+
tail -50 ~/.gstack/analytics/skill-usage.jsonl 2>/dev/null | head -20 || echo "NO_ANALYTICS"
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
```bash
|
|
38
|
+
# E: ICM errors-resolved topic (what broke and was fixed)
|
|
39
|
+
icm recall "error" -t "errors-resolved" --limit 5 2>/dev/null || echo "NO_ERROR_MEMORIES"
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
```bash
|
|
43
|
+
# F: Recent learnings (gstack)
|
|
44
|
+
_GSTACK_HOME="${GSTACK_HOME:-$HOME/.gstack}"
|
|
45
|
+
eval "$($HOME/.slate/skills/gstack/bin/gstack-slug 2>/dev/null)" 2>/dev/null || true
|
|
46
|
+
_LEARN_FILE="$_GSTACK_HOME/projects/${SLUG:-unknown}/learnings.jsonl"
|
|
47
|
+
[ -f "$_LEARN_FILE" ] && tail -20 "$_LEARN_FILE" || echo "NO_LEARNINGS"
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
## Step 2 — Synthesize patterns
|
|
51
|
+
|
|
52
|
+
Read all signals. Classify findings into these categories:
|
|
53
|
+
|
|
54
|
+
**Repeated mistakes** — same error, same fix, same confusion appearing more than once in the signals. E.g., always forgetting to handle null on a specific field, always hitting the same linting error.
|
|
55
|
+
|
|
56
|
+
**Slow workflows** — multi-step sequences that took many tool calls but could be a single skill. E.g., always doing manual `git log` + `grep` + read 3 files before every PR review.
|
|
57
|
+
|
|
58
|
+
**Missing coverage** — areas where work was done but no test was written or no memory was stored.
|
|
59
|
+
|
|
60
|
+
**Underused skills** — skills that would have applied but were not invoked (check skill-usage.jsonl gaps vs. git activity).
|
|
61
|
+
|
|
62
|
+
**Knowledge gaps** — concepts that came up repeatedly as questions or confusion.
|
|
63
|
+
|
|
64
|
+
Score each finding:
|
|
65
|
+
- **Frequency**: how many times it appeared (1 = once, 3 = three or more)
|
|
66
|
+
- **Time cost**: rough estimate per occurrence (minutes)
|
|
67
|
+
- **Fixability**: easy (a new skill/memory fixes it), medium (needs a process change), hard (structural)
|
|
68
|
+
|
|
69
|
+
Pick the top 1-3 findings by `frequency × time_cost × fixability_inverse`.
|
|
70
|
+
|
|
71
|
+
## Step 3 — Formulate proposals
|
|
72
|
+
|
|
73
|
+
For each finding, produce exactly one proposal. Proposal types:
|
|
74
|
+
|
|
75
|
+
**Type A — New skill**: The repeated sequence can be codified. Provide:
|
|
76
|
+
- Proposed skill name (lowercase, dashes, ≤32 chars)
|
|
77
|
+
- Trigger phrases (3-5)
|
|
78
|
+
- 5-8 line SKILL.md workflow skeleton
|
|
79
|
+
- Estimated time savings per occurrence
|
|
80
|
+
|
|
81
|
+
**Type B — Skill tweak**: An existing skill is close but missing a step or check. Provide:
|
|
82
|
+
- Which skill (`/skill-name`)
|
|
83
|
+
- What specific text to add/change (before/after diff)
|
|
84
|
+
- Why this covers the gap
|
|
85
|
+
|
|
86
|
+
**Type C — ICM memory / eval criteria**: A pattern should be captured as a durable memory or eval rule. Provide:
|
|
87
|
+
- `icm store` command (with topic, content, importance)
|
|
88
|
+
- Or: a yes/no eval question to add to an existing skill
|
|
89
|
+
|
|
90
|
+
## Step 4 — Present findings (D1)
|
|
91
|
+
|
|
92
|
+
Use AskUserQuestion:
|
|
93
|
+
|
|
94
|
+
```
|
|
95
|
+
D1 — Performance review: N patterns found, N proposals
|
|
96
|
+
Project/branch/task: 24h session review — git, ICM memories, skill analytics.
|
|
97
|
+
ELI10: I looked at your last 24 hours of work: git commits, ICM memories,
|
|
98
|
+
skill runs, and resolved errors. Here's what I found repeating and what
|
|
99
|
+
I'd do about it. Approve proposals individually or skip any.
|
|
100
|
+
Stakes if we pick wrong: skipping a proposal leaves the pattern unfixed;
|
|
101
|
+
approving a bad proposal adds noise. You can always /skillify or rm a skill later.
|
|
102
|
+
Recommendation: A — review each proposal and approve what resonates.
|
|
103
|
+
Note: options differ in kind, not coverage — no completeness score.
|
|
104
|
+
A) Walk me through each proposal (recommended)
|
|
105
|
+
B) Show summary only, I'll decide what to dig into
|
|
106
|
+
C) Abort — nothing to act on today
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
If B: print a one-line summary table (proposal number, type, finding, estimated savings). Stop.
|
|
110
|
+
|
|
111
|
+
If C: print "No changes made. Run /review-past-performance again anytime." Stop.
|
|
112
|
+
|
|
113
|
+
If A: proceed to Step 5.
|
|
114
|
+
|
|
115
|
+
## Step 5 — Proposal gate (one per proposal)
|
|
116
|
+
|
|
117
|
+
For each proposal (D2, D3, D4 ...):
|
|
118
|
+
|
|
119
|
+
Print:
|
|
120
|
+
```
|
|
121
|
+
--- Proposal N of N ---
|
|
122
|
+
Finding: <one sentence>
|
|
123
|
+
Pattern evidence: <which signals showed this>
|
|
124
|
+
Proposal type: <A/B/C>
|
|
125
|
+
<full proposal detail from Step 3>
|
|
126
|
+
Estimated savings: ~X min/occurrence
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
Then AskUserQuestion:
|
|
130
|
+
|
|
131
|
+
```
|
|
132
|
+
D<N> — Apply proposal N: <short title>?
|
|
133
|
+
Project/branch/task: <finding in one sentence>
|
|
134
|
+
ELI10: <plain English: what this proposes, what changes, what you gain>
|
|
135
|
+
Stakes if we pick wrong: <what happens if you apply a bad one, or skip a good one>
|
|
136
|
+
Recommendation: A — apply it — the evidence is clear enough to try it.
|
|
137
|
+
Note: options differ in kind, not coverage — no completeness score.
|
|
138
|
+
A) Apply this proposal (recommended)
|
|
139
|
+
B) Skip this one
|
|
140
|
+
C) Modify before applying (describe what to change)
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
If C: ask what to change, update the proposal in-memory, re-show, re-ask A/B only.
|
|
144
|
+
|
|
145
|
+
## Step 6 — Execute approved proposals
|
|
146
|
+
|
|
147
|
+
For each approved proposal:
|
|
148
|
+
|
|
149
|
+
**Type A (new skill):**
|
|
150
|
+
```bash
|
|
151
|
+
mkdir -p ~/.claude/skills/<name>
|
|
152
|
+
```
|
|
153
|
+
Write `~/.claude/skills/<name>/SKILL.md` with the skeleton from Step 3.
|
|
154
|
+
Print: "Skill /<name> created at ~/.claude/skills/<name>/SKILL.md — invoke it with /<name>."
|
|
155
|
+
|
|
156
|
+
**Type B (skill tweak):**
|
|
157
|
+
Read the target skill file. Apply the diff. Print the before/after. Do NOT commit.
|
|
158
|
+
|
|
159
|
+
**Type C (ICM memory):**
|
|
160
|
+
```bash
|
|
161
|
+
icm store -t "<topic>" -c "<content>" -i <importance> -k "<keywords>"
|
|
162
|
+
```
|
|
163
|
+
Print the stored memory ID.
|
|
164
|
+
|
|
165
|
+
## Step 7 — Summary
|
|
166
|
+
|
|
167
|
+
After all proposals are processed, print a compact summary:
|
|
168
|
+
|
|
169
|
+
```
|
|
170
|
+
/review-past-performance complete
|
|
171
|
+
Applied: N proposals
|
|
172
|
+
Skipped: N proposals
|
|
173
|
+
|
|
174
|
+
What changed:
|
|
175
|
+
- [list each applied change with one line]
|
|
176
|
+
|
|
177
|
+
Run again tomorrow: /review-past-performance
|
|
178
|
+
```
|
|
179
|
+
|
|
180
|
+
Then:
|
|
181
|
+
```bash
|
|
182
|
+
# Store this review run as an ICM memory so future reviews have continuity
|
|
183
|
+
icm store -t "context-workflow" \
|
|
184
|
+
-c "Performance review $(date +%Y-%m-%d): found [N] patterns, applied [N] proposals. Key findings: [one-line summary]" \
|
|
185
|
+
-i medium \
|
|
186
|
+
-k "performance-review,self-improvement" 2>/dev/null || true
|
|
187
|
+
```
|
|
188
|
+
|
|
189
|
+
```bash
|
|
190
|
+
# Log to gstack timeline if available
|
|
191
|
+
~/.slate/skills/gstack/bin/gstack-timeline-log \
|
|
192
|
+
'{"skill":"review-past-performance","event":"completed","outcome":"success"}' 2>/dev/null || true
|
|
193
|
+
```
|
|
194
|
+
|
|
195
|
+
---
|
|
196
|
+
|
|
197
|
+
## Notes
|
|
198
|
+
|
|
199
|
+
- This skill reads only — no git mutations, no PR actions, no Notion/Linear writes.
|
|
200
|
+
- Type A skills created here are skeletons. Run them once and tune before relying on them.
|
|
201
|
+
- If ICM is unavailable (`ICM_UNAVAILABLE`), fall back to git log + gstack analytics only; note the limitation in findings.
|
|
202
|
+
- If there are fewer than 3 signals available, say so and offer to run again after more sessions.
|
|
@@ -104,6 +104,27 @@ Rules:
|
|
|
104
104
|
|
|
105
105
|
Create a simple, recognizable SVG logo from the repository's essence. Prefer `logo.svg` and also render `logo.png` so the icon can be reused in README assets, release artifacts, and platform-specific previews.
|
|
106
106
|
|
|
107
|
+
Use the external `logo-generator` skill first for icon generation when it is installed (see `logo-generator` Installation below). If it is not installed, follow the manual SVG guidance below and commit both the editable SVG and rendered PNG when practical.
|
|
108
|
+
|
|
109
|
+
### `logo-generator` Installation
|
|
110
|
+
|
|
111
|
+
The `logo-generator` skill is external and is not bundled with this repository. Install it separately from <https://github.com/op7418/logo-generator-skill> before relying on it:
|
|
112
|
+
|
|
113
|
+
```bash
|
|
114
|
+
npx skills add https://github.com/op7418/logo-generator-skill.git
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
If automatic installation is unavailable, clone it into the Claude skills directory:
|
|
118
|
+
|
|
119
|
+
```bash
|
|
120
|
+
git clone https://github.com/op7418/logo-generator-skill.git ~/.claude/skills/logo-generator
|
|
121
|
+
cd ~/.claude/skills/logo-generator
|
|
122
|
+
pip install -r requirements.txt
|
|
123
|
+
cp .env.example .env
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
Then add `GEMINI_API_KEY` to `.env` and restart the agent runtime so the skill is discoverable.
|
|
127
|
+
|
|
107
128
|
Icon rules:
|
|
108
129
|
|
|
109
130
|
- Use one clear metaphor from the project domain, not a collage.
|
|
@@ -0,0 +1,201 @@
|
|
|
1
|
+
<!-- Generated by scripts/build-adapters.sh. Do not edit directly. -->
|
|
2
|
+
|
|
3
|
+
---
|
|
4
|
+
description: "Self-improvement loop that pulls the last 24h of ICM memories, git history, and skill analytics to detect repeated mistakes, slow workflows, and missing coverage, then proposes 1-3 concrete improvements."
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
# /review-past-performance
|
|
9
|
+
|
|
10
|
+
Self-improvement loop. Analyze recent sessions, find durable patterns, propose fixes.
|
|
11
|
+
|
|
12
|
+
## Step 1 — Gather raw signals (run in parallel)
|
|
13
|
+
|
|
14
|
+
```bash
|
|
15
|
+
# A: ICM memories from last 24h
|
|
16
|
+
icm recall "mistakes errors repeated workflow" --limit 10 2>/dev/null || echo "ICM_UNAVAILABLE"
|
|
17
|
+
icm recall "completed task feature fix" --limit 10 2>/dev/null || echo "ICM_UNAVAILABLE"
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
```bash
|
|
21
|
+
# B: Git activity last 24h across all repos the user works in
|
|
22
|
+
git log --all --since="24 hours ago" --oneline --author="$(git config user.email 2>/dev/null)" 2>/dev/null | head -30 || echo "NO_GIT"
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
```bash
|
|
26
|
+
# C: ICM transcripts (last 3 sessions)
|
|
27
|
+
icm transcript search "" --limit 3 2>/dev/null || echo "TRANSCRIPTS_UNAVAILABLE"
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
```bash
|
|
31
|
+
# D: Skill usage from gstack analytics (what skills were run, outcomes)
|
|
32
|
+
tail -50 ~/.gstack/analytics/skill-usage.jsonl 2>/dev/null | jq -c 'select(.ts > (now - 86400 | todate))' 2>/dev/null || \
|
|
33
|
+
tail -50 ~/.gstack/analytics/skill-usage.jsonl 2>/dev/null | head -20 || echo "NO_ANALYTICS"
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
```bash
|
|
37
|
+
# E: ICM errors-resolved topic (what broke and was fixed)
|
|
38
|
+
icm recall "error" -t "errors-resolved" --limit 5 2>/dev/null || echo "NO_ERROR_MEMORIES"
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
```bash
|
|
42
|
+
# F: Recent learnings (gstack)
|
|
43
|
+
_GSTACK_HOME="${GSTACK_HOME:-$HOME/.gstack}"
|
|
44
|
+
eval "$($HOME/.slate/skills/gstack/bin/gstack-slug 2>/dev/null)" 2>/dev/null || true
|
|
45
|
+
_LEARN_FILE="$_GSTACK_HOME/projects/${SLUG:-unknown}/learnings.jsonl"
|
|
46
|
+
[ -f "$_LEARN_FILE" ] && tail -20 "$_LEARN_FILE" || echo "NO_LEARNINGS"
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
## Step 2 — Synthesize patterns
|
|
50
|
+
|
|
51
|
+
Read all signals. Classify findings into these categories:
|
|
52
|
+
|
|
53
|
+
**Repeated mistakes** — same error, same fix, same confusion appearing more than once in the signals. E.g., always forgetting to handle null on a specific field, always hitting the same linting error.
|
|
54
|
+
|
|
55
|
+
**Slow workflows** — multi-step sequences that took many tool calls but could be a single skill. E.g., always doing manual `git log` + `grep` + read 3 files before every PR review.
|
|
56
|
+
|
|
57
|
+
**Missing coverage** — areas where work was done but no test was written or no memory was stored.
|
|
58
|
+
|
|
59
|
+
**Underused skills** — skills that would have applied but were not invoked (check skill-usage.jsonl gaps vs. git activity).
|
|
60
|
+
|
|
61
|
+
**Knowledge gaps** — concepts that came up repeatedly as questions or confusion.
|
|
62
|
+
|
|
63
|
+
Score each finding:
|
|
64
|
+
- **Frequency**: how many times it appeared (1 = once, 3 = three or more)
|
|
65
|
+
- **Time cost**: rough estimate per occurrence (minutes)
|
|
66
|
+
- **Fixability**: easy (a new skill/memory fixes it), medium (needs a process change), hard (structural)
|
|
67
|
+
|
|
68
|
+
Pick the top 1-3 findings by `frequency × time_cost × fixability_inverse`.
|
|
69
|
+
|
|
70
|
+
## Step 3 — Formulate proposals
|
|
71
|
+
|
|
72
|
+
For each finding, produce exactly one proposal. Proposal types:
|
|
73
|
+
|
|
74
|
+
**Type A — New skill**: The repeated sequence can be codified. Provide:
|
|
75
|
+
- Proposed skill name (lowercase, dashes, ≤32 chars)
|
|
76
|
+
- Trigger phrases (3-5)
|
|
77
|
+
- 5-8 line SKILL.md workflow skeleton
|
|
78
|
+
- Estimated time savings per occurrence
|
|
79
|
+
|
|
80
|
+
**Type B — Skill tweak**: An existing skill is close but missing a step or check. Provide:
|
|
81
|
+
- Which skill (`/skill-name`)
|
|
82
|
+
- What specific text to add/change (before/after diff)
|
|
83
|
+
- Why this covers the gap
|
|
84
|
+
|
|
85
|
+
**Type C — ICM memory / eval criteria**: A pattern should be captured as a durable memory or eval rule. Provide:
|
|
86
|
+
- `icm store` command (with topic, content, importance)
|
|
87
|
+
- Or: a yes/no eval question to add to an existing skill
|
|
88
|
+
|
|
89
|
+
## Step 4 — Present findings (D1)
|
|
90
|
+
|
|
91
|
+
Use AskUserQuestion:
|
|
92
|
+
|
|
93
|
+
```
|
|
94
|
+
D1 — Performance review: N patterns found, N proposals
|
|
95
|
+
Project/branch/task: 24h session review — git, ICM memories, skill analytics.
|
|
96
|
+
ELI10: I looked at your last 24 hours of work: git commits, ICM memories,
|
|
97
|
+
skill runs, and resolved errors. Here's what I found repeating and what
|
|
98
|
+
I'd do about it. Approve proposals individually or skip any.
|
|
99
|
+
Stakes if we pick wrong: skipping a proposal leaves the pattern unfixed;
|
|
100
|
+
approving a bad proposal adds noise. You can always /skillify or rm a skill later.
|
|
101
|
+
Recommendation: A — review each proposal and approve what resonates.
|
|
102
|
+
Note: options differ in kind, not coverage — no completeness score.
|
|
103
|
+
A) Walk me through each proposal (recommended)
|
|
104
|
+
B) Show summary only, I'll decide what to dig into
|
|
105
|
+
C) Abort — nothing to act on today
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
If B: print a one-line summary table (proposal number, type, finding, estimated savings). Stop.
|
|
109
|
+
|
|
110
|
+
If C: print "No changes made. Run /review-past-performance again anytime." Stop.
|
|
111
|
+
|
|
112
|
+
If A: proceed to Step 5.
|
|
113
|
+
|
|
114
|
+
## Step 5 — Proposal gate (one per proposal)
|
|
115
|
+
|
|
116
|
+
For each proposal (D2, D3, D4 ...):
|
|
117
|
+
|
|
118
|
+
Print:
|
|
119
|
+
```
|
|
120
|
+
--- Proposal N of N ---
|
|
121
|
+
Finding: <one sentence>
|
|
122
|
+
Pattern evidence: <which signals showed this>
|
|
123
|
+
Proposal type: <A/B/C>
|
|
124
|
+
<full proposal detail from Step 3>
|
|
125
|
+
Estimated savings: ~X min/occurrence
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
Then AskUserQuestion:
|
|
129
|
+
|
|
130
|
+
```
|
|
131
|
+
D<N> — Apply proposal N: <short title>?
|
|
132
|
+
Project/branch/task: <finding in one sentence>
|
|
133
|
+
ELI10: <plain English: what this proposes, what changes, what you gain>
|
|
134
|
+
Stakes if we pick wrong: <what happens if you apply a bad one, or skip a good one>
|
|
135
|
+
Recommendation: A — apply it — the evidence is clear enough to try it.
|
|
136
|
+
Note: options differ in kind, not coverage — no completeness score.
|
|
137
|
+
A) Apply this proposal (recommended)
|
|
138
|
+
B) Skip this one
|
|
139
|
+
C) Modify before applying (describe what to change)
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
If C: ask what to change, update the proposal in-memory, re-show, re-ask A/B only.
|
|
143
|
+
|
|
144
|
+
## Step 6 — Execute approved proposals
|
|
145
|
+
|
|
146
|
+
For each approved proposal:
|
|
147
|
+
|
|
148
|
+
**Type A (new skill):**
|
|
149
|
+
```bash
|
|
150
|
+
mkdir -p ~/.claude/skills/<name>
|
|
151
|
+
```
|
|
152
|
+
Write `~/.claude/skills/<name>/SKILL.md` with the skeleton from Step 3.
|
|
153
|
+
Print: "Skill /<name> created at ~/.claude/skills/<name>/SKILL.md — invoke it with /<name>."
|
|
154
|
+
|
|
155
|
+
**Type B (skill tweak):**
|
|
156
|
+
Read the target skill file. Apply the diff. Print the before/after. Do NOT commit.
|
|
157
|
+
|
|
158
|
+
**Type C (ICM memory):**
|
|
159
|
+
```bash
|
|
160
|
+
icm store -t "<topic>" -c "<content>" -i <importance> -k "<keywords>"
|
|
161
|
+
```
|
|
162
|
+
Print the stored memory ID.
|
|
163
|
+
|
|
164
|
+
## Step 7 — Summary
|
|
165
|
+
|
|
166
|
+
After all proposals are processed, print a compact summary:
|
|
167
|
+
|
|
168
|
+
```
|
|
169
|
+
/review-past-performance complete
|
|
170
|
+
Applied: N proposals
|
|
171
|
+
Skipped: N proposals
|
|
172
|
+
|
|
173
|
+
What changed:
|
|
174
|
+
- [list each applied change with one line]
|
|
175
|
+
|
|
176
|
+
Run again tomorrow: /review-past-performance
|
|
177
|
+
```
|
|
178
|
+
|
|
179
|
+
Then:
|
|
180
|
+
```bash
|
|
181
|
+
# Store this review run as an ICM memory so future reviews have continuity
|
|
182
|
+
icm store -t "context-workflow" \
|
|
183
|
+
-c "Performance review $(date +%Y-%m-%d): found [N] patterns, applied [N] proposals. Key findings: [one-line summary]" \
|
|
184
|
+
-i medium \
|
|
185
|
+
-k "performance-review,self-improvement" 2>/dev/null || true
|
|
186
|
+
```
|
|
187
|
+
|
|
188
|
+
```bash
|
|
189
|
+
# Log to gstack timeline if available
|
|
190
|
+
~/.slate/skills/gstack/bin/gstack-timeline-log \
|
|
191
|
+
'{"skill":"review-past-performance","event":"completed","outcome":"success"}' 2>/dev/null || true
|
|
192
|
+
```
|
|
193
|
+
|
|
194
|
+
---
|
|
195
|
+
|
|
196
|
+
## Notes
|
|
197
|
+
|
|
198
|
+
- This skill reads only — no git mutations, no PR actions, no Notion/Linear writes.
|
|
199
|
+
- Type A skills created here are skeletons. Run them once and tune before relying on them.
|
|
200
|
+
- If ICM is unavailable (`ICM_UNAVAILABLE`), fall back to git log + gstack analytics only; note the limitation in findings.
|
|
201
|
+
- If there are fewer than 3 signals available, say so and offer to run again after more sessions.
|
package/README.md
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
<p><strong>Agent-agnostic skill catalog for Codex, Claude, Cursor, Copilot, Windsurf, Kiro, and other skill-aware tools.</strong></p>
|
|
4
4
|
<p>
|
|
5
5
|
<img src="https://img.shields.io/badge/license-MIT-16a34a" alt="MIT license">
|
|
6
|
-
<img src="https://img.shields.io/badge/skills-
|
|
6
|
+
<img src="https://img.shields.io/badge/skills-19-2563eb" alt="19 skills">
|
|
7
7
|
<img src="https://img.shields.io/badge/platforms-Codex%20%7C%20Claude%20%7C%20Cursor%20%7C%20Copilot%20%7C%20Windsurf%20%7C%20Kiro-111827" alt="Codex Claude Cursor Copilot Windsurf Kiro">
|
|
8
8
|
<img src="https://img.shields.io/badge/status-public%20catalog-16a34a" alt="Public catalog">
|
|
9
9
|
</p>
|
|
@@ -174,7 +174,7 @@ packages/{category}/{skill}/adapters/
|
|
|
174
174
|
|
|
175
175
|
</details>
|
|
176
176
|
|
|
177
|
-
## All
|
|
177
|
+
## All 19 Skills
|
|
178
178
|
|
|
179
179
|
These packages are the entry points. Each one is a structured workflow with concrete trigger conditions and execution steps. You can reference any skill directly by its `olko:*` lookup name.
|
|
180
180
|
|
|
@@ -193,6 +193,7 @@ These packages are the entry points. Each one is a structured workflow with conc
|
|
|
193
193
|
| [open-source-publisher](packages/software-development/open-source-publisher/SKILL.md) | Prepares an open-source repository for public publishing with branding, CI/CD, and release hygiene | Releasing a private project publicly with proper GitHub Pages, README, and social preview |
|
|
194
194
|
| [obsidian-pr-sync](packages/software-development/obsidian-pr-sync/SKILL.md) | Fetches open GitHub PRs assigned to you or requesting review, and writes a grouped age-sorted section into today's Obsidian daily note | Syncing GitHub review queue to Obsidian at the start of the day or on demand |
|
|
195
195
|
| [obsidian-task-rollover](packages/software-development/obsidian-task-rollover/SKILL.md) | Migrates unchecked tasks from today's Obsidian daily note to the next workday under `## Carried over`, marking source tasks as `[>]` | End-of-day bullet-journal task migration, rolling unfinished work to the next workday |
|
|
196
|
+
| [review-past-performance](packages/software-development/review-past-performance/SKILL.md) | Self-improvement loop: pulls 24h of ICM memories, git history, and skill analytics; detects repeated mistakes, slow workflows, and missing coverage; proposes 1-3 concrete fixes | Reviewing a day's coding sessions for patterns, wanting to codify a repeated workflow, or running a daily self-improvement loop |
|
|
196
197
|
|
|
197
198
|
### Music
|
|
198
199
|
|
package/catalog/skills.json
CHANGED
|
@@ -198,6 +198,29 @@
|
|
|
198
198
|
"kiro"
|
|
199
199
|
]
|
|
200
200
|
},
|
|
201
|
+
{
|
|
202
|
+
"name": "review-past-performance",
|
|
203
|
+
"lookupName": "olko:review-past-performance",
|
|
204
|
+
"category": "software-development",
|
|
205
|
+
"path": "packages/software-development/review-past-performance",
|
|
206
|
+
"description": "Self-improvement loop that pulls the last 24h of ICM memories, git history, and skill analytics to detect repeated mistakes, slow workflows, and missing coverage, then proposes 1-3 concrete improvements.",
|
|
207
|
+
"tags": [
|
|
208
|
+
"self-improvement",
|
|
209
|
+
"performance-review",
|
|
210
|
+
"icm",
|
|
211
|
+
"skills",
|
|
212
|
+
"workflow",
|
|
213
|
+
"ai-tools"
|
|
214
|
+
],
|
|
215
|
+
"adapters": [
|
|
216
|
+
"codex",
|
|
217
|
+
"claude",
|
|
218
|
+
"cursor",
|
|
219
|
+
"copilot",
|
|
220
|
+
"windsurf",
|
|
221
|
+
"kiro"
|
|
222
|
+
]
|
|
223
|
+
},
|
|
201
224
|
{
|
|
202
225
|
"name": "open-source-publisher",
|
|
203
226
|
"lookupName": "olko:open-source-publisher",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: open-source-publisher
|
|
3
|
-
description: Prepare an open-source repository for polished public publishing. Use when a user asks to publish, open-source, launch, polish, package, brand, or make a GitHub project presentable with a minimal project icon, social preview image, GitHub Pages landing page, standardized README, essential shields, CI/CD quality gates, release automation checks, and optional donation setup.
|
|
3
|
+
description: Prepare an open-source repository for polished public publishing. Use when a user asks to publish, open-source, launch, polish, package, brand, or make a GitHub project presentable with a minimal project icon, social preview image, GitHub Pages landing page, standardized README, essential shields, CI/CD quality gates, release automation checks, and optional donation setup. Prefer the external `logo-generator` skill for icon generation when available.
|
|
4
4
|
license: MIT
|
|
5
5
|
allowed-tools: Bash, Read, Write, Edit, WebSearch, WebFetch
|
|
6
6
|
compatibility: Codex, Claude Code, Cursor, GitHub Copilot, Windsurf, Kiro, and other Agent Skills compatible tools. Requires a writable git repository; browser or image rendering tools are useful for visual validation.
|
|
@@ -117,6 +117,27 @@ Rules:
|
|
|
117
117
|
|
|
118
118
|
Create a simple, recognizable SVG logo from the repository's essence. Prefer `logo.svg` and also render `logo.png` so the icon can be reused in README assets, release artifacts, and platform-specific previews.
|
|
119
119
|
|
|
120
|
+
Use the external `logo-generator` skill first for icon generation when it is installed (see `logo-generator` Installation below). If it is not installed, follow the manual SVG guidance below and commit both the editable SVG and rendered PNG when practical.
|
|
121
|
+
|
|
122
|
+
### `logo-generator` Installation
|
|
123
|
+
|
|
124
|
+
The `logo-generator` skill is external and is not bundled with this repository. Install it separately from <https://github.com/op7418/logo-generator-skill> before relying on it:
|
|
125
|
+
|
|
126
|
+
```bash
|
|
127
|
+
npx skills add https://github.com/op7418/logo-generator-skill.git
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
If automatic installation is unavailable, clone it into the Claude skills directory:
|
|
131
|
+
|
|
132
|
+
```bash
|
|
133
|
+
git clone https://github.com/op7418/logo-generator-skill.git ~/.claude/skills/logo-generator
|
|
134
|
+
cd ~/.claude/skills/logo-generator
|
|
135
|
+
pip install -r requirements.txt
|
|
136
|
+
cp .env.example .env
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
Then add `GEMINI_API_KEY` to `.env` and restart the agent runtime so the skill is discoverable.
|
|
140
|
+
|
|
120
141
|
Icon rules:
|
|
121
142
|
|
|
122
143
|
- Use one clear metaphor from the project domain, not a collage.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: open-source-publisher
|
|
3
|
-
description: Prepare an open-source repository for polished public publishing. Use when a user asks to publish, open-source, launch, polish, package, brand, or make a GitHub project presentable with a minimal project icon, social preview image, GitHub Pages landing page, standardized README, essential shields, CI/CD quality gates, release automation checks, and optional donation setup.
|
|
3
|
+
description: Prepare an open-source repository for polished public publishing. Use when a user asks to publish, open-source, launch, polish, package, brand, or make a GitHub project presentable with a minimal project icon, social preview image, GitHub Pages landing page, standardized README, essential shields, CI/CD quality gates, release automation checks, and optional donation setup. Prefer the external `logo-generator` skill for icon generation when available.
|
|
4
4
|
license: MIT
|
|
5
5
|
allowed-tools: Bash, Read, Write, Edit, WebSearch, WebFetch
|
|
6
6
|
compatibility: Codex, Claude Code, Cursor, GitHub Copilot, Windsurf, Kiro, and other Agent Skills compatible tools. Requires a writable git repository; browser or image rendering tools are useful for visual validation.
|
|
@@ -118,6 +118,27 @@ Rules:
|
|
|
118
118
|
|
|
119
119
|
Create a simple, recognizable SVG logo from the repository's essence. Prefer `logo.svg` and also render `logo.png` so the icon can be reused in README assets, release artifacts, and platform-specific previews.
|
|
120
120
|
|
|
121
|
+
Use the external `logo-generator` skill first for icon generation when it is installed (see `logo-generator` Installation below). If it is not installed, follow the manual SVG guidance below and commit both the editable SVG and rendered PNG when practical.
|
|
122
|
+
|
|
123
|
+
### `logo-generator` Installation
|
|
124
|
+
|
|
125
|
+
The `logo-generator` skill is external and is not bundled with this repository. Install it separately from <https://github.com/op7418/logo-generator-skill> before relying on it:
|
|
126
|
+
|
|
127
|
+
```bash
|
|
128
|
+
npx skills add https://github.com/op7418/logo-generator-skill.git
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
If automatic installation is unavailable, clone it into the Claude skills directory:
|
|
132
|
+
|
|
133
|
+
```bash
|
|
134
|
+
git clone https://github.com/op7418/logo-generator-skill.git ~/.claude/skills/logo-generator
|
|
135
|
+
cd ~/.claude/skills/logo-generator
|
|
136
|
+
pip install -r requirements.txt
|
|
137
|
+
cp .env.example .env
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
Then add `GEMINI_API_KEY` to `.env` and restart the agent runtime so the skill is discoverable.
|
|
141
|
+
|
|
121
142
|
Icon rules:
|
|
122
143
|
|
|
123
144
|
- Use one clear metaphor from the project domain, not a collage.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: open-source-publisher
|
|
3
|
-
description: Prepare an open-source repository for polished public publishing. Use when a user asks to publish, open-source, launch, polish, package, brand, or make a GitHub project presentable with a minimal project icon, social preview image, GitHub Pages landing page, standardized README, essential shields, CI/CD quality gates, release automation checks, and optional donation setup.
|
|
3
|
+
description: Prepare an open-source repository for polished public publishing. Use when a user asks to publish, open-source, launch, polish, package, brand, or make a GitHub project presentable with a minimal project icon, social preview image, GitHub Pages landing page, standardized README, essential shields, CI/CD quality gates, release automation checks, and optional donation setup. Prefer the external `logo-generator` skill for icon generation when available.
|
|
4
4
|
license: MIT
|
|
5
5
|
allowed-tools: Bash, Read, Write, Edit, WebSearch, WebFetch
|
|
6
6
|
compatibility: Codex, Claude Code, Cursor, GitHub Copilot, Windsurf, Kiro, and other Agent Skills compatible tools. Requires a writable git repository; browser or image rendering tools are useful for visual validation.
|
|
@@ -118,6 +118,27 @@ Rules:
|
|
|
118
118
|
|
|
119
119
|
Create a simple, recognizable SVG logo from the repository's essence. Prefer `logo.svg` and also render `logo.png` so the icon can be reused in README assets, release artifacts, and platform-specific previews.
|
|
120
120
|
|
|
121
|
+
Use the external `logo-generator` skill first for icon generation when it is installed (see `logo-generator` Installation below). If it is not installed, follow the manual SVG guidance below and commit both the editable SVG and rendered PNG when practical.
|
|
122
|
+
|
|
123
|
+
### `logo-generator` Installation
|
|
124
|
+
|
|
125
|
+
The `logo-generator` skill is external and is not bundled with this repository. Install it separately from <https://github.com/op7418/logo-generator-skill> before relying on it:
|
|
126
|
+
|
|
127
|
+
```bash
|
|
128
|
+
npx skills add https://github.com/op7418/logo-generator-skill.git
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
If automatic installation is unavailable, clone it into the Claude skills directory:
|
|
132
|
+
|
|
133
|
+
```bash
|
|
134
|
+
git clone https://github.com/op7418/logo-generator-skill.git ~/.claude/skills/logo-generator
|
|
135
|
+
cd ~/.claude/skills/logo-generator
|
|
136
|
+
pip install -r requirements.txt
|
|
137
|
+
cp .env.example .env
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
Then add `GEMINI_API_KEY` to `.env` and restart the agent runtime so the skill is discoverable.
|
|
141
|
+
|
|
121
142
|
Icon rules:
|
|
122
143
|
|
|
123
144
|
- Use one clear metaphor from the project domain, not a collage.
|