@olegkoval/agent-skills 1.59.1 → 1.59.3

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 (27) hide show
  1. package/.github/copilot-instructions.md +1 -0
  2. package/.github/prompts/ingest-publication-slice.prompt.md +43 -0
  3. package/.kiro/steering/ingest-publication-slice.md +42 -0
  4. package/.windsurf/rules/ingest-publication-slice.md +41 -0
  5. package/README.md +4 -2
  6. package/adapters/claude/olko-github-pr/skills/lekker-review/SKILL.md +1 -0
  7. package/adapters/claude/olko-product/skills/ingest-publication-slice/SKILL.md +44 -0
  8. package/adapters/codex/olko-product/README.md +1 -0
  9. package/adapters/cursor/olko-product/skills/ingest-publication-slice/SKILL.md +44 -0
  10. package/adapters/grok/olko-product/skills/ingest-publication-slice/SKILL.md +44 -0
  11. package/adapters/hermes/olko-product/README.md +1 -0
  12. package/catalog/skills.json +22 -0
  13. package/package.json +2 -2
  14. package/plugins/olko-apple-kit/.claude-plugin/plugin.json +1 -1
  15. package/plugins/olko-creative/.claude-plugin/plugin.json +1 -1
  16. package/plugins/olko-garmin-kit/.claude-plugin/plugin.json +1 -1
  17. package/plugins/olko-git-tools/.claude-plugin/plugin.json +1 -1
  18. package/plugins/olko-github-pr/.claude-plugin/plugin.json +1 -1
  19. package/plugins/olko-github-pr/skills/lekker-review/SKILL.md +1 -0
  20. package/plugins/olko-obsidian/.claude-plugin/plugin.json +1 -1
  21. package/plugins/olko-product/.claude-plugin/plugin.json +1 -1
  22. package/plugins/olko-product/skills/ingest-publication-slice/SKILL.md +43 -0
  23. package/plugins/olko-reflection/.claude-plugin/plugin.json +1 -1
  24. package/plugins/olko-release/.claude-plugin/plugin.json +1 -1
  25. package/plugins/olko-skill-meta/.claude-plugin/plugin.json +1 -1
  26. package/plugins/olko-web-ops/.claude-plugin/plugin.json +1 -1
  27. package/scripts/lib/catalog.mjs +1 -1
@@ -31,6 +31,7 @@ Available reusable prompt files:
31
31
  - release-day: .github/prompts/release-day.prompt.md
32
32
  - changelog-generator: .github/prompts/changelog-generator.prompt.md
33
33
  - store-listing-copy: .github/prompts/store-listing-copy.prompt.md
34
+ - ingest-publication-slice: .github/prompts/ingest-publication-slice.prompt.md
34
35
  - product-builder: .github/prompts/product-builder.prompt.md
35
36
  - mvp-oneshot: .github/prompts/mvp-oneshot.prompt.md
36
37
  - ux-ui-audit-loop: .github/prompts/ux-ui-audit-loop.prompt.md
