@olegkoval/agent-skills 1.35.3 → 1.37.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 (185) hide show
  1. package/.github/copilot-instructions.md +1 -0
  2. package/.github/prompts/music-to-plex.prompt.md +251 -0
  3. package/.kiro/steering/music-to-plex.md +250 -0
  4. package/.windsurf/rules/music-to-plex.md +249 -0
  5. package/README.md +12 -2
  6. package/adapters/claude/olko-creative/skills/music-to-plex/SKILL.md +255 -0
  7. package/adapters/claude/olko-creative/skills/music-to-plex/references/bandcamp-album-identification.md +29 -0
  8. package/adapters/claude/olko-creative/skills/music-to-plex/references/batch-import-staging.md +23 -0
  9. package/adapters/claude/olko-creative/skills/music-to-plex/references/canonical-artist-normalization.md +24 -0
  10. package/adapters/claude/olko-creative/skills/music-to-plex/references/cover-art-and-plexamp.md +22 -0
  11. package/adapters/claude/olko-creative/skills/music-to-plex/references/cover-art-repair-session.md +34 -0
  12. package/adapters/claude/olko-creative/skills/music-to-plex/references/cover-art-sourcing-session.md +23 -0
  13. package/adapters/claude/olko-creative/skills/music-to-plex/references/dj-tracklist-crate-ingest.md +184 -0
  14. package/adapters/claude/olko-creative/skills/music-to-plex/references/duplicate-torrent-handling.md +19 -0
  15. package/adapters/claude/olko-creative/skills/music-to-plex/references/fallback-audio-validation-and-nas-preflight.md +42 -0
  16. package/adapters/claude/olko-creative/skills/music-to-plex/references/gear-change-image-identification.md +35 -0
  17. package/adapters/claude/olko-creative/skills/music-to-plex/references/image-driven-identification-and-verification.md +19 -0
  18. package/adapters/claude/olko-creative/skills/music-to-plex/references/library-repair-folders.md +22 -0
  19. package/adapters/claude/olko-creative/skills/music-to-plex/references/malformed-flac-fallbacks.md +11 -0
  20. package/adapters/claude/olko-creative/skills/music-to-plex/references/manual-fallback-transfer-and-plex-verification.md +39 -0
  21. package/adapters/claude/olko-creative/skills/music-to-plex/references/mtp-bot-bulk-state-safety.md +21 -0
  22. package/adapters/claude/olko-creative/skills/music-to-plex/references/mtp-subprocess-wrapper.md +13 -0
  23. package/adapters/claude/olko-creative/skills/music-to-plex/references/music-note-blurb-order.md +38 -0
  24. package/adapters/claude/olko-creative/skills/music-to-plex/references/nas-import-and-refresh.md +16 -0
  25. package/adapters/claude/olko-creative/skills/music-to-plex/references/nas-library-layout-and-write-preflight.md +31 -0
  26. package/adapters/claude/olko-creative/skills/music-to-plex/references/nas-permissions-and-plex-traversal.md +26 -0
  27. package/adapters/claude/olko-creative/skills/music-to-plex/references/nas-routing-and-refresh.md +22 -0
  28. package/adapters/claude/olko-creative/skills/music-to-plex/references/no-result-album-fallback.md +28 -0
  29. package/adapters/claude/olko-creative/skills/music-to-plex/references/per-track-album-art-split.md +12 -0
  30. package/adapters/claude/olko-creative/skills/music-to-plex/references/plex-playlist-append-and-verify.md +18 -0
  31. package/adapters/claude/olko-creative/skills/music-to-plex/references/plex-playlist-creation.md +21 -0
  32. package/adapters/claude/olko-creative/skills/music-to-plex/references/plex-token-source.md +20 -0
  33. package/adapters/claude/olko-creative/skills/music-to-plex/references/plex-visibility-check.md +28 -0
  34. package/adapters/claude/olko-creative/skills/music-to-plex/references/practice-crate-playlist.md +18 -0
  35. package/adapters/claude/olko-creative/skills/music-to-plex/references/session-2026-06-17-synology-probe.md +13 -0
  36. package/adapters/claude/olko-creative/skills/music-to-plex/references/torrent-stall-fallback.md +62 -0
  37. package/adapters/claude/olko-creative/skills/music-to-plex/references/verification-and-pitfalls.md +17 -0
  38. package/adapters/claude/olko-creative/skills/music-to-plex/references/youtube-403-fallbacks.md +17 -0
  39. package/adapters/claude/olko-creative/skills/music-to-plex/references/youtube-full-album-fallback.md +34 -0
  40. package/adapters/claude/olko-creative/skills/music-to-plex/references/youtube-lineage-playlist-fallback.md +33 -0
  41. package/adapters/claude/olko-creative/skills/music-to-plex/references/youtube-playlist-import.md +50 -0
  42. package/adapters/claude/olko-creative/skills/music-to-plex/references/youtube-track-resolution-heuristics.md +23 -0
  43. package/adapters/claude/olko-creative/skills/music-to-plex/references/zero-track-playlist-recovery.md +21 -0
  44. package/adapters/claude/olko-github-pr/skills/lekker-review/SKILL.md +44 -0
  45. package/adapters/claude/olko-github-pr/skills/lekker-review/references/agents/quality.md +18 -0
  46. package/adapters/claude/olko-github-pr/skills/lekker-review/references/agents/simplification.md +29 -0
  47. package/adapters/claude/olko-github-pr/skills/lekker-review/references/output-format.md +30 -0
  48. package/adapters/codex/olko-creative/README.md +1 -0
  49. package/adapters/cursor/olko-creative/skills/music-to-plex/SKILL.md +255 -0
  50. package/adapters/cursor/olko-creative/skills/music-to-plex/references/bandcamp-album-identification.md +29 -0
  51. package/adapters/cursor/olko-creative/skills/music-to-plex/references/batch-import-staging.md +23 -0
  52. package/adapters/cursor/olko-creative/skills/music-to-plex/references/canonical-artist-normalization.md +24 -0
  53. package/adapters/cursor/olko-creative/skills/music-to-plex/references/cover-art-and-plexamp.md +22 -0
  54. package/adapters/cursor/olko-creative/skills/music-to-plex/references/cover-art-repair-session.md +34 -0
  55. package/adapters/cursor/olko-creative/skills/music-to-plex/references/cover-art-sourcing-session.md +23 -0
  56. package/adapters/cursor/olko-creative/skills/music-to-plex/references/dj-tracklist-crate-ingest.md +184 -0
  57. package/adapters/cursor/olko-creative/skills/music-to-plex/references/duplicate-torrent-handling.md +19 -0
  58. package/adapters/cursor/olko-creative/skills/music-to-plex/references/fallback-audio-validation-and-nas-preflight.md +42 -0
  59. package/adapters/cursor/olko-creative/skills/music-to-plex/references/gear-change-image-identification.md +35 -0
  60. package/adapters/cursor/olko-creative/skills/music-to-plex/references/image-driven-identification-and-verification.md +19 -0
  61. package/adapters/cursor/olko-creative/skills/music-to-plex/references/library-repair-folders.md +22 -0
  62. package/adapters/cursor/olko-creative/skills/music-to-plex/references/malformed-flac-fallbacks.md +11 -0
  63. package/adapters/cursor/olko-creative/skills/music-to-plex/references/manual-fallback-transfer-and-plex-verification.md +39 -0
  64. package/adapters/cursor/olko-creative/skills/music-to-plex/references/mtp-bot-bulk-state-safety.md +21 -0
  65. package/adapters/cursor/olko-creative/skills/music-to-plex/references/mtp-subprocess-wrapper.md +13 -0
  66. package/adapters/cursor/olko-creative/skills/music-to-plex/references/music-note-blurb-order.md +38 -0
  67. package/adapters/cursor/olko-creative/skills/music-to-plex/references/nas-import-and-refresh.md +16 -0
  68. package/adapters/cursor/olko-creative/skills/music-to-plex/references/nas-library-layout-and-write-preflight.md +31 -0
  69. package/adapters/cursor/olko-creative/skills/music-to-plex/references/nas-permissions-and-plex-traversal.md +26 -0
  70. package/adapters/cursor/olko-creative/skills/music-to-plex/references/nas-routing-and-refresh.md +22 -0
  71. package/adapters/cursor/olko-creative/skills/music-to-plex/references/no-result-album-fallback.md +28 -0
  72. package/adapters/cursor/olko-creative/skills/music-to-plex/references/per-track-album-art-split.md +12 -0
  73. package/adapters/cursor/olko-creative/skills/music-to-plex/references/plex-playlist-append-and-verify.md +18 -0
  74. package/adapters/cursor/olko-creative/skills/music-to-plex/references/plex-playlist-creation.md +21 -0
  75. package/adapters/cursor/olko-creative/skills/music-to-plex/references/plex-token-source.md +20 -0
  76. package/adapters/cursor/olko-creative/skills/music-to-plex/references/plex-visibility-check.md +28 -0
  77. package/adapters/cursor/olko-creative/skills/music-to-plex/references/practice-crate-playlist.md +18 -0
  78. package/adapters/cursor/olko-creative/skills/music-to-plex/references/session-2026-06-17-synology-probe.md +13 -0
  79. package/adapters/cursor/olko-creative/skills/music-to-plex/references/torrent-stall-fallback.md +62 -0
  80. package/adapters/cursor/olko-creative/skills/music-to-plex/references/verification-and-pitfalls.md +17 -0
  81. package/adapters/cursor/olko-creative/skills/music-to-plex/references/youtube-403-fallbacks.md +17 -0
  82. package/adapters/cursor/olko-creative/skills/music-to-plex/references/youtube-full-album-fallback.md +34 -0
  83. package/adapters/cursor/olko-creative/skills/music-to-plex/references/youtube-lineage-playlist-fallback.md +33 -0
  84. package/adapters/cursor/olko-creative/skills/music-to-plex/references/youtube-playlist-import.md +50 -0
  85. package/adapters/cursor/olko-creative/skills/music-to-plex/references/youtube-track-resolution-heuristics.md +23 -0
  86. package/adapters/cursor/olko-creative/skills/music-to-plex/references/zero-track-playlist-recovery.md +21 -0
  87. package/adapters/grok/olko-creative/skills/music-to-plex/SKILL.md +255 -0
  88. package/adapters/grok/olko-creative/skills/music-to-plex/references/bandcamp-album-identification.md +29 -0
  89. package/adapters/grok/olko-creative/skills/music-to-plex/references/batch-import-staging.md +23 -0
  90. package/adapters/grok/olko-creative/skills/music-to-plex/references/canonical-artist-normalization.md +24 -0
  91. package/adapters/grok/olko-creative/skills/music-to-plex/references/cover-art-and-plexamp.md +22 -0
  92. package/adapters/grok/olko-creative/skills/music-to-plex/references/cover-art-repair-session.md +34 -0
  93. package/adapters/grok/olko-creative/skills/music-to-plex/references/cover-art-sourcing-session.md +23 -0
  94. package/adapters/grok/olko-creative/skills/music-to-plex/references/dj-tracklist-crate-ingest.md +184 -0
  95. package/adapters/grok/olko-creative/skills/music-to-plex/references/duplicate-torrent-handling.md +19 -0
  96. package/adapters/grok/olko-creative/skills/music-to-plex/references/fallback-audio-validation-and-nas-preflight.md +42 -0
  97. package/adapters/grok/olko-creative/skills/music-to-plex/references/gear-change-image-identification.md +35 -0
  98. package/adapters/grok/olko-creative/skills/music-to-plex/references/image-driven-identification-and-verification.md +19 -0
  99. package/adapters/grok/olko-creative/skills/music-to-plex/references/library-repair-folders.md +22 -0
  100. package/adapters/grok/olko-creative/skills/music-to-plex/references/malformed-flac-fallbacks.md +11 -0
  101. package/adapters/grok/olko-creative/skills/music-to-plex/references/manual-fallback-transfer-and-plex-verification.md +39 -0
  102. package/adapters/grok/olko-creative/skills/music-to-plex/references/mtp-bot-bulk-state-safety.md +21 -0
  103. package/adapters/grok/olko-creative/skills/music-to-plex/references/mtp-subprocess-wrapper.md +13 -0
  104. package/adapters/grok/olko-creative/skills/music-to-plex/references/music-note-blurb-order.md +38 -0
  105. package/adapters/grok/olko-creative/skills/music-to-plex/references/nas-import-and-refresh.md +16 -0
  106. package/adapters/grok/olko-creative/skills/music-to-plex/references/nas-library-layout-and-write-preflight.md +31 -0
  107. package/adapters/grok/olko-creative/skills/music-to-plex/references/nas-permissions-and-plex-traversal.md +26 -0
  108. package/adapters/grok/olko-creative/skills/music-to-plex/references/nas-routing-and-refresh.md +22 -0
  109. package/adapters/grok/olko-creative/skills/music-to-plex/references/no-result-album-fallback.md +28 -0
  110. package/adapters/grok/olko-creative/skills/music-to-plex/references/per-track-album-art-split.md +12 -0
  111. package/adapters/grok/olko-creative/skills/music-to-plex/references/plex-playlist-append-and-verify.md +18 -0
  112. package/adapters/grok/olko-creative/skills/music-to-plex/references/plex-playlist-creation.md +21 -0
  113. package/adapters/grok/olko-creative/skills/music-to-plex/references/plex-token-source.md +20 -0
  114. package/adapters/grok/olko-creative/skills/music-to-plex/references/plex-visibility-check.md +28 -0
  115. package/adapters/grok/olko-creative/skills/music-to-plex/references/practice-crate-playlist.md +18 -0
  116. package/adapters/grok/olko-creative/skills/music-to-plex/references/session-2026-06-17-synology-probe.md +13 -0
  117. package/adapters/grok/olko-creative/skills/music-to-plex/references/torrent-stall-fallback.md +62 -0
  118. package/adapters/grok/olko-creative/skills/music-to-plex/references/verification-and-pitfalls.md +17 -0
  119. package/adapters/grok/olko-creative/skills/music-to-plex/references/youtube-403-fallbacks.md +17 -0
  120. package/adapters/grok/olko-creative/skills/music-to-plex/references/youtube-full-album-fallback.md +34 -0
  121. package/adapters/grok/olko-creative/skills/music-to-plex/references/youtube-lineage-playlist-fallback.md +33 -0
  122. package/adapters/grok/olko-creative/skills/music-to-plex/references/youtube-playlist-import.md +50 -0
  123. package/adapters/grok/olko-creative/skills/music-to-plex/references/youtube-track-resolution-heuristics.md +23 -0
  124. package/adapters/grok/olko-creative/skills/music-to-plex/references/zero-track-playlist-recovery.md +21 -0
  125. package/catalog/skills.json +33 -9
  126. package/package.json +1 -1
  127. package/plugins/olko-apple-kit/.claude-plugin/plugin.json +1 -1
  128. package/plugins/olko-creative/.claude-plugin/plugin.json +1 -1
  129. package/plugins/olko-creative/skills/music-to-plex/SKILL.md +254 -0
  130. package/plugins/olko-creative/skills/music-to-plex/references/bandcamp-album-identification.md +29 -0
  131. package/plugins/olko-creative/skills/music-to-plex/references/batch-import-staging.md +23 -0
  132. package/plugins/olko-creative/skills/music-to-plex/references/canonical-artist-normalization.md +24 -0
  133. package/plugins/olko-creative/skills/music-to-plex/references/cover-art-and-plexamp.md +22 -0
  134. package/plugins/olko-creative/skills/music-to-plex/references/cover-art-repair-session.md +34 -0
  135. package/plugins/olko-creative/skills/music-to-plex/references/cover-art-sourcing-session.md +23 -0
  136. package/plugins/olko-creative/skills/music-to-plex/references/dj-tracklist-crate-ingest.md +184 -0
  137. package/plugins/olko-creative/skills/music-to-plex/references/duplicate-torrent-handling.md +19 -0
  138. package/plugins/olko-creative/skills/music-to-plex/references/fallback-audio-validation-and-nas-preflight.md +42 -0
  139. package/plugins/olko-creative/skills/music-to-plex/references/gear-change-image-identification.md +35 -0
  140. package/plugins/olko-creative/skills/music-to-plex/references/image-driven-identification-and-verification.md +19 -0
  141. package/plugins/olko-creative/skills/music-to-plex/references/library-repair-folders.md +22 -0
  142. package/plugins/olko-creative/skills/music-to-plex/references/malformed-flac-fallbacks.md +11 -0
  143. package/plugins/olko-creative/skills/music-to-plex/references/manual-fallback-transfer-and-plex-verification.md +39 -0
  144. package/plugins/olko-creative/skills/music-to-plex/references/mtp-bot-bulk-state-safety.md +21 -0
  145. package/plugins/olko-creative/skills/music-to-plex/references/mtp-subprocess-wrapper.md +13 -0
  146. package/plugins/olko-creative/skills/music-to-plex/references/music-note-blurb-order.md +38 -0
  147. package/plugins/olko-creative/skills/music-to-plex/references/nas-import-and-refresh.md +16 -0
  148. package/plugins/olko-creative/skills/music-to-plex/references/nas-library-layout-and-write-preflight.md +31 -0
  149. package/plugins/olko-creative/skills/music-to-plex/references/nas-permissions-and-plex-traversal.md +26 -0
  150. package/plugins/olko-creative/skills/music-to-plex/references/nas-routing-and-refresh.md +22 -0
  151. package/plugins/olko-creative/skills/music-to-plex/references/no-result-album-fallback.md +28 -0
  152. package/plugins/olko-creative/skills/music-to-plex/references/per-track-album-art-split.md +12 -0
  153. package/plugins/olko-creative/skills/music-to-plex/references/plex-playlist-append-and-verify.md +18 -0
  154. package/plugins/olko-creative/skills/music-to-plex/references/plex-playlist-creation.md +21 -0
  155. package/plugins/olko-creative/skills/music-to-plex/references/plex-token-source.md +20 -0
  156. package/plugins/olko-creative/skills/music-to-plex/references/plex-visibility-check.md +28 -0
  157. package/plugins/olko-creative/skills/music-to-plex/references/practice-crate-playlist.md +18 -0
  158. package/plugins/olko-creative/skills/music-to-plex/references/session-2026-06-17-synology-probe.md +13 -0
  159. package/plugins/olko-creative/skills/music-to-plex/references/torrent-stall-fallback.md +62 -0
  160. package/plugins/olko-creative/skills/music-to-plex/references/verification-and-pitfalls.md +17 -0
  161. package/plugins/olko-creative/skills/music-to-plex/references/youtube-403-fallbacks.md +17 -0
  162. package/plugins/olko-creative/skills/music-to-plex/references/youtube-full-album-fallback.md +34 -0
  163. package/plugins/olko-creative/skills/music-to-plex/references/youtube-lineage-playlist-fallback.md +33 -0
  164. package/plugins/olko-creative/skills/music-to-plex/references/youtube-playlist-import.md +50 -0
  165. package/plugins/olko-creative/skills/music-to-plex/references/youtube-track-resolution-heuristics.md +23 -0
  166. package/plugins/olko-creative/skills/music-to-plex/references/zero-track-playlist-recovery.md +21 -0
  167. package/plugins/olko-garmin-kit/.claude-plugin/plugin.json +1 -1
  168. package/plugins/olko-git-tools/.claude-plugin/plugin.json +1 -1
  169. package/plugins/olko-github-pr/.claude-plugin/plugin.json +1 -1
  170. package/plugins/olko-github-pr/skills/lekker-review/README.md +60 -0
  171. package/plugins/olko-github-pr/skills/lekker-review/SKILL.md +44 -0
  172. package/plugins/olko-github-pr/skills/lekker-review/assets/poster-overview.html +204 -0
  173. package/plugins/olko-github-pr/skills/lekker-review/assets/poster-overview.png +0 -0
  174. package/plugins/olko-github-pr/skills/lekker-review/assets/poster-proof.html +199 -0
  175. package/plugins/olko-github-pr/skills/lekker-review/assets/poster-proof.png +0 -0
  176. package/plugins/olko-github-pr/skills/lekker-review/references/agents/quality.md +18 -0
  177. package/plugins/olko-github-pr/skills/lekker-review/references/agents/simplification.md +29 -0
  178. package/plugins/olko-github-pr/skills/lekker-review/references/output-format.md +30 -0
  179. package/plugins/olko-obsidian/.claude-plugin/plugin.json +1 -1
  180. package/plugins/olko-product/.claude-plugin/plugin.json +1 -1
  181. package/plugins/olko-reflection/.claude-plugin/plugin.json +1 -1
  182. package/plugins/olko-release/.claude-plugin/plugin.json +1 -1
  183. package/plugins/olko-skill-meta/.claude-plugin/plugin.json +1 -1
  184. package/plugins/olko-web-ops/.claude-plugin/plugin.json +1 -1
  185. package/scripts/lib/catalog.mjs +1 -1
