inboxd 1.5.1 → 1.5.3
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/skills/inbox-assistant/SKILL.md +53 -0
- package/CLAUDE.md +7 -0
- package/package.json +1 -1
|
@@ -166,6 +166,18 @@ When the user gives explicit feedback (e.g., "always delete LinkedIn alerts"), s
|
|
|
166
166
|
- When updating, **append to existing sections** (bullets), don't overwrite user content. Include brief context ("why") to help future decisions.
|
|
167
167
|
- Never delete the file; it lives outside the skill install path and must survive updates.
|
|
168
168
|
|
|
169
|
+
### Compound Preference Actions
|
|
170
|
+
|
|
171
|
+
When a preference specifies multiple actions (e.g., "mark as read AND archive"), execute ALL actions together in the same step:
|
|
172
|
+
|
|
173
|
+
| Preference Says | Agent Executes |
|
|
174
|
+
|-----------------|----------------|
|
|
175
|
+
| "Mark as read and archive" | `mark-read --ids` THEN `archive --ids --confirm` |
|
|
176
|
+
| "Summarize then delete" | Summarize content THEN `delete --ids --confirm` |
|
|
177
|
+
| "Archive after 7 days" | Check age THEN `archive --ids --confirm` |
|
|
178
|
+
|
|
179
|
+
**Critical**: Never split compound actions across separate user confirmations. If the preference says "X and Y", do both after a single approval.
|
|
180
|
+
|
|
169
181
|
### Smart Pattern Detection Window
|
|
170
182
|
When suggesting new preferences from behavior:
|
|
171
183
|
1) Only consider deletions from the last 14 days.
|
|
@@ -358,6 +370,8 @@ Delete this batch? (yes / no / yes to all)
|
|
|
358
370
|
| Fetch all matches | `inboxd search -q "from:linkedin.com" --all --max 200` |
|
|
359
371
|
| Extract links from email | `inboxd read --id <id> --links` |
|
|
360
372
|
| Quick metadata lookup | `inboxd read --id <id> --metadata-only` |
|
|
373
|
+
| Send email | `inboxd send -t <email> -s <subject> -b <body> --confirm` |
|
|
374
|
+
| Reply to email | `inboxd reply --id <id> -b <body> --confirm` |
|
|
361
375
|
| Delete by ID | `inboxd delete --ids "id1,id2" --confirm` |
|
|
362
376
|
| Delete by sender | `inboxd delete --sender "linkedin" --dry-run` → confirm → delete |
|
|
363
377
|
| Delete by subject | `inboxd delete --match "weekly digest" --dry-run` |
|
|
@@ -466,6 +480,10 @@ This will guide you through:
|
|
|
466
480
|
| `inboxd delete --sender "X" --match "Y" --confirm` | Delete by combined filters (AND) |
|
|
467
481
|
| `inboxd delete --sender "X" --limit 100 --confirm` | Override 50-email safety limit |
|
|
468
482
|
| `inboxd delete --sender "ab" --force --confirm` | Override short-pattern warning |
|
|
483
|
+
| `inboxd send -t <email> -s <subject> -b <body> --confirm` | Send a new email |
|
|
484
|
+
| `inboxd send --to <email> --subject <subject> --body <body> --dry-run` | Preview email without sending |
|
|
485
|
+
| `inboxd reply --id <id> -b <body> --confirm` | Reply to an email |
|
|
486
|
+
| `inboxd reply --id <id> --body <body> --dry-run` | Preview reply without sending |
|
|
469
487
|
| `inboxd restore --last N` | Restore last N deleted emails |
|
|
470
488
|
| `inboxd restore --ids "id1,id2"` | Restore specific emails |
|
|
471
489
|
| `inboxd mark-read --ids "id1,id2"` | Mark emails as read (remove UNREAD label) |
|
|
@@ -839,6 +857,41 @@ When user has job-related emails (LinkedIn, Indeed, recruiters) and wants to eva
|
|
|
839
857
|
|
|
840
858
|
---
|
|
841
859
|
|
|
860
|
+
## Sending & Replying to Emails
|
|
861
|
+
|
|
862
|
+
> [!TIP]
|
|
863
|
+
> Use `send` and `reply` to forward unsubscribe links, respond to emails, or share information.
|
|
864
|
+
|
|
865
|
+
### Send a New Email
|
|
866
|
+
```bash
|
|
867
|
+
inboxd send -t recipient@example.com -s "Subject" -b "Body text" --confirm
|
|
868
|
+
```
|
|
869
|
+
|
|
870
|
+
### Reply to an Email
|
|
871
|
+
```bash
|
|
872
|
+
inboxd reply --id <email-id> -b "Reply body" --confirm
|
|
873
|
+
```
|
|
874
|
+
|
|
875
|
+
### Safety Features
|
|
876
|
+
- **`--dry-run`**: Preview the email without sending
|
|
877
|
+
- **`--confirm`**: Skip interactive confirmation (required for automation)
|
|
878
|
+
- **Interactive mode**: Without flags, prompts "Send this email? (y/N)"
|
|
879
|
+
- **Audit logging**: All sent emails logged to `~/.config/inboxd/sent-log.json`
|
|
880
|
+
|
|
881
|
+
### Common Use Cases
|
|
882
|
+
|
|
883
|
+
| Scenario | Command |
|
|
884
|
+
|----------|---------|
|
|
885
|
+
| Forward unsubscribe link to yourself | `inboxd send -t me@gmail.com -s "Unsubscribe link" -b "https://..." --confirm` |
|
|
886
|
+
| Reply to an email | `inboxd reply --id <id> -b "Thanks, got it!" --confirm` |
|
|
887
|
+
| Preview before sending | `inboxd send -t <email> -s <subj> -b <body> --dry-run` |
|
|
888
|
+
|
|
889
|
+
### Account Selection
|
|
890
|
+
- With one account: Uses default
|
|
891
|
+
- With multiple accounts: Prompts for selection or use `--account <name>`
|
|
892
|
+
|
|
893
|
+
---
|
|
894
|
+
|
|
842
895
|
## Safety Rules
|
|
843
896
|
|
|
844
897
|
> [!CAUTION]
|
package/CLAUDE.md
CHANGED
|
@@ -152,6 +152,13 @@ Safety features:
|
|
|
152
152
|
- Creates `SKILL.md.backup` before replacing modified files
|
|
153
153
|
- Use `--force` to override ownership check
|
|
154
154
|
|
|
155
|
+
**IMPORTANT:** Never modify the installed skill at `~/.claude/skills/` directly.
|
|
156
|
+
The update flow is:
|
|
157
|
+
1. Modify source in `.claude/skills/inbox-assistant/SKILL.md`
|
|
158
|
+
2. Create `gh release`
|
|
159
|
+
3. `publish.yml` workflow publishes to npm
|
|
160
|
+
4. User runs `inboxd install-skill` to update
|
|
161
|
+
|
|
155
162
|
### Architecture
|
|
156
163
|
|
|
157
164
|
```
|