paperthin 0.5.0 → 0.7.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 +19 -12
- package/.github/workflows/ci.yml +17 -0
- package/.github/workflows/release.yml +39 -0
- package/CLAUDE.md +38 -8
- package/README.md +194 -132
- package/assets/map.svg +103 -0
- package/package.json +5 -1
- package/scripts/validate-skills.sh +39 -0
- package/skills/{cross → breadth}/ssotchk/SKILL.md +5 -7
- package/skills/{cross → breadth}/ssotize/SKILL.md +3 -8
- package/skills/coil/flywheel/SKILL.md +55 -0
- package/skills/coil/nba/SKILL.md +49 -0
- package/skills/coil/retro/SKILL.md +52 -0
- package/skills/coil/scratch/SKILL.md +47 -0
- package/skills/depth/factchk/SKILL.md +28 -0
- package/skills/depth/hate/SKILL.md +31 -0
- package/skills/depth/mandela/SKILL.md +41 -0
- package/skills/{single → depth}/re0/SKILL.md +5 -9
- package/skills/depth/re0-git/SKILL.md +38 -0
- package/skills/{single → depth}/shower/SKILL.md +4 -5
- package/skills/{single/tasting → depth/sip}/SKILL.md +6 -7
- package/skills/single/re0-git/SKILL.md +0 -36
|
@@ -16,22 +16,21 @@ A long session quietly accumulates context you can't un-see, so you lose the abi
|
|
|
16
16
|
3. Have it cold-read blind and report, from the artifact alone:
|
|
17
17
|
- what it takes the artifact to be, do, and expect;
|
|
18
18
|
- what is unclear, ambiguous, or assumed-but-unstated;
|
|
19
|
-
- what it would need to act confidently, and what it had to guess
|
|
19
|
+
- what it would need to act confidently, and what it had to guess.
|
|
20
20
|
4. Compare its blind understanding against the intent you noted in step 1 (which it never saw). Every mismatch is a defect in the artifact, not a reader error.
|
|
21
21
|
5. Report the defects and concrete fixes, ordered by how badly each blocks a fresh reader.
|
|
22
22
|
|
|
23
23
|
## Rules
|
|
24
24
|
|
|
25
25
|
- The read MUST come from a separate, context-free sub-session — never self-assess in this session, because you can't un-see the context (that is the whole point).
|
|
26
|
-
-
|
|
26
|
+
- Pass the artifact's contents, never your intent.
|
|
27
27
|
- A forced "I had to assume…" is a finding, not a reader failure.
|
|
28
28
|
- Medium-agnostic: adapt the cold-read questions to what the artifact is.
|
|
29
|
-
-
|
|
29
|
+
- **Read, don't sweep.** The cold-read is an end-to-end read, not a pattern-grep — a sweep catches only known patterns and misses stale refs, dead links, fact drift, and silent edit-damage. Track how much was actually read; never report "clean" from a grep alone.
|
|
30
30
|
|
|
31
31
|
## Verification
|
|
32
32
|
|
|
33
33
|
Before finishing:
|
|
34
34
|
|
|
35
35
|
1. The read came from a fresh sub-session blind to your intent.
|
|
36
|
-
2.
|
|
37
|
-
3. Report the verdict (stands on its own / needs work) and hand the fixes to the main session.
|
|
36
|
+
2. Report the verdict (stands on its own / minor gaps / needs work) and hand the fixes to the main session.
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
---
|
|
2
|
-
name:
|
|
3
|
-
description: "After you create or change an artifact or skill, taste-test it with our own skills instead of trusting your in-session judgment — recursive self-improvement, made automatic. Use right after writing or editing anything, before calling it done, committing, or handing it off
|
|
2
|
+
name: sip
|
|
3
|
+
description: "After you create or change an artifact or skill, taste-test it with our own skills instead of trusting your in-session judgment — recursive self-improvement, made automatic. Use right after writing or editing anything, before calling it done, committing, or handing it off."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
Taste your own cooking: the moment you finish making something, check it with the very skills this repo ships before you serve it.
|
|
7
7
|
|
|
8
8
|
## Goal
|
|
9
9
|
|
|
10
|
-
A reminder buried in docs ("remember to verify") won't reliably fire in a fresh session. `
|
|
10
|
+
A reminder buried in docs ("remember to verify") won't reliably fire in a fresh session. `sip` makes the recursive self-improvement loop a triggered habit: right after any create or change, run our own skills on the result so quality doesn't ride on the author's biased in-session judgment.
|
|
11
11
|
|
|
12
12
|
## Workflow
|
|
13
13
|
|
|
@@ -20,10 +20,9 @@ A reminder buried in docs ("remember to verify") won't reliably fire in a fresh
|
|
|
20
20
|
## Rules
|
|
21
21
|
|
|
22
22
|
- Trigger on your OWN output, right after making it — that's when bias is highest and a check is cheapest.
|
|
23
|
-
- Use the skills; don't re-implement them (`shower` for clarity, `ssotchk`/`ssotize` for SSOT, `re0` for cleanup).
|
|
23
|
+
- Use the skills; don't re-implement them (`shower` for clarity, `ssotchk`/`ssotize` for SSOT, `re0` for cleanup) — `sip` orchestrates and routes findings back to the author session to fix; the skills do the work.
|
|
24
24
|
- Skip what plainly doesn't apply (a one-line change may need only `ssotchk`), but say what you skipped and why.
|
|
25
|
-
-
|
|
26
|
-
- Stop at the artifact — `tasting` never touches git or makes commits. Cleaning a commit's message is a separate, user-invoked step (`re0-git`), and `tasting` must not chain to it.
|
|
25
|
+
- Stop at the artifact — `sip` never touches git or makes commits. Cleaning a commit's message is a separate, user-invoked step (`re0-git`), and `sip` must not chain to it.
|
|
27
26
|
|
|
28
27
|
## Verification
|
|
29
28
|
|
|
@@ -31,4 +30,4 @@ Before finishing:
|
|
|
31
30
|
|
|
32
31
|
1. The change was actually run through the relevant skills, not eyeballed.
|
|
33
32
|
2. Findings were applied (or consciously deferred with a stated reason).
|
|
34
|
-
3. The
|
|
33
|
+
3. The artifact actually changed as a result (a diff exists), or every skipped skill has a stated reason.
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: re0-git
|
|
3
|
-
disable-model-invocation: true
|
|
4
|
-
description: "Rewrite a finished commit's message into a clean, handoff-ready form — in your own log style — so `git log` alone tells the story, no `git diff` archaeology next session. Run it yourself after a commit (user-invoked on purpose, never auto-fired). Message only: never the tree, always gpg-signed; the commit you finalize takes fresh dates, older commits keep theirs."
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
`re0` for git: rewrite a finished commit's message so the log hands off on its own — in the author's own voice, not an imposed one.
|
|
8
|
-
|
|
9
|
-
## Goal
|
|
10
|
-
|
|
11
|
-
Repeated amends and momentum-commits leave a message bloated, stale, or padded with trivia. `re0-git` applies `re0` to the message: a clean version that lets a fresh session continue from `git log` alone, without reading the diff. It refines *what the author already writes* — it never imposes a format, and it never makes a commit. Only the message moves — and timestamps, per the date rule below; the tree never changes.
|
|
12
|
-
|
|
13
|
-
It is **user-invoked** — you run it once you've decided to commit. Deliberately not model-invoked and not chained from `tasting`: a commit-cleanup tool sitting in the agent's reach would bias it toward committing when it shouldn't, so it's kept out of that reach entirely.
|
|
14
|
-
|
|
15
|
-
## Workflow
|
|
16
|
-
|
|
17
|
-
1. Scope the target — usually `HEAD`, sometimes a short unpushed range. A commit must already exist; re0-git never creates one.
|
|
18
|
-
2. Read two things: what actually changed (`git show --stat`, `git diff`) so the message is true, and the author's recent `git log` so you match how they write — a one-line head, or a subject with bullets, terse or prose, whatever it is.
|
|
19
|
-
3. Rewrite the message in that style, keeping only what carries the change for a handoff. Cut the rest: stale or half-true lines, context or principles already documented elsewhere, and mechanical or derivable trivia (version bumps, file registration, platform or scope enumerations, "also updated X"). One point per real change — fold a minor change into a related point instead of giving it its own line; never pad to a length.
|
|
20
|
-
4. Re-commit signed, with dates per the rule below: for the tip you're finalizing (`HEAD`), a plain `git commit --amend -S` lets both dates default to now; to keep an older commit's dates, rebuild it with `GIT_AUTHOR_DATE`/`GIT_COMMITTER_DATE git commit-tree <tree> -p <parent> -S` and move the branch ref. For a range, the tip restamps and the rest preserve.
|
|
21
|
-
5. Verify and report.
|
|
22
|
-
|
|
23
|
-
## Rules
|
|
24
|
-
|
|
25
|
-
- **Never create or suggest a commit** — re0-git only rewrites the message of a commit that already exists. Using it is never a reason to commit.
|
|
26
|
-
- **Message only** — the tree must stay byte-identical (`git diff <old> <new>` empty); never edit content in a re0-git pass.
|
|
27
|
-
- **Match the author's style, don't impose one** — no mandated convention, structure, tone, or emoji. Mirror their existing log; a one-line head stays a one-line head.
|
|
28
|
-
- **Keep the essence, cut the trivia** — leave only what a fresh session needs to hand off from the log; no padding, no mechanical or derivable noise. The log is the single source of truth for the change.
|
|
29
|
-
- **Dates by position; always gpg-signed.** The commit you're finalizing — `HEAD` — takes both author and committer date = now, because re-cleaning the latest commit is itself continued work. Every older commit (`HEAD~1` and back) keeps its original author + committer dates; never restamp the past.
|
|
30
|
-
- **Never rewrite pushed or shared history** without explicit confirmation — it forces a force-push.
|
|
31
|
-
|
|
32
|
-
## Verification
|
|
33
|
-
|
|
34
|
-
1. `git diff <old-tip> <new-tip>` is empty — content unchanged.
|
|
35
|
-
2. Each rewritten commit is gpg-signed (`%G?` = `G`) with dates as intended.
|
|
36
|
-
3. `git log` reads clean in the author's own style and is enough for handoff on its own.
|