@@ -0,0 +1,43 @@
1
+ <!-- Generated by scripts/build-adapters.sh. Do not edit directly. -->
2
+
3
+ ---
4
+ description: "Build and verify a small end-to-end publication path for validated ingested data, including atomic persistence, read fallback, and static artifact precedence."
5
+ ---
6
+
7
+ Use the olko:ingest-publication-slice skill.
8
+
9
+ > 🤖 *Auto-generated by **weekly-pattern-learner** · Repeatedly implement a validated ingest-to-publication flow with atomic persistence, fallback reads, and static artifact precedence.*
10
+
11
+ # Ingest Publication Slice
12
+
13
+ Use this workflow when an ingest pipeline must make a validated record available immediately while a static or cached publication artifact may be generated later.
14
+
15
+ ## Define the contract
16
+
17
+ Before changing code, read the repository instructions and trace the current path from ingest entry point through validation, job completion, persistence, request handling, and static artifact generation. Record existing invariants and preserve unrelated work.
18
+
19
+ Write acceptance criteria for one complete slice:
20
+
21
+ - Only a completed, validated active dataset can be published.
22
+ - The persistent publication record and terminal ingest state commit atomically.
23
+ - The canonical read path can serve from the persistent record when no static artifact exists.
24
+ - A static artifact remains authoritative once present, if that is the established product contract.
25
+ - Retries are idempotent, and collisions, invalid states, hidden records, and takedowns cannot publish.
26
+
27
+ Adapt these criteria to the actual product contract. Do not invent a static-artifact precedence rule if the system has none.
28
+
29
+ ## Implement test-first
30
+
31
+ Use the repository's required test command and style. Add focused failing tests before implementation for:
32
+
33
+ 1. A valid ingest publishes the record and terminal state together.
34
+ 2. A failure between writes leaves neither half committed.
35
+ 3. The canonical read path uses the persisted record when the artifact is absent.
36
+ 4. The artifact wins when both sources exist, when precedence is required.
37
+ 5. Repeated delivery is safe and invalid, hidden, colliding, or withdrawn records stay unpublished.
38
+
39
+ Test the production boundary and transaction behavior, not only helper functions. Keep the change to the smallest vertical slice; avoid unrelated schema or routing refactors.
40
+
41
+ ## Verify the composed path
42
+
43
+ Run the focused tests, then the repository's required broader checks. Inspect the final diff and trace the completed path again from ingest through the canonical response. Confirm behavior for retries, partial failures, and transitions from no artifact to artifact present. Report any unavailable integration or deployment evidence explicitly.
@@ -0,0 +1,42 @@
1
+ <!-- Generated by scripts/build-adapters.sh. Do not edit directly. -->
2
+
3
+ ---
4
+ inclusion: manual
5
+ description: "Build and verify a small end-to-end publication path for validated ingested data, including atomic persistence, read fallback, and static artifact precedence."
6
+ ---
7
+
8
+ > 🤖 *Auto-generated by **weekly-pattern-learner** · Repeatedly implement a validated ingest-to-publication flow with atomic persistence, fallback reads, and static artifact precedence.*
9
+
10
+ # Ingest Publication Slice
11
+
12
+ Use this workflow when an ingest pipeline must make a validated record available immediately while a static or cached publication artifact may be generated later.
13
+
14
+ ## Define the contract
15
+
16
+ Before changing code, read the repository instructions and trace the current path from ingest entry point through validation, job completion, persistence, request handling, and static artifact generation. Record existing invariants and preserve unrelated work.
17
+
18
+ Write acceptance criteria for one complete slice:
19
+
20
+ - Only a completed, validated active dataset can be published.
21
+ - The persistent publication record and terminal ingest state commit atomically.
22
+ - The canonical read path can serve from the persistent record when no static artifact exists.
23
+ - A static artifact remains authoritative once present, if that is the established product contract.
24
+ - Retries are idempotent, and collisions, invalid states, hidden records, and takedowns cannot publish.
25
+
26
+ Adapt these criteria to the actual product contract. Do not invent a static-artifact precedence rule if the system has none.
27
+
28
+ ## Implement test-first
29
+
30
+ Use the repository's required test command and style. Add focused failing tests before implementation for:
31
+
32
+ 1. A valid ingest publishes the record and terminal state together.
33
+ 2. A failure between writes leaves neither half committed.
34
+ 3. The canonical read path uses the persisted record when the artifact is absent.
35
+ 4. The artifact wins when both sources exist, when precedence is required.
36
+ 5. Repeated delivery is safe and invalid, hidden, colliding, or withdrawn records stay unpublished.
37
+
38
+ Test the production boundary and transaction behavior, not only helper functions. Keep the change to the smallest vertical slice; avoid unrelated schema or routing refactors.
39
+
40
+ ## Verify the composed path
41
+
42
+ Run the focused tests, then the repository's required broader checks. Inspect the final diff and trace the completed path again from ingest through the canonical response. Confirm behavior for retries, partial failures, and transitions from no artifact to artifact present. Report any unavailable integration or deployment evidence explicitly.
@@ -0,0 +1,41 @@
1
+ <!-- Generated by scripts/build-adapters.sh. Do not edit directly. -->
2
+
3
+ ---
4
+ description: "Build and verify a small end-to-end publication path for validated ingested data, including atomic persistence, read fallback, and static artifact precedence."
5
+ ---
6
+
7
+ > 🤖 *Auto-generated by **weekly-pattern-learner** · Repeatedly implement a validated ingest-to-publication flow with atomic persistence, fallback reads, and static artifact precedence.*
8
+
9
+ # Ingest Publication Slice
10
+
11
+ Use this workflow when an ingest pipeline must make a validated record available immediately while a static or cached publication artifact may be generated later.
12
+
13
+ ## Define the contract
14
+
15
+ Before changing code, read the repository instructions and trace the current path from ingest entry point through validation, job completion, persistence, request handling, and static artifact generation. Record existing invariants and preserve unrelated work.
16
+
17
+ Write acceptance criteria for one complete slice:
18
+
19
+ - Only a completed, validated active dataset can be published.
20
+ - The persistent publication record and terminal ingest state commit atomically.
21
+ - The canonical read path can serve from the persistent record when no static artifact exists.
22
+ - A static artifact remains authoritative once present, if that is the established product contract.
23
+ - Retries are idempotent, and collisions, invalid states, hidden records, and takedowns cannot publish.
24
+
25
+ Adapt these criteria to the actual product contract. Do not invent a static-artifact precedence rule if the system has none.
26
+
27
+ ## Implement test-first
28
+
29
+ Use the repository's required test command and style. Add focused failing tests before implementation for:
30
+
31
+ 1. A valid ingest publishes the record and terminal state together.
32
+ 2. A failure between writes leaves neither half committed.
33
+ 3. The canonical read path uses the persisted record when the artifact is absent.
34
+ 4. The artifact wins when both sources exist, when precedence is required.
35
+ 5. Repeated delivery is safe and invalid, hidden, colliding, or withdrawn records stay unpublished.
36
+
37
+ Test the production boundary and transaction behavior, not only helper functions. Keep the change to the smallest vertical slice; avoid unrelated schema or routing refactors.
38
+
39
+ ## Verify the composed path
40
+
41
+ Run the focused tests, then the repository's required broader checks. Inspect the final diff and trace the completed path again from ingest through the canonical response. Confirm behavior for retries, partial failures, and transitions from no artifact to artifact present. Report any unavailable integration or deployment evidence explicitly.
package/README.md CHANGED
@@ -32,7 +32,7 @@ These skills are opinionated by design. They encode working defaults, preferred
32
32
 
