@olegkoval/agent-skills 1.31.0 → 1.33.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 (25) hide show
  1. package/.claude-plugin/plugin.json +4 -2
  2. package/.cursor-plugin/index.json +5 -0
  3. package/.grok-plugin/index.json +5 -0
  4. package/.kiro/steering/wrap-up.md +77 -0
  5. package/.windsurf/rules/wrap-up.md +76 -0
  6. package/README.md +6 -4
  7. package/catalog/skills.json +42 -0
  8. package/collections/software-development.json +3 -1
  9. package/package.json +1 -1
  10. package/packages/software-development/add-to-my-skills/adapters/codex/README.md +16 -2
  11. package/packages/software-development/shared-knowledge-artifact/SKILL.md +89 -0
  12. package/packages/software-development/shared-knowledge-artifact/adapters/claude/plugin.json +5 -0
  13. package/packages/software-development/shared-knowledge-artifact/adapters/claude/skills/shared-knowledge-artifact/SKILL.md +90 -0
  14. package/packages/software-development/shared-knowledge-artifact/adapters/claude/skills/shared-knowledge-artifact/references/prompt.txt +78 -0
  15. package/packages/software-development/shared-knowledge-artifact/references/prompt.txt +78 -0
  16. package/packages/software-development/wrap-up/SKILL.md +86 -0
  17. package/packages/software-development/wrap-up/adapters/claude/plugin.json +5 -0
  18. package/packages/software-development/wrap-up/adapters/claude/skills/wrap-up/SKILL.md +87 -0
  19. package/packages/software-development/wrap-up/adapters/codex/README.md +17 -0
  20. package/packages/software-development/wrap-up/adapters/cursor/plugin.json +6 -0
  21. package/packages/software-development/wrap-up/adapters/cursor/skills/wrap-up/SKILL.md +88 -0
  22. package/packages/software-development/wrap-up/adapters/grok/plugin.json +6 -0
  23. package/packages/software-development/wrap-up/adapters/grok/skills/wrap-up/SKILL.md +87 -0
  24. package/packages/software-development/wrap-up/adapters/kiro/steering/wrap-up.md +77 -0
  25. package/packages/software-development/wrap-up/adapters/windsurf/rules/wrap-up.md +76 -0
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "olko-agent-skills",
3
3
  "description": "Agent-agnostic skill catalog for Codex, Claude, Cursor, Grok, Copilot, Windsurf, Kiro, and other skill-aware tools.",
4
- "version": "1.30.0",
4
+ "version": "1.32.0",
5
5
  "author": {
6
6
  "name": "Oleg Koval"
7
7
  },
@@ -42,6 +42,7 @@
42
42
  "./packages/software-development/codexloop",
43
43
  "./packages/software-development/geminiloop",
44
44
  "./packages/software-development/add-to-my-skills",
45
+ "./packages/software-development/wrap-up",
45
46
  "./packages/software-development/ai-tools-setup",
46
47
  "./packages/software-development/changelog-generator",
47
48
  "./packages/software-development/wikipedia-uk-editor",
@@ -54,6 +55,7 @@
54
55
  "./packages/software-development/morning-routine",
55
56
  "./packages/software-development/release-day",
56
57
  "./packages/software-development/branch-cleanup",
57
- "./packages/software-development/vinted-listing"
58
+ "./packages/software-development/vinted-listing",
59
+ "./packages/software-development/shared-knowledge-artifact"
58
60
  ]
59
61
  }
@@ -151,6 +151,11 @@
151
151
  "source": "./packages/software-development/add-to-my-skills/adapters/cursor",
152
152
  "description": "Copy a newly created skill from another repo into this catalog, refresh the README and generated manifests, then commit and push."
153
153
  },
154
+ {
155
+ "name": "olko:wrap-up",
156
+ "source": "./packages/software-development/wrap-up/adapters/cursor",
157
+ "description": "Verify a completed task against its original objective, confirm applicable checks, and safely tidy task-owned artifacts, worktrees, and local branches."
158
+ },
154
159
  {
155
160
  "name": "olko:ai-tools-setup",
156
161
  "source": "./packages/software-development/ai-tools-setup/adapters/cursor",
@@ -161,6 +161,11 @@
161
161
  "source": "./packages/software-development/add-to-my-skills/adapters/grok",
162
162
  "description": "Copy a newly created skill from another repo into this catalog, refresh the README and generated manifests, then commit and push."
163
163
  },
