Inventory of the claude.ai surface (2026-08-26) found six installed user skills. Three of them exist nowhere else:
Skill
Size
In repo?
dream
6023 B
yes — byte-identical
own-the-task
3363 B
yes — byte-identical
grill-me
7547 B
yes — byte-identical
close-session
4544 B
no
antons-jobbsk
9285 B
no
are-sasongsscout
10789 B
no
claude.ai is the only surface with no fetch path — skills are uploaded by hand through the settings UI. So the one host that cannot sync is also the one holding sole copies. bin/doctor is structurally blind to it.
This is the same class of finding as gotth-dev in #27: real work living in one harness's private directory, outside git and outside any backup. Different surface, identical failure.
Action
Add skills/close-session/SKILL.md, skills/antons-jobbsk/SKILL.md, skills/are-sasongsscout/SKILL.md from the claude.ai copies.
Resolve the close-session boundary before adding it. It overlaps session-retrospective (surfaces learnings) and trainer (scores and writes to the brain), but is not the same skill — it also files open action points as Gitea issues. Either state the boundary in all three SKILL.md files, or fold close-session into the retrospective→trainer chain. Do not add a fourth overlapping entry silently.
Add index rows (see the surfaces: issue — if that lands first, the index is generated and this step disappears).
Notes for the executor
The three in-sync skills need no action; they are byte-identical to main and confirm the manual upload path does work when followed.
antons-jobbsk and are-sasongsscout are Swedish-language and personal-domain, not engineering skills. They belong in the repo for backup and versioning, but almost certainly should not ship to Crush/Pi/OpenCode or to Claude Code on koala. That is the case for the surfaces: field rather than a reason to leave them out.
Definition of done
All six claude.ai skills present in skills/, task check green, and no skill on any surface without a copy on main.
## Problem
Inventory of the claude.ai surface (2026-08-26) found six installed user skills. Three of them exist **nowhere else**:
| Skill | Size | In repo? |
|---|---|---|
| `dream` | 6023 B | yes — byte-identical |
| `own-the-task` | 3363 B | yes — byte-identical |
| `grill-me` | 7547 B | yes — byte-identical |
| `close-session` | 4544 B | **no** |
| `antons-jobbsk` | 9285 B | **no** |
| `are-sasongsscout` | 10789 B | **no** |
claude.ai is the only surface with no fetch path — skills are uploaded by hand through the settings UI. So the one host that cannot sync is also the one holding sole copies. `bin/doctor` is structurally blind to it.
This is the same class of finding as `gotth-dev` in #27: real work living in one harness's private directory, outside git and outside any backup. Different surface, identical failure.
## Action
- [ ] Add `skills/close-session/SKILL.md`, `skills/antons-jobbsk/SKILL.md`, `skills/are-sasongsscout/SKILL.md` from the claude.ai copies.
- [ ] Resolve the `close-session` boundary before adding it. It overlaps `session-retrospective` (surfaces learnings) and `trainer` (scores and writes to the brain), but is not the same skill — it also files open action points as Gitea issues. Either state the boundary in all three SKILL.md files, or fold `close-session` into the retrospective→trainer chain. Do not add a fourth overlapping entry silently.
- [ ] Add index rows (see the `surfaces:` issue — if that lands first, the index is generated and this step disappears).
## Notes for the executor
The three in-sync skills need no action; they are byte-identical to `main` and confirm the manual upload path does work when followed.
`antons-jobbsk` and `are-sasongsscout` are Swedish-language and personal-domain, not engineering skills. They belong in the repo for backup and versioning, but almost certainly should not ship to Crush/Pi/OpenCode or to Claude Code on koala. That is the case for the `surfaces:` field rather than a reason to leave them out.
## Definition of done
All six claude.ai skills present in `skills/`, `task check` green, and no skill on any surface without a copy on `main`.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Problem
Inventory of the claude.ai surface (2026-08-26) found six installed user skills. Three of them exist nowhere else:
dreamown-the-taskgrill-meclose-sessionantons-jobbskare-sasongsscoutclaude.ai is the only surface with no fetch path — skills are uploaded by hand through the settings UI. So the one host that cannot sync is also the one holding sole copies.
bin/doctoris structurally blind to it.This is the same class of finding as
gotth-devin #27: real work living in one harness's private directory, outside git and outside any backup. Different surface, identical failure.Action
skills/close-session/SKILL.md,skills/antons-jobbsk/SKILL.md,skills/are-sasongsscout/SKILL.mdfrom the claude.ai copies.close-sessionboundary before adding it. It overlapssession-retrospective(surfaces learnings) andtrainer(scores and writes to the brain), but is not the same skill — it also files open action points as Gitea issues. Either state the boundary in all three SKILL.md files, or foldclose-sessioninto the retrospective→trainer chain. Do not add a fourth overlapping entry silently.surfaces:issue — if that lands first, the index is generated and this step disappears).Notes for the executor
The three in-sync skills need no action; they are byte-identical to
mainand confirm the manual upload path does work when followed.antons-jobbskandare-sasongsscoutare Swedish-language and personal-domain, not engineering skills. They belong in the repo for backup and versioning, but almost certainly should not ship to Crush/Pi/OpenCode or to Claude Code on koala. That is the case for thesurfaces:field rather than a reason to leave them out.Definition of done
All six claude.ai skills present in
skills/,task checkgreen, and no skill on any surface without a copy onmain.