@olegkoval/agent-skills 1.12.0 → 1.14.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 (74) hide show
  1. package/.claude-plugin/plugin.json +6 -2
  2. package/.cursor-plugin/index.json +15 -0
  3. package/.kiro/steering/apple-store-submit.md +145 -0
  4. package/.kiro/steering/cloudflare-block-countries.md +0 -1
  5. package/.kiro/steering/docs-index-keeper.md +0 -1
  6. package/.kiro/steering/fill-music-player.md +0 -1
  7. package/.kiro/steering/gallery.md +0 -1
  8. package/.kiro/steering/gh-cli.md +0 -1
  9. package/.kiro/steering/git-commit.md +0 -1
  10. package/.kiro/steering/macos-menubar-app.md +225 -0
  11. package/.kiro/steering/mvp-oneshot.md +164 -0
  12. package/.kiro/steering/obsidian-pr-sync.md +0 -1
  13. package/.kiro/steering/obsidian-task-rollover.md +0 -1
  14. package/.kiro/steering/open-source-publisher.md +0 -1
  15. package/.kiro/steering/product-builder.md +0 -1
  16. package/.kiro/steering/promptctl.md +0 -1
  17. package/.kiro/steering/review-past-performance.md +0 -1
  18. package/.kiro/steering/search-console-indexing-audit.md +0 -1
  19. package/.kiro/steering/semantic-release-beta.md +0 -1
  20. package/.kiro/steering/starter-rules.md +0 -1
  21. package/.kiro/steering/viral-launch.md +0 -1
  22. package/.windsurf/rules/apple-store-submit.md +144 -0
  23. package/.windsurf/rules/cloudflare-block-countries.md +0 -1
  24. package/.windsurf/rules/docs-index-keeper.md +0 -1
  25. package/.windsurf/rules/fill-music-player.md +0 -1
  26. package/.windsurf/rules/gallery.md +0 -1
  27. package/.windsurf/rules/gh-cli.md +0 -1
  28. package/.windsurf/rules/git-commit.md +0 -1
  29. package/.windsurf/rules/macos-menubar-app.md +224 -0
  30. package/.windsurf/rules/mvp-oneshot.md +163 -0
  31. package/.windsurf/rules/obsidian-pr-sync.md +0 -1
  32. package/.windsurf/rules/obsidian-task-rollover.md +0 -1
  33. package/.windsurf/rules/open-source-publisher.md +0 -1
  34. package/.windsurf/rules/product-builder.md +0 -1
  35. package/.windsurf/rules/promptctl.md +0 -1
  36. package/.windsurf/rules/review-past-performance.md +0 -1
  37. package/.windsurf/rules/search-console-indexing-audit.md +0 -1
  38. package/.windsurf/rules/semantic-release-beta.md +0 -1
  39. package/.windsurf/rules/starter-rules.md +0 -1
  40. package/.windsurf/rules/viral-launch.md +0 -1
  41. package/catalog/skills.json +90 -0
  42. package/collections/product-tools.json +1 -1
  43. package/collections/prompt-tools.json +1 -1
  44. package/collections/software-development.json +2 -1
  45. package/package.json +1 -1
  46. package/packages/software-development/apple-store-submit/SKILL.md +157 -0
  47. package/packages/software-development/apple-store-submit/adapters/claude/plugin.json +5 -0
  48. package/packages/software-development/apple-store-submit/adapters/claude/skills/apple-store-submit/SKILL.md +158 -0
  49. package/packages/software-development/apple-store-submit/adapters/codex/README.md +3 -0
  50. package/packages/software-development/apple-store-submit/adapters/cursor/plugin.json +6 -0
  51. package/packages/software-development/apple-store-submit/adapters/cursor/skills/apple-store-submit/SKILL.md +158 -0
  52. package/packages/software-development/apple-store-submit/adapters/kiro/steering/apple-store-submit.md +145 -0
  53. package/packages/software-development/apple-store-submit/adapters/windsurf/rules/apple-store-submit.md +144 -0
  54. package/packages/software-development/macos-menubar-app/SKILL.md +237 -0
  55. package/packages/software-development/macos-menubar-app/adapters/claude/plugin.json +5 -0
  56. package/packages/software-development/macos-menubar-app/adapters/claude/skills/macos-menubar-app/SKILL.md +238 -0
  57. package/packages/software-development/macos-menubar-app/adapters/codex/README.md +3 -0
  58. package/packages/software-development/macos-menubar-app/adapters/cursor/plugin.json +6 -0
  59. package/packages/software-development/macos-menubar-app/adapters/cursor/skills/macos-menubar-app/SKILL.md +238 -0
  60. package/packages/software-development/macos-menubar-app/adapters/kiro/steering/macos-menubar-app.md +225 -0
  61. package/packages/software-development/macos-menubar-app/adapters/windsurf/rules/macos-menubar-app.md +224 -0
  62. package/packages/software-development/mvp-oneshot/LICENSE +21 -0
  63. package/packages/software-development/mvp-oneshot/SKILL.md +175 -0
  64. package/packages/software-development/mvp-oneshot/adapters/claude/plugin.json +5 -0
  65. package/packages/software-development/mvp-oneshot/adapters/claude/skills/mvp-oneshot/SKILL.md +176 -0
  66. package/packages/software-development/mvp-oneshot/adapters/codex/README.md +3 -0
  67. package/packages/software-development/mvp-oneshot/adapters/cursor/plugin.json +6 -0
  68. package/packages/software-development/mvp-oneshot/adapters/cursor/skills/mvp-oneshot/SKILL.md +176 -0
  69. package/packages/software-development/mvp-oneshot/adapters/kiro/steering/mvp-oneshot.md +164 -0
  70. package/packages/software-development/mvp-oneshot/adapters/windsurf/rules/mvp-oneshot.md +163 -0
  71. package/packages/software-development/skill-budget-audit/SKILL.md +145 -0
  72. package/packages/software-development/skill-budget-audit/adapters/claude/plugin.json +5 -0
  73. package/packages/software-development/skill-budget-audit/adapters/claude/skills/skill-budget-audit/SKILL.md +146 -0
  74. package/scripts/build-adapters.sh +11 -9
