Merged
Conversation
11 tasks
pseudobun
added a commit
that referenced
this pull request
Apr 9, 2026
## Summary Adds a [Claude Code](https://claude.com/claude-code) agent skill at `skills/tossinger/SKILL.md` that wraps the `toss` CLI shipped by #11. With this skill installed, AI agents can read, create, and delete tosses on the user's behalf when the user references their saved tosses in conversation. The skill is distributed **as part of this repo** so it's discoverable from the GitHub project page and installable via a single `curl` (or `cp -r` from a clone) without needing a separate package registry. ## What the skill does - **Triggers** on phrases like "what did I save about X", "toss this link", "show me my recent tosses", direct mentions of Tossinger, and general references to saved links / reading list / things the user has tossed. - **Preflight-checks** that `toss` is on `PATH` before doing anything. If missing, explains the `brew install --cask pseudobun/tap/tossinger` install step and stops — no faking results. - **Reads** via `toss list --json`, parses the documented shape, and presents tosses in a compact human-readable summary (title + relative time + url). Supports client-side filtering for search queries since the CLI has no `toss search` yet. - **Writes** via `toss add "<content>"`, auto-detecting URLs vs text. Correctly explains the `metadataFetchState: "pending"` lifecycle so users know link metadata will enrich on next app launch. - **Deletes** via `toss delete <uuid> --force` with mandatory user confirmation in conversation first. Resolves short-id prefixes (the 8-char badge on app cards) to the full UUID by grepping `toss list --json` output. ## What's in the PR Two small commits: 1. `feat(skill): add tossinger Claude Code agent skill` — new `skills/tossinger/SKILL.md`, single-file layout (no bundled scripts/references). ~190 lines covering preflight, command reference, search guidance, add semantics, delete safety, presentation rules, failure modes, and four worked examples. 2. `docs(readme): document toss CLI and Claude Code skill install` — adds a brief `toss` CLI usage snippet to the macOS install section (retroactive doc for the CLI from #11) and a new "Claude Code skill" section with the single-file `curl` install and the clone-and-copy alternative. ## Installation (once this PR merges) ```bash mkdir -p ~/.claude/skills/tossinger curl -L https://raw.githubusercontent.com/pseudobun/tossinger/main/skills/tossinger/SKILL.md \ -o ~/.claude/skills/tossinger/SKILL.md ``` Or clone the repo and copy: ```bash cp -r skills/tossinger ~/.claude/skills/ ``` Then open a fresh Claude Code session and say something like *"what have I tossed lately?"* — the skill should fire and run `toss list --json`. ## Release-please interaction The release-please PR #12 is currently open with the v1.2.0 bump for the CLI merge. Merge order matters: - **Recommended**: merge #12 first (tags v1.2.0 with just the CLI), then merge this PR (release-please will subsequently open #13 bumping to v1.3.0 for the skill addition). - **Alternative**: merge this PR first. Release-please will regenerate #12 to include both the CLI and the skill in a combined v1.2.0 changelog entry. Works but flattens the history a bit. Either way, the skill itself doesn't affect the release pipeline — `release.yml` doesn't touch `skills/` and doesn't package anything from there, so the release flow is entirely unchanged. ## Test plan - [ ] Install the skill locally: `mkdir -p ~/.claude/skills/tossinger && cp skills/tossinger/SKILL.md ~/.claude/skills/tossinger/SKILL.md` - [ ] Open a fresh Claude Code session - [ ] Fire triggering prompts and verify the skill consults correctly: - [ ] "What did I save recently?" → should run `toss list --json` and summarize - [ ] "Did I toss anything about CloudKit?" → should fetch + filter client-side - [ ] "Add https://news.ycombinator.com to my tosses" → should run `toss add` and confirm the id - [ ] "Delete the Lutra Labs one" → should ask for confirmation, resolve the full uuid, then delete - [ ] Fire should-NOT-trigger prompts: - [ ] "Save this file to disk" → should not consult the skill - [ ] "What should I read this weekend?" (generic, no reference to tosses) → skill may or may not trigger, but if it does it should handle the empty-results case gracefully - [ ] Uninstall Tossinger on a test machine, run the skill — it should detect the missing CLI and explain the install path ## Out of scope - Full skill-creator eval loop with quantitative benchmarking. Manual verification via the test plan above is sufficient for a first draft. Can be added later as a follow-up if the triggering behavior needs tuning. - Packaging as a `.skill` bundle via `scripts/package_skill.py`. The single-file layout is trivially installable via `curl`, which is the lower-friction path. - `toss search` subcommand in the CLI (would remove the need for client-side filtering in the skill). Separate follow-up. 🤖 Generated with [Claude Code](https://claude.com/claude-code) --------- Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
809fd74 to
351b103
Compare
Owner
Author
|
🤖 Created releases: 🌻 |
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.
🤖 I have created a release beep boop
1.2.0 (2026-04-09)
Features
This PR was generated with Release Please. See documentation.