secrets-sync

Synchronize secrets between a central vault and project .env files.

Updated Nov 22, 2025
One-click install
npx skills add https://github.com/Khamel83/oneshot --skill secrets-sync
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: secrets-sync
Source: https://github.com/Khamel83/oneshot/tree/main/archive/v9/skills/secrets-sync
Command: npx skills add https://github.com/Khamel83/oneshot --skill secrets-sync

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Centralized secret management across multiple projects by enabling two-way synchronization between a master vault and per-project environments, ensuring consistency and auditability.

Core Features & Use Cases

  • Two-way push/pull secret synchronization across projects
  • Namespacing to avoid key collisions and clear provenance with labels
  • SOPS-based encryption and age-backed key management
  • Diff/compare workflows to surface changes before applying
  • Use Case: onboarding a new project that must mirror central secrets while preserving project-specific keys

Quick Start

Run a secrets-sync operation to align your project with the central vault.

Frequently Asked Questions about secrets-sync

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I sync secrets between a central vault and multiple project environments?▼

Secrets synchronization handles two-way push and pull workflows between a central vault and project environments, using diff-based reconciliation to ensure consistency across multiple projects.

How does diff-based reconciliation work for SOPS encrypted secrets?▼

Diff-based reconciliation for SOPS encrypted secrets surfaces changes before applying them, allowing you to compare the central vault state with per-project .env files to prevent unintended overwrites.

Do I need SOPS and Age to manage encryption for local .env files?▼

Yes, SOPS for encryption and Age for key management are required to securely handle secret synchronization between the central vault and your project-level .env files.

What is the best way to avoid key collisions when sharing secrets across projects?▼

Using per-project namespace handling is the best way to avoid key collisions when sharing secrets across projects, ensuring clear provenance and preventing overlapping keys.

Can I preserve project-specific keys while pulling from a central vault?▼

Yes, you can preserve project-specific keys while pulling from a central vault by mapping secrets through in-project .env files and using namespace handling to isolate project-specific configurations.

Why does secrets synchronization require a specific central vault directory?▼

Secrets synchronization requires the central vault at ~/github/oneshot/secrets/ to establish a single source of truth for SOPS encryption and diff-based reconciliation across all connected projects.