1Password
Read 1Password secrets via the `op` CLI with a service-account token.
Skill by lordmacu
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/lordmacu-1password
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: security
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/1password
What's inside
- Skill name
1Password- Description
- Read 1Password secrets via the `op` CLI with a service-account token. Secret values are metadata-only by default.
- License
- Apache-2.0
- Instructions
- 145 lines in SKILL.md · view on GitHub
Agent Skills spec issues
- name: only lowercase letters, digits and single hyphens allowed
- name: "1Password" does not match folder "onepassword"
Files (1)
- SKILL.md
SKILL.md (first lines)
# 1Password
Use this skill when the agent needs a secret managed in 1Password —
API keys, tokens, passwords, connection strings. Reads only; never
writes. Read values are hidden from the LLM unless the operator
explicitly turns on reveal (`OP_ALLOW_REVEAL=true`).
## Use when
- The user asks to use a service that needs a credential you don't have
in env vars (e.g. "send email with Gmail", "upload this file to S3")
- You need to verify a secret exists without seeing it ("is the Stripe
key already in Prod?")
- Rotating credentials: list items + categories to audit what's stored
## Do not use when
- You need to **create** or **update** a secret — this tool is read-only
- You are asked to dump all secrets or fingerprint them in bulk — that's
exfiltration, refuse
## Tools
### `status`
No arguments. Returns `{ok, bin, token_present, reveal_allowed, limits}`.
Use to verify the extension is wired before attempting other calls.
### `whoami`
No arguments. Runs `op whoami --format json` to validate the
service-account token.
### `list_vaults`
No arguments. Returns `{vaults: [{id, name}, ...]}` — only metadata.
### `list_items`
- `vault` (string, required) — vault name or id
Returns `{items: [{id, title, category, vault, tags, updated_at}, ...]}`.
Field values are **always** stripped from list results, even if the
upstream `op item list` included them.
### `read_secret`
- `reference` (string, required) — strict `op://Vault/Item/field` format;
wildcards and query strings are rejected
Returns by default (`OP_ALLOW_REVEAL` unset/false):
```
{
ok: true,
reference: "op://Prod/Stripe/api_key",
vault: "Prod", item: "Stripe", field: "api_key",
length: 26,
fingerprint_sha256_prefix: "3f9a7c2e1b48d5a0",
reveal: false,
reveal_hint: "set OP_ALLOW_REVEAL=true to include the secret value"
}
```
With `OP_ALLOW_REVEAL=true|1|yes` the response additionally contains
`{value: "...", reveal: true}`. The value flows through the LLM
context → transcripts → memory → NATS — assume it is no longer secret
from the moment reveal is on.
### `inject_template`
Use this when the agent needs to **act on** a secret without revealing
it. The tool resolves `{{ op://Vault/Item/field }}` placeholders in a
template via `op inject` and either returns the rendered template
(reveal-gated) or pipes it as stdin to an allowlisted command.
- `template` (string, required) — body containing `{{ op://… }}` placeholders
- `command` (string, optional) — executable to run with the rendered
template piped as stdin. Must appear in `OP_INJECT_COMMAND_ALLOWLIST`
(comma-separated env var). When set, the rendered template is **never**
returned to the LLM; only `exit_code` and (redacted) `stdout`/`stderr`
- `args` (array of strings, optional) — passed to `command`
- `dry_run` (bool, optional) — validate references without resolving values
- `max_stdout_bytes` (int, optional) — cap on returned stdout (default 4096, max 16384)
Modes:
| Mode | OP_ALLOW_REVEAL | Returned |
|------|-----------------|----------|
| template-only | false | `length`, `fingerprint`, no value |
| template-only | true | `rendered` (full text) |
| exec, allowed | any | `exit_code`, redacted `stdout` (capped), redacted `stderr` |
| exec, not allowed | any | error `command not in OP_INJECT_COMMAND_ALLOWLIST` |
| `dry_run: true` | any | `references_validated` list |
Example (exec, allowlist `curl,psql`):
```json
{
"action": "inject_template",
"template": "Authorization: Bearer {{ op://Prod/API/token }}\n",
"command": "curl",
"args": ["-H", "@-", "https://api.example.com/v1/me"]
}
```
The agent never sees the bearer token. Stdout from `curl` is captured,
truncated at 4 KB by default, and run through a redactor before being
returned (Bearer JWT, sk-…, AKIA…, hex tokens).
## Audit log
Every `read_secret` and `inject_template` call appends one JSONL line
to `OP_AUDIT_LOG_PATH` (default `./data/secrets-audit.jsonl`). Fields:
`ts`, `action`, `agent_id`, `session_id`, `op_reference` (or
`references`), `fingerprint_sha256_prefix`, `reveal_allowed`, `ok`,
plus per-action extras (`exit_code`, `stdout_total_bytes`, etc).
**Never** the actual secret value. Failures appending the log are
logged to stderr and do not block the tool — the secret was already
read; blocking would be worst-of-both-worlds.
`AGENT_ID` and `AGENT_SESSION_ID` are populated from env vars the
host injects when spawning the extension.
## Execution guidanceFrom lordmacu/nexo-rs, Apache-2.0.
More from lordmacu/nexo-rs
- 0.525score
Google OAuth
lordmacu
Authenticate against the user's own Google account (Gmail, Drive, Calendar, Sheets, etc.) via the installed-application OAuth 2.0 flow and make authenticated…
SkillCFreshness: C★ 8Claude Code +9 - 0.522score
Google
lordmacu
Gmail, Calendar, Tasks, Drive, Contacts (People), and Photos via Google APIs with OAuth refresh tokens.
SkillCFreshness: C★ 8Claude Code +9 - 0.522score
OpenStreetMap
lordmacu
Forward and reverse geocoding via Nominatim (no API key, ~1 req/sec).
SkillCFreshness: C★ 8Claude Code +9 - 0.522score
DNS Tools
lordmacu
Resolve DNS records (A, AAAA, MX, TXT, CNAME, NS, SOA, SRV, CAA), PTR reverse, and WHOIS.
SkillCFreshness: C★ 8Claude Code +9 - 0.522score
Fetch URL
lordmacu
HTTP GET/POST utility with size cap, SSRF guard, retries, and circuit breaker.
SkillCFreshness: C★ 8Claude Code +9 - 0.522score
Browser
lordmacu
Drive a managed Chrome session via CDP.
SkillCFreshness: C★ 8Claude Code +9 - 0.522score
Cloudflare
lordmacu
Manage Cloudflare zones, DNS records, and cache via API token.
SkillCFreshness: C★ 8Claude Code +9 - 0.522score
Microsoft Edge TTS
lordmacu
Synthesize text to speech using Microsoft Edge Read Aloud voices (no API key).
SkillCFreshness: C★ 8Claude Code +9 - 0.522score
OpenAI Whisper
lordmacu
Transcribe audio files (≤25 MB) to text via OpenAI-compatible Whisper API.
SkillCFreshness: C★ 8Claude Code +9 - 0.522score
PDF Extract
lordmacu
Extract plain UTF-8 text from local PDF files; pipeline input for summarize.
SkillCFreshness: C★ 8Claude Code +9 - 0.522score
Remember
lordmacu
Memory hygiene workflow to classify, deduplicate, and promote durable knowledge across local memory layers.
SkillCFreshness: C★ 8Claude Code +9 - 0.522score
Endpoint Check
lordmacu
HTTP probe (status + latency) and TLS certificate inspection (expiry, issuer, SANs).
SkillCFreshness: C★ 8Claude Code +9
Signals
- Stars
- 8
- Forks
- 4
- Open issues
- 0
- Last commit (this folder)
- Apr 25, 2026 (6 months ago)
- Last release
- May 11, 2026 (5 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- Apache-2.0
- Repository
- github.com/lordmacu/nexo-rs
- Website
- lordmacu.github.io/nexo-rs/
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from lordmacu
- 0.525score
Google OAuth
lordmacu
Authenticate against the user's own Google account (Gmail, Drive, Calendar, Sheets, etc.) via the installed-application OAuth 2.0 flow and make authenticated…
SkillCFreshness: C★ 8Claude Code +9 - 0.522score
Cloudflare
lordmacu
Manage Cloudflare zones, DNS records, and cache via API token.
SkillCFreshness: C★ 8Claude Code +9 - 0.522score
DNS Tools
lordmacu
Resolve DNS records (A, AAAA, MX, TXT, CNAME, NS, SOA, SRV, CAA), PTR reverse, and WHOIS.
SkillCFreshness: C★ 8Claude Code +9 - 0.522score
Fetch URL
lordmacu
HTTP GET/POST utility with size cap, SSRF guard, retries, and circuit breaker.
SkillCFreshness: C★ 8Claude Code +9 - 0.522score
OpenStreetMap
lordmacu
Forward and reverse geocoding via Nominatim (no API key, ~1 req/sec).
SkillCFreshness: C★ 8Claude Code +9 - 0.522score
Google
lordmacu
Gmail, Calendar, Tasks, Drive, Contacts (People), and Photos via Google APIs with OAuth refresh tokens.
SkillCFreshness: C★ 8Claude Code +9
Cite this page
1Password skill. Agent Mart. https://agentmart.dev/skills/lordmacu-1password (last updated 2026-10-24)