@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.
- package/.claude-plugin/plugin.json +4 -2
- package/.cursor-plugin/index.json +5 -0
- package/.grok-plugin/index.json +5 -0
- package/.kiro/steering/wrap-up.md +77 -0
- package/.windsurf/rules/wrap-up.md +76 -0
- package/README.md +6 -4
- package/catalog/skills.json +42 -0
- package/collections/software-development.json +3 -1
- package/package.json +1 -1
- package/packages/software-development/add-to-my-skills/adapters/codex/README.md +16 -2
- package/packages/software-development/shared-knowledge-artifact/SKILL.md +89 -0
- package/packages/software-development/shared-knowledge-artifact/adapters/claude/plugin.json +5 -0
- package/packages/software-development/shared-knowledge-artifact/adapters/claude/skills/shared-knowledge-artifact/SKILL.md +90 -0
- package/packages/software-development/shared-knowledge-artifact/adapters/claude/skills/shared-knowledge-artifact/references/prompt.txt +78 -0
- package/packages/software-development/shared-knowledge-artifact/references/prompt.txt +78 -0
- package/packages/software-development/wrap-up/SKILL.md +86 -0
- package/packages/software-development/wrap-up/adapters/claude/plugin.json +5 -0
- package/packages/software-development/wrap-up/adapters/claude/skills/wrap-up/SKILL.md +87 -0
- package/packages/software-development/wrap-up/adapters/codex/README.md +17 -0
- package/packages/software-development/wrap-up/adapters/cursor/plugin.json +6 -0
- package/packages/software-development/wrap-up/adapters/cursor/skills/wrap-up/SKILL.md +88 -0
- package/packages/software-development/wrap-up/adapters/grok/plugin.json +6 -0
- package/packages/software-development/wrap-up/adapters/grok/skills/wrap-up/SKILL.md +87 -0
- package/packages/software-development/wrap-up/adapters/kiro/steering/wrap-up.md +77 -0
- 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.
|
|
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",
|
package/.grok-plugin/index.json
CHANGED
|
@@ -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-
|
|
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
|
|
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 (
|
|
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/ (
|
|
298
|
+
│ ├── software-development/ (42 skills)
|
|
297
299
|
│ ├── marketing/ (3 skills)
|
|
298
300
|
│ ├── music/ (1 skill)
|
|
299
301
|
│ └── photography/ (1 skill)
|
package/catalog/skills.json
CHANGED
|
@@ -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
|
}
|
package/package.json
CHANGED
|
@@ -1,3 +1,17 @@
|
|
|
1
|
-
# Codex
|
|
1
|
+
# Codex Adapter for add-to-my-skills
|
|
2
2
|
|
|
3
|
-
|
|
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,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,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,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`.
|