[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6F85DFKFWTF0DY25DA4ZQ92":3,"skill-same:01M6F85DFKFWTF0DY25DA4ZQ92":81},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":23,"publishedAt":44,"linkOnly":45,"markdownContent":46,"markdownBody":47,"frontMatter":48,"refName":58,"commitSha":59,"skillDirectory":60,"forksCount":61,"repositoryHtmlUrl":62,"repositoryHomepageUrl":63,"ownerHtmlUrl":64,"ownerBlogUrl":6,"ownerDescription":65,"updatedAt":66,"install":67,"resources":80},"01M6F85DFKFWTF0DY25DA4ZQ92","clade-data-handling",null,"Handle sensitive data with Claude — 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\".","ComeOnOliver\u002Fskillshub","ComeOnOliver","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F43215937?v=4","01M6E5JNFECJAAVFE0W7SMWWD2","Haoran Shu","01M6E5JNNDQS7AJZDYFQ8TPZCK",67,"MIT","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fjeremylongshore\u002Fclaude-code-plugins-plus-skills\u002Fclade-data-handling\u002FSKILL.md",[18],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000033","数据分析师","PROFESSION","适用职业",[24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43],"clade data handling","data","use","with","PII Redaction","retention","trigger","io","conversation","manage","redaction","code","edit","write","read","pii","saas","privacy","data privacy","Optimization","2026-11-10 10:12:30",false,"---\nname: clade-data-handling\ndescription: |\n  Handle sensitive data with Claude — PII redaction, conversation management,\n  Use when working with data-handling patterns.\n  context window optimization, and data retention policies.\n  Trigger with \"anthropic data privacy\", \"claude pii\", \"anthropic context window\",\n  \"manage claude conversations\", \"anthropic data retention\".\nallowed-tools: Read, Write, Edit\nversion: 1.0.0\nlicense: MIT\nauthor: Jeremy Longshore \u003Cjeremy@intentsolutions.io>\ncompatible-with: claude-code\ntags: [saas, anthropic, claude, data, privacy, context]\n---\n\n# Anthropic Data Handling\n\n## Overview\nHandle 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.\n\n\n## Context Window Management\nClaude models have a 200K token context window. Managing it efficiently is critical.\n\n```typescript\n\u002F\u002F Count tokens before sending\nconst count = await client.messages.countTokens({\n  model: 'claude-sonnet-4-20250514',\n  messages,\n  system: systemPrompt,\n});\n\n\u002F\u002F Budget: 200K total - max_tokens (output) = available input\nconst MAX_CONTEXT = 200_000;\nconst MAX_OUTPUT = 4096;\nconst inputBudget = MAX_CONTEXT - MAX_OUTPUT;\n\nif (count.input_tokens > inputBudget) {\n  \u002F\u002F Trim oldest messages, keep system prompt + recent context\n  messages = trimToFit(messages, inputBudget);\n}\n```\n\n## Instructions\n\n### Step 1: Conversation Trimming\n```typescript\nfunction trimConversation(messages: MessageParam[], maxTokens: number): MessageParam[] {\n  \u002F\u002F Always keep the first message (often contains key context)\n  \u002F\u002F Keep the most recent messages\n  \u002F\u002F Drop middle turns first\n  if (messages.length \u003C= 4) return messages;\n\n  const first = messages[0];\n  const recent = messages.slice(-6); \u002F\u002F Last 3 turns\n  return [first, ...recent];\n}\n```\n\n## PII Handling\n```typescript\n\u002F\u002F Strip PII before sending to Claude (if not needed for the task)\nfunction redactPII(text: string): string {\n  return text\n    .replace(\u002F\\b[\\w._%+-]+@[\\w.-]+\\.\\w{2,}\\b\u002Fg, '[EMAIL]')\n    .replace(\u002F\\b\\d{3}[-.]?\\d{3}[-.]?\\d{4}\\b\u002Fg, '[PHONE]')\n    .replace(\u002F\\b\\d{3}-\\d{2}-\\d{4}\\b\u002Fg, '[SSN]')\n    .replace(\u002F\\b\\d{4}[\\s-]?\\d{4}[\\s-]?\\d{4}[\\s-]?\\d{4}\\b\u002Fg, '[CARD]');\n}\n```\n\n## Data Retention\n- **Default**: Anthropic does not use API data for training\n- **Zero retention**: Available on Enterprise plans\n- **Your responsibility**: Don't store Claude responses containing user PII longer than needed\n\n## Output\n- Token counting implemented before sending requests (prevents context overflow errors)\n- Conversation trimming preserving first message and recent turns\n- PII redaction applied for emails, phone numbers, SSNs, and card numbers\n- Data retention policy documented and configured\n\n## Error Handling\n| Error | Cause | Solution |\n|-------|-------|----------|\n| API Error | Check error type and status code | See `clade-common-errors` |\n\n## Examples\nSee Context Window Management (token counting + budget), Conversation Trimming function, and PII Handling regex patterns above.\n\n## Resources\n- [Anthropic Privacy Policy](https:\u002F\u002Fwww.anthropic.com\u002Fpolicies\u002Fprivacy)\n- [Token Counting](https:\u002F\u002Fdocs.anthropic.com\u002Fen\u002Fapi\u002Fcounting-tokens)\n- [Context Window](https:\u002F\u002Fdocs.anthropic.com\u002Fen\u002Fdocs\u002Fabout-claude\u002Fmodels)\n\n## Next Steps\nSee `clade-enterprise-rbac` for organization and access management.\n\n## Prerequisites\n- Completed `clade-install-auth`\n- Application handling user conversations or document processing\n- Understanding of token counting and context windows\n\n","# Anthropic Data Handling\n\n## Overview\nHandle 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.\n\n\n## Context Window Management\nClaude models have a 200K token context window. Managing it efficiently is critical.\n\n```typescript\n\u002F\u002F Count tokens before sending\nconst count = await client.messages.countTokens({\n  model: 'claude-sonnet-4-20250514',\n  messages,\n  system: systemPrompt,\n});\n\n\u002F\u002F Budget: 200K total - max_tokens (output) = available input\nconst MAX_CONTEXT = 200_000;\nconst MAX_OUTPUT = 4096;\nconst inputBudget = MAX_CONTEXT - MAX_OUTPUT;\n\nif (count.input_tokens > inputBudget) {\n  \u002F\u002F Trim oldest messages, keep system prompt + recent context\n  messages = trimToFit(messages, inputBudget);\n}\n```\n\n## Instructions\n\n### Step 1: Conversation Trimming\n```typescript\nfunction trimConversation(messages: MessageParam[], maxTokens: number): MessageParam[] {\n  \u002F\u002F Always keep the first message (often contains key context)\n  \u002F\u002F Keep the most recent messages\n  \u002F\u002F Drop middle turns first\n  if (messages.length \u003C= 4) return messages;\n\n  const first = messages[0];\n  const recent = messages.slice(-6); \u002F\u002F Last 3 turns\n  return [first, ...recent];\n}\n```\n\n## PII Handling\n```typescript\n\u002F\u002F Strip PII before sending to Claude (if not needed for the task)\nfunction redactPII(text: string): string {\n  return text\n    .replace(\u002F\\b[\\w._%+-]+@[\\w.-]+\\.\\w{2,}\\b\u002Fg, '[EMAIL]')\n    .replace(\u002F\\b\\d{3}[-.]?\\d{3}[-.]?\\d{4}\\b\u002Fg, '[PHONE]')\n    .replace(\u002F\\b\\d{3}-\\d{2}-\\d{4}\\b\u002Fg, '[SSN]')\n    .replace(\u002F\\b\\d{4}[\\s-]?\\d{4}[\\s-]?\\d{4}[\\s-]?\\d{4}\\b\u002Fg, '[CARD]');\n}\n```\n\n## Data Retention\n- **Default**: Anthropic does not use API data for training\n- **Zero retention**: Available on Enterprise plans\n- **Your responsibility**: Don't store Claude responses containing user PII longer than needed\n\n## Output\n- Token counting implemented before sending requests (prevents context overflow errors)\n- Conversation trimming preserving first message and recent turns\n- PII redaction applied for emails, phone numbers, SSNs, and card numbers\n- Data retention policy documented and configured\n\n## Error Handling\n| Error | Cause | Solution |\n|-------|-------|----------|\n| API Error | Check error type and status code | See `clade-common-errors` |\n\n## Examples\nSee Context Window Management (token counting + budget), Conversation Trimming function, and PII Handling regex patterns above.\n\n## Resources\n- [Anthropic Privacy Policy](https:\u002F\u002Fwww.anthropic.com\u002Fpolicies\u002Fprivacy)\n- [Token Counting](https:\u002F\u002Fdocs.anthropic.com\u002Fen\u002Fapi\u002Fcounting-tokens)\n- [Context Window](https:\u002F\u002Fdocs.anthropic.com\u002Fen\u002Fdocs\u002Fabout-claude\u002Fmodels)\n\n## Next Steps\nSee `clade-enterprise-rbac` for organization and access management.\n\n## Prerequisites\n- Completed `clade-install-auth`\n- Application handling user conversations or document processing\n- Understanding of token counting and context windows\n\n",{"name":5,"tags":49,"author":53,"license":15,"version":54,"description":55,"allowed-tools":56,"compatible-with":57},[40,50,51,25,41,52],"anthropic","claude","context","Jeremy Longshore \u003Cjeremy@intentsolutions.io>","1.0.0","Handle sensitive data with Claude — 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","Read, Write, Edit","claude-code","main","def8531e65114c0fca8fb8551c1871ee0eed705c","skills\u002Fjeremylongshore\u002Fclaude-code-plugins-plus-skills\u002Fclade-data-handling",24,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub","https:\u002F\u002Fskillshub.wtf","https:\u002F\u002Fgithub.com\u002FComeOnOliver","AI & Blockchain Engineer\r\n","2026-06-24 22:07:19",{"source":8,"skillName":5,"commands":68,"prompt":78,"zipAvailable":79},[69,72,75],{"tool":70,"command":71},"npx","npx skills add ComeOnOliver\u002Fskillshub --skill clade-data-handling",{"tool":73,"command":74},"bunx","bunx skills add ComeOnOliver\u002Fskillshub --skill clade-data-handling",{"tool":76,"command":77},"pnpm","pnpm dlx skills add ComeOnOliver\u002Fskillshub --skill clade-data-handling","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fjeremylongshore\u002Fclaude-code-plugins-plus-skills\u002Fclade-data-handling\u002FSKILL.md",true,[],[82,96,106,115,121,128],{"skillNo":83,"name":84,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":85,"categories":86,"keywords":92,"publishedAt":44},"01M6FKJN13GMG4KY57J3QD8GY5","model-hierarchy-skill","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzscole\u002Fmodel-hierarchy-skill\u002Fmodel-hierarchy-skill\u002FSKILL.md",[87],{"categoryNo":88,"categoryName":89,"taxonomyType":90,"taxonomyTypeDesc":91},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[93,94,95],"model","model hierarchy","model hierarchy skill",{"skillNo":97,"name":98,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":99,"categories":100,"keywords":102,"publishedAt":44},"01M6FKJJJ6GCAMR4PPPRD12M5X","zoom-mcp","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fzoom-mcp\u002FSKILL.md",[101],{"categoryNo":88,"categoryName":89,"taxonomyType":90,"taxonomyTypeDesc":91},[103,104,105],"MCP","zoom","zoom mcp",{"skillNo":107,"name":108,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":109,"categories":110,"keywords":111,"publishedAt":44},"01M6FKJE3KYT3KPEZMEEHYKA6K","zoom-apps-sdk","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fzoom-apps-sdk\u002FSKILL.md",[],[112,113,114,104],"sdk","zoom apps sdk","apps",{"skillNo":116,"name":117,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":118,"categories":119,"keywords":120,"publishedAt":44},"01M6FKJ9EDH9Q5VWDF8HAJRSP0","windows","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwindows\u002FSKILL.md",[],[117],{"skillNo":122,"name":123,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":124,"categories":125,"keywords":127,"publishedAt":44},"01M6FKJ666BEEFC3AE9GJ72Q93","whiteboard","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwhiteboard\u002FSKILL.md",[126],{"categoryNo":88,"categoryName":89,"taxonomyType":90,"taxonomyTypeDesc":91},[123],{"skillNo":129,"name":130,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":131,"categories":132,"keywords":133,"publishedAt":44},"01M6FKJ21WFCDGTJQ2Q91T9DVW","websockets","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwebsockets\u002FSKILL.md",[],[130]]