Repository navigation
feat(skills): ship a bundled reading-list skill with honest progress - #195
Open
Ranjithsingh2004 wants to merge 1 commit into
Open
Ranjithsingh2004 wants to merge 1 commit into
Ranjithsingh2004 wants to merge 1 commit into
Conversation
A per-workspace reading ledger for books, papers, and articles — a
single JSON file at `<cwd>/reading/reading.json` so it travels with the
workspace and is diffable. Complements habit-tracker (recurring
routines): a book is read once, front to back, so it has a start, a
finish, and a page count that only goes up.
add / list / show / start / progress / finish / rate / note / remove / stats
Invariants the SKILL.md promises and the guard suite pins:
- progress is honest — a page past the end of a known-length item is
refused, and mid-book progress never marks it finished;
- an exact id always wins, and an ambiguous fragment is refused with
the candidates rather than guessed at;
- `remove` needs `--yes`;
- writes are atomic (temp + rename) with no leftover temp files;
- a corrupt/malformed ledger is REFUSED (exit 2) instead of being
silently overwritten — the whole point of a history is that it
survives a bad parse.
Exit codes: 0 ok, 1 usage/refused, 2 corrupt ledger.
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
A new bundled skill:
reading-list— a durable per-workspace ledger for books, papers, and articles.The ledger is a single JSON file at
<cwd>/reading/reading.json, so it lives in the workspace and travels with it (diffable, committable) rather than in an opaque database.It complements
habit-tracker(recurring routines) andexpense-split(money): a book is read once, front to back, so it has a start, a finish, and a page count that only ever goes up.Invariants (promised in SKILL.md, pinned in tests)
removeneeds--yesand the refused removal never lands.Exit codes:
0ok ·1usage/refused ·2corrupt ledger.Tests
bundled-reading-list.test.ts(9/9 pass) spawns the shipped script in a throwaway workspace and covers: discoverability as a bundled skill, progress/finish semantics, the past-the-end refusal, exact-id vs ambiguous fragment,--yeson remove, no temp leftovers, corrupt-ledger refusal without mutation,listfiltering, andstats --json.npm run typecheckclean.