164
+ {
165
+ "name": "olko:wrap-up",
166
+ "source": "./packages/software-development/wrap-up/adapters/grok",
167
+ "description": "Verify a completed task against its original objective, confirm applicable checks, and safely tidy task-owned artifacts, worktrees, and local branches."
168
+ },
164
169
  {
165
170
  "name": "olko:ai-tools-setup",
166
171
  "source": "./packages/software-development/ai-tools-setup/adapters/grok",
@@ -0,0 +1,77 @@
1
+ <!-- Generated by scripts/build-adapters.sh. Do not edit directly. -->
2
+
3
+ ---
4
+ inclusion: manual
5
+ description: "Verify a completed task against its original objective, confirm applicable checks, and safely tidy task-owned artifacts, worktrees, and local branches."
6
+ ---
7
+
8
+ # Wrap Up
9
+
10
+ Run this skill manually from time to time or as the final step after a task reaches its goal. It is a delivery audit and cleanup pass, not permission to expand scope or hide unfinished work.
11
+
12
+ ## 1. Reconstruct the task
13
+
14
+ - Read the original request, acceptance criteria, task plan, and final diff.
15
+ - Write a short objective statement and an acceptance matrix: each requested outcome, its evidence, and its status.
16
+ - Compare the result with the original idea, not merely with the implementation plan. Mark anything ambiguous or unverified as `UNKNOWN` rather than assuming it is complete.
17
+ - Identify the exact repositories, worktrees, branches, files, services, and temporary paths owned by this task. Preserve pre-existing user work.
18
+
19
+ ## 2. Verify the implementation
20
+
21
+ - Inspect the final diff and confirm every requested behavior is implemented.
22
+ - Check related tests, types, docs, configuration, migrations, and feature flags where the change requires them.
23
+ - Run the repository-defined checks appropriate to the change. Follow local instructions and use the project’s package scripts rather than bypassing its tooling.
24
+ - Prefer the smallest meaningful verification first, then the full applicable suite. Record exact commands and results.
25
+ - If a check fails, determine whether it is caused by this task. Do not call the task green because an unrelated check happened to pass.
26
+ - For user-facing behavior, require real browser/device or human evidence when that is part of acceptance; automated tests alone are not visual acceptance.
27
+
28
+ ## 3. Verify delivery state
29
+
30
+ Keep these gates separate and evidence-backed:
31
+
32
+ - Local worktree: branch, `HEAD`, tracked changes, and untracked files.
33
+ - Remote: tracking branch and remote SHA, verified with Git or the existing provider CLI.
34
+ - PR: current title/body, merge state, review threads, and required checks, when applicable.
35
+ - CI: current-head status, not an old successful run.
36
+ - Deployment: actual deployed version or endpoint health, when applicable.
37
+ - Device or human QA: real acceptance evidence, when applicable.
38
+
39
+ Do not claim remote, PR, CI, deployment, or QA completion from a local test or commit alone. Do not push, merge, deploy, or delete a remote branch as a side effect of this skill unless the task explicitly authorized it.
40
+
41
+ ## 4. Clean task-owned artifacts
42
+
43
+ Clean only paths created by this task or explicitly named for cleanup.
44
+
45
+ - Remove known temporary files, test output, logs, copied fixtures, and scratch directories after capturing any required evidence.
46
+ - Never recursively delete a broad directory, the workspace root, an unresolved glob, or an unknown untracked file.
47
+ - For dirty paths that predate this task or cannot be attributed confidently, leave them in place and report them.
48
+ - Check the repository’s worktree list and remove only task-owned worktrees that are clean and no longer needed. Use an exact path; never remove a worktree containing uncommitted user work.
49
+
50
+ ## 5. Clean local branches safely
51
+
52
+ - Confirm the task branch has the intended commit and that the remote branch contains the same work when remote delivery was required.
53
+ - If the remote branch is merged, verify the merge state before deleting the local branch.
54
+ - If the remote branch is pushed but unmerged, treat it as the recovery point. Delete the local branch only when the task is delivered, the remote branch is confirmed intact, the worktree is clean, and the user’s workflow permits local deletion. Otherwise preserve it and report why.
55
+ - Never use force branch deletion or destructive checkout/reset commands unless the user explicitly requests that exact recovery operation.
56
+ - Before deleting a branch, verify it is not checked out by another worktree and that no unique local commits would be lost.
57
+
58
+ ## 6. Report the result
59
+
60
+ Lead with the outcome. Include concise evidence, cleanup performed, items intentionally preserved, and the smallest next action for any blocker. Always finish with this receipt, using `NOT_APPLICABLE` for out-of-scope gates and `NOT_RUN` for applicable checks that were not executed:
61
+
62
+ ```text
63
+ OBJECTIVE:
64
+ CHANGED:
65
+ NOT_CHANGED:
66
+ TESTS:
67
+ BUILD:
68
+ REMOTE:
69
+ PR:
70
+ CI:
71
+ DEPLOYMENT:
72
+ DEVICE_OR_HUMAN_QA:
73
+ KNOWN_LIMITATIONS:
74
+ FINAL_STATUS:
75
+ ```
76
+
77
+ `FINAL_STATUS` must be exactly one of `DELIVERED`, `BLOCKED`, or `INTENTIONALLY_UNCHANGED`. Use `BLOCKED` when required evidence or cleanup cannot safely be completed; name the blocker and next action. Never promote a partial result to `DELIVERED`.
@@ -0,0 +1,76 @@
1
+ <!-- Generated by scripts/build-adapters.sh. Do not edit directly. -->
2
+
3
+ ---
4
+ description: "Verify a completed task against its original objective, confirm applicable checks, and safely tidy task-owned artifacts, worktrees, and local branches."
5
+ ---
6
+
7
+ # Wrap Up
8
+
9
+ Run this skill manually from time to time or as the final step after a task reaches its goal. It is a delivery audit and cleanup pass, not permission to expand scope or hide unfinished work.
10
+
11
+ ## 1. Reconstruct the task
12
+
13
+ - Read the original request, acceptance criteria, task plan, and final diff.
14
+ - Write a short objective statement and an acceptance matrix: each requested outcome, its evidence, and its status.
15
+ - Compare the result with the original idea, not merely with the implementation plan. Mark anything ambiguous or unverified as `UNKNOWN` rather than assuming it is complete.
16
+ - Identify the exact repositories, worktrees, branches, files, services, and temporary paths owned by this task. Preserve pre-existing user work.
17
+
18
+ ## 2. Verify the implementation
19
+
20
+ - Inspect the final diff and confirm every requested behavior is implemented.
21
+ - Check related tests, types, docs, configuration, migrations, and feature flags where the change requires them.
22
+ - Run the repository-defined checks appropriate to the change. Follow local instructions and use the project’s package scripts rather than bypassing its tooling.
23
+ - Prefer the smallest meaningful verification first, then the full applicable suite. Record exact commands and results.
24
+ - If a check fails, determine whether it is caused by this task. Do not call the task green because an unrelated check happened to pass.
25
+ - For user-facing behavior, require real browser/device or human evidence when that is part of acceptance; automated tests alone are not visual acceptance.
26
+
27
+ ## 3. Verify delivery state
28
+
29
+ Keep these gates separate and evidence-backed:
30
+
31
+ - Local worktree: branch, `HEAD`, tracked changes, and untracked files.
32
+ - Remote: tracking branch and remote SHA, verified with Git or the existing provider CLI.
33
+ - PR: current title/body, merge state, review threads, and required checks, when applicable.
34
+ - CI: current-head status, not an old successful run.
35
+ - Deployment: actual deployed version or endpoint health, when applicable.
36
+ - Device or human QA: real acceptance evidence, when applicable.
37
+
38
+ Do not claim remote, PR, CI, deployment, or QA completion from a local test or commit alone. Do not push, merge, deploy, or delete a remote branch as a side effect of this skill unless the task explicitly authorized it.
39
+
40
+ ## 4. Clean task-owned artifacts
41
+
42
+ Clean only paths created by this task or explicitly named for cleanup.
43
+
44
+ - Remove known temporary files, test output, logs, copied fixtures, and scratch directories after capturing any required evidence.
45
+ - Never recursively delete a broad directory, the workspace root, an unresolved glob, or an unknown untracked file.
46
+ - For dirty paths that predate this task or cannot be attributed confidently, leave them in place and report them.
47
+ - Check the repository’s worktree list and remove only task-owned worktrees that are clean and no longer needed. Use an exact path; never remove a worktree containing uncommitted user work.
48
+
49
+ ## 5. Clean local branches safely
50
+
51
+ - Confirm the task branch has the intended commit and that the remote branch contains the same work when remote delivery was required.
52
+ - If the remote branch is merged, verify the merge state before deleting the local branch.
53
+ - If the remote branch is pushed but unmerged, treat it as the recovery point. Delete the local branch only when the task is delivered, the remote branch is confirmed intact, the worktree is clean, and the user’s workflow permits local deletion. Otherwise preserve it and report why.
54
+ - Never use force branch deletion or destructive checkout/reset commands unless the user explicitly requests that exact recovery operation.
55
+ - Before deleting a branch, verify it is not checked out by another worktree and that no unique local commits would be lost.
56
+
57
+ ## 6. Report the result
58
+
59
+ Lead with the outcome. Include concise evidence, cleanup performed, items intentionally preserved, and the smallest next action for any blocker. Always finish with this receipt, using `NOT_APPLICABLE` for out-of-scope gates and `NOT_RUN` for applicable checks that were not executed:
60
+
61
+ ```text
62
+ OBJECTIVE:
63
+ CHANGED:
64
+ NOT_CHANGED:
65
+ TESTS:
66
+ BUILD:
67
+ REMOTE:
68
+ PR:
69
+ CI:
70
+ DEPLOYMENT:
71
+ DEVICE_OR_HUMAN_QA:
72
+ KNOWN_LIMITATIONS:
73
+ FINAL_STATUS:
74
+ ```
75
+
76
+ `FINAL_STATUS` must be exactly one of `DELIVERED`, `BLOCKED`, or `INTENTIONALLY_UNCHANGED`. Use `BLOCKED` when required evidence or cleanup cannot safely be completed; name the blocker and next action. Never promote a partial result to `DELIVERED`.
package/README.md CHANGED
@@ -3,7 +3,7 @@
3
3
  <p><strong>Agent-agnostic skill catalog for Codex, Claude, Cursor, Grok, 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-45-2563eb" alt="45 skills">
6
+ <img src="https://img.shields.io/badge/skills-48-2563eb" alt="48 skills">
7
7
  <img src="https://img.shields.io/badge/platforms-Codex%20%7C%20Claude%20%7C%20Cursor%20%7C%20Grok%20%7C%20Copilot%20%7C%20Windsurf%20%7C%20Kiro-111827" alt="Codex Claude Cursor Grok Copilot Windsurf Kiro">
8
8
  <img src="https://img.shields.io/badge/status-public%20catalog-16a34a" alt="Public catalog">
9
9
  </p>
@@ -139,15 +139,16 @@ packages/{category}/{skill}/SKILL.md
139
139
 
140
140
  </details>
141
141
 
142
- ## All 45 Skills
142
+ ## All 48 Skills
143
143
 
144
144
  Each entry links to its `SKILL.md`. Reference any skill by its `olko:*` lookup name in a new agent session.
145
145
 
146
- ### Software development (39)
146
+ ### Software development (42)
147
147
 
148
148
  | Skill | What it does | Use when |
149
149
  |-------|-------------|----------|
150
150
  | [add-to-my-skills](packages/software-development/add-to-my-skills/SKILL.md) | Copies a newly created skill from another repo into this catalog, refreshes the README and generated manifests, then commits and pushes | Adding a skill you wrote elsewhere into this catalog |
151
+ | [wrap-up](packages/software-development/wrap-up/SKILL.md) | Verifies a completed task against its original objective, confirms applicable checks, and safely tidies task-owned artifacts, worktrees, and local branches | Periodic or end-of-task delivery and cleanup review |
151
152
  | [ai-tools-setup](packages/software-development/ai-tools-setup/SKILL.md) | Sets up, repairs, and reports on the RTK + ICM + Vox AI development toolkit — installs missing tools, fixes broken hooks and MCP config | Bootstrapping AI dev tools on a new machine or diagnosing broken integrations |
152
153
  | [apple-store-submit](packages/software-development/apple-store-submit/SKILL.md) | Handles App Store rejection emails end-to-end — parses rejection reasons, creates a fix plan, implements code changes, and prepares resubmission | Responding to App Store rejections for privacy strings, entitlements, or guideline violations |
153
154
  | [changelog-generator](packages/software-development/changelog-generator/SKILL.md) | Transforms git commits into polished user-facing changelogs by categorising changes and rewriting technical commit messages | Preparing release notes, app store update descriptions, or a public changelog |
@@ -174,6 +175,7 @@ Each entry links to its `SKILL.md`. Reference any skill by its `olko:*` lookup n
174
175
  | [relay](packages/software-development/relay/SKILL.md) | Uses `claude-relay` to run long or rate-limit-prone tasks autonomously across subscription accounts | A task will outlive one session or hit rate limits partway through |
175
176
  | [review-past-performance](packages/software-development/review-past-performance/SKILL.md) | Pulls 24h of ICM memories, git history, and skill analytics; detects repeated mistakes and slow workflows; proposes 1-3 concrete fixes | Daily self-improvement loop or codifying a repeated workflow |
176
177
  | [self-critique](packages/software-development/self-critique/SKILL.md) | Adversarially critiques your own last answer: spawns a critic agent that verifies claims against live sources, then loops until satisfied and reports where you were wrong | Checking a substantial answer before the user has to |
178
+ | [shared-knowledge-artifact](packages/software-development/shared-knowledge-artifact/SKILL.md) | Builds a shared, self-persisting knowledge ledger as a Claude Artifact — a private page that stores its own data, renders itself from it, and publishes new versions of itself so several agents read the same lessons and append to them | Giving multiple agents one place to learn from each other instead of repeating the same mistakes |
177
179
  | [semantic-release-beta](packages/software-development/semantic-release-beta/SKILL.md) | Sets up `semantic-release` with stable `main` releases and beta prereleases on a `beta` branch | A Node package needs stable npm publishing plus beta prereleases |
178
180
  | [skill-budget-audit](packages/software-development/skill-budget-audit/SKILL.md) | Diagnoses and fixes Claude Code's skill context budget overflow — identifies heavy plugin bundles that exceed the 2% budget | Skills failing to load or Claude hitting context limits from plugin bundles |
179
181
  | [starter-rules](packages/software-development/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 |
@@ -293,7 +295,7 @@ See [docs/skill-anatomy.md](docs/skill-anatomy.md) for the package format.
293
295
  ```text
294
296
  agent-skills/
295
297
  ├── packages/
296
- │ ├── software-development/ (39 skills)
298
+ │ ├── software-development/ (42 skills)
297
299
  │ ├── marketing/ (3 skills)
298
300
  │ ├── music/ (1 skill)
299
301
  │ └── photography/ (1 skill)
@@ -766,6 +766,30 @@
766
766
  "grok"
767
767
  ]
768
768
  },
769
+ {
770
+ "name": "wrap-up",
771
+ "lookupName": "olko:wrap-up",
772
+ "category": "software-development",
773
+ "path": "packages/software-development/wrap-up",
774
+ "description": "Verify a completed task against its original objective, confirm applicable checks, and safely tidy task-owned artifacts, worktrees, and local branches.",
775
+ "tags": [
776
+ "delivery",
777
+ "verification",
778
+ "cleanup",
779
+ "git",
780
+ "worktrees",
781
+ "release-hygiene"
782
+ ],
783
+ "adapters": [
784
+ "codex",
785
+ "claude",
786
+ "cursor",
787
+ "copilot",
788
+ "windsurf",
789
+ "kiro",
790
+ "grok"
791
+ ]
792
+ },
769
793
  {
770
794
  "name": "ai-tools-setup",
771
795
  "lookupName": "olko:ai-tools-setup",
@@ -1070,6 +1094,24 @@
1070
1094
  "copilot",
1071
1095
  "grok"
1072
1096
  ]
1097
+ },
1098
+ {
1099
+ "name": "shared-knowledge-artifact",
1100
+ "lookupName": "olko:shared-knowledge-artifact",
1101
+ "category": "software-development",
1102
+ "path": "packages/software-development/shared-knowledge-artifact",
1103
+ "description": "Build a shared, self-persisting knowledge ledger as a Claude Artifact: a private page that stores its own data, renders itself from it, and publishes new versions of itself so several agents read the same lessons before working and append to them afterwards.",
1104
+ "tags": [
1105
+ "artifacts",
1106
+ "knowledge-base",
1107
+ "multi-agent",
1108
+ "memory",
1109
+ "lessons-learned",
1110
+ "documentation"
1111
+ ],
1112
+ "adapters": [
1113
+ "claude"
1114
+ ]
1073
1115
  }
1074
1116
  ]
1075
1117
  }
@@ -12,6 +12,8 @@
12
12
  "product-builder",
13
13
  "mvp-oneshot",
14
14
  "wikipedia-uk-editor",
15
- "vinted-listing"
15
+ "wrap-up",
16
+ "vinted-listing",
17
+ "shared-knowledge-artifact"
16
18
  ]
17
19
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@olegkoval/agent-skills",
3
- "version": "1.31.0",
3
+ "version": "1.33.0",
4
4
  "private": false,
5
5
  "publishConfig": {
6
6
  "access": "public"
@@ -1,3 +1,17 @@
1
- # Codex adapter
1
+ # Codex Adapter for add-to-my-skills
2
2
 
3
- Use the canonical skill directly from `packages/software-development/add-to-my-skills/SKILL.md`.
3
+ This is the Codex-specific adapter for the `olko:add-to-my-skills` skill. The canonical workflow is in
4
+ `../../SKILL.md`.
5
+
6
+ ## Usage
7
+
8
+ Invoke it when a skill from another repository or a catalog page should become a first-class package:
9
+
10
+ ```text
11
+ Use the olko:add-to-my-skills skill to bring this skill into the catalog, generate all adapters, validate it, and publish the change.
12
+ ```
13
+
14
+ For Codex, resolve a supplied `skills.olegkoval.com/skills/<name>/` URL to its canonical GitHub or local
15
+ source before copying. Preserve unrelated dirty work, prefer an isolated worktree, update the canonical
16
+ `SKILL.md` before generated adapters, run `npm run build` and `npm test`, and report commit/push/PR state
17
+ separately from local validation.
@@ -0,0 +1,89 @@
1
+ ---
2
+ name: shared-knowledge-artifact
3
+ description: Build a shared, self-persisting knowledge ledger as a Claude Artifact — a private page that stores its own data, renders itself from that data, and saves new versions of itself, so several agents can read the same lessons before starting work and append to them afterwards. Use when the user wants agents to learn from each other, asks for a shared knowledge base, lessons-learned log, gotcha ledger, or cross-agent memory page they can hand to other sessions.
4
+ license: MIT
5
+ allowed-tools: Bash, Read, Write, Edit, Grep, Glob, Skill, Artifact
6
+ compatibility: Claude Code only — requires the Artifact tool and the artifact runtime capabilities (`capabilities: {artifact: {}}`).
7
+ metadata:
8
+ author: Oleg Koval
9
+ package: shared-knowledge-artifact
10
+ tags:
11
+ - artifacts
12
+ - knowledge-base
13
+ - multi-agent
14
+ - memory
15
+ - lessons-learned
16
+ - documentation
17
+ ---
18
+
19
+ # shared-knowledge-artifact
20
+
21
+ Publish one private Artifact page that acts as an append-only knowledge ledger which multiple agents (and the user) read before starting work and write to when reality corrects them. The page **is** the record: it stores its own data and publishes new versions of itself, so nothing depends on a server or on local files.
22
+
23
+ ## Trigger phrases
24
+
25
+ - create a shared artifact my other agents can learn from
26
+ - shared knowledge base / lessons-learned log / gotcha ledger for agents
27
+ - cross-agent memory page
28
+ - somewhere agents can record what they learned so they don't repeat it
29
+
30
+ ## Before writing any code
31
+
32
+ 1. Invoke the `artifact-capabilities` skill — mandatory before declaring `capabilities` or writing any `window.claude.*` code.
33
+ 2. Invoke the `artifact-design` skill — calibrates the design treatment.
34
+ 3. Read the user's actual rules (`CLAUDE.md`, any verification/preferences doc, agent memory) and **seed the ledger with 6-10 real lessons already recorded there**. No lorem, no invented examples — a ledger that opens with fake entries never gets used.
35
+
36
+ ## Persistence mechanism
37
+
38
+ - Declare `capabilities: {artifact: {}}` at publish time.
39
+ - Store the data as a JSON object inside `<script type="application/json" id="ledger-state">`. That block is the authoritative record; the visible page is **rendered from it** at load. Never serialize the live DOM to save.
40
+ - To persist: snapshot `document.documentElement.outerHTML` **once at script start** (pristine source, before any rendering), then on save splice the new JSON into that snapshot's `#ledger-state` block, prepend `<!doctype html>`, and call `artifact.publish(doc)`.
41
+ - Get the namespace with `const artifact = await claude.use("artifact")`; branch on `null` (this view cannot write) and render a read-only state instead of a broken control.
42
+ - Handle publish errors by code: `conflict` means someone published first and every view reloads to the winner — no retry, tell the person to re-add; `not_granted` / `not_writer` means read-only.
43
+ - Publish only after an explicit user action, never on load; batch rapid edits into one publish.
44
+ - Escape `</script` when writing the JSON back, and escape every interpolated note field on render.
45
+
46
+ ## Note schema
47
+
48
+ One fact per entry:
49
+
50
+ ```json
51
+ {"id":"n9","kind":"lesson|trap|pref","scope":"shell|review|github|...",
52
+ "title":"the rule in one line",
53
+ "body":"the concrete behaviour, specific enough to act on",
54
+ "why":"the failure that made this a rule",
55
+ "author":"model or agent name","date":"YYYY-MM-DD"}
56
+ ```
57
+
58
+ Kinds: **lesson** = a habit that holds; **trap** = something that silently produces a *wrong* answer; **pref** = how the user wants the work done.
59
+
60
+ ## UI the page must have
61
+
62
+ - Header: name, one paragraph on what the ledger is for, and live counts (total, traps, lessons, preferences) in `tabular-nums`.
63
+ - Note list, newest first: kind tag, scope tag, author, date, title, body, and a `Why:` line. Kind tags use semantic colour (trap = critical, pref = warning, lesson = accent), separate from the page accent.
64
+ - Scope filter chips derived from the data, including an `all` chip, with `aria-pressed` state.
65
+ - An "Add a note" form (kind, scope, author, title, body, why) that appends to the JSON and publishes, with an inline status line reporting published / conflict / read-only.
66
+ - A "Protocol for agents" section **on the page itself**: read the page with the Artifact tool `action: "read"` before substantive work; parse the `#ledger-state` JSON, never scrape the DOM; **append, don't rewrite**; re-read before writing because another agent may have published since; one fact per note with the failure that caused it. Include the schema snippet.
67
+ - Gatekeeping copy: only non-obvious, durable, cross-cutting lessons. If a repo's `CLAUDE.md` already says it, or a review bot already catches it, leave it out — a littered ledger is worse than a thin one.
68
+
69
+ ## Design constraints
70
+
71
+ - Utilitarian but genuinely polished: this is a reference document, not a landing page. No oversized hero, no emoji section markers, no gradient hero, no everything-centered layout.
72
+ - Avoid the AI-default looks: warm cream + serif + terracotta, near-black + acid green, Inter or Space Grotesk as the "safe" face.
73
+ - Pair a display face, a body face, and a mono utility face from Google Fonts (the only permitted external host), each with a real fallback stack.
74
+ - Theme-aware in all three states: full light palette as tokens on bare `:root`; redefined under `@media (prefers-color-scheme: dark)` guarded as `:root:not([data-theme="light"])`; redefined again under `:root[data-theme="dark"]`. Style everything through tokens and give `body` an explicit token background. No colour whose only definition sits inside a media or `[data-theme]` block.
75
+ - Layout with flex/grid + `gap`, not per-element margins. Wide content in its own `overflow-x: auto` container. Visible focus states. Respect `prefers-reduced-motion`.
76
+ - Title: a short, specific noun-phrase product name (2-4 words), no dash-explainer. Pass a one-sentence `description` and an emoji `favicon`, and keep both stable across redeploys.
77
+
78
+ ## Deliverable
79
+
80
+ Write the HTML to a file, publish it with the Artifact tool, then report:
81
+
82
+ - the URL;
83
+ - that it stays private until shared from the page's share menu;
84
+ - the exact instructions another agent needs — read via Artifact `action: "read"` with that URL, and write by appending to `notes` and republishing **with `url` set to that URL** (a publish *without* `url` forks a separate artifact instead of updating this one).
85
+
86
+ ## Notes
87
+
88
+ - The full copy-paste prompt version of this workflow lives in `references/prompt.txt` — hand it to another agent or session verbatim.
89
+ - Redeploy by republishing the same file path in the same conversation, or by passing `url` from any other conversation.
@@ -0,0 +1,5 @@
1
+ {
2
+ "name": "olko-shared-knowledge-artifact",
3
+ "description": "Build a shared, self-persisting knowledge ledger as a Claude Artifact: a private page that stores its own data, renders itself from it, and publishes new versions of itself so several agents read the same lessons before working and append to them afterwards.",
4
+ "skills": "./skills"
5
+ }
@@ -0,0 +1,90 @@
1
+ ---
2
+ name: shared-knowledge-artifact
3
+ description: Build a shared, self-persisting knowledge ledger as a Claude Artifact — a private page that stores its own data, renders itself from that data, and saves new versions of itself, so several agents can read the same lessons before starting work and append to them afterwards. Use when the user wants agents to learn from each other, asks for a shared knowledge base, lessons-learned log, gotcha ledger, or cross-agent memory page they can hand to other sessions.
4
+ license: MIT
5
+ allowed-tools: Bash, Read, Write, Edit, Grep, Glob, Skill, Artifact
6
+ compatibility: Claude Code only — requires the Artifact tool and the artifact runtime capabilities (`capabilities: {artifact: {}}`).
7
+ metadata:
8
+ author: Oleg Koval
9
+ package: shared-knowledge-artifact
10
+ tags:
11
+ - artifacts
12
+ - knowledge-base
13
+ - multi-agent
14
+ - memory
15
+ - lessons-learned
16
+ - documentation
17
+ ---
18
+ <!-- Generated by scripts/build-adapters.sh. Do not edit directly. -->
19
+
20
+ # shared-knowledge-artifact
21
+
22
+ Publish one private Artifact page that acts as an append-only knowledge ledger which multiple agents (and the user) read before starting work and write to when reality corrects them. The page **is** the record: it stores its own data and publishes new versions of itself, so nothing depends on a server or on local files.
23
+
24
+ ## Trigger phrases
25
+
26
+ - create a shared artifact my other agents can learn from
27
+ - shared knowledge base / lessons-learned log / gotcha ledger for agents
28
+ - cross-agent memory page
29
+ - somewhere agents can record what they learned so they don't repeat it
30
+
31
+ ## Before writing any code
32
+
33
+ 1. Invoke the `artifact-capabilities` skill — mandatory before declaring `capabilities` or writing any `window.claude.*` code.
34
+ 2. Invoke the `artifact-design` skill — calibrates the design treatment.
35
+ 3. Read the user's actual rules (`CLAUDE.md`, any verification/preferences doc, agent memory) and **seed the ledger with 6-10 real lessons already recorded there**. No lorem, no invented examples — a ledger that opens with fake entries never gets used.
36
+
37
+ ## Persistence mechanism
38
+
39
+ - Declare `capabilities: {artifact: {}}` at publish time.
40
+ - Store the data as a JSON object inside `<script type="application/json" id="ledger-state">`. That block is the authoritative record; the visible page is **rendered from it** at load. Never serialize the live DOM to save.
41
+ - To persist: snapshot `document.documentElement.outerHTML` **once at script start** (pristine source, before any rendering), then on save splice the new JSON into that snapshot's `#ledger-state` block, prepend `<!doctype html>`, and call `artifact.publish(doc)`.
42
+ - Get the namespace with `const artifact = await claude.use("artifact")`; branch on `null` (this view cannot write) and render a read-only state instead of a broken control.
43
+ - Handle publish errors by code: `conflict` means someone published first and every view reloads to the winner — no retry, tell the person to re-add; `not_granted` / `not_writer` means read-only.
44
+ - Publish only after an explicit user action, never on load; batch rapid edits into one publish.
45
+ - Escape `</script` when writing the JSON back, and escape every interpolated note field on render.
46
+
47
+ ## Note schema
48
+
49
+ One fact per entry:
50
+
51
+ ```json
52
+ {"id":"n9","kind":"lesson|trap|pref","scope":"shell|review|github|...",
53
+ "title":"the rule in one line",
54
+ "body":"the concrete behaviour, specific enough to act on",
55
+ "why":"the failure that made this a rule",
56
+ "author":"model or agent name","date":"YYYY-MM-DD"}
57
+ ```
58
+
59
+ Kinds: **lesson** = a habit that holds; **trap** = something that silently produces a *wrong* answer; **pref** = how the user wants the work done.
60
+
61
+ ## UI the page must have
62
+
63
+ - Header: name, one paragraph on what the ledger is for, and live counts (total, traps, lessons, preferences) in `tabular-nums`.
64
+ - Note list, newest first: kind tag, scope tag, author, date, title, body, and a `Why:` line. Kind tags use semantic colour (trap = critical, pref = warning, lesson = accent), separate from the page accent.
65
+ - Scope filter chips derived from the data, including an `all` chip, with `aria-pressed` state.
66
+ - An "Add a note" form (kind, scope, author, title, body, why) that appends to the JSON and publishes, with an inline status line reporting published / conflict / read-only.
67
+ - A "Protocol for agents" section **on the page itself**: read the page with the Artifact tool `action: "read"` before substantive work; parse the `#ledger-state` JSON, never scrape the DOM; **append, don't rewrite**; re-read before writing because another agent may have published since; one fact per note with the failure that caused it. Include the schema snippet.
68
+ - Gatekeeping copy: only non-obvious, durable, cross-cutting lessons. If a repo's `CLAUDE.md` already says it, or a review bot already catches it, leave it out — a littered ledger is worse than a thin one.
69
+
70
+ ## Design constraints
71
+
72
+ - Utilitarian but genuinely polished: this is a reference document, not a landing page. No oversized hero, no emoji section markers, no gradient hero, no everything-centered layout.
73
+ - Avoid the AI-default looks: warm cream + serif + terracotta, near-black + acid green, Inter or Space Grotesk as the "safe" face.
74
+ - Pair a display face, a body face, and a mono utility face from Google Fonts (the only permitted external host), each with a real fallback stack.
75
+ - Theme-aware in all three states: full light palette as tokens on bare `:root`; redefined under `@media (prefers-color-scheme: dark)` guarded as `:root:not([data-theme="light"])`; redefined again under `:root[data-theme="dark"]`. Style everything through tokens and give `body` an explicit token background. No colour whose only definition sits inside a media or `[data-theme]` block.
76
+ - Layout with flex/grid + `gap`, not per-element margins. Wide content in its own `overflow-x: auto` container. Visible focus states. Respect `prefers-reduced-motion`.
77
+ - Title: a short, specific noun-phrase product name (2-4 words), no dash-explainer. Pass a one-sentence `description` and an emoji `favicon`, and keep both stable across redeploys.
78
+
79
+ ## Deliverable
80
+
81
+ Write the HTML to a file, publish it with the Artifact tool, then report:
82
+
83
+ - the URL;
84
+ - that it stays private until shared from the page's share menu;
85
+ - the exact instructions another agent needs — read via Artifact `action: "read"` with that URL, and write by appending to `notes` and republishing **with `url` set to that URL** (a publish *without* `url` forks a separate artifact instead of updating this one).
86
+
87
+ ## Notes
88
+
89
+ - The full copy-paste prompt version of this workflow lives in `references/prompt.txt` — hand it to another agent or session verbatim.
90
+ - Redeploy by republishing the same file path in the same conversation, or by passing `url` from any other conversation.
@@ -0,0 +1,78 @@
1
+ BUILD A SHARED AGENT-KNOWLEDGE ARTIFACT
2
+
3
+ Goal
4
+ Publish a single private Claude Artifact page that acts as an append-only, self-persisting
5
+ knowledge ledger which multiple agents (and I) read before starting work and write to when
6
+ reality corrects us. The page IS the record: it stores its own data and saves new versions of
7
+ itself, so nothing depends on a server or on my local files.
8
+
9
+ Before writing any code
10
+ 1. Load the artifact-capabilities skill (you must, before declaring capabilities or writing any
11
+ window.claude.* code) and the artifact-design skill (calibrates the design treatment).
12
+ 2. Read my global rules (CLAUDE.md / VERIFICATION.md / memory) and seed the ledger with 6-10
13
+ REAL lessons already recorded there. No lorem, no invented examples.
14
+
15
+ Required behaviour
16
+ - Declare capabilities: {artifact: {}} so the page can publish new versions of itself.
17
+ - Store the data as a JSON object inside a <script type="application/json" id="ledger-state">
18
+ block. That block is the authoritative record; the visible page is RENDERED from it at load.
19
+ Never serialize the live DOM to save.
20
+ - To persist: snapshot document.documentElement.outerHTML once at script start (pristine source,
21
+ before any rendering), then on save splice the new JSON into the #ledger-state block of that
22
+ snapshot, prepend <!doctype html>, and call artifact.publish(doc).
23
+ - Get the namespace with: const artifact = await claude.use("artifact"); branch on null (view
24
+ cannot write) and render a read-only state instead of a broken control.
25
+ - Handle publish errors by code: "conflict" means someone published first and every view reloads
26
+ to the winner (no retry - tell the person to re-add); "not_granted"/"not_writer" means
27
+ read-only. Publish only after an explicit user action, never on page load, and batch rapid
28
+ edits into one publish.
29
+
30
+ Note schema (one fact per entry)
31
+ {"id":"...", "kind":"lesson|trap|pref", "scope":"shell|review|github|...",
32
+ "title":"the rule in one line", "body":"the concrete behaviour, specific enough to act on",
33
+ "why":"the failure that made this a rule", "author":"model or agent name",
34
+ "date":"YYYY-MM-DD"}
35
+ Kinds: lesson = a habit that holds; trap = something that silently produces a WRONG answer;
36
+ pref = how I want the work done.
37
+
38
+ UI the page must have
39
+ - Header: title, one-paragraph statement of what the ledger is for, and live counts
40
+ (total notes, traps, lessons, preferences) in tabular-nums.
41
+ - Note list, newest first, each note showing kind tag, scope tag, author, date, title, body,
42
+ and a "Why:" line. Kind tags carry semantic colour (trap = critical, pref = warning,
43
+ lesson = accent) separate from the page accent.
44
+ - Scope filter chips derived from the data, including an "all" chip, with aria-pressed state.
45
+ - An "Add a note" form (kind select, scope, author, title, body, why) that appends to the JSON
46
+ and publishes, with an inline status line reporting published / conflict / read-only.
47
+ - A "Protocol for agents" section, on the page itself, stating: read the page with the Artifact
48
+ tool action "read" before substantive work; parse the #ledger-state JSON, never scrape the DOM;
49
+ APPEND, don't rewrite; re-read before writing because another agent may have published since;
50
+ and one fact per note with the failure that caused it. Include a copyable JSON snippet of the
51
+ schema.
52
+ - Gatekeeping copy: only non-obvious, durable, cross-cutting lessons. If a repo's CLAUDE.md
53
+ already says it or a review bot already catches it, leave it out. A littered ledger is worse
54
+ than a thin one.
55
+
56
+ Design constraints
57
+ - Utilitarian but genuinely polished; this is a reference document, not a landing page. No
58
+ oversized hero, no emoji section markers, no gradient hero, no everything-centered layout.
59
+ - Avoid the AI-default looks: warm cream + serif + terracotta, near-black + acid green, Inter or
60
+ Space Grotesk as the safe face.
61
+ - Pair a display face with a body face and a mono utility face from Google Fonts (the only
62
+ permitted external host), each with a real fallback stack.
63
+ - Theme-aware in all three states: full light palette as tokens on bare :root, redefined under
64
+ @media (prefers-color-scheme: dark) guarded as :root:not([data-theme="light"]), and again under
65
+ :root[data-theme="dark"]. Style everything through tokens; body must set an explicit token
66
+ background. No colour whose only definition sits inside a media or [data-theme] block.
67
+ - Layout with flex/grid + gap, not per-element margins. Wide content in its own overflow-x:auto
68
+ container. Visible focus states. Respect prefers-reduced-motion.
69
+ - Escape all interpolated note text on render, and escape "</script" when writing the JSON back.
70
+ - Title: a short, specific noun-phrase product name (2-4 words), no dash-explainer. Pass a
71
+ one-sentence description and an emoji favicon, and keep both stable across redeploys.
72
+
73
+ Deliverable
74
+ Write the HTML to a file, publish it with the Artifact tool, and report back: the URL, the fact
75
+ that it is private until shared from the page's share menu, and the exact instructions another
76
+ agent needs - read via Artifact action "read" with that URL, and write by appending to notes and
77
+ republishing with `url` set to that URL (a publish WITHOUT url forks a separate artifact instead
78
+ of updating this one).
@@ -0,0 +1,78 @@
1
+ BUILD A SHARED AGENT-KNOWLEDGE ARTIFACT
2
+
3
+ Goal
4
+ Publish a single private Claude Artifact page that acts as an append-only, self-persisting
5
+ knowledge ledger which multiple agents (and I) read before starting work and write to when
6
+ reality corrects us. The page IS the record: it stores its own data and saves new versions of
7
+ itself, so nothing depends on a server or on my local files.
8
+
9
+ Before writing any code
10
+ 1. Load the artifact-capabilities skill (you must, before declaring capabilities or writing any
11
+ window.claude.* code) and the artifact-design skill (calibrates the design treatment).
12
+ 2. Read my global rules (CLAUDE.md / VERIFICATION.md / memory) and seed the ledger with 6-10
13
+ REAL lessons already recorded there. No lorem, no invented examples.
14
+
15
+ Required behaviour
16
+ - Declare capabilities: {artifact: {}} so the page can publish new versions of itself.
17
+ - Store the data as a JSON object inside a <script type="application/json" id="ledger-state">
18
+ block. That block is the authoritative record; the visible page is RENDERED from it at load.
19
+ Never serialize the live DOM to save.
20
+ - To persist: snapshot document.documentElement.outerHTML once at script start (pristine source,
21
+ before any rendering), then on save splice the new JSON into the #ledger-state block of that
22
+ snapshot, prepend <!doctype html>, and call artifact.publish(doc).
23
+ - Get the namespace with: const artifact = await claude.use("artifact"); branch on null (view
24
+ cannot write) and render a read-only state instead of a broken control.
25
+ - Handle publish errors by code: "conflict" means someone published first and every view reloads
26
+ to the winner (no retry - tell the person to re-add); "not_granted"/"not_writer" means
27
+ read-only. Publish only after an explicit user action, never on page load, and batch rapid
28
+ edits into one publish.
29
+
30
+ Note schema (one fact per entry)
31
+ {"id":"...", "kind":"lesson|trap|pref", "scope":"shell|review|github|...",
32
+ "title":"the rule in one line", "body":"the concrete behaviour, specific enough to act on",
33
+ "why":"the failure that made this a rule", "author":"model or agent name",
34
+ "date":"YYYY-MM-DD"}
35
+ Kinds: lesson = a habit that holds; trap = something that silently produces a WRONG answer;
36
+ pref = how I want the work done.
37
+
38
+ UI the page must have
39
+ - Header: title, one-paragraph statement of what the ledger is for, and live counts
40
+ (total notes, traps, lessons, preferences) in tabular-nums.
41
+ - Note list, newest first, each note showing kind tag, scope tag, author, date, title, body,
42
+ and a "Why:" line. Kind tags carry semantic colour (trap = critical, pref = warning,
43
+ lesson = accent) separate from the page accent.
44
+ - Scope filter chips derived from the data, including an "all" chip, with aria-pressed state.
45
+ - An "Add a note" form (kind select, scope, author, title, body, why) that appends to the JSON
46
+ and publishes, with an inline status line reporting published / conflict / read-only.
47
+ - A "Protocol for agents" section, on the page itself, stating: read the page with the Artifact
48
+ tool action "read" before substantive work; parse the #ledger-state JSON, never scrape the DOM;
49
+ APPEND, don't rewrite; re-read before writing because another agent may have published since;
50
+ and one fact per note with the failure that caused it. Include a copyable JSON snippet of the
51
+ schema.
52
+ - Gatekeeping copy: only non-obvious, durable, cross-cutting lessons. If a repo's CLAUDE.md
53
+ already says it or a review bot already catches it, leave it out. A littered ledger is worse
54
+ than a thin one.
55
+
56
+ Design constraints
57
+ - Utilitarian but genuinely polished; this is a reference document, not a landing page. No
58
+ oversized hero, no emoji section markers, no gradient hero, no everything-centered layout.
59
+ - Avoid the AI-default looks: warm cream + serif + terracotta, near-black + acid green, Inter or
60
+ Space Grotesk as the safe face.
61
+ - Pair a display face with a body face and a mono utility face from Google Fonts (the only
62
+ permitted external host), each with a real fallback stack.
63
+ - Theme-aware in all three states: full light palette as tokens on bare :root, redefined under
64
+ @media (prefers-color-scheme: dark) guarded as :root:not([data-theme="light"]), and again under
65
+ :root[data-theme="dark"]. Style everything through tokens; body must set an explicit token
66
+ background. No colour whose only definition sits inside a media or [data-theme] block.
67
+ - Layout with flex/grid + gap, not per-element margins. Wide content in its own overflow-x:auto
68
+ container. Visible focus states. Respect prefers-reduced-motion.
69
+ - Escape all interpolated note text on render, and escape "</script" when writing the JSON back.
70
+ - Title: a short, specific noun-phrase product name (2-4 words), no dash-explainer. Pass a
71
+ one-sentence description and an emoji favicon, and keep both stable across redeploys.
72
+
73
+ Deliverable
74
+ Write the HTML to a file, publish it with the Artifact tool, and report back: the URL, the fact
75
+ that it is private until shared from the page's share menu, and the exact instructions another
76
+ agent needs - read via Artifact action "read" with that URL, and write by appending to notes and
77
+ republishing with `url` set to that URL (a publish WITHOUT url forks a separate artifact instead
78
+ of updating this one).
@@ -0,0 +1,86 @@
1
+ ---
2
+ name: wrap-up
3
+ description: Verify that a completed implementation matches its original objective, all applicable checks are green, and task-owned temporary files, worktrees, and local branches are safely tidied.
4
+ license: MIT
5
+ compatibility: Codex, Claude Code, Cursor, GitHub Copilot, Windsurf, Kiro, Grok, and other Agent Skills compatible tools.
6
+ metadata:
7
+ author: Oleg Koval
8
+ tags:
9
+ - delivery
10
+ - verification
11
+ - cleanup
12
+ - git
13
+ - worktrees
14
+ - release-hygiene
15
+ ---
16
+
17
+ # Wrap Up
18
+
19
+ Run this skill manually from time to time or as the final step after a task reaches its goal. It is a delivery audit and cleanup pass, not permission to expand scope or hide unfinished work.
20
+
21
+ ## 1. Reconstruct the task
22
+
23
+ - Read the original request, acceptance criteria, task plan, and final diff.
24
+ - Write a short objective statement and an acceptance matrix: each requested outcome, its evidence, and its status.
25
+ - Compare the result with the original idea, not merely with the implementation plan. Mark anything ambiguous or unverified as `UNKNOWN` rather than assuming it is complete.
26
+ - Identify the exact repositories, worktrees, branches, files, services, and temporary paths owned by this task. Preserve pre-existing user work.
27
+
28
+ ## 2. Verify the implementation
29
+
30
+ - Inspect the final diff and confirm every requested behavior is implemented.
31
+ - Check related tests, types, docs, configuration, migrations, and feature flags where the change requires them.
32
+ - Run the repository-defined checks appropriate to the change. Follow local instructions and use the project’s package scripts rather than bypassing its tooling.
33
+ - Prefer the smallest meaningful verification first, then the full applicable suite. Record exact commands and results.
34
+ - If a check fails, determine whether it is caused by this task. Do not call the task green because an unrelated check happened to pass.
35
+ - For user-facing behavior, require real browser/device or human evidence when that is part of acceptance; automated tests alone are not visual acceptance.
36
+
37
+ ## 3. Verify delivery state
38
+
39
+ Keep these gates separate and evidence-backed:
40
+
41
+ - Local worktree: branch, `HEAD`, tracked changes, and untracked files.
42
+ - Remote: tracking branch and remote SHA, verified with Git or the existing provider CLI.
43
+ - PR: current title/body, merge state, review threads, and required checks, when applicable.
44
+ - CI: current-head status, not an old successful run.
45
+ - Deployment: actual deployed version or endpoint health, when applicable.
46
+ - Device or human QA: real acceptance evidence, when applicable.
47
+
48
+ Do not claim remote, PR, CI, deployment, or QA completion from a local test or commit alone. Do not push, merge, deploy, or delete a remote branch as a side effect of this skill unless the task explicitly authorized it.
49
+
50
+ ## 4. Clean task-owned artifacts
51
+
52
+ Clean only paths created by this task or explicitly named for cleanup.
53
+
54
+ - Remove known temporary files, test output, logs, copied fixtures, and scratch directories after capturing any required evidence.
55
+ - Never recursively delete a broad directory, the workspace root, an unresolved glob, or an unknown untracked file.
56
+ - For dirty paths that predate this task or cannot be attributed confidently, leave them in place and report them.
57
+ - Check the repository’s worktree list and remove only task-owned worktrees that are clean and no longer needed. Use an exact path; never remove a worktree containing uncommitted user work.
58
+
59
+ ## 5. Clean local branches safely
60
+
61
+ - Confirm the task branch has the intended commit and that the remote branch contains the same work when remote delivery was required.
62
+ - If the remote branch is merged, verify the merge state before deleting the local branch.
63
+ - If the remote branch is pushed but unmerged, treat it as the recovery point. Delete the local branch only when the task is delivered, the remote branch is confirmed intact, the worktree is clean, and the user’s workflow permits local deletion. Otherwise preserve it and report why.
64
+ - Never use force branch deletion or destructive checkout/reset commands unless the user explicitly requests that exact recovery operation.
65
+ - Before deleting a branch, verify it is not checked out by another worktree and that no unique local commits would be lost.
66
+
67
+ ## 6. Report the result
68
+
69
+ Lead with the outcome. Include concise evidence, cleanup performed, items intentionally preserved, and the smallest next action for any blocker. Always finish with this receipt, using `NOT_APPLICABLE` for out-of-scope gates and `NOT_RUN` for applicable checks that were not executed:
70
+
71
+ ```text
72
+ OBJECTIVE:
73
+ CHANGED:
74
+ NOT_CHANGED:
75
+ TESTS:
76
+ BUILD:
77
+ REMOTE:
78
+ PR:
79
+ CI:
80
+ DEPLOYMENT:
81
+ DEVICE_OR_HUMAN_QA:
82
+ KNOWN_LIMITATIONS:
83
+ FINAL_STATUS:
84
+ ```
85
+
86
+ `FINAL_STATUS` must be exactly one of `DELIVERED`, `BLOCKED`, or `INTENTIONALLY_UNCHANGED`. Use `BLOCKED` when required evidence or cleanup cannot safely be completed; name the blocker and next action. Never promote a partial result to `DELIVERED`.
@@ -0,0 +1,5 @@
1
+ {
2
+ "name": "olko-wrap-up",
3
+ "description": "Verify a completed task against its original objective, confirm applicable checks, and safely tidy task-owned artifacts, worktrees, and local branches.",
4
+ "skills": "./skills"
5
+ }
@@ -0,0 +1,87 @@
1
+ ---
2
+ name: wrap-up
3
+ description: Verify that a completed implementation matches its original objective, all applicable checks are green, and task-owned temporary files, worktrees, and local branches are safely tidied.
4
+ license: MIT
5
+ compatibility: Codex, Claude Code, Cursor, GitHub Copilot, Windsurf, Kiro, Grok, and other Agent Skills compatible tools.
6
+ metadata:
7
+ author: Oleg Koval
8
+ tags:
9
+ - delivery
10
+ - verification
11
+ - cleanup
12
+ - git
13
+ - worktrees
14
+ - release-hygiene
15
+ ---
16
+ <!-- Generated by scripts/build-adapters.sh. Do not edit directly. -->
17
+
18
+ # Wrap Up
19
+
20
+ Run this skill manually from time to time or as the final step after a task reaches its goal. It is a delivery audit and cleanup pass, not permission to expand scope or hide unfinished work.
21
+
22
+ ## 1. Reconstruct the task
23
+
24
+ - Read the original request, acceptance criteria, task plan, and final diff.
25
+ - Write a short objective statement and an acceptance matrix: each requested outcome, its evidence, and its status.
26
+ - Compare the result with the original idea, not merely with the implementation plan. Mark anything ambiguous or unverified as `UNKNOWN` rather than assuming it is complete.
27
+ - Identify the exact repositories, worktrees, branches, files, services, and temporary paths owned by this task. Preserve pre-existing user work.
28
+
29
+ ## 2. Verify the implementation
30
+
31
+ - Inspect the final diff and confirm every requested behavior is implemented.
32
+ - Check related tests, types, docs, configuration, migrations, and feature flags where the change requires them.
33
+ - Run the repository-defined checks appropriate to the change. Follow local instructions and use the project’s package scripts rather than bypassing its tooling.
34
+ - Prefer the smallest meaningful verification first, then the full applicable suite. Record exact commands and results.
35
+ - If a check fails, determine whether it is caused by this task. Do not call the task green because an unrelated check happened to pass.
36
+ - For user-facing behavior, require real browser/device or human evidence when that is part of acceptance; automated tests alone are not visual acceptance.
37
+
38
+ ## 3. Verify delivery state
39
+
40
+ Keep these gates separate and evidence-backed:
41
+
42
+ - Local worktree: branch, `HEAD`, tracked changes, and untracked files.
43
+ - Remote: tracking branch and remote SHA, verified with Git or the existing provider CLI.
44
+ - PR: current title/body, merge state, review threads, and required checks, when applicable.
45
+ - CI: current-head status, not an old successful run.
46
+ - Deployment: actual deployed version or endpoint health, when applicable.
47
+ - Device or human QA: real acceptance evidence, when applicable.
48
+
49
+ Do not claim remote, PR, CI, deployment, or QA completion from a local test or commit alone. Do not push, merge, deploy, or delete a remote branch as a side effect of this skill unless the task explicitly authorized it.
50
+
51
+ ## 4. Clean task-owned artifacts
52
+
53
+ Clean only paths created by this task or explicitly named for cleanup.
54
+
55
+ - Remove known temporary files, test output, logs, copied fixtures, and scratch directories after capturing any required evidence.
56
+ - Never recursively delete a broad directory, the workspace root, an unresolved glob, or an unknown untracked file.
57
+ - For dirty paths that predate this task or cannot be attributed confidently, leave them in place and report them.
58
+ - Check the repository’s worktree list and remove only task-owned worktrees that are clean and no longer needed. Use an exact path; never remove a worktree containing uncommitted user work.
59
+
60
+ ## 5. Clean local branches safely
61
+
62
+ - Confirm the task branch has the intended commit and that the remote branch contains the same work when remote delivery was required.
63
+ - If the remote branch is merged, verify the merge state before deleting the local branch.
64
+ - If the remote branch is pushed but unmerged, treat it as the recovery point. Delete the local branch only when the task is delivered, the remote branch is confirmed intact, the worktree is clean, and the user’s workflow permits local deletion. Otherwise preserve it and report why.
65
+ - Never use force branch deletion or destructive checkout/reset commands unless the user explicitly requests that exact recovery operation.
66
+ - Before deleting a branch, verify it is not checked out by another worktree and that no unique local commits would be lost.
67
+
68
+ ## 6. Report the result
69
+
70
+ Lead with the outcome. Include concise evidence, cleanup performed, items intentionally preserved, and the smallest next action for any blocker. Always finish with this receipt, using `NOT_APPLICABLE` for out-of-scope gates and `NOT_RUN` for applicable checks that were not executed:
71
+
72
+ ```text
73
+ OBJECTIVE:
74
+ CHANGED:
75
+ NOT_CHANGED:
76
+ TESTS:
77
+ BUILD:
78
+ REMOTE:
79
+ PR:
80
+ CI:
81
+ DEPLOYMENT:
82
+ DEVICE_OR_HUMAN_QA:
83
+ KNOWN_LIMITATIONS:
84
+ FINAL_STATUS:
85
+ ```
86
+
87
+ `FINAL_STATUS` must be exactly one of `DELIVERED`, `BLOCKED`, or `INTENTIONALLY_UNCHANGED`. Use `BLOCKED` when required evidence or cleanup cannot safely be completed; name the blocker and next action. Never promote a partial result to `DELIVERED`.
@@ -0,0 +1,17 @@
1
+ # Codex Adapter for wrap-up
2
+
3
+ This is the Codex-specific adapter for the `olko:wrap-up` skill. The canonical workflow is in
4
+ `../../SKILL.md`.
5
+
6
+ ## Usage
7
+
8
+ Invoke it manually or after a completed task:
9
+
10
+ ```text
11
+ Use the olko:wrap-up skill to verify the completed task, clean task-owned artifacts, and report the delivery receipt.
12
+ ```
13
+
14
+ For Codex, keep the receipt fields required by the agent operating contract and treat local correctness,
15
+ remote state, PR state, CI, deployment, and human/device QA as separate gates. Use `git worktree list`
16
+ before removing worktrees, preserve unrelated dirty files, and never claim completion from a local green
17
+ check alone.
@@ -0,0 +1,6 @@
1
+ {
2
+ "name": "olko:wrap-up",
3
+ "version": "0.1.0",
4
+ "description": "Verify a completed task against its original objective, confirm applicable checks, and safely tidy task-owned artifacts, worktrees, and local branches.",
5
+ "skills": "skills/"
6
+ }
@@ -0,0 +1,88 @@
1
+ ---
2
+ name: wrap-up
3
+ description: Verify that a completed implementation matches its original objective, all applicable checks are green, and task-owned temporary files, worktrees, and local branches are safely tidied.
4
+ license: MIT
5
+ compatibility: Codex, Claude Code, Cursor, GitHub Copilot, Windsurf, Kiro, Grok, and other Agent Skills compatible tools.
6
+ metadata:
7
+ targets: ["cursor"]
8
+ author: Oleg Koval
9
+ tags:
10
+ - delivery
11
+ - verification
12
+ - cleanup
13
+ - git
14
+ - worktrees
15
+ - release-hygiene
16
+ ---
17
+ <!-- Generated by scripts/build-adapters.sh. Do not edit directly. -->
18
+
19
+ # Wrap Up
20
+
21
+ Run this skill manually from time to time or as the final step after a task reaches its goal. It is a delivery audit and cleanup pass, not permission to expand scope or hide unfinished work.
22
+
23
+ ## 1. Reconstruct the task
24
+
25
+ - Read the original request, acceptance criteria, task plan, and final diff.
26
+ - Write a short objective statement and an acceptance matrix: each requested outcome, its evidence, and its status.
27
+ - Compare the result with the original idea, not merely with the implementation plan. Mark anything ambiguous or unverified as `UNKNOWN` rather than assuming it is complete.
28
+ - Identify the exact repositories, worktrees, branches, files, services, and temporary paths owned by this task. Preserve pre-existing user work.
29
+
30
+ ## 2. Verify the implementation
31
+
32
+ - Inspect the final diff and confirm every requested behavior is implemented.
33
+ - Check related tests, types, docs, configuration, migrations, and feature flags where the change requires them.
34
+ - Run the repository-defined checks appropriate to the change. Follow local instructions and use the project’s package scripts rather than bypassing its tooling.
35
+ - Prefer the smallest meaningful verification first, then the full applicable suite. Record exact commands and results.
36
+ - If a check fails, determine whether it is caused by this task. Do not call the task green because an unrelated check happened to pass.
37
+ - For user-facing behavior, require real browser/device or human evidence when that is part of acceptance; automated tests alone are not visual acceptance.
38
+
39
+ ## 3. Verify delivery state
40
+
41
+ Keep these gates separate and evidence-backed:
42
+
43
+ - Local worktree: branch, `HEAD`, tracked changes, and untracked files.
44
+ - Remote: tracking branch and remote SHA, verified with Git or the existing provider CLI.
45
+ - PR: current title/body, merge state, review threads, and required checks, when applicable.
46
+ - CI: current-head status, not an old successful run.
47
+ - Deployment: actual deployed version or endpoint health, when applicable.
48
+ - Device or human QA: real acceptance evidence, when applicable.
49
+
50
+ Do not claim remote, PR, CI, deployment, or QA completion from a local test or commit alone. Do not push, merge, deploy, or delete a remote branch as a side effect of this skill unless the task explicitly authorized it.
51
+
52
+ ## 4. Clean task-owned artifacts
53
+
54
+ Clean only paths created by this task or explicitly named for cleanup.
55
+
56
+ - Remove known temporary files, test output, logs, copied fixtures, and scratch directories after capturing any required evidence.
57
+ - Never recursively delete a broad directory, the workspace root, an unresolved glob, or an unknown untracked file.
58
+ - For dirty paths that predate this task or cannot be attributed confidently, leave them in place and report them.
59
+ - Check the repository’s worktree list and remove only task-owned worktrees that are clean and no longer needed. Use an exact path; never remove a worktree containing uncommitted user work.
60
+
61
+ ## 5. Clean local branches safely
62
+
63
+ - Confirm the task branch has the intended commit and that the remote branch contains the same work when remote delivery was required.
64
+ - If the remote branch is merged, verify the merge state before deleting the local branch.
65
+ - If the remote branch is pushed but unmerged, treat it as the recovery point. Delete the local branch only when the task is delivered, the remote branch is confirmed intact, the worktree is clean, and the user’s workflow permits local deletion. Otherwise preserve it and report why.
66
+ - Never use force branch deletion or destructive checkout/reset commands unless the user explicitly requests that exact recovery operation.
67
+ - Before deleting a branch, verify it is not checked out by another worktree and that no unique local commits would be lost.
68
+
69
+ ## 6. Report the result
70
+
71
+ Lead with the outcome. Include concise evidence, cleanup performed, items intentionally preserved, and the smallest next action for any blocker. Always finish with this receipt, using `NOT_APPLICABLE` for out-of-scope gates and `NOT_RUN` for applicable checks that were not executed:
72
+
73
+ ```text
74
+ OBJECTIVE:
75
+ CHANGED:
76
+ NOT_CHANGED:
77
+ TESTS:
78
+ BUILD:
79
+ REMOTE:
80
+ PR:
81
+ CI:
82
+ DEPLOYMENT:
83
+ DEVICE_OR_HUMAN_QA:
84
+ KNOWN_LIMITATIONS:
85
+ FINAL_STATUS:
86
+ ```
87
+
88
+ `FINAL_STATUS` must be exactly one of `DELIVERED`, `BLOCKED`, or `INTENTIONALLY_UNCHANGED`. Use `BLOCKED` when required evidence or cleanup cannot safely be completed; name the blocker and next action. Never promote a partial result to `DELIVERED`.
@@ -0,0 +1,6 @@
1
+ {
2
+ "name": "olko:wrap-up",
3
+ "version": "0.1.0",
4
+ "description": "Verify a completed task against its original objective, confirm applicable checks, and safely tidy task-owned artifacts, worktrees, and local branches.",
5
+ "skills": "skills/"
6
+ }
@@ -0,0 +1,87 @@
1
+ ---
2
+ name: wrap-up
3
+ description: Verify that a completed implementation matches its original objective, all applicable checks are green, and task-owned temporary files, worktrees, and local branches are safely tidied.
4
+ license: MIT
5
+ compatibility: Codex, Claude Code, Cursor, GitHub Copilot, Windsurf, Kiro, Grok, and other Agent Skills compatible tools.
6
+ metadata:
7
+ author: Oleg Koval
8
+ tags:
9
+ - delivery
10
+ - verification
11
+ - cleanup
12
+ - git
13
+ - worktrees
14
+ - release-hygiene
15
+ ---
16
+ <!-- Generated by scripts/build-adapters.sh. Do not edit directly. -->
17
+
18
+ # Wrap Up
19
+
20
+ Run this skill manually from time to time or as the final step after a task reaches its goal. It is a delivery audit and cleanup pass, not permission to expand scope or hide unfinished work.
21
+
22
+ ## 1. Reconstruct the task
23
+
24
+ - Read the original request, acceptance criteria, task plan, and final diff.
25
+ - Write a short objective statement and an acceptance matrix: each requested outcome, its evidence, and its status.
26
+ - Compare the result with the original idea, not merely with the implementation plan. Mark anything ambiguous or unverified as `UNKNOWN` rather than assuming it is complete.
27
+ - Identify the exact repositories, worktrees, branches, files, services, and temporary paths owned by this task. Preserve pre-existing user work.
28
+
29
+ ## 2. Verify the implementation
30
+
31
+ - Inspect the final diff and confirm every requested behavior is implemented.
32
+ - Check related tests, types, docs, configuration, migrations, and feature flags where the change requires them.
33
+ - Run the repository-defined checks appropriate to the change. Follow local instructions and use the project’s package scripts rather than bypassing its tooling.
34
+ - Prefer the smallest meaningful verification first, then the full applicable suite. Record exact commands and results.
35
+ - If a check fails, determine whether it is caused by this task. Do not call the task green because an unrelated check happened to pass.
36
+ - For user-facing behavior, require real browser/device or human evidence when that is part of acceptance; automated tests alone are not visual acceptance.
37
+
38
+ ## 3. Verify delivery state
39
+
40
+ Keep these gates separate and evidence-backed:
41
+
42
+ - Local worktree: branch, `HEAD`, tracked changes, and untracked files.
43
+ - Remote: tracking branch and remote SHA, verified with Git or the existing provider CLI.
44
+ - PR: current title/body, merge state, review threads, and required checks, when applicable.
45
+ - CI: current-head status, not an old successful run.
46
+ - Deployment: actual deployed version or endpoint health, when applicable.
47
+ - Device or human QA: real acceptance evidence, when applicable.
48
+
49
+ Do not claim remote, PR, CI, deployment, or QA completion from a local test or commit alone. Do not push, merge, deploy, or delete a remote branch as a side effect of this skill unless the task explicitly authorized it.
50
+
51
+ ## 4. Clean task-owned artifacts
52
+
53
+ Clean only paths created by this task or explicitly named for cleanup.
54
+
55
+ - Remove known temporary files, test output, logs, copied fixtures, and scratch directories after capturing any required evidence.
56
+ - Never recursively delete a broad directory, the workspace root, an unresolved glob, or an unknown untracked file.
57
+ - For dirty paths that predate this task or cannot be attributed confidently, leave them in place and report them.
58
+ - Check the repository’s worktree list and remove only task-owned worktrees that are clean and no longer needed. Use an exact path; never remove a worktree containing uncommitted user work.
59
+
60
+ ## 5. Clean local branches safely
61
+
62
+ - Confirm the task branch has the intended commit and that the remote branch contains the same work when remote delivery was required.
63
+ - If the remote branch is merged, verify the merge state before deleting the local branch.
64
+ - If the remote branch is pushed but unmerged, treat it as the recovery point. Delete the local branch only when the task is delivered, the remote branch is confirmed intact, the worktree is clean, and the user’s workflow permits local deletion. Otherwise preserve it and report why.
65
+ - Never use force branch deletion or destructive checkout/reset commands unless the user explicitly requests that exact recovery operation.
66
+ - Before deleting a branch, verify it is not checked out by another worktree and that no unique local commits would be lost.
67
+
68
+ ## 6. Report the result
69
+
70
+ Lead with the outcome. Include concise evidence, cleanup performed, items intentionally preserved, and the smallest next action for any blocker. Always finish with this receipt, using `NOT_APPLICABLE` for out-of-scope gates and `NOT_RUN` for applicable checks that were not executed:
71
+
72
+ ```text
73
+ OBJECTIVE:
74
+ CHANGED:
75
+ NOT_CHANGED:
76
+ TESTS:
77
+ BUILD:
78
+ REMOTE:
79
+ PR:
80
+ CI:
81
+ DEPLOYMENT:
82
+ DEVICE_OR_HUMAN_QA:
83
+ KNOWN_LIMITATIONS:
84
+ FINAL_STATUS:
85
+ ```
86
+
87
+ `FINAL_STATUS` must be exactly one of `DELIVERED`, `BLOCKED`, or `INTENTIONALLY_UNCHANGED`. Use `BLOCKED` when required evidence or cleanup cannot safely be completed; name the blocker and next action. Never promote a partial result to `DELIVERED`.
@@ -0,0 +1,77 @@
1
+ <!-- Generated by scripts/build-adapters.sh. Do not edit directly. -->
2
+
3
+ ---
4
+ inclusion: manual
5
+ description: "Verify a completed task against its original objective, confirm applicable checks, and safely tidy task-owned artifacts, worktrees, and local branches."
6
+ ---
7
+
8
+ # Wrap Up
9
+
10
+ Run this skill manually from time to time or as the final step after a task reaches its goal. It is a delivery audit and cleanup pass, not permission to expand scope or hide unfinished work.
11
+
12
+ ## 1. Reconstruct the task
13
+
14
+ - Read the original request, acceptance criteria, task plan, and final diff.
15
+ - Write a short objective statement and an acceptance matrix: each requested outcome, its evidence, and its status.
16
+ - Compare the result with the original idea, not merely with the implementation plan. Mark anything ambiguous or unverified as `UNKNOWN` rather than assuming it is complete.
17
+ - Identify the exact repositories, worktrees, branches, files, services, and temporary paths owned by this task. Preserve pre-existing user work.
18
+
19
+ ## 2. Verify the implementation
20
+
21
+ - Inspect the final diff and confirm every requested behavior is implemented.
22
+ - Check related tests, types, docs, configuration, migrations, and feature flags where the change requires them.
23
+ - Run the repository-defined checks appropriate to the change. Follow local instructions and use the project’s package scripts rather than bypassing its tooling.
24
+ - Prefer the smallest meaningful verification first, then the full applicable suite. Record exact commands and results.
25
+ - If a check fails, determine whether it is caused by this task. Do not call the task green because an unrelated check happened to pass.
26
+ - For user-facing behavior, require real browser/device or human evidence when that is part of acceptance; automated tests alone are not visual acceptance.
27
+
28
+ ## 3. Verify delivery state
29
+
30
+ Keep these gates separate and evidence-backed:
31
+
32
+ - Local worktree: branch, `HEAD`, tracked changes, and untracked files.
33
+ - Remote: tracking branch and remote SHA, verified with Git or the existing provider CLI.
34
+ - PR: current title/body, merge state, review threads, and required checks, when applicable.
35
+ - CI: current-head status, not an old successful run.
36
+ - Deployment: actual deployed version or endpoint health, when applicable.
37
+ - Device or human QA: real acceptance evidence, when applicable.
38
+
39
+ Do not claim remote, PR, CI, deployment, or QA completion from a local test or commit alone. Do not push, merge, deploy, or delete a remote branch as a side effect of this skill unless the task explicitly authorized it.
40
+
41
+ ## 4. Clean task-owned artifacts
42
+
43
+ Clean only paths created by this task or explicitly named for cleanup.
44
+
45
+ - Remove known temporary files, test output, logs, copied fixtures, and scratch directories after capturing any required evidence.
46
+ - Never recursively delete a broad directory, the workspace root, an unresolved glob, or an unknown untracked file.
47
+ - For dirty paths that predate this task or cannot be attributed confidently, leave them in place and report them.
48
+ - Check the repository’s worktree list and remove only task-owned worktrees that are clean and no longer needed. Use an exact path; never remove a worktree containing uncommitted user work.
49
+
50
+ ## 5. Clean local branches safely
51
+
52
+ - Confirm the task branch has the intended commit and that the remote branch contains the same work when remote delivery was required.
53
+ - If the remote branch is merged, verify the merge state before deleting the local branch.
54
+ - If the remote branch is pushed but unmerged, treat it as the recovery point. Delete the local branch only when the task is delivered, the remote branch is confirmed intact, the worktree is clean, and the user’s workflow permits local deletion. Otherwise preserve it and report why.
55
+ - Never use force branch deletion or destructive checkout/reset commands unless the user explicitly requests that exact recovery operation.
56
+ - Before deleting a branch, verify it is not checked out by another worktree and that no unique local commits would be lost.
57
+
58
+ ## 6. Report the result
59
+
60
+ Lead with the outcome. Include concise evidence, cleanup performed, items intentionally preserved, and the smallest next action for any blocker. Always finish with this receipt, using `NOT_APPLICABLE` for out-of-scope gates and `NOT_RUN` for applicable checks that were not executed:
61
+
62
+ ```text
63
+ OBJECTIVE:
64
+ CHANGED:
65
+ NOT_CHANGED:
66
+ TESTS:
67
+ BUILD:
68
+ REMOTE:
69
+ PR:
70
+ CI:
71
+ DEPLOYMENT:
72
+ DEVICE_OR_HUMAN_QA:
73
+ KNOWN_LIMITATIONS:
74
+ FINAL_STATUS:
75
+ ```
76
+
77
+ `FINAL_STATUS` must be exactly one of `DELIVERED`, `BLOCKED`, or `INTENTIONALLY_UNCHANGED`. Use `BLOCKED` when required evidence or cleanup cannot safely be completed; name the blocker and next action. Never promote a partial result to `DELIVERED`.
@@ -0,0 +1,76 @@
1
+ <!-- Generated by scripts/build-adapters.sh. Do not edit directly. -->
2
+
3
+ ---
4
+ description: "Verify a completed task against its original objective, confirm applicable checks, and safely tidy task-owned artifacts, worktrees, and local branches."
5
+ ---
6
+
7
+ # Wrap Up
8
+
9
+ Run this skill manually from time to time or as the final step after a task reaches its goal. It is a delivery audit and cleanup pass, not permission to expand scope or hide unfinished work.
10
+
11
+ ## 1. Reconstruct the task
12
+
13
+ - Read the original request, acceptance criteria, task plan, and final diff.
14
+ - Write a short objective statement and an acceptance matrix: each requested outcome, its evidence, and its status.
15
+ - Compare the result with the original idea, not merely with the implementation plan. Mark anything ambiguous or unverified as `UNKNOWN` rather than assuming it is complete.
16
+ - Identify the exact repositories, worktrees, branches, files, services, and temporary paths owned by this task. Preserve pre-existing user work.
17
+
18
+ ## 2. Verify the implementation
19
+
20
+ - Inspect the final diff and confirm every requested behavior is implemented.
21
+ - Check related tests, types, docs, configuration, migrations, and feature flags where the change requires them.
22
+ - Run the repository-defined checks appropriate to the change. Follow local instructions and use the project’s package scripts rather than bypassing its tooling.
23
+ - Prefer the smallest meaningful verification first, then the full applicable suite. Record exact commands and results.
24
+ - If a check fails, determine whether it is caused by this task. Do not call the task green because an unrelated check happened to pass.
25
+ - For user-facing behavior, require real browser/device or human evidence when that is part of acceptance; automated tests alone are not visual acceptance.
26
+
27
+ ## 3. Verify delivery state
28
+
29
+ Keep these gates separate and evidence-backed:
30
+
31
+ - Local worktree: branch, `HEAD`, tracked changes, and untracked files.
32
+ - Remote: tracking branch and remote SHA, verified with Git or the existing provider CLI.
33
+ - PR: current title/body, merge state, review threads, and required checks, when applicable.
34
+ - CI: current-head status, not an old successful run.
35
+ - Deployment: actual deployed version or endpoint health, when applicable.
36
+ - Device or human QA: real acceptance evidence, when applicable.
37
+
38
+ Do not claim remote, PR, CI, deployment, or QA completion from a local test or commit alone. Do not push, merge, deploy, or delete a remote branch as a side effect of this skill unless the task explicitly authorized it.
39
+
40
+ ## 4. Clean task-owned artifacts
41
+
42
+ Clean only paths created by this task or explicitly named for cleanup.
43
+
44
+ - Remove known temporary files, test output, logs, copied fixtures, and scratch directories after capturing any required evidence.
45
+ - Never recursively delete a broad directory, the workspace root, an unresolved glob, or an unknown untracked file.
46
+ - For dirty paths that predate this task or cannot be attributed confidently, leave them in place and report them.
47
+ - Check the repository’s worktree list and remove only task-owned worktrees that are clean and no longer needed. Use an exact path; never remove a worktree containing uncommitted user work.
48
+
49
+ ## 5. Clean local branches safely
50
+
51
+ - Confirm the task branch has the intended commit and that the remote branch contains the same work when remote delivery was required.
52
+ - If the remote branch is merged, verify the merge state before deleting the local branch.
53
+ - If the remote branch is pushed but unmerged, treat it as the recovery point. Delete the local branch only when the task is delivered, the remote branch is confirmed intact, the worktree is clean, and the user’s workflow permits local deletion. Otherwise preserve it and report why.
54
+ - Never use force branch deletion or destructive checkout/reset commands unless the user explicitly requests that exact recovery operation.
55
+ - Before deleting a branch, verify it is not checked out by another worktree and that no unique local commits would be lost.
56
+
57
+ ## 6. Report the result
58
+
59
+ Lead with the outcome. Include concise evidence, cleanup performed, items intentionally preserved, and the smallest next action for any blocker. Always finish with this receipt, using `NOT_APPLICABLE` for out-of-scope gates and `NOT_RUN` for applicable checks that were not executed:
60
+
61
+ ```text
62
+ OBJECTIVE:
63
+ CHANGED:
64
+ NOT_CHANGED:
65
+ TESTS:
66
+ BUILD:
67
+ REMOTE:
68
+ PR:
69
+ CI:
70
+ DEPLOYMENT:
71
+ DEVICE_OR_HUMAN_QA:
72
+ KNOWN_LIMITATIONS:
73
+ FINAL_STATUS:
74
+ ```
75
+
76
+ `FINAL_STATUS` must be exactly one of `DELIVERED`, `BLOCKED`, or `INTENTIONALLY_UNCHANGED`. Use `BLOCKED` when required evidence or cleanup cannot safely be completed; name the blocker and next action. Never promote a partial result to `DELIVERED`.