Skip to content

chore(main): release 1.2.0#12

Merged
pseudobun merged 1 commit intomainfrom
release-please--branches--main--components--tossinger
Apr 9, 2026
Merged

chore(main): release 1.2.0#12
pseudobun merged 1 commit intomainfrom
release-please--branches--main--components--tossinger

Conversation

@pseudobun
Copy link
Copy Markdown
Owner

@pseudobun pseudobun commented Apr 9, 2026

🤖 I have created a release beep boop

1.2.0 (2026-04-09)

Features

  • cli: toss CLI as embedded helper inside Tossinger.app (#11) (9b1a814)
  • skill: add tossinger Claude Code agent skill (#13) (562d018)

This PR was generated with Release Please. See documentation.

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>
@pseudobun pseudobun force-pushed the release-please--branches--main--components--tossinger branch from 809fd74 to 351b103 Compare April 9, 2026 11:11
@pseudobun pseudobun merged commit addb5d1 into main Apr 9, 2026
3 checks passed
@pseudobun
Copy link
Copy Markdown
Owner Author

🤖 Created releases:

🌻

@pseudobun pseudobun deleted the release-please--branches--main--components--tossinger branch April 9, 2026 11:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant