Skills DirectorySkills Directory
SkillsLearnSecurityCategoriesDocsCommunityBlog
Sign InSubmit Skill
Skills Directory

Security-tested agent skills for Claude, coding agents, and AI workflows.

Directory

  • Browse Skills
  • All Skills A–Z
  • Claude Skills
  • Claude Code Skills
  • Agent Skills
  • Categories
  • Authors
  • Submit a Skill

Learn

  • Learn Hub
  • Install Claude Skills
  • Write SKILL.md
  • Skills vs MCP
  • Directories Compared

Security

  • Security
  • Methodology
  • Secure Claude Skills
  • Security Badges

Company

  • About
  • Community
  • Blog
  • API Docs
  • Advertise

2026 Skills Directory. All rights reserved.

ProTermsPrivacyRefunds
Back to skills

Archive

ASecurity

Auto-archive mail like a message the user shows or names (a screenshot, or its sender and subject): keys a filters.js archive rule on sender and subject together and hands it to the filter skill to dedupe, write and sync. Shorthand for "/filter auto-archive based on sender + subject". Use when asked to archive, auto-archive or keep out of the inbox mail like a given message ("archive this", "auto-archive these").

5 stars
0 votes
0 copies
0 views
Added 9/28/2026
ai-agentsgoexpresssecurity

Security Analysis

A100/100

Scanned 9/28/2026

Install to Claude Code

$npx -y skills add raineorshine/email-filter-builder --skill archive --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Archive?

Add the live security badge to your README — it updates automatically with every re-scan.