33
33
  ## Start here
34
34
 
35
- Ten skills across different plugins that cover the most common jobs. Full catalog is below.
35
+ Eleven skills across different plugins that cover the most common jobs. Full catalog is below.
36
36
 
37
37
  | What you're doing | Skill | Key principle |
38
38
  |--------------------|-------|----------------|
@@ -43,6 +43,7 @@ Ten skills across different plugins that cover the most common jobs. Full catalo
43
43
  | Closing out a finished piece of work | [wrap-up](plugins/olko-reflection/skills/wrap-up/SKILL.md) (`olko:wrap-up`) | Verify the objective and propose safe cleanup |
44
44
  | Running a recurring engineering retrospective | [retro-analysis](plugins/olko-reflection/skills/retro-analysis/SKILL.md) (`olko:retro-analysis`) | Evidence from delivery and code, not vibes |
45
45
  | Going from idea to a shippable MVP | [mvp-oneshot](plugins/olko-product/skills/mvp-oneshot/SKILL.md) (`olko:mvp-oneshot`) | Scope for one week, not the whole roadmap |
46
+ | Publishing validated ingested data immediately | [ingest-publication-slice](plugins/olko-product/skills/ingest-publication-slice/SKILL.md) (`olko:ingest-publication-slice`) | Test the atomic write, fallback read, and artifact precedence end to end |
46
47
  | Ramping up on an unfamiliar codebase fast | [crash-course](plugins/olko-reflection/skills/crash-course/SKILL.md) (`olko:crash-course`) | Source-grounded, timed, and testable |
47
48
  | Cutting a release from ready-code to submitted-build | [release-day](plugins/olko-release/skills/release-day/SKILL.md) (`olko:release-day`) | One orchestrated pass, not five manual steps |
