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.