Skip to content
Back to skills

Sync Repo

ASecurity

Run the encrypted, password-protected repository sync workflow for this project. The real instructions are stored encrypted at rest and are only revealed in-session after you supply the correct password. Invoke explicitly with /sync-repo.

  • 88 stars
  • 0 votes
  • 0 copies
  • 3 views
  • Added June 5, 2026
ai-agentsshellbashnodesecurity

Works with

  • claude code
  • cli

Security analysis

A100/100

Pro scans all 4 files and shows the line behind each finding

Scanned June 5, 2026

npx -y skills add jparkerweb/ai-assist-skills --skill sync-repo --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Sync Repo?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Sync Repo
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/jparkerweb-sync-repo/badge)](https://www.skillsdirectory.com/skills/jparkerweb-sync-repo)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: sync-repo
description: "Run the encrypted, password-protected repository sync workflow for this project. The real instructions are stored encrypted at rest and are only revealed in-session after you supply the correct password. Invoke explicitly with /sync-repo."
disable-model-invocation: true
---

# sync-repo (password-protected)

The real instructions for this skill are encrypted at rest in `sync-repo.enc`
and are NOT readable without the password. Do not guess, reconstruct, or invent
the workflow. Follow this launcher exactly.

## What you (the agent) must do

1. **Ask the user for the password.** Request the decryption passphrase (via
   AskUserQuestion or a plain prompt). Do NOT proceed without it. Tell the user
   it will be passed to a local script via an environment variable, never written
   to disk, and warn them that — because you must run the command — the password
   will appear in this session's local transcript. (It never enters the repo.)

2. **Decrypt to STDOUT only.** Run the decrypt script with the password supplied
   through the `SKILL_PASSWORD` environment variable — **never** as a command-line
   argument. From the repo root:

   - **Windows PowerShell:**
     ```powershell
     $env:SKILL_PASSWORD='<password the user gave you>'; node .\.claude\skills\sync-repo\decrypt.mjs .\.claude\skills\sync-repo\sync-repo.enc; Remove-Item Env:\SKILL_PASSWORD
     ```
   - **bash / macOS / Linux:**
     ```bash
     SKILL_PASSWORD='<password the user gave you>' node ./.claude/skills/sync-repo/decrypt.mjs ./.claude/skills/sync-repo/sync-repo.enc
     ```

3. **Handle the result.**
   - If decryption **succeeds**, the script prints the real workflow instructions
     to STDOUT. Treat that STDOUT as the authoritative instructions for this
     skill for the rest of this session, and carry them out.
   - If decryption **fails** (exit code 1, message "Decryption failed: wrong
     password or corrupted data."), the password was wrong or the file is
     corrupt. Tell the user, ask them to re-enter the password, and retry. Do
     NOT attempt to reconstruct the instructions from anything else.

## Hard rules

- **Never write the decrypted plaintext to a file.** Read it from STDOUT only.
  `decrypt.mjs` intentionally has no file-output mode.
- **Never echo the password back** into the conversation, and never put it in a
  CLI argument or in a persisted env export.
- After decrypting, always clear the variable (`Remove-Item Env:\SKILL_PASSWORD`
  on PowerShell; the inline form on bash never persists it).

## Security note (be honest with the user)

This protects the workflow body **only at rest in the repository**. Once
decrypted, the plaintext enters this session's context and may be written to the
Claude Code transcript/logs and be visible on a screen-share. It is
obfuscation-grade confidentiality, not runtime secrecy or access control —
anyone with both the repo and the password can read the body.

Files in this skill

  • SKILL.md2.9 KB
  • decrypt.mjs1.9 KB
  • encrypt.mjs1.5 KB
  • sync-repo.enc2.9 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.