技能创建器
skill-creator
创建、改进和评估自定义技能,把专业流程转化为可重复使用的 AI 能力。
clade-data-handling【数据与研究】Handle sensitive data with Claude — PII redaction, conversation management, Use when working with data-handling patterns. context window optimization, and data retention policies. Trigger with "anthropic data privacy", "claude pii", "anthropic context window", "manage claude conversations", "anthropic data retention".
独立 GitHub 快照 · 自动分类 · 以原作者文档为准
name: clade-data-handling
description: "Handle sensitive data with Claude \u2014 PII redaction, conversation
\ management,\nUse when working with data-handling patterns.\ncontext window optimization,
\ and data retention policies.\nTrigger with "anthropic data privacy", "claude
\ pii", "anthropic context window",\n"manage claude conversations", "anthropic
\ data retention".\n"
allowed-tools: Read, Write, Edit
version: 1.1.0
license: MIT
author: Jeremy Longshore jeremy@intentsolutions.io
tags:
Handle data responsibly when building with Claude — manage the 200K token context window efficiently, implement conversation trimming strategies, redact PII before sending to the API, and configure data retention settings.
Claude models have a 200K token context window. Managing it efficiently is critical.
// Count tokens before sending
const count = await client.messages.countTokens({
model: 'claude-sonnet-4-20250514',
messages,
system: systemPrompt,
});
// Budget: 200K total - max_tokens (output) = available input
const MAX_CONTEXT = 200_000;
const MAX_OUTPUT = 4096;
const inputBudget = MAX_CONTEXT - MAX_OUTPUT;
if (count.input_tokens > inputBudget) {
// Trim oldest messages, keep system prompt + recent context
messages = trimToFit(messages, inputBudget);
}
function trimConversation(messages: MessageParam[], maxTokens: number): MessageParam[] {
// Always keep the first message (often contains key context)
// Keep the most recent messages
// Drop middle turns first
if (messages.length <= 4) return messages;
const first = messages[0];
const recent = messages.slice(-6); // Last 3 turns
return [first, ...recent];
}
// Strip PII before sending to Claude (if not needed for the task)
function redactPII(text: string): string {
return text
.replace(/\b[\w._%+-]+@[\w.-]+\.\w{2,}\b/g, '[EMAIL]')
.replace(/\b\d{3}[-.]?\d{3}[-.]?\d{4}\b/g, '[PHONE]')
.replace(/\b\d{3}-\d{2}-\d{4}\b/g, '[SSN]')
.replace(/\b\d{4}[\s-]?\d{4}[\s-]?\d{4}[\s-]?\d{4}\b/g, '[CARD]');
}
| Error | Cause | Solution |
|---|---|---|
| API Error | Check error type and status code | See clade-common-errors |
See Context Window Management (token counting + budget), Conversation Trimming function, and PII Handling regex patterns above.
See clade-enterprise-rbac for organization and access management.
clade-install-auth