jeremylongshore/claude-code-plugins-plus-skills
gamma-pack
plugins/saas-packs/gamma-pack/skills/gamma-data-handling/SKILL.md
January 22, 2026
Select agents to install to:
npx add-skill https://github.com/jeremylongshore/claude-code-plugins-plus-skills/blob/main/plugins/saas-packs/gamma-pack/skills/gamma-data-handling/SKILL.md -a claude-code --skill gamma-data-handlingInstallation paths:
.claude/skills/gamma-data-handling/# Gamma Data Handling
## Overview
Implement proper data handling, privacy controls, and compliance for Gamma integrations.
## Prerequisites
- Understanding of data privacy regulations (GDPR, CCPA)
- Data classification policies
- Legal/compliance team consultation
## Data Classification
### Gamma Data Types
| Type | Classification | Retention | Handling |
|------|----------------|-----------|----------|
| Presentation content | User data | User-controlled | Encrypted at rest |
| AI-generated text | Derived data | With source | Standard |
| User prompts | PII potential | 30 days | Anonymize logs |
| Export files | User data | 24 hours cache | Auto-delete |
| Analytics | Operational | 90 days | Aggregate only |
## Instructions
### Step 1: Data Consent Management
```typescript
// models/consent.ts
interface UserConsent {
userId: string;
gammaDataProcessing: boolean;
aiAnalysis: boolean;
analytics: boolean;
consentDate: Date;
consentVersion: string;
}
async function checkConsent(userId: string, purpose: string): Promise<boolean> {
const consent = await db.consents.findUnique({
where: { userId },
});
if (!consent) {
throw new ConsentRequiredError('User consent not obtained');
}
switch (purpose) {
case 'presentation_creation':
return consent.gammaDataProcessing;
case 'ai_generation':
return consent.gammaDataProcessing && consent.aiAnalysis;
case 'analytics':
return consent.analytics;
default:
return false;
}
}
// Usage before Gamma operations
async function createPresentation(userId: string, data: object) {
if (!await checkConsent(userId, 'presentation_creation')) {
throw new Error('Consent required for presentation creation');
}
return gamma.presentations.create(data);
}
```
### Step 2: PII Handling
```typescript
// lib/pii-handler.ts
interface PIIField {
field: string;
type: 'email' | 'name' | 'phone' | 'address' | 'custom';
action: 'mask' | 'hash' | 'encrypt' | 'remove';