@@ -0,0 +1,145 @@
1
+ ---
2
+ name: skill-budget-audit
3
+ description: Diagnose and fix Claude Code's skill context budget overflow — identify heavy plugin bundles that exceed the 2% budget, remove domain-specific ones, deactivate rarely-used skill sets, and validate the warning clears. Use when Claude Code shows "Exceeded skills context budget" or skill descriptions are stripped.
4
+ license: MIT
5
+ allowed-tools: Bash, Read, Write, Edit
6
+ compatibility: Claude Code only. Requires access to ~/.claude/ and ~/.claude/plugins/
7
+ metadata:
8
+ targets: [_source-only]
9
+ author: Oleg Koval
10
+ tags:
11
+ - claude-code
12
+ - skills
13
+ - plugins
14
+ - context-budget
15
+ - token-economy
16
+ - performance
17
+ ---
18
+
19
+ > 🤖 *Auto-generated by **weekly-pattern-learner** · Skill context budget overflow appeared in 2 sessions this week (Jun 2026): initial investigation (7 turns, 742 skills hidden) and cleanup followup (14 turns)*
20
+
21
+ # Skill Context Budget Audit
22
+
23
+ ## Overview
24
+
25
+ Claude Code allocates 2% of its context window for skill descriptions. With too many plugins installed, descriptions get stripped and skills become invisible. This skill audits plugin bundles, removes unused domain-specific ones, and restores skill discoverability.
26
+
27
+ ## When to Use
28
+
29
+ - Claude Code shows: `⚠ Exceeded skills context budget of 2%. All skill descriptions were removed and N additional skills hidden.`
30
+ - Skill invocations fail silently or Claude cannot find a skill by name
31
+ - After installing multiple plugin bundles, noticing slowdown or skill lookup failures
32
+ - Periodically as a maintenance step when adding new skill collections
33
+
34
+ ## Workflow
35
+
36
+ ### 1. Confirm the Symptom
37
+
38
+ ```bash
39
+ # Check Claude Code logs for context budget warning
40
+ cat ~/.claude/logs/claude-code.log 2>/dev/null | grep -i "skill" | tail -20
41
+
42
+ # Or count installed plugins
43
+ ls ~/.claude/plugins/cache/ | wc -l
44
+ ```
45
+
46
+ If you see `Exceeded skills context budget` or more than ~20 plugin bundles, proceed.
47
+
48
+ ### 2. Inventory Installed Plugins
49
+
50
+ ```bash
51
+ # List all installed plugins with size
52
+ du -sh ~/.claude/plugins/cache/*/ 2>/dev/null | sort -rh | head -30
53
+
54
+ # Count skills per bundle
55
+ for dir in ~/.claude/plugins/cache/*/; do
56
+ count=$(find "$dir" -name "*.md" -path "*/skills/*" 2>/dev/null | wc -l | tr -d ' ')
57
+ echo "$count $dir"
58
+ done | sort -rn | head -20
59
+ ```
60
+
61
+ ### 3. Identify Removal Candidates
62
+
63
+ Remove bundles that match any of these criteria:
64
+
65
+ | Criterion | Example bundles |
66
+ |-----------|----------------|
67
+ | Domain not active in current projects | `claude-for-financial-services`, `bitwize-music` |
68
+ | Duplicate superpowers installations | Multiple `superpowers-*` versions |
69
+ | Language-specific bundles for inactive languages | `cc-skills-golang` when not working in Go |
70
+ | Bundles with 30+ skills you never invoke | Large catch-all collections |
71
+
72
+ Keep: core workflow skills (superpowers, agent-skills), project-specific skills, personal skill collections.
73
+
74
+ ### 4. Remove Heavy Bundles
75
+
76
+ ```bash
77
+ # List Claude Code plugins (check settings.json for registered ones)
78
+ cat ~/.claude/settings.json | grep -A 50 '"plugins"'
79
+ # or
80
+ cat ~/.claude/settings.local.json 2>/dev/null | grep -A 50 '"plugins"'
81
+ ```
82
+
83
+ Remove via Claude Code settings or by editing the plugins list directly:
84
+
85
+ ```bash
86
+ # Backup first
87
+ cp ~/.claude/settings.json ~/.claude/settings.json.bak
88
+
89
+ # Then edit ~/.claude/settings.json to remove plugin entries
90
+ # Remove entries like:
91
+ # "claude-for-financial-services"
92
+ # "bitwize-music"
93
+ # duplicate superpowers entries
94
+ ```
95
+
96
+ Remove cached plugin directories:
97
+
98
+ ```bash
99
+ cache_dir="$HOME/.claude/plugins/cache/<bundle-name>"
100
+ if [ -d "$cache_dir" ]; then
101
+ rm -rf "$cache_dir"
102
+ fi
103
+ ```
104
+
105
+ ### 5. Conditionally Load Heavy Skill Sets
106
+
107
+ For language-specific bundles (e.g., `cc-skills-golang`):
108
+ - Only install when actively working in that language
109
+ - Uninstall when switching projects
110
+
111
+ For security-focused skills (`secskills`):
112
+ - Configure as manually invocable only (not auto-loaded)
113
+ - In plugin settings: set `autoLoad: false` if supported
114
+
115
+ ### 6. Validate the Fix
116
+
117
+ ```bash
118
+ # Restart Claude Code and check:
119
+ # 1. No "Exceeded skills context budget" warning on startup
120
+ # 2. /find-skills or skill listing shows descriptions (not empty)
121
+ # 3. rtk gain shows reasonable context usage
122
+ rtk gain 2>/dev/null || echo "rtk not available"
123
+ ```
124
+
125
+ Open a new Claude Code session and run a skill that was previously failing — verify it activates correctly.
126
+
127
+ ### 7. Prevent Recurrence
128
+
129
+ **Budget targets:**
130
+ - Keep installed skills under ~200 total (rough safe limit)
131
+ - Prefer curated skill sets over catch-all bundles
132
+ - Review and prune quarterly
133
+
134
+ **Useful heuristics:**
135
+ - If you haven't invoked a skill in 30 days, the bundle is a candidate for removal
136
+ - Language packs → install per-project, not globally
137
+ - Duplicate superpowers/agent-skills versions → keep exactly one
138
+
139
+ ## Verification
140
+
141
+ - [ ] No "Exceeded skills context budget" warning in new session
142
+ - [ ] Skill descriptions visible in `/find-skills` output
143
+ - [ ] Previously failing skill invocations succeed
144
+ - [ ] Plugin count reduced to below ~20 bundles
145
+ - [ ] `~/.claude/settings.json` backed up before changes
@@ -0,0 +1,5 @@
1
+ {
2
+ "name": "olko-skill-budget-audit",
3
+ "description": "Diagnose and fix Claude Code skill context budget overflow — identify heavy plugin bundles, remove domain-specific ones, and restore skill discoverability.",
4
+ "skills": "./skills"
5
+ }
@@ -0,0 +1,146 @@
1
+ ---
2
+ name: skill-budget-audit
3
+ description: Diagnose and fix Claude Code's skill context budget overflow — identify heavy plugin bundles that exceed the 2% budget, remove domain-specific ones, deactivate rarely-used skill sets, and validate the warning clears. Use when Claude Code shows "Exceeded skills context budget" or skill descriptions are stripped.
4
+ license: MIT
5
+ allowed-tools: Bash, Read, Write, Edit
6
+ compatibility: Claude Code only. Requires access to ~/.claude/ and ~/.claude/plugins/
7
+ metadata:
8
+ targets: [_source-only]
9
+ author: Oleg Koval
10
+ tags:
11
+ - claude-code
12
+ - skills
13
+ - plugins
14
+ - context-budget
15
+ - token-economy
16
+ - performance
17
+ ---
18
+ <!-- Generated by scripts/build-adapters.sh. Do not edit directly. -->
19
+
20
+ > 🤖 *Auto-generated by **weekly-pattern-learner** · Skill context budget overflow appeared in 2 sessions this week (Jun 2026): initial investigation (7 turns, 742 skills hidden) and cleanup followup (14 turns)*
21
+
22
+ # Skill Context Budget Audit
23
+
24
+ ## Overview
25
+
26
+ Claude Code allocates 2% of its context window for skill descriptions. With too many plugins installed, descriptions get stripped and skills become invisible. This skill audits plugin bundles, removes unused domain-specific ones, and restores skill discoverability.
27
+
28
+ ## When to Use
29
+
30
+ - Claude Code shows: `⚠ Exceeded skills context budget of 2%. All skill descriptions were removed and N additional skills hidden.`
31
+ - Skill invocations fail silently or Claude cannot find a skill by name
32
+ - After installing multiple plugin bundles, noticing slowdown or skill lookup failures
33
+ - Periodically as a maintenance step when adding new skill collections
34
+
35
+ ## Workflow
36
+
37
+ ### 1. Confirm the Symptom
38
+
39
+ ```bash
40
+ # Check Claude Code logs for context budget warning
41
+ cat ~/.claude/logs/claude-code.log 2>/dev/null | grep -i "skill" | tail -20
42
+
43
+ # Or count installed plugins
44
+ ls ~/.claude/plugins/cache/ | wc -l
45
+ ```
46
+
47
+ If you see `Exceeded skills context budget` or more than ~20 plugin bundles, proceed.
48
+
49
+ ### 2. Inventory Installed Plugins
50
+
51
+ ```bash
52
+ # List all installed plugins with size
53
+ du -sh ~/.claude/plugins/cache/*/ 2>/dev/null | sort -rh | head -30
54
+
55
+ # Count skills per bundle
56
+ for dir in ~/.claude/plugins/cache/*/; do
57
+ count=$(find "$dir" -name "*.md" -path "*/skills/*" 2>/dev/null | wc -l | tr -d ' ')
58
+ echo "$count $dir"
59
+ done | sort -rn | head -20
60
+ ```
61
+
62
+ ### 3. Identify Removal Candidates
63
+
64
+ Remove bundles that match any of these criteria:
65
+
66
+ | Criterion | Example bundles |
67
+ |-----------|----------------|
68
+ | Domain not active in current projects | `claude-for-financial-services`, `bitwize-music` |
69
+ | Duplicate superpowers installations | Multiple `superpowers-*` versions |
70
+ | Language-specific bundles for inactive languages | `cc-skills-golang` when not working in Go |
71
+ | Bundles with 30+ skills you never invoke | Large catch-all collections |
72
+
73
+ Keep: core workflow skills (superpowers, agent-skills), project-specific skills, personal skill collections.
74
+
75
+ ### 4. Remove Heavy Bundles
76
+
77
+ ```bash
78
+ # List Claude Code plugins (check settings.json for registered ones)
79
+ cat ~/.claude/settings.json | grep -A 50 '"plugins"'
80
+ # or
81
+ cat ~/.claude/settings.local.json 2>/dev/null | grep -A 50 '"plugins"'
82
+ ```
83
+
84
+ Remove via Claude Code settings or by editing the plugins list directly:
85
+
86
+ ```bash
87
+ # Backup first
88
+ cp ~/.claude/settings.json ~/.claude/settings.json.bak
89
+
90
+ # Then edit ~/.claude/settings.json to remove plugin entries
91
+ # Remove entries like:
92
+ # "claude-for-financial-services"
93
+ # "bitwize-music"
94
+ # duplicate superpowers entries
95
+ ```
96
+
97
+ Remove cached plugin directories:
98
+
99
+ ```bash
100
+ cache_dir="$HOME/.claude/plugins/cache/<bundle-name>"
101
+ if [ -d "$cache_dir" ]; then
102
+ rm -rf "$cache_dir"
103
+ fi
104
+ ```
105
+
106
+ ### 5. Conditionally Load Heavy Skill Sets
107
+
108
+ For language-specific bundles (e.g., `cc-skills-golang`):
109
+ - Only install when actively working in that language
110
+ - Uninstall when switching projects
111
+
112
+ For security-focused skills (`secskills`):
113
+ - Configure as manually invocable only (not auto-loaded)
114
+ - In plugin settings: set `autoLoad: false` if supported
115
+
116
+ ### 6. Validate the Fix
117
+
118
+ ```bash
119
+ # Restart Claude Code and check:
120
+ # 1. No "Exceeded skills context budget" warning on startup
121
+ # 2. /find-skills or skill listing shows descriptions (not empty)
122
+ # 3. rtk gain shows reasonable context usage
123
+ rtk gain 2>/dev/null || echo "rtk not available"
124
+ ```
125
+
126
+ Open a new Claude Code session and run a skill that was previously failing — verify it activates correctly.
127
+
128
+ ### 7. Prevent Recurrence
129
+
130
+ **Budget targets:**
131
+ - Keep installed skills under ~200 total (rough safe limit)
132
+ - Prefer curated skill sets over catch-all bundles
133
+ - Review and prune quarterly
134
+
135
+ **Useful heuristics:**
136
+ - If you haven't invoked a skill in 30 days, the bundle is a candidate for removal
137
+ - Language packs → install per-project, not globally
138
+ - Duplicate superpowers/agent-skills versions → keep exactly one
139
+
140
+ ## Verification
141
+
142
+ - [ ] No "Exceeded skills context budget" warning in new session
143
+ - [ ] Skill descriptions visible in `/find-skills` output
144
+ - [ ] Previously failing skill invocations succeed
145
+ - [ ] Plugin count reduced to below ~20 bundles
146
+ - [ ] `~/.claude/settings.json` backed up before changes
@@ -55,11 +55,13 @@ const plugins = [
55
55
  },