48
49
  | Starting the workday with the queue synced | [morning-routine](plugins/olko-obsidian/skills/morning-routine/SKILL.md) (`olko:morning-routine`) | Chain the routines instead of running them separately |
@@ -264,7 +265,7 @@ Ship a release: semantic-release setup, changelogs, store listing copy, release-
264
265
  | [changelog-generator](plugins/olko-release/skills/changelog-generator/SKILL.md) | Transforms git commits into polished user-facing changelogs by categorising changes and rewriting technical commit messages | Preparing release notes, a CHANGELOG entry, or "what changed since the last release"; for setting up the release pipeline itself use semantic-release-beta |
265
266
  | [store-listing-copy](plugins/olko-release/skills/store-listing-copy/SKILL.md) | Generates platform-validated App Store, Google Play, and Connect IQ store listing copy (title, subtitle, description, what's new, keywords) from a git changelog | Writing store copy before submitting to apple-store-submit or the garmin-watchface store workflow |
266
267
 
267
- ### olko-product (6)
268
+ ### olko-product (7)
268
269
 
269
270
  Take a product idea to a shippable build: MVP passes, full-stack scaffolds, UX/UI quality loops, launch plans.
270
271
 
@@ -275,6 +276,7 @@ Take a product idea to a shippable build: MVP passes, full-stack scaffolds, UX/U
275
276
  | [ux-ui-audit-loop](plugins/olko-product/skills/ux-ui-audit-loop/SKILL.md) | Audits and improves a web UI through browser evidence, severity triage, minimal fixes, and before/after verification | The user says "audit this UI", "fix the UX", "review this page visually", "make this page polished", or asks for an autonomous screenshot-and-fix loop |
276
277
  | [frontend-direction](plugins/olko-product/skills/frontend-direction/SKILL.md) | Chooses a distinctive, coherent visual direction and source-backed components before writing frontend code | Building a new page or a substantial UI redesign, or making an interface less generic; small fixes keep the existing design |
277
278
  | [starter-rules](plugins/olko-product/skills/starter-rules/SKILL.md) | Loads and enforces hard rules for every oleg-koval/* starter | Ensuring 300-line files, E2E tests, pre-commit hooks, Vertical Slice architecture, and KISS/DRY/SOLID |
279
+ | [ingest-publication-slice](plugins/olko-product/skills/ingest-publication-slice/SKILL.md) | Builds a test-first ingest-to-publication path with atomic persistence, read fallback, and static artifact precedence | Publishing validated ingested data before a static artifact exists |
278
280
  | [viral-launch](plugins/olko-product/skills/viral-launch/SKILL.md) | Sets up a project repository and launch plan for shareable marketing, public launch readiness, and growth loops | Preparing a repo, product, or package for public launch ("prep for Product Hunt", "write the launch post", "make this shareable"); for building the thing itself use mvp-oneshot or product-builder |
279
281
 
280
282
  ### olko-skill-meta (8)
@@ -29,6 +29,7 @@ description: >
29
29
  the PR", provides a GitHub PR URL, or asks for a pull request review in any
30
30
  form.
31
31
  license: MIT
32
+ model: sonnet
32
33
  allowed-tools: Bash, Read, Write, Edit, Agent, Workflow, AskUserQuestion, Artifact, spawn_agent, wait_agent, followup_task, send_message, interrupt_agent, list_agents
33
34
  compatibility: >
34
35
  Claude Code and OpenAI Codex. Claude uses Workflow/Agent/Artifact. Codex uses
@@ -0,0 +1,44 @@
1
+ ---
2
+ name: ingest-publication-slice
3
+ description: Build and verify a small end-to-end publication path for validated ingested data, including atomic persistence, read fallback, and static artifact precedence.
4
+ source: weekly-pattern-learner
5
+ source_reason: "Repeatedly implement a validated ingest-to-publication flow with atomic persistence, fallback reads, and static artifact precedence."
6
+ source_date: "2026-10-24"
7
+ ---
8
+ <!-- Generated by scripts/build-adapters.sh. Do not edit directly. -->
9
+
10
+ > 🤖 *Auto-generated by **weekly-pattern-learner** · Repeatedly implement a validated ingest-to-publication flow with atomic persistence, fallback reads, and static artifact precedence.*
11
+
12
+ # Ingest Publication Slice
13
+
14
+ Use this workflow when an ingest pipeline must make a validated record available immediately while a static or cached publication artifact may be generated later.
15
+
16
+ ## Define the contract
17
+
18
+ Before changing code, read the repository instructions and trace the current path from ingest entry point through validation, job completion, persistence, request handling, and static artifact generation. Record existing invariants and preserve unrelated work.
19
+
20
+ Write acceptance criteria for one complete slice:
21
+
22
+ - Only a completed, validated active dataset can be published.
23
+ - The persistent publication record and terminal ingest state commit atomically.
24
+ - The canonical read path can serve from the persistent record when no static artifact exists.
25
+ - A static artifact remains authoritative once present, if that is the established product contract.
26
+ - Retries are idempotent, and collisions, invalid states, hidden records, and takedowns cannot publish.
27
+
28
+ Adapt these criteria to the actual product contract. Do not invent a static-artifact precedence rule if the system has none.
29
+
30
+ ## Implement test-first
31
+
32
+ Use the repository's required test command and style. Add focused failing tests before implementation for:
33
+
34
+ 1. A valid ingest publishes the record and terminal state together.
35
+ 2. A failure between writes leaves neither half committed.
36
+ 3. The canonical read path uses the persisted record when the artifact is absent.
37
+ 4. The artifact wins when both sources exist, when precedence is required.
38
+ 5. Repeated delivery is safe and invalid, hidden, colliding, or withdrawn records stay unpublished.
39
+
40
+ Test the production boundary and transaction behavior, not only helper functions. Keep the change to the smallest vertical slice; avoid unrelated schema or routing refactors.
41
+
42
+ ## Verify the composed path
43
+
44
+ Run the focused tests, then the repository's required broader checks. Inspect the final diff and trace the completed path again from ingest through the canonical response. Confirm behavior for retries, partial failures, and transitions from no artifact to artifact present. Report any unavailable integration or deployment evidence explicitly.
@@ -4,6 +4,7 @@
4
4
 
5
5
  Use the canonical skills directly:
6
6
 
7
+ - `plugins/olko-product/skills/ingest-publication-slice/SKILL.md`
7
8
  - `plugins/olko-product/skills/product-builder/SKILL.md`
8
9
  - `plugins/olko-product/skills/mvp-oneshot/SKILL.md`
9
10
  - `plugins/olko-product/skills/ux-ui-audit-loop/SKILL.md`
@@ -0,0 +1,44 @@
1
+ ---
2
+ name: ingest-publication-slice
3
+ description: Build and verify a small end-to-end publication path for validated ingested data, including atomic persistence, read fallback, and static artifact precedence.
4
+ source: weekly-pattern-learner
5
+ source_reason: "Repeatedly implement a validated ingest-to-publication flow with atomic persistence, fallback reads, and static artifact precedence."
6
+ source_date: "2026-10-24"
7
+ ---
8
+ <!-- Generated by scripts/build-adapters.sh. Do not edit directly. -->
9
+
10
+ > 🤖 *Auto-generated by **weekly-pattern-learner** · Repeatedly implement a validated ingest-to-publication flow with atomic persistence, fallback reads, and static artifact precedence.*
11
+
12
+ # Ingest Publication Slice
13
+
14
+ Use this workflow when an ingest pipeline must make a validated record available immediately while a static or cached publication artifact may be generated later.
15
+
16
+ ## Define the contract
17
+
18
+ Before changing code, read the repository instructions and trace the current path from ingest entry point through validation, job completion, persistence, request handling, and static artifact generation. Record existing invariants and preserve unrelated work.
19
+
20
+ Write acceptance criteria for one complete slice:
21
+
22
+ - Only a completed, validated active dataset can be published.
23
+ - The persistent publication record and terminal ingest state commit atomically.
24
+ - The canonical read path can serve from the persistent record when no static artifact exists.
25
+ - A static artifact remains authoritative once present, if that is the established product contract.
26
+ - Retries are idempotent, and collisions, invalid states, hidden records, and takedowns cannot publish.
27
+
28
+ Adapt these criteria to the actual product contract. Do not invent a static-artifact precedence rule if the system has none.
29
+
30
+ ## Implement test-first
31
+
32
+ Use the repository's required test command and style. Add focused failing tests before implementation for:
33
+
34
+ 1. A valid ingest publishes the record and terminal state together.
35
+ 2. A failure between writes leaves neither half committed.
36
+ 3. The canonical read path uses the persisted record when the artifact is absent.
37
+ 4. The artifact wins when both sources exist, when precedence is required.
38
+ 5. Repeated delivery is safe and invalid, hidden, colliding, or withdrawn records stay unpublished.
39
+
40
+ Test the production boundary and transaction behavior, not only helper functions. Keep the change to the smallest vertical slice; avoid unrelated schema or routing refactors.
41
+
42
+ ## Verify the composed path
43
+
44
+ Run the focused tests, then the repository's required broader checks. Inspect the final diff and trace the completed path again from ingest through the canonical response. Confirm behavior for retries, partial failures, and transitions from no artifact to artifact present. Report any unavailable integration or deployment evidence explicitly.
@@ -0,0 +1,44 @@
1
+ ---
2
+ name: ingest-publication-slice
3
+ description: Build and verify a small end-to-end publication path for validated ingested data, including atomic persistence, read fallback, and static artifact precedence.
4
+ source: weekly-pattern-learner
5
+ source_reason: "Repeatedly implement a validated ingest-to-publication flow with atomic persistence, fallback reads, and static artifact precedence."
6
+ source_date: "2026-10-24"
7
+ ---
8
+ <!-- Generated by scripts/build-adapters.sh. Do not edit directly. -->
9
+
10
+ > 🤖 *Auto-generated by **weekly-pattern-learner** · Repeatedly implement a validated ingest-to-publication flow with atomic persistence, fallback reads, and static artifact precedence.*
11
+
12
+ # Ingest Publication Slice
13
+
14
+ Use this workflow when an ingest pipeline must make a validated record available immediately while a static or cached publication artifact may be generated later.
15
+
16
+ ## Define the contract
17
+
18
+ Before changing code, read the repository instructions and trace the current path from ingest entry point through validation, job completion, persistence, request handling, and static artifact generation. Record existing invariants and preserve unrelated work.
19
+
20
+ Write acceptance criteria for one complete slice:
21
+
22
+ - Only a completed, validated active dataset can be published.
23
+ - The persistent publication record and terminal ingest state commit atomically.
24
+ - The canonical read path can serve from the persistent record when no static artifact exists.
25
+ - A static artifact remains authoritative once present, if that is the established product contract.
26
+ - Retries are idempotent, and collisions, invalid states, hidden records, and takedowns cannot publish.
27
+
28
+ Adapt these criteria to the actual product contract. Do not invent a static-artifact precedence rule if the system has none.
29
+
30
+ ## Implement test-first
31
+
32
+ Use the repository's required test command and style. Add focused failing tests before implementation for:
33
+
34
+ 1. A valid ingest publishes the record and terminal state together.
35
+ 2. A failure between writes leaves neither half committed.
36
+ 3. The canonical read path uses the persisted record when the artifact is absent.
37
+ 4. The artifact wins when both sources exist, when precedence is required.
38
+ 5. Repeated delivery is safe and invalid, hidden, colliding, or withdrawn records stay unpublished.
39
+
40
+ Test the production boundary and transaction behavior, not only helper functions. Keep the change to the smallest vertical slice; avoid unrelated schema or routing refactors.
41
+
42
+ ## Verify the composed path
43
+
44
+ Run the focused tests, then the repository's required broader checks. Inspect the final diff and trace the completed path again from ingest through the canonical response. Confirm behavior for retries, partial failures, and transitions from no artifact to artifact present. Report any unavailable integration or deployment evidence explicitly.
@@ -5,6 +5,7 @@
5
5
  Run `./scripts/install-hermes-symlinks.sh` from the repository root to link these skills
6
6
  into the active Hermes profile. The canonical packages are:
7
7
 
8
+ - `plugins/olko-product/skills/ingest-publication-slice/SKILL.md`
8
9
  - `plugins/olko-product/skills/product-builder/SKILL.md`
9
10
  - `plugins/olko-product/skills/mvp-oneshot/SKILL.md`
10
11
  - `plugins/olko-product/skills/ux-ui-audit-loop/SKILL.md`
@@ -514,6 +514,28 @@
514
514
  "name": "olko-product",
515
515
  "description": "Take a product idea to a shippable build: MVP passes, full-stack scaffolds, UX/UI quality loops, launch plans.",
516
516
  "skills": [
517
+ {
518
+ "name": "ingest-publication-slice",
519
+ "lookupName": "olko:ingest-publication-slice",
520
+ "path": "plugins/olko-product/skills/ingest-publication-slice",
521
+ "description": "Build and verify a small end-to-end publication path for validated ingested data, including atomic persistence, read fallback, and static artifact precedence.",
522
+ "tags": [
523
+ "ingest",
524
+ "publication",
525
+ "testing",
526
+ "workflow"
527
+ ],
528
+ "adapters": [
529
+ "claude",
530
+ "codex",
531
+ "cursor",
532
+ "copilot",
533
+ "grok",
534
+ "windsurf",
535
+ "kiro",
536
+ "hermes"
537
+ ]
538
+ },
517
539
  {
518
540
  "name": "product-builder",
519
541
  "lookupName": "olko:product-builder",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@olegkoval/agent-skills",
3
- "version": "1.59.1",
3
+ "version": "1.59.3",
4
4
  "private": false,
5
5
  "publishConfig": {
6
6
  "access": "public"
@@ -52,6 +52,6 @@
52
52
  "@semantic-release/npm": "^13.2.0",
53
53
  "@semantic-release/release-notes-generator": "^14.1.1",
54
54
  "semantic-release": "^25.0.9",
55
- "semantic-release-npm-github-publish": "^1.8.2"
55
+ "semantic-release-npm-github-publish": "^1.8.3"
56
56
  }
57
57
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "olko-apple-kit",
3
3
  "description": "Build and ship Apple platform apps: macOS menubar apps, App Store submissions.",
4
- "version": "1.59.1",
4
+ "version": "1.59.3",
5
5
  "author": {
6
6
  "name": "Oleg Koval"
7
7
  },
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "olko-creative",
3
3
  "description": "Creative and personal projects: photo galleries, music players, listings, wiki editing.",
4
- "version": "1.59.1",
4
+ "version": "1.59.3",
5
5
  "author": {
6
6
  "name": "Oleg Koval"
7
7
  },
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "olko-garmin-kit",
3
3
  "description": "Build, test and publish Garmin Connect IQ watch faces.",
4
- "version": "1.59.1",
4
+ "version": "1.59.3",
5
5
  "author": {
6
6
  "name": "Oleg Koval"
7
7
  },
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "olko-git-tools",
3
3
  "description": "Everyday git and GitHub CLI operations: conventional commits, branch hygiene.",
4
- "version": "1.59.1",
4
+ "version": "1.59.3",
5
5
  "author": {
6
6
  "name": "Oleg Koval"
7
7
  },
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "olko-github-pr",
3
3
  "description": "Drive GitHub pull requests to merge-ready: review-bot loops, CI fixes, descriptions, dependency triage.",
4
- "version": "1.59.1",
4
+ "version": "1.59.3",
5
5
  "author": {
6
6
  "name": "Oleg Koval"
7
7
  },
@@ -29,6 +29,7 @@ description: >
29
29
  the PR", provides a GitHub PR URL, or asks for a pull request review in any
30
30
  form.
31
31
  license: MIT
32
+ model: sonnet
32
33
  allowed-tools: Bash, Read, Write, Edit, Agent, Workflow, AskUserQuestion, Artifact, spawn_agent, wait_agent, followup_task, send_message, interrupt_agent, list_agents
33
34
  compatibility: >
34
35
  Claude Code and OpenAI Codex. Claude uses Workflow/Agent/Artifact. Codex uses
@@ -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.59.1",
4
+ "version": "1.59.3",
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, UX/UI quality loops, launch plans.",
4
- "version": "1.59.1",
4
+ "version": "1.59.3",
5
5
  "author": {
6
6
  "name": "Oleg Koval"
7
7
  },
@@ -0,0 +1,43 @@
1
+ ---
2
+ name: ingest-publication-slice
3
+ description: Build and verify a small end-to-end publication path for validated ingested data, including atomic persistence, read fallback, and static artifact precedence.
4
+ source: weekly-pattern-learner
5
+ source_reason: "Repeatedly implement a validated ingest-to-publication flow with atomic persistence, fallback reads, and static artifact precedence."
6
+ source_date: "2026-10-24"
7
+ ---
8
+
9
+ > 🤖 *Auto-generated by **weekly-pattern-learner** · Repeatedly implement a validated ingest-to-publication flow with atomic persistence, fallback reads, and static artifact precedence.*
10
+
11
+ # Ingest Publication Slice
12
+
13
+ Use this workflow when an ingest pipeline must make a validated record available immediately while a static or cached publication artifact may be generated later.
14
+
15
+ ## Define the contract
16
+
17
+ Before changing code, read the repository instructions and trace the current path from ingest entry point through validation, job completion, persistence, request handling, and static artifact generation. Record existing invariants and preserve unrelated work.
18
+
19
+ Write acceptance criteria for one complete slice:
20
+
21
+ - Only a completed, validated active dataset can be published.
22
+ - The persistent publication record and terminal ingest state commit atomically.
23
+ - The canonical read path can serve from the persistent record when no static artifact exists.
24
+ - A static artifact remains authoritative once present, if that is the established product contract.
25
+ - Retries are idempotent, and collisions, invalid states, hidden records, and takedowns cannot publish.
26
+
27
+ Adapt these criteria to the actual product contract. Do not invent a static-artifact precedence rule if the system has none.
28
+
29
+ ## Implement test-first
30
+
31
+ Use the repository's required test command and style. Add focused failing tests before implementation for:
32
+
33
+ 1. A valid ingest publishes the record and terminal state together.
34
+ 2. A failure between writes leaves neither half committed.
35
+ 3. The canonical read path uses the persisted record when the artifact is absent.
36
+ 4. The artifact wins when both sources exist, when precedence is required.
37
+ 5. Repeated delivery is safe and invalid, hidden, colliding, or withdrawn records stay unpublished.
38
+
39
+ Test the production boundary and transaction behavior, not only helper functions. Keep the change to the smallest vertical slice; avoid unrelated schema or routing refactors.
40
+
41
+ ## Verify the composed path
42
+
43
+ Run the focused tests, then the repository's required broader checks. Inspect the final diff and trace the completed path again from ingest through the canonical response. Confirm behavior for retries, partial failures, and transitions from no artifact to artifact present. Report any unavailable integration or deployment evidence explicitly.
@@ -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.59.1",
4
+ "version": "1.59.3",
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.59.1",
4
+ "version": "1.59.3",
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.59.1",
4
+ "version": "1.59.3",
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.59.1",
4
+ "version": "1.59.3",
5
5
  "author": {
6
6
  "name": "Oleg Koval"
7
7
  },
@@ -20,7 +20,7 @@ export const PLUGIN_ASSIGNMENT = {
20
20
  },
21
21
  'olko-product': {
22
22
  description: 'Take a product idea to a shippable build: MVP passes, full-stack scaffolds, UX/UI quality loops, launch plans.',
23
- skills: ['product-builder', 'mvp-oneshot', 'ux-ui-audit-loop', 'frontend-direction', 'starter-rules', 'viral-launch'],
23
+ skills: ['product-builder', 'mvp-oneshot', 'ux-ui-audit-loop', 'frontend-direction', 'starter-rules', 'viral-launch', 'ingest-publication-slice'],
24
24
  },
25
25
  'olko-skill-meta': {
26
26
  description: 'Author and maintain agent skills and the AI toolchain itself.',