agentleFS
EtanHeyEtanHey/golems/skills/golem-powers/1password/SKILL.md

1password

Skill0 starsChanged 16 days agoApache-2.0View on GitHub

1Password admin with Etan present (add/rotate/migrate; op = Touch ID). To use a key, load ~/.config/golems/*.env.

  • Reads credentials

43 other projects use a version of this.

Adopted by

Most recently taken up by

Used with

Projects with it also use openclaw-performance, plugin-sdk-impact and 10 more.

Other files people use alongside this one.

Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
  • clawdbotSkill

    openclaw-performance

    Performance work in OpenClaw: a slow or heavy flow (latency, CPU, memory, SQL, RPC, renders), writing or reviewing a perf PR, or adding a cache. Count the work, delete waste first, cache last.

    Also in 7 projects that use this

  • clawdbotSkill

    plugin-sdk-impact

    Count Plugin SDK consumers across live ClawHub releases and bundled OpenClaw plugins before deprecation, removal, or behavior changes; supports public release-date filters.

    Also in 7 projects that use this

  • hkyutongSkill

    node-connect

    Diagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps. Use when QR/setup code/manual connect fails, local Wi-Fi works but VPS/tailnet does not, or errors mention pairing required, unauthorized, bootstrap token invalid or expired, gateway.bind, gateway.remote.url, Tailscale, or plugins.entries.device-pair.config.publicUrl.

    Also in 18 projects that use this

  • molt-botSkill

    discord-e2e

    Test Discord with Convex-leased QA bots: check credentials without a Gateway, exercise owned messages, or prove OpenClaw replies, files, threads, reactions, streaming, and typing. Distinguish API and Gateway evidence from manual user interactions.

    Also in 10 projects that use this

  • molt-botSkill

    openclaw-repair-sweep

    Run scoped OpenClaw issue/PR repair campaigns: coordinate workers, prove root causes, and land or close verified work under the requested authority.

    Also in 10 projects that use this

  • AtomicBot-aiSkill

    taskflow-inbox-triage

    Also in 6 projects that use this

  • +2 more from molt-bot

The file

We split this skill into the rules it gives an agent

12 rules. 0 are common, 7 are distinctive, and 5 are very specific to this project.

  • 0

    Common

    Most of the 43 edited versions we read keep these.

  • 7

    Distinctive

    This author's own choices. Worth a look.

  • 5

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    Every op call asks Etan for his fingerprint (1Password Touch ID).

    line 12
  2. Distinctive:

    Never print or echo the value.

    line 18
  3. Very specific:

    Only for a deliberate admin task with Etan present (it is itself an op call).

    line 26
  4. Distinctive:

    If "not signed in" or error: See workflows/troubleshoot.md

    line 31
  5. Very specific:

    Use op run or op inject (workflows/migrate-env.md) when:

    line 170
  6. Distinctive:

    Search by name, tag, or vault

    line 209
  7. Distinctive:

    Create new item with password/API key

    line 213
  8. Distinctive:

    When migrating secrets, keys are auto-categorized:

    line 232
  9. Distinctive:

    Use tags for cross-vault searching and organization:

    line 287
  10. Distinctive:

    Never log secret values: - Only show masked versions

    line 323
  11. Very specific:

    Dry-run first: - Use --dry-run before actual migration

    line 324
  12. Very specific:

    Verify vault access: - Run op vault list before operations

    line 326

“Common” is measured: kept by at least 6 in 10 of the 43 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

1Password Operations

Secret management skill using 1Password CLI (op). Routes to workflows for specific operations.

Never call op for routine secrets

Every op call asks Etan for his fingerprint (1Password Touch ID). Agents calling op for routine work, plus agents ssh-ing through the 1Password SSH agent, made him approve prompts all day (measured 2026-11-01). So:

  • Using a key (live tests, API calls, CLIs): load the per-tool file under ~/.config/golems/ for that one command, in a subshell: ( set -a; . ~/.config/golems/<tool>.env; set +a; <cmd> ). Never print or echo the value.
  • op only for a deliberate, one-time step Etan is there to approve: adding, rotating or migrating a secret, or regenerating a launcher cache (repogolem generate). Say beforehand that a Touch ID prompt is coming. Never in loops, hooks, schedules, health checks or as a fallback.
  • If a needed .env file is missing, stop and ask the lead; don't reach for op.

Prerequisites Check

Only for a deliberate admin task with Etan present (it is itself an op call). Run first:

op account list

If "not signed in" or error: See workflows/troubleshoot.md


🌟 PREFERRED: 1Password Environments (Beta)

For .env file management, use 1Password Environments instead of manual CLI migration.

Official Docs → | Full Workflow →

Key Insight: UI Creation, CLI Access

Environments are created in the 1Password desktop app UI - not via CLI. However, once created, CLI tools can still interact with secrets via op run and op inject.

┌─────────────────────────────────────────────────────────────┐
│                    ENVIRONMENTS WORKFLOW                     │
├─────────────────────────────────────────────────────────────┤
│                                                              │
│  CREATION (UI Only)           ACCESS (Multiple Options)     │
│  ─────────────────            ─────────────────────────     │
│  1Password Desktop App   ──►  • Mounted .env (named pipe)   │
│  • Developer > Environments   • op run (env vars)           │
│  • NOT automatable            • op inject (config files)    │
│                                                              │
└─────────────────────────────────────────────────────────────┘

Why Environments?

  • Secrets never on disk - Named pipe mount, not plaintext file
  • Real-time sync - Changes in 1Password instantly available
  • Team sharing - Grant access with granular permissions
  • Multi-device - Same environment works across all your machines

Setup Flow (One-Time in Desktop App)

  1. Enable Developer features → Settings > Developer > Enable Developer Experience
  2. Create Environment → Developer > Environments > New Environment
  3. Import your .env → Click Import or manually add variables
  4. Set Mount Destination → Destinations tab > Local .env file > Choose path
  5. Authorize → Confirm when prompted

Environments vs CLI: When to Use Each

ScenarioUse EnvironmentsUse CLI (op run/op inject)
Local development✅ Best choiceWorks but more setup
CI/CD pipelines❌ Can't automate creation✅ Service accounts
Team secrets✅ Built-in sharingManual sync needed
One-time scriptsOverkill✅ Quick and easy
Template configsN/A✅ op inject with .tpl

Mounted .env vs op inject

Mounted .env (Environments):

# App reads .env.local directly (named pipe, no real file)
npm run dev
# Variables available automatically via dotenv

op inject (CLI):

# Template file with secret references (.env.template)
DATABASE_URL=op://prod/db/url
API_KEY=op://prod/api/key

# Inject at runtime
op inject -i .env.template -o .env && npm run build
# Remember to delete .env after!

op run (CLI; Etan's own interactive runs only, since each call is a Touch ID prompt; agents load ~/.config/golems/*.env):

# Pass secrets as environment variables
op run --env-file .env.template -- npm run build
# No temp file created, secrets in process env only

Working Example: songscript

The songscript project uses Environments with 9 variables mounted to .env.local:

  • Environment contains: CONVEX_DEPLOY_KEY, ANTHROPIC_API_KEY, etc.
  • Destination: .env.local (named pipe, not actual file)
  • Works seamlessly with bun dev, npm run dev, etc.

Centralized MCP Secrets (Recommended for Agents)

Problem: Each MCP with op:// refs triggers separate auth prompts.

Solution: Centralize all secrets in one file. For agents, that file is a resolved ~/.config/golems/*.env, loaded per command (see the rule at the top). An op run launcher prompts for Touch ID on every launch, so it is only for a session Etan starts himself.

~/.config/mcp-secrets/
├── secrets.env          # All op:// refs (one auth loads all)
└── secrets.env.example  # Template (safe to share)

Wrapper scripts (Etan's own interactive sessions only; never for agent launches):

cursor-secure   # op run --env-file secrets.env -- cursor
claude-secure   # op run --env-file secrets.env -- claude
with-secrets    # op run --env-file secrets.env -- <any command>

MCP configs use empty env:

{ "env": {} }  // Inherits from parent process

Example: Golems Configuration

The golems ecosystem uses Environments for sensitive settings:

  1. Create Environment in 1Password: golems
  2. Add variables: NTFY_TOPIC, ANTHROPIC_API_KEY, LINEAR_API_KEY
  3. Mount to: ~/.config/golems/.env
  4. Usage: Scripts source the mounted file, per command, in a subshell
( set -a; . ~/.config/golems/.env; set +a; bun run start )

Important Limitations (Beta)

LimitationDetails
UI-only creationCannot create/edit environments via CLI
Platform supportMac and Linux only (no Windows)
Max mounts10 enabled .env files per device
Concurrent readsMay have conflicts with multiple processes
Edits in UI onlyChanges to mounted file are lost - edit in 1Password UI
Beta statusFeature may change

When to Use CLI Instead

Use op run or op inject (workflows/migrate-env.md) when:

  • CI/CD pipelines - Need Service Accounts for automated access
  • Scripted operations - Creating items programmatically
  • Template configs - .yml.tpl or .json.tpl files with secret refs
  • Windows - Environments not available on Windows

Quick Actions

What you want to doWorkflow
Use 1Password Environmentsworkflows/use-environment.md
List secrets in vaultworkflows/list-secrets.md
Add a new secretworkflows/add-secret.md
Migrate .env to 1Passwordworkflows/migrate-env.md
Migrate MCP config secretsworkflows/migrate-mcp.md
Fix auth/biometric issuesworkflows/troubleshoot.md

Available Scripts

Execute directly - they handle errors and edge cases:

ScriptPurposeUsage
scripts/migrate-env.shMigrate .env with project/service nestingbash ~/.claude/skills/1password/scripts/migrate-env.sh .env [--dry-run]
scripts/scan-mcp-secrets.shFind API keys in MCP configsbash ~/.claude/skills/1password/scripts/scan-mcp-secrets.sh

Decision Tree

Setting up secrets for a project?

  • PREFERRED: Use Environments (desktop app UI)
  • Use: workflows/use-environment.md

Need to find a secret?

  • Search by name, tag, or vault
  • Use: workflows/list-secrets.md

Adding credentials for a service?

  • Create new item with password/API key
  • Use: workflows/add-secret.md

Have a .env file to secure?

  • For local dev: Use Environments (UI-based)
  • For CI/CD: Use workflows/migrate-env.md or scripts/migrate-env.sh

MCP configs have hardcoded keys?

  • Scan and migrate to 1Password references
  • Use: workflows/migrate-mcp.md

Biometric timeout or auth problems?

  • Token refresh, re-auth, session issues
  • Use: workflows/troubleshoot.md

Service Auto-Detection

When migrating secrets, keys are auto-categorized:

Key prefixService folder
ANTHROPIC_*anthropic/
OPENAI_*openai/
SUPABASE_*supabase/
DATABASE_*, DB_*db/
STRIPE_*stripe/
AWS_*aws/
GITHUB_*github/
Othermisc/

Item path format: {project}/{service}/{key}


Vault Organization

Vault Types

VaultPurposeExample Items
developmentGlobal dev toolsgithub CLI tokens
PrivatePersonal secretsSSH keys, personal accounts
{project}Project-specificlinear API key, deploy keys
SharedTeam secretsShared service accounts

Creating Vaults

# Create project vault
op vault create "myproject" --description "MyProject secrets" --icon buildings

# Create tools vault
op vault create "development" --description "Global dev tools" --icon gears

Where to Put Secrets

Global dev tools → development vault:

  • Shared MCP tools, IDE plugins
  • Used across all projects

Project-specific → {project} vault:

  • Linear API keys (per workspace)
  • Deploy keys, CI/CD tokens
  • Database credentials

Personal → Private vault:

  • SSH keys, personal tokens
  • Accounts only you use

Tagging Strategy

Use tags for cross-vault searching and organization:

# Add tags when creating
op item create --vault development --category "API Credential" \
  --title "example-mcp" 'API_KEY[password]=xxx' \
  --tags "dev-tools,mcp,documentation"

# Search by tag across all vaults
op item list --tags "mcp"
op item list --tags "dev-tools"

Recommended tags:

TagUse for
dev-toolsDevelopment utilities
mcpMCP server credentials
ci-cdCI/CD pipeline secrets
api-keyThird-party API keys
deployDeployment credentials
{project}Project name for filtering

Reference Format

# Vault/Item/Field
op://development/example-mcp/API_KEY
op://myproject/linear/API_KEY
op://Private/github/token

Safety Rules

  1. Never log secret values - Only show masked versions
  2. Dry-run first - Use --dry-run before actual migration
  3. Don't delete .env files - Migration creates .env.template alongside
  4. Verify vault access - Run op vault list before operations
  5. Backup before bulk changes - Export vault if doing large migrations

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.