56
56
  ]
57
57
 
58
- const cursorPlugins = catalog.packages.map((pkg) => ({
59
- name: lookupNameFor(pkg),
60
- source: `./${pkg.path}/adapters/cursor`,
61
- description: pkg.description,
62
- }))
58
+ const cursorPlugins = catalog.packages
59
+ .filter((pkg) => pkg.adapters.includes('cursor'))
60
+ .map((pkg) => ({
61
+ name: lookupNameFor(pkg),
62
+ source: `./${pkg.path}/adapters/cursor`,
63
+ description: pkg.description,
64
+ }))
63
65
 
64
66
  fs.mkdirSync(path.join(root, '.claude-plugin'), { recursive: true })
65
67
  fs.mkdirSync(path.join(root, '.cursor-plugin'), { recursive: true })
@@ -127,7 +129,7 @@ const copilotInstructions = [
127
129
  '- Prefer small, scoped updates that preserve existing package structure.',
128
130
  '',
129
131
  'Available reusable prompt files:',
130
- ...catalog.packages.map((pkg) => `- ${pkg.name}: .github/prompts/${promptNameFor(pkg)}`),
132
+ ...catalog.packages.filter((pkg) => pkg.adapters.includes('copilot')).map((pkg) => `- ${pkg.name}: .github/prompts/${promptNameFor(pkg)}`),
131
133
  '',
132
134
  ].join('\n')
