Skip to main content
skill CX Codex

data-encryption — Claude Code skill: what it does, how to install

Sets up data encryption at rest and in transit using AES-256-GCM, RSA, and TLS configurations for Node.js, Python, and PostgreSQL.

Install into Claude Code · Skills CLI (Vercel) All methods and platforms ↓
npx skills add aj-geddes/useful-ai-prompts --skill data-encryption -a claude-code
Open on GitHub

What data-encryption does

This skill provides implementation patterns for protecting sensitive records, passwords, and network traffic. It includes reference setups for Node.js using standard crypto, a Python cryptography implementation, PostgreSQL column-level security, and TLS/SSL configurations.

The patterns focus on authenticated encryption using AES-256-GCM alongside PBKDF2 or Argon2 for key derivation. Asymmetric tasks rely on RSA-4096 or ECC, enforcing TLS 1.2+ for transit security.

Hardcoding encryption keys directly in application source code is prohibited by the guidelines. Keys must live in a dedicated KMS or HSM, otherwise proper key rotation fails.

What it helps with

  • implement AES-256-GCM encryption for application data in Node.js or Python
  • configure database encryption in PostgreSQL to satisfy GDPR and HIPAA requirements
  • set up password hashing with salt using PBKDF2 or Argon2
  • enforce TLS 1.2+ configuration for secure communications

Example prompts for the agent

  • Write an encryption service in Node.js using AES-256-GCM and PBKDF2 key derivation
  • How should I structure PostgreSQL database encryption for PCI-DSS compliance?
  • Configure TLS/SSL settings that avoid weak ciphers and enforce authenticated encryption

How to install data-encryption

1Skills CLI (Vercel)

npx skills add aj-geddes/useful-ai-prompts --skill data-encryption -a claude-code

2Manually: put the files in place

~/.claude/skills/data-encryption/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/data-encryption/

Step by step, with commands for each platform: How to install skills in Claude Code: five ways

Questions about data-encryption

How to install data-encryption in Claude Code?

Run npx skills add aj-geddes/useful-ai-prompts --skill data-encryption -a claude-code. The skill file will be placed in ~/.claude/skills/data-encryption/SKILL.md.

What does the data-encryption skill do?

It guides the assistant through production-ready cryptographic implementations across Node.js, Python, and PostgreSQL. It enforces standards like AES-256-GCM and blocks dangerous practices such as ECB mode or IV reuse.

Which key derivation functions does the skill recommend?

It specifies PBKDF2 or Argon2 paired with cryptographically secure random salts. Storing passwords with unsalted hashes, MD5, or SHA1 is disallowed.

Source text

SKILL.md · MIT
---
name: data-encryption
description: >
  Implement strong encryption using AES, RSA, TLS, and proper key management.
  Use when securing data at rest, in transit, or implementing end-to-end
  encryption.
---

# Data Encryption

## Table of Contents

- [Overview](#overview)
- [When to Use](#when-to-use)
- [Quick Start](#quick-start)
- [Reference Guides](#reference-guides)
- [Best Practices](#best-practices)

## Overview

Implement robust encryption strategies for protecting sensitive data at rest and in transit using industry-standard cryptographic algorithms and key management practices.

## When to Use

- Sensitive data storage
- Database encryption
- File encryption
- Communication security
- Compliance requirements (GDPR, HIPAA, PCI-DSS)
- Password storage
- End-to-end encryption

## Quick Start

Minimal working example:

```javascript
// encryption-service.js
const crypto = require("crypto");
const fs = require("fs").promises;

class EncryptionService {
  constructor() {
    // AES-256-GCM for symmetric encryption
    this.algorithm = "aes-256-gcm";
    this.keyLength = 32; // 256 bits
    this.ivLength = 16; // 128 bits
    this.saltLength = 64;
    this.tagLength = 16;
  }

  /**
   * Generate a cryptographically secure random key
   */
  generateKey() {
    return crypto.randomBytes(this.keyLength);
  }

  /**
   * Derive a key from a password using PBKDF2
   */
  async deriveKey(password, salt = null) {
// ... (see reference guides for full implementation)
```

## Reference Guides

Detailed implementations in the `references/` directory:

| Guide | Contents |
|---|---|
| [Node.js Encryption Library](references/nodejs-encryption-library.md) | Node.js Encryption Library |
| [Python Cryptography Implementation](references/python-cryptography-implementation.md) | Python Cryptography Implementation |
| [Database Encryption (PostgreSQL)](references/database-encryption-postgresql.md) | Database Encryption (PostgreSQL) |
| [TLS/SSL Configuration](references/tlsssl-configuration.md) | TLS/SSL Configuration |

## Best Practices

### ✅ DO

- Use AES-256-GCM for symmetric encryption
- Use RSA-4096 or ECC for asymmetric encryption
- Implement proper key rotation
- Use secure key storage (HSM, KMS)
- Salt and hash passwords
- Use TLS 1.2+ for transit encryption
- Implement key derivation (PBKDF2, Argon2)
- Use authenticated encryption

### ❌ DON'T

- Roll your own crypto
- Store keys in code
- Use ECB mode
- Use MD5 or SHA1
- Reuse IVs/nonces
- Use weak key lengths
- Skip authentication tags

© aj-geddes · MIT · aj-geddes/useful-ai-prompts

Similar skills

Everything for Security →

From the same set118

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor