oxygen-agent.com

oxygen-unibox

Use OXYGEN Messages and Unibox to query, classify, tag, archive, bulk-triage, draft, and reply in existing email, LinkedIn, or WhatsApp conversations, or to send a direct email. Net-new LinkedIn outreach, including one recipient and one step, uses Sequences.

First seen Jun 28, 2026

Installation

$ npx skills add https://oxygen-agent.com

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from oxygen-agent.com · top by installs.

npx skills add https://oxygen-agent.com

Browse all from oxygen-agent.com

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Skill metadata

Parsed from SKILL.md frontmatter.

Allowed toolsBash(oxygen *), Bash(oxygen-dev *), Bash(jq *)

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 2,985 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 88 installs

SKILL.md

OXYGEN Unibox

Unibox is the control view over the native Messages store. It normalizes channel threads while preserving provider IDs, participants, delivery state, tags, and reply provenance.

Routing boundary

  • Existing email, LinkedIn, or WhatsApp thread: query and reply through Unibox/Messages.
  • New direct email without a cadence: Messages via the email-send gateway.
  • New LinkedIn conversation, even one recipient/one step: Sequence.
  • Cold, multistep, multi-recipient, sender-rotated, suppressed, or reply-stop outreach: Sequence.

Confirm with oxygen capabilities search "<message goal>" --json, then hydrate the exact inbox, messages, email, reviews, or agent command/schema.

LinkedIn visibility is sender-scoped. New accounts default to oxygen_initiated, which exposes only chats OXYGEN started; unrelated native LinkedIn conversations are neither ingested nor shown. Inspect or change an account with oxygen senders inbox-scope get|set. Treat all as an explicit customer opt-in to the full LinkedIn inbox. Existing accounts are grandfathered to all until an operator changes them. Changing this internal setting costs zero credits and does not trigger a provider sync or send a LinkedIn message.

Triage loop

  1. Query a bounded inbox slice by channel, status, tag, participant, and time window. Add unanswered to keep only threads awaiting your reply (the last message is inbound) — it defaults off, so an unfiltered list still returns answered threads.
  2. Read the conversation and relevant CRM/Knowledge context before classifying or drafting.
  3. Apply status, tags, archive, or bulk changes through a preview when the command offers one.
  4. Draft the reply and show the exact channel, account/thread, recipients, and content.
  5. Send only after explicit approval; preserve the returned message and conversation deep-links.

Use the reviews family for the human message-review queue. Use Agent discovery for AI Inbox Tagger or reply-draft configuration; generated drafts remain reviewable facts, not silent sends.

Guardrails

  • Never convert an existing-thread reply into a new outreach Sequence.
  • Never use raw Unipile/provider sends when Messages owns the thread.
  • Bulk actions must expose count and scope before applying.
  • Tags use the shared Tags vocabulary; do not create private per-inbox labels.
  • If a send outcome is ambiguous, inspect message/run provenance before retrying.
  • Never infer that an outbound-looking LinkedIn chat was OXYGEN-created. Restricted scope relies on the provider chat ID recorded from the successful chats_create response.