@@ -0,0 +1,199 @@
1
+ <!doctype html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <meta name="viewport" content="width=1280, initial-scale=1">
6
+ <title>Lekker Review Proof</title>
7
+ <style>
8
+ * { box-sizing: border-box; }
9
+ html, body { width: 1280px; height: 720px; margin: 0; overflow: hidden; }
10
+ body {
11
+ color: #e8e8e8;
12
+ background: radial-gradient(circle at 0 0, rgba(255, 200, 60, 0.05), transparent 38%), #0d0d0d;
13
+ font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
14
+ }
15
+ .poster {
16
+ width: 1280px;
17
+ height: 720px;
18
+ padding: 40px;
19
+ display: grid;
20
+ grid-template-rows: 62px 38px 286px 86px 66px 22px;
21
+ gap: 16px;
22
+ overflow: hidden;
23
+ }
24
+ h1 {
25
+ margin: 0 0 8px;
26
+ color: #f5c542;
27
+ font: 700 30px/1 ui-monospace, "SFMono-Regular", Menlo, monospace;
28
+ letter-spacing: 0.06em;
29
+ }
30
+ .subtitle { margin: 0; color: #9a9a9a; font-size: 15px; line-height: 1.35; white-space: nowrap; }
31
+ .pipeline { display: flex; align-items: center; gap: 8px; min-width: 0; }
32
+ .step {
33
+ height: 38px;
34
+ padding: 0 14px;
35
+ display: flex;
36
+ align-items: center;
37
+ justify-content: center;
38
+ color: #9a9a9a;
39
+ background: #161616;
40
+ border: 1px solid #2c2c2c;
41
+ border-radius: 8px;
42
+ font: 13px/1 ui-monospace, "SFMono-Regular", Menlo, monospace;
43
+ white-space: nowrap;
44
+ }
45
+ .step.hot { color: #f5c542; border-color: #f5c542; }
46
+ .arrow { flex: 0 0 auto; color: #555; font: 15px/1 ui-monospace, "SFMono-Regular", Menlo, monospace; }
47
+ .cards { display: flex; gap: 16px; min-width: 0; }
48
+ .card {
49
+ flex: 1 1 0;
50
+ min-width: 0;
51
+ height: 286px;
52
+ padding: 16px;
53
+ background: #161616;
54
+ border: 1px solid #262626;
55
+ border-radius: 10px;
56
+ overflow: hidden;
57
+ }
58
+ .kicker {
59
+ margin: 0 0 8px;
60
+ color: #f5c542;
61
+ font: 700 11px/1.2 ui-monospace, "SFMono-Regular", Menlo, monospace;
62
+ letter-spacing: 0.11em;
63
+ }
64
+ h2 { margin: 0 0 14px; font-size: 19px; line-height: 1.1; font-weight: 600; }
65
+ .claims { display: grid; gap: 9px; }
66
+ .claim { margin: 0; color: #9a9a9a; font-size: 12.5px; line-height: 1.38; }
67
+ .claim strong { color: #e8e8e8; font-weight: 600; }
68
+ .panel {
69
+ padding: 13px 16px;
70
+ background: #161616;
71
+ border: 1px solid #262626;
72
+ border-radius: 10px;
73
+ display: flex;
74
+ align-items: center;
75
+ gap: 14px;
76
+ overflow: hidden;
77
+ }
78
+ .panel-title {
79
+ flex: 0 0 auto;
80
+ margin: 0;
81
+ color: #f5c542;
82
+ font: 700 11px/1 ui-monospace, "SFMono-Regular", Menlo, monospace;
83
+ letter-spacing: 0.11em;
84
+ }
85
+ .chip {
86
+ flex: 0 0 auto;
87
+ padding: 8px 11px;
88
+ color: #8a8a8a;
89
+ background: #1e1e1e;
90
+ border: 1px solid #2c2c2c;
91
+ border-radius: 6px;
92
+ font: 11.5px/1 ui-monospace, "SFMono-Regular", Menlo, monospace;
93
+ white-space: nowrap;
94
+ }
95
+ .chip.red { color: #f0dcdc; background: #a35c60; border-color: #a35c60; }
96
+ .panel-rule { margin: 0; color: #e8e8e8; font-size: 12.5px; line-height: 1.28; font-weight: 600; }
97
+ .statement {
98
+ display: flex;
99
+ align-items: center;
100
+ color: #e8e8e8;
101
+ font-size: 18px;
102
+ line-height: 1.2;
103
+ font-weight: 600;
104
+ }
105
+ footer {
106
+ display: flex;
107
+ align-items: end;
108
+ justify-content: space-between;
109
+ color: #6a6a6a;
110
+ font: 11.5px/1 ui-monospace, "SFMono-Regular", Menlo, monospace;
111
+ white-space: nowrap;
112
+ }
113
+ </style>
114
+ </head>
115
+ <body>
116
+ <main class="poster">
117
+ <header>
118
+ <h1>LEKKER PROOF</h1>
119
+ <p class="subtitle">Depth gates verification and proof attempts; a proven Critical must flip green after a fix.</p>
120
+ </header>
121
+
122
+ <section class="pipeline" aria-label="Evidence pipeline">
123
+ <div class="step">finding</div><span class="arrow">→</span>
124
+ <div class="step">five challenges</div><span class="arrow">→</span>
125
+ <div class="step hot">proof attempt</div><span class="arrow">→</span>
126
+ <div class="step">real git diff</div><span class="arrow">→</span>
127
+ <div class="step">green proof</div><span class="arrow">→</span>
128
+ <div class="step">confirmed push</div>
129
+ </section>
130
+
131
+ <section class="cards" aria-label="Proof mechanisms">
132
+ <article class="card">
133
+ <p class="kicker">PROOF 01</p>
134
+ <h2>Refute It</h2>
135
+ <div class="claims">
136
+ <p class="claim">One verifier applies five adversarial challenges to one finding.</p>
137
+ <p class="claim"><strong>Scan:</strong> no findings verified.</p>
138
+ <p class="claim"><strong>Medium:</strong> Criticals verified.</p>
139
+ <p class="claim"><strong>Deep:</strong> Criticals and Importants verified.</p>
140
+ </div>
141
+ </article>
142
+ <article class="card">
143
+ <p class="kicker">PROOF 02</p>
144
+ <h2>Keep the Rule</h2>
145
+ <div class="claims">
146
+ <p class="claim">Teams define hard rules in <strong>references/house-rules.md</strong>.</p>
147
+ <p class="claim">Reviewers tag violations with <strong>rule</strong>; they stay Critical.</p>
148
+ <p class="claim">Runtime questions cannot prove standards and would drop non-negotiable findings.</p>
149
+ <p class="claim">Rule-tagged findings skip provers; policy has no failing test.</p>
150
+ </div>
151
+ </article>
152
+ <article class="card">
153
+ <p class="kicker">PROOF 03</p>
154
+ <h2>Prove the Bug</h2>
155
+ <div class="claims">
156
+ <p class="claim">At medium and deep depth, up to five non-rule Criticals get a prover.</p>
157
+ <p class="claim">It runs in the isolated worktree.</p>
158
+ <p class="claim">Captured red demonstrates the Critical bug.</p>
159
+ <p class="claim">Green is counter-evidence: downgrade or justify.</p>
160
+ </div>
161
+ </article>
162
+ <article class="card">
163
+ <p class="kicker">PROOF 04</p>
164
+ <h2>Fix, Then Verify</h2>
165
+ <div class="claims">
166
+ <p class="claim">One fix agent edits each file.</p>
167
+ <p class="claim">A read-only verifier reads the real git diff.</p>
168
+ <p class="claim">A red proof after the fix reverts the group.</p>
169
+ <p class="claim">Nothing is pushed without explicit confirmation.</p>
170
+ </div>
171
+ </article>
172
+ <article class="card">
173
+ <p class="kicker">PROOF 05</p>
174
+ <h2>Keep It Living</h2>
175
+ <div class="claims">
176
+ <p class="claim">Reviews publish a private artifact page by default.</p>
177
+ <p class="claim">Re-reviews update the same URL.</p>
178
+ <p class="claim">A timeline shows what changed since the last review.</p>
179
+ <p class="claim">Findings close commit by commit.</p>
180
+ </div>
181
+ </article>
182
+ </section>
183
+
184
+ <section class="panel" aria-label="Counter-evidence rule">
185
+ <p class="panel-title">COUNTER-EVIDENCE</p>
186
+ <span class="chip red">RED = bug demonstrated</span>
187
+ <span class="chip">GREEN = code behaved correctly</span>
188
+ <p class="panel-rule">A green proof cannot silently remain Critical. It must be downgraded or explicitly justified.</p>
189
+ </section>
190
+
191
+ <div class="statement">An executed test outranks an agent's opinion. If the proof stays red after a fix, the group is reverted.</div>
192
+
193
+ <footer>
194
+ <span>VERIFY: scan none · medium Critical · deep Critical + Important · rule-tagged findings exempt and never proved</span>
195
+ <span>lekker-review</span>
196
+ </footer>
197
+ </main>
198
+ </body>
199
+ </html>
@@ -36,6 +36,24 @@ Axes to cover:
36
36
  - No JavaScript files (TS-2): if the diff adds any `.js` file to a non-Liquid
37
37
  theme repo, flag as Critical — must be `.ts`. Set `rule: "TS-2"` on the
38
38
  finding.
39
+ - Dependency changes. Skip this axis entirely unless the diff touches
40
+ `package.json`, a lockfile, or a vendored dependency. Where it applies:
41
+ (a) A version bump is a behaviour change nobody in this PR wrote. If neither
42
+ the PR body nor a commit message cites the changelog or migration notes,
43
+ that is `important`: semver is a promise the maintainer may not have kept,
44
+ and a "patch" can carry a behavioural change.
45
+ (b) A bulk bump of several unrelated packages in one PR is `important`. When
46
+ it breaks the build you have lost which package did it. The `fix` is to
47
+ split it per package, or per genuinely related group.
48
+ (c) When the repository tracks a committed lockfile, a `package.json`
49
+ dependency change with no matching lockfile change in the same diff is
50
+ `critical`: the lockfile is what actually ships. A lockfile change with no
51
+ `package.json` change and no explanation is also `critical`. Do not require
52
+ a lockfile from a repository that intentionally does not commit one.
53
+ (d) A new direct dependency that duplicates something already in the stack is
54
+ `important`. Name the existing thing that already solves it.
55
+ Raise NO naming, comment, complexity, or hard-rule finding inside a lockfile
56
+ or a `node_modules` path.
39
57
 
40
58
  Setting rule tags the finding as a house hard rule: it keeps its Critical
41
59
  severity and skips adversarial verification. Only set it for a genuine
@@ -20,10 +20,39 @@ Look for:
20
20
  anti-pattern (handler → service → repo with no logic in any layer).
21
21
  - Feature flags always on/off, fallback that can never trigger, dual
22
22
  implementations where old has no callers.
23
+ - Relocated complexity: a refactor that moves code without reducing the number
24
+ of concepts a reader must hold to follow it. Count them before and after, but
25
+ an unchanged count alone is not a finding. Flag only when the move leaves a
26
+ concrete residual coupling, duplication, branch, or bug-surface maintenance
27
+ risk, and name both that risk and the cheaper move available (deleting a
28
+ branch, a mode, or a layer outright, rather than re-centralising the same
29
+ logic). `important` when the PR is sold as a cleanup or refactor,
30
+ `observation` otherwise.
31
+ - Feature logic in a shared module: feature-specific behaviour added to a
32
+ general-purpose util, a shared client, or a base class. The branch belongs in
33
+ the package that owns the concept. Name the owning layer in the `fix`.
34
+ - Dead code this diff orphans: when the diff replaces or reroutes something,
35
+ grep the worktree for remaining callers of what it superseded (the old helper,
36
+ the old component, a now-unreferenced constant, a flag that can no longer be
37
+ false). Enumerate what is now unreachable. NEVER propose a silent deletion:
38
+ the `fix` lists the orphans and asks the author to confirm removal.
39
+ `observation`, or `important` when the dead path is still reachable from
40
+ production code. When WORKTREE_PATH is null in scan mode, do not infer absent
41
+ callers from the diff: mark orphan analysis unverified and request
42
+ worktree-backed verification instead.
23
43
 
24
44
  Only flag where duplication or complexity creates a real maintenance risk or
25
45
  bug surface — not aesthetic preference.
26
46
 
47
+ When you flag a structural problem, name the move, not just the smell: replace a
48
+ chain of conditionals with a typed model or an explicit dispatcher, collapse
49
+ duplicate branches into one flow, separate orchestration from business logic,
50
+ move feature logic into the package that owns it, reuse the canonical helper
51
+ instead of a near-duplicate, delete a pass-through wrapper. Prefer the remedy
52
+ that removes moving pieces over one that spreads the same complexity around. A
53
+ finding that says "this is complex" without naming the restructuring is not
54
+ actionable: name the move or drop the finding.
55
+
27
56
  EXISTING_REVIEWS: read key "existingReviews" from CONTEXT_FILE (awareness only — skip findings already raised)
28
57
 
29
58
  PROJECT_RULES to verify: read key "projectRules" from CONTEXT_FILE.
@@ -140,6 +140,36 @@ proof inline.>
140
140
 
141
141
  ---
142
142
 
143
+ ## 📋 PR-level findings
144
+
145
+ PR-level findings have no single file:line. Render them with this dedicated
146
+ contract instead of demoting them to Observations because a location is absent:
147
+
148
+ For an `important` sizing finding:
149
+
150
+ ### #N — Sizing
151
+
152
+ **Scope:** PR-level · **Severity:** Important
153
+
154
+ **Risk:** <why the PR cannot be reviewed safely as presented>
155
+
156
+ **Action:** <the recommended split and strategy>
157
+
158
+ For a missing verification story:
159
+
160
+ ### Verification story — action required
161
+
162
+ **Missing evidence:** <tests run, manual exercise, screenshots for UI, or
163
+ before/after for behaviour or performance>
164
+
165
+ **Action:** <exactly what the author must add to the PR description>
166
+
167
+ An `important` sizing finding counts toward the Important total and continues
168
+ the finding-number sequence. Missing verification evidence is an explicit
169
+ action, not a no-action Observation.
170
+
171
+ *(Omit section entirely if empty.)*
172
+
143
173
  ## 📝 Observations
144
174
 
145
175
  - <note — tradeoff, risk to watch, or design question worth raising>
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "olko-obsidian",
3
3
  "description": "Keep an Obsidian vault in sync with work: PR sync, task rollover, morning routine.",
4
- "version": "1.35.3",
4
+ "version": "1.37.0",
5
5
  "author": {
6
6
  "name": "Oleg Koval"
7
7
  },
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "olko-product",
3
3
  "description": "Take a product idea to a shippable build: MVP passes, full-stack scaffolds, launch plans.",
4
- "version": "1.35.3",
4
+ "version": "1.37.0",
5
5
  "author": {
6
6
  "name": "Oleg Koval"
7
7
  },
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "olko-reflection",
3
3
  "description": "Look back and improve: self-critique, retrospectives, performance review, rapid learning.",
4
- "version": "1.35.3",
4
+ "version": "1.37.0",
5
5
  "author": {
6
6
  "name": "Oleg Koval"
7
7
  },
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "olko-release",
3
3
  "description": "Ship a release: semantic-release setup, changelogs, store listing copy, release-day routine.",
4
- "version": "1.35.3",
4
+ "version": "1.37.0",
5
5
  "author": {
6
6
  "name": "Oleg Koval"
7
7
  },
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "olko-skill-meta",
3
3
  "description": "Author and maintain agent skills and the AI toolchain itself.",
4
- "version": "1.35.3",
4
+ "version": "1.37.0",
5
5
  "author": {
6
6
  "name": "Oleg Koval"
7
7
  },
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "olko-web-ops",
3
3
  "description": "Operate a website: WAF rules, search console audits, analytics bootstrap, docs indexes.",
4
- "version": "1.35.3",
4
+ "version": "1.37.0",
5
5
  "author": {
6
6
  "name": "Oleg Koval"
7
7
  },
@@ -45,7 +45,7 @@ export const PLUGIN_ASSIGNMENT = {
45
45
  },
46
46
  'olko-creative': {
47
47
  description: 'Creative and personal projects: photo galleries, music players, listings, wiki editing.',
48
- skills: ['gallery', 'fill-music-player', 'vinted-listing', 'wikipedia-uk-editor'],
48
+ skills: ['gallery', 'fill-music-player', 'music-to-plex', 'vinted-listing', 'wikipedia-uk-editor'],
49
49
  },
50
50
  'olko-web-ops': {
51
51
  description: 'Operate a website: WAF rules, search console audits, analytics bootstrap, docs indexes.',