133
135
 
@@ -138,7 +140,7 @@ for (const pkg of catalog.packages) {
138
140
  continue
139
141
  }
140
142
 
141
- const skillBody = stripFrontmatter(fs.readFileSync(skillPathFor(pkg), 'utf8')).trimEnd()
143
+ const skillBody = stripFrontmatter(fs.readFileSync(skillPathFor(pkg), 'utf8')).trimStart().trimEnd()
142
144
  const prompt = stripTrailingLineWhitespace([
143
145
  generatedHeader,
144
146
  '',
@@ -160,7 +162,7 @@ for (const pkg of catalog.packages) {
160
162
  continue
161
163
  }
162
164
 
163
- const skillBody = stripFrontmatter(fs.readFileSync(skillPathFor(pkg), 'utf8')).trimEnd()
165
+ const skillBody = stripFrontmatter(fs.readFileSync(skillPathFor(pkg), 'utf8')).trimStart().trimEnd()
164
166
  const content = stripTrailingLineWhitespace([
165
167
  generatedHeader,
166
168
  '',
@@ -180,7 +182,7 @@ for (const pkg of catalog.packages) {
180
182
  continue
181
183
  }
182
184
 
183
- const skillBody = stripFrontmatter(fs.readFileSync(skillPathFor(pkg), 'utf8')).trimEnd()
185
+ const skillBody = stripFrontmatter(fs.readFileSync(skillPathFor(pkg), 'utf8')).trimStart().trimEnd()
184
186
  const content = stripTrailingLineWhitespace([
185
187
  generatedHeader,
186
188
  '',