Security grade badge for Archive
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/raineorshine-archive/badge)](https://www.skillsdirectory.com/skills/raineorshine-archive)

More formats (shields.io, HTML) on the badges page.

Files
SKILL.md
---
name: archive
description: 'Auto-archive mail like a message the user shows or names (a screenshot, or its sender and subject): keys a filters.js archive rule on sender and subject together and hands it to the filter skill to dedupe, write and sync. Shorthand for "/filter auto-archive based on sender + subject". Use when asked to archive, auto-archive or keep out of the inbox mail like a given message ("archive this", "auto-archive these").'
---

# Archive (message → mail like it skips the inbox)

Shorthand for `/filter auto-archive based on sender + subject`. Input is one message: a screenshot,
its sender and subject typed out, or both. Output is a `filters.js` rule that archives mail from
that sender whose subject marks it as the same kind, written and synced by the `filter` skill.

This skill settles what a bare "archive this" leaves open — the action, the scope, the key — so the
usual run asks nothing. Everything else belongs to `filter`: the session-title prefixes, where the
spec lives, the dedupe, the sync and the report.

Examples in this file are invented; the privacy rule in `AGENTS.md` applies to it.

## Procedure

### 1. Hand off to filter

Invoke the `filter` skill (Skill tool) with the args `auto-archive based on sender + subject`,
followed by anything the user typed, and follow it end to end. The steps below amend the `filter`
steps they name; where they are silent, `filter` stands.

### 2. Settle the open choices (filter steps 2–3)

Unless the user's words say otherwise:

- **Archive only.** The mail skips the inbox; no label is added and nothing is trashed.
- **Mail like this one.** "These" means the message's own kind, not everything its sender sends.
- **Sender and subject together**, even when the sender sends nothing else today: the subject keeps
  a later security alert from the same address in the inbox.

### 3. Find the message's kind (filter steps 1–2)

If the screenshot shows several messages and nothing singles one out — an open message, a selected
row, a typed sender — ask which, with 🚙 set first.

Survey the sender with `search_threads` on `from:<address>` (the domain, when the local part
rotates), `pageSize` 50, paging back until a full page adds no new kind — kinds the sender has
stopped sending do not matter. The message's own kind is the family; the other kinds are the
"sender's other mail" that filter step 2's fragment must not match, and they keep going where they
go today.

| Family vs. the sender's other kinds                    | Rule                                          |
| ------------------------------------------------------ | --------------------------------------------- |
| A fragment the whole family has and no other kind does | sender + that fragment — the usual case       |
| No such fragment, but a List-Id only the family has    | sender + List-Id                              |
| No such fragment, and the sender sends no other kind   | sender alone — say so in the report           |
| No such fragment, and other kinds exist                | not expressible — say so and ask, with 🚙 set |

Reuse the `from` the spec already has for this sender, if it has one (filter step 4's grep finds
it), so the sender's conditions differ only by subject.

### 4. Keep every label (filter step 4)

Archiving adds to what the mail gets today; it never swaps a label out. An entry that already
labels this mail keeps doing so:

- **A broader condition** (`*@acme.com` → Newsletters) stays as it is, and the archive condition
  goes in an archive-only entry. Gmail stacks the two filters, and in Proton a label never
  conflicts with a folder.
- **The same condition** moves to an entry with that label plus `archive` — never to an
  archive-only entry, which would drop the label.

An entry that already archives this mail makes the request a `duplicate`. If the screenshot shows
the message in the inbox anyway, that is the `match` skill's step 4 — mail older than the filter,
an unsynced filter, or a `gmail` NO MATCH — not a reason for a second rule.

### 5. Repeat the account test on the rendered rule (filter step 5)

After the edit, repeat filter step 2's account test on the `gmail` term the matcher prints for the
new condition, back to the oldest date step 3 surveyed (`after:`). Every thread it returns must be
the family; anything else is mail the filter would archive by mistake — lengthen the fragment and
check again before syncing. The rendered term is what the filter will actually run: the glob as the
renderer translated it, and every address a widened `from` reaches.

### 6. Report (filter step 7)

Add one line naming the sender's other kinds — the mail this rule leaves where it was. The message
itself stays where it is too: the rule is for mail still to come.

Attribution

raineorshineraineorshine
View sourceMore from raineorshine →
SSkills DirectorySkills Directory

Ship a skill? Prove it's safe.

Free 120-pattern security scan, letter grade, and an embeddable README badge.

Submit a skill

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments (0)

No comments yet. Be the first to comment!

SSkills DirectorySkills Directory

Ship a skill? Prove it's safe.

Free 120-pattern security scan, letter grade, and an embeddable README badge.

Submit a skill

Related Skills

Caveman

Ultra-compressed communication mode that cuts output tokens while keeping technical accuracy. Levels: lite, full, ultra and the wenyan variants. Use for /caveman, "caveman mode", "talk like caveman", "be brief" or "less tokens".

1074701 votes

Hyperplan

Adversarial multi-agent planning skill. Self-orchestrates 5 hostile category members (unspecified-low, unspecified-high, deep, ultrabrain, artistry) via team-mode for ruthless cross-critique debate, distills only the defensible insights, then MANDATORILY hands the distilled insight bundle to the `plan` agent for executable plan formalization. Use when planning needs maximum rigor and surfacing of weak assumptions, blind spots, and over-engineering. Triggers: 'hyperplan', 'hpp', '/hyperplan', ...

695601 votes

Mcp Code Execution

Routes multi-tool workflows through MCP servers for large datasets and pipelines. Use when Bash tool overhead is limiting throughput on data-heavy tasks.

3351 votes

catchup

Recovers the conversation and failed tool calls of a previous Codex, Claude Code, Antigravity, Cline, Copilot CLI, Cursor, DeepSeek Harness, Kimi, OpenCode, Pi Agent, or ZCode session. Use when the user says "catch up", "what did the last session do", "get me up to speed", "I switched agents", asks to recover/summarize a previous session before continuing, or asks to diagnose or report a catchup failure. Do NOT use for the current conversation, git history, or any non-agent log.

691 votes

math-skill

A comprehensive mathematical reasoning skill for AI assistants — handles arithmetic to research-level problems with rigorous step-by-step reasoning, systematic verification, and transparent uncertainty handling

381 votes
View all in ai-agents →