[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M70H744JSVDYPVDSCEWE3025":3,"skill-same:01M70H744JSVDYPVDSCEWE3025":114},{"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":18,"publishedAt":39,"linkOnly":40,"markdownContent":41,"markdownBody":42,"frontMatter":43,"refName":44,"commitSha":45,"skillDirectory":46,"forksCount":47,"repositoryHtmlUrl":48,"repositoryHomepageUrl":49,"ownerHtmlUrl":50,"ownerBlogUrl":51,"ownerDescription":52,"updatedAt":53,"install":54,"resources":67},"01M70H744JSVDYPVDSCEWE3025","chezmoi-dotfiles",null,"Secure dotfiles management with chezmoi. Use when helping users initialize chezmoi repositories, add\u002Fmanage dotfiles, handle secrets with age encryption, create templates for multi-machine configs, troubleshoot chezmoi issues, or review dotfiles for security. Always checks for security implications before adding files.","shengdabai\u002FTony-Claude-Code-Skills","shengdabai","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F116417419?v=4","01M70F6D2WY5PQV5A92BKYJQEW","Tony Sheng","01M70F6D3GAAAYZ5H4CC1G8VXM",3,"MIT","https:\u002F\u002Fgithub.com\u002Fshengdabai\u002FTony-Claude-Code-Skills\u002Fblob\u002Fmain\u002Fskills\u002F_collections\u002Frghamilton3-dotfiles\u002Fdot_claude\u002Fskills\u002Fchezmoi-dotfiles\u002FSKILL.md",[],[19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38],"dotfiles","chezmoi","chezmoi dotfiles","use","machine","manage","for","initialize","age","add","security","troubleshoot","secure","secrets","create","review","encryption","when","files","issues","2026-11-10 10:12:30",false,"---\nname: chezmoi-dotfiles\ndescription: Secure dotfiles management with chezmoi. Use when helping users initialize chezmoi repositories, add\u002Fmanage dotfiles, handle secrets with age encryption, create templates for multi-machine configs, troubleshoot chezmoi issues, or review dotfiles for security. Always checks for security implications before adding files.\n---\n\n# Chezmoi Dotfiles Management\n\n## Overview\n\nProvide expert guidance for managing dotfiles securely with chezmoi, focusing on security-first practices, multi-machine synchronization, and proper secrets management. Help users maintain well-organized, secure dotfiles repositories that follow industry best practices.\n\n**Core Capabilities:**\n- Initialize and configure chezmoi repositories with security defaults\n- Safely add dotfiles while preventing secret exposure\n- Implement age encryption for sensitive files\n- Create templates for machine-specific configurations\n- Audit dotfiles for security issues\n- Troubleshoot chezmoi workflows\n\n## Security-First Workflow\n\n**Before ANY operation involving files, follow this security evaluation:**\n\n```\nUser wants to add\u002Fmodify a file\n    ↓\n1. Does the file contain secrets?\n   (API keys, passwords, tokens, private keys, credentials)\n    ├─ YES → Go to step 2\n    └─ NO → Check if it mixes secrets with public config → Go to step 3\n\n2. File contains secrets:\n   ├─ Is it a private key? → Use age encryption: `chezmoi add --encrypt`\n   ├─ Can secrets be externalized? → Use templates + chezmoi.yaml\n   └─ Should it be tracked at all? → Add to .chezmoiignore\n\n3. File mixes public config and secrets:\n   → Use templates to separate concerns\n   → Store secrets in ~\u002F.config\u002Fchezmoi\u002Fchezmoi.yaml (not committed)\n   → Template example: {{ .git.email }} instead of hardcoded email\n\n4. File is safe (no secrets):\n   → Check .chezmoiignore patterns first\n   → Use `chezmoi add` normally\n   → Run `scripts\u002Fcheck_secrets.py` before committing\n```\n\n**Security Checklist - Run Before Every Commit:**\n```bash\n# 1. Scan for secrets\npython3 ~\u002F.local\u002Fshare\u002Fchezmoi\u002Fscripts\u002Fcheck_secrets.py\n\n# 2. Review what's being committed\ncd ~\u002F.local\u002Fshare\u002Fchezmoi && git diff --cached\n\n# 3. Verify .chezmoiignore is working\nchezmoi managed | grep -E \"(\\.env|credentials|secret)\"\n```\n\n## Core Workflows\n\n### 1. Initialize New Chezmoi Repository\n\n**When:** First-time setup, creating new dotfiles repository\n\n**Steps:**\n\n```bash\n# 1. Run initialization script (creates secure defaults)\nbash scripts\u002Finit_chezmoi_repo.sh\n\n# 2. Set up age encryption (recommended)\nage-keygen -o ~\u002F.config\u002Fchezmoi\u002Fkey.txt\n\n# Note the public key, then configure:\ncat >> ~\u002F.config\u002Fchezmoi\u002Fchezmoi.yaml \u003C\u003C EOF\nencryption: \"age\"\nage:\n  identity: \"${HOME}\u002F.config\u002Fchezmoi\u002Fkey.txt\"\n  recipient: \"age1...\"  # Public key from key.txt\nEOF\n\n# 3. Add git remote\ncd ~\u002F.local\u002Fshare\u002Fchezmoi\ngit remote add origin https:\u002F\u002Fgithub.com\u002Fusername\u002Fdotfiles.git\n\n# 4. Add first dotfiles\nchezmoi add ~\u002F.bashrc ~\u002F.zshrc\n```\n\n**Script Available:** `scripts\u002Finit_chezmoi_repo.sh` creates:\n- `.chezmoiignore` with security defaults\n- README.md with instructions\n- `.chezmoidata.yaml.template` for custom variables\n- Initial git commit\n\n### 2. Adding Dotfiles\n\n**When:** User wants to track a new configuration file\n\n**Security Decision Tree:**\n\n```\nFile type?\n├─ Shell config (.bashrc, .zshrc) → Check for secrets → Add normally or template\n├─ Git config (.gitconfig) → Template for email: `chezmoi add --template`\n├─ SSH config → Template for host-specific configs\n├─ SSH private key → `chezmoi add --encrypt ~\u002F.ssh\u002Fid_ed25519`\n├─ .env file → NEVER ADD - Add to .chezmoiignore\n├─ Cloud credentials (.aws\u002Fcredentials) → Encrypt or don't track\n└─ Editor config (.vimrc, nvim\u002F) → Usually safe to add normally\n```\n\n**Commands:**\n\n```bash\n# Regular file\nchezmoi add ~\u002F.bashrc\n\n# Template file (for variables)\nchezmoi add --template ~\u002F.gitconfig\n\n# Encrypted file (for secrets)\nchezmoi add --encrypt ~\u002F.ssh\u002Fid_ed25519\n\n# Directory (recursive)\nchezmoi add ~\u002F.config\u002Fnvim\n```\n\n**Always warn about:**\n- Never commit `.env` files with real secrets\n- Private keys should be encrypted\n- Files with mixed content should use templates\n\n### 3. Managing Secrets\n\n**When:** User needs to handle sensitive files\n\n**Three Approaches:**\n\n#### Option A: Age Encryption (Preferred for Keys)\n```bash\n# Add with encryption\nchezmoi add --encrypt ~\u002F.ssh\u002Fid_ed25519\n\n# Edit encrypted file\nchezmoi edit ~\u002F.ssh\u002Fid_ed25519\n\n# Result: Creates encrypted_id_ed25519.age in source\n```\n\n**Use for:**\n- SSH private keys\n- GPG private keys\n- Certificate files\n\n#### Option B: Templates + External Config (Preferred for Credentials)\n```bash\n# 1. Add as template\nchezmoi add --template ~\u002F.gitconfig\n\n# 2. Edit to use variables\nchezmoi edit ~\u002F.gitconfig\n\n# Content becomes:\n# [user]\n#   email = \"{{ .git.email }}\"\n#   signingkey = \"{{ .git.signingkey }}\"\n\n# 3. Store actual values in ~\u002F.config\u002Fchezmoi\u002Fchezmoi.yaml (not committed)\ndata:\n  git:\n    email: \"user@example.com\"\n    signingkey: \"ABCD1234\"\n```\n\n**Use for:**\n- Git configuration with emails\u002Fkeys\n- API endpoints that vary by machine\n- Configuration files with embedded tokens\n\n#### Option C: Don't Track At All\n```bash\n# Add to .chezmoiignore\n**\u002F.aws\u002Fcredentials\n**\u002F.env\n```\n\n**Use for:**\n- Cloud provider credentials (retrieve from vault instead)\n- Local development .env files\n- Browser cookies\u002Fsessions\n\n**Security Reference:** See `references\u002Fsecurity-checklist.md` for comprehensive guidance.\n\n### 4. Creating Templates\n\n**When:** Configuration needs to vary by machine\n\n**Common Template Scenarios:**\n\n#### Git Config with Multiple Emails\n```toml\n# dot_gitconfig.tmpl\n[user]\n  name = \"{{ .git.name }}\"\n{{- if eq .machine.type \"work\" }}\n  email = \"{{ .email.work }}\"\n{{- else }}\n  email = \"{{ .email.personal }}\"\n{{- end }}\n```\n\n#### SSH Config with Host-Specific Keys\n```\n# dot_ssh\u002Fconfig.tmpl\n{{- if eq .machine.type \"work\" }}\nHost github-work\n  HostName github.com\n  IdentityFile ~\u002F.ssh\u002Fid_ed25519_work\n{{- end }}\n```\n\n#### Shell RC with OS-Specific Settings\n```bash\n# dot_zshrc.tmpl\n{{- if eq .chezmoi.os \"darwin\" }}\neval \"$(\u002Fopt\u002Fhomebrew\u002Fbin\u002Fbrew shellenv)\"\n{{- else if eq .chezmoi.os \"linux\" }}\nalias ls='ls --color=auto'\n{{- end }}\n```\n\n**Template Reference:** See `references\u002Ftemplate-examples.md` for comprehensive examples.\n\n**Data Configuration:** Use `assets\u002F.chezmoidata.yaml.template` as starting point.\n\n### 5. Multi-Machine Setup\n\n**When:** Syncing dotfiles to new machine\n\n**Setup Process:**\n\n```bash\n# On new machine:\n# 1. Install chezmoi\nsh -c \"$(curl -fsLS get.chezmoi.io)\"\n\n# 2. Initialize from repository\nchezmoi init https:\u002F\u002Fgithub.com\u002Fusername\u002Fdotfiles.git\n\n# 3. Configure machine-specific data\ncp ~\u002F.local\u002Fshare\u002Fchezmoi\u002Fassets\u002F.chezmoidata.yaml.template \\\n   ~\u002F.config\u002Fchezmoi\u002Fchezmoi.yaml\n\n# Edit for this machine:\n# - Set machine.type (personal, work, server)\n# - Configure email addresses\n# - Set development tool preferences\n\n# 4. Preview changes\nchezmoi diff\n\n# 5. Apply dotfiles\nchezmoi apply -v\n```\n\n**For Encrypted Files:**\n- Copy age key from secure location: `~\u002F.config\u002Fchezmoi\u002Fkey.txt`\n- Or regenerate and re-encrypt files for new machine\n\n### 6. Security Audit\n\n**When:** Regular maintenance, before sharing repository, after adding many files\n\n**Audit Checklist:**\n\n```bash\n# 1. Run secret scanner\npython3 scripts\u002Fcheck_secrets.py\n\n# 2. Check git history for leaked secrets\ncd ~\u002F.local\u002Fshare\u002Fchezmoi\ngit log -p | grep -E \"api[_-]?key|password|secret\" | head -20\n\n# 3. Verify .chezmoiignore effectiveness\nchezmoi managed | wc -l  # Should be reasonable\nchezmoi managed | grep -E \"(\\.env|credentials|secret|password)\"\n\n# 4. List encrypted files\nchezmoi status | grep \"\\.age$\"\n\n# 5. Review template security\ngrep -r \"password\\|secret\\|key\" ~\u002F.local\u002Fshare\u002Fchezmoi\u002F*.tmpl\n```\n\n**Security Reference:** `references\u002Fsecurity-checklist.md` contains comprehensive audit procedures.\n\n### 7. Troubleshooting\n\n**Common Issues:**\n\n#### \"File Not Updating After Edit\"\n```bash\n# Check if managed\nchezmoi managed | grep filename\n\n# Check if ignored\ncat $(chezmoi source-path)\u002F.chezmoiignore | grep filename\n\n# View diff\nchezmoi diff ~\u002F.filename\n\n# Force re-add if needed\nchezmoi add --force ~\u002F.filename\n```\n\n#### \"Template Not Rendering Correctly\"\n```bash\n# Preview template output\nchezmoi cat ~\u002F.filename\n\n# View available data\nchezmoi data\n\n# Test specific expression\nchezmoi execute-template \"{{ .variable }}\"\n```\n\n#### \"Encrypted File Won't Decrypt\"\n```bash\n# Verify age key exists\nls ~\u002F.config\u002Fchezmoi\u002Fkey.txt\n\n# Check chezmoi.yaml has encryption configured\ncat ~\u002F.config\u002Fchezmoi\u002Fchezmoi.yaml | grep -A3 \"encryption\"\n\n# Test decryption\nchezmoi cat ~\u002F.ssh\u002Fid_ed25519\n```\n\n## Essential Commands\n\n**Quick Reference** (See `references\u002Fchezmoi-commands.md` for comprehensive guide):\n\n```bash\n# Initialize\nchezmoi init [repo-url]\n\n# Add files\nchezmoi add ~\u002F.bashrc\nchezmoi add --template ~\u002F.gitconfig\nchezmoi add --encrypt ~\u002F.ssh\u002Fid_ed25519\n\n# Edit files\nchezmoi edit ~\u002F.bashrc\nchezmoi edit --apply ~\u002F.bashrc\n\n# Apply changes\nchezmoi diff          # Preview\nchezmoi apply -v      # Apply with verbose output\n\n# Sync with remote\nchezmoi update -v     # Pull and apply\n\n# Git operations\nchezmoi git status\nchezmoi git commit -m \"message\"\nchezmoi git push\n\n# Inspection\nchezmoi status        # Show what would change\nchezmoi managed       # List managed files\nchezmoi cat ~\u002F.file   # Show target content\nchezmoi data          # Show template data\n```\n\n## Proactive Security Guidance\n\n**Always provide these warnings when relevant:**\n\n1. **Before adding .env files:**\n   > ⚠️ **Security Warning:** .env files often contain secrets. Add to `.chezmoiignore` instead, or use templates with variables stored in non-committed `chezmoi.yaml`.\n\n2. **Before adding SSH keys:**\n   > ⚠️ **Security Warning:** Use age encryption for private keys: `chezmoi add --encrypt ~\u002F.ssh\u002Fid_ed25519`\n\n3. **Before adding mixed-content files:**\n   > ⚠️ **Security Note:** This file contains both public config and secrets. Consider using a template with variables to separate concerns.\n\n4. **Before committing:**\n   > ⚠️ **Security Check:** Run `scripts\u002Fcheck_secrets.py` to scan for accidentally included secrets before committing.\n\n5. **When suggesting .chezmoiignore patterns:**\n   > Suggest running `scripts\u002Fgenerate_chezmoiignore.py` with relevant categories instead of manually typing patterns.\n\n## Using Bundled Resources\n\n### Scripts\n\n**`scripts\u002Fcheck_secrets.py`** - Scan for potential secrets\n```bash\n# Scan default chezmoi source directory\npython3 scripts\u002Fcheck_secrets.py\n\n# Scan specific directory\npython3 scripts\u002Fcheck_secrets.py \u002Fpath\u002Fto\u002Fdirectory\n```\nRun before every commit to catch accidentally included secrets.\n\n**`scripts\u002Finit_chezmoi_repo.sh`** - Initialize with security defaults\n```bash\nbash scripts\u002Finit_chezmoi_repo.sh\n```\nCreates `.chezmoiignore`, README, and git repository with secure defaults.\n\n**`scripts\u002Fgenerate_chezmoiignore.py`** - Generate comprehensive ignore patterns\n```bash\n# Interactive mode with defaults\npython3 scripts\u002Fgenerate_chezmoiignore.py\n\n# Specific categories\npython3 scripts\u002Fgenerate_chezmoiignore.py --categories python node macos\n\n# All patterns\npython3 scripts\u002Fgenerate_chezmoiignore.py --all\n\n# List available categories\npython3 scripts\u002Fgenerate_chezmoiignore.py --list\n\n# Output to file\npython3 scripts\u002Fgenerate_chezmoiignore.py --output ~\u002F.local\u002Fshare\u002Fchezmoi\u002F.chezmoiignore\n```\n\n### References\n\nLoad these into context when needed for detailed information:\n\n- **`references\u002Fsecurity-checklist.md`** - Comprehensive security practices, encryption setup, pre-commit checks, secret management strategies\n- **`references\u002Fignore-patterns.md`** - Extensive catalog of `.chezmoiignore` patterns organized by category (security, languages, OS, editors, etc.)\n- **`references\u002Ftemplate-examples.md`** - Practical template examples for common scenarios (Git config, SSH config, shell RC, AWS config, etc.)\n- **`references\u002Fchezmoi-commands.md`** - Complete command reference with explanations of when and how to use each command\n\n### Assets\n\nProvide these templates to users:\n\n- **`assets\u002F.chezmoiignore.template`** - Comprehensive starter ignore file with security-focused defaults\n- **`assets\u002F.chezmoidata.yaml.template`** - Template data configuration with examples for common variables\n- **`assets\u002FREADME.md.template`** - Professional README for documenting dotfiles repositories\n\n## Best Practices Summary\n\n**Always:**\n- ✅ Run security checks before committing\n- ✅ Use age encryption for private keys\n- ✅ Use templates for files with mixed public\u002Fsecret content\n- ✅ Maintain comprehensive `.chezmoiignore`\n- ✅ Document why files are encrypted\u002Ftemplated\n- ✅ Back up age encryption keys separately\n\n**Never:**\n- ❌ Commit .env files with real secrets\n- ❌ Track browser storage or cookies\n- ❌ Skip reviewing git diffs\n- ❌ Share age encryption keys via repository\n- ❌ Track cache or temporary directories\n- ❌ Commit `chezmoi.yaml` if it contains secrets\n\n**Recommend:**\n- Use `scripts\u002Fgenerate_chezmoiignore.py` for comprehensive patterns\n- Set up pre-commit hooks with `scripts\u002Fcheck_secrets.py`\n- Regular security audits (quarterly)\n- Meaningful commit messages\n- Testing on multiple machines before finalizing templates\n","# Chezmoi Dotfiles Management\n\n## Overview\n\nProvide expert guidance for managing dotfiles securely with chezmoi, focusing on security-first practices, multi-machine synchronization, and proper secrets management. Help users maintain well-organized, secure dotfiles repositories that follow industry best practices.\n\n**Core Capabilities:**\n- Initialize and configure chezmoi repositories with security defaults\n- Safely add dotfiles while preventing secret exposure\n- Implement age encryption for sensitive files\n- Create templates for machine-specific configurations\n- Audit dotfiles for security issues\n- Troubleshoot chezmoi workflows\n\n## Security-First Workflow\n\n**Before ANY operation involving files, follow this security evaluation:**\n\n```\nUser wants to add\u002Fmodify a file\n    ↓\n1. Does the file contain secrets?\n   (API keys, passwords, tokens, private keys, credentials)\n    ├─ YES → Go to step 2\n    └─ NO → Check if it mixes secrets with public config → Go to step 3\n\n2. File contains secrets:\n   ├─ Is it a private key? → Use age encryption: `chezmoi add --encrypt`\n   ├─ Can secrets be externalized? → Use templates + chezmoi.yaml\n   └─ Should it be tracked at all? → Add to .chezmoiignore\n\n3. File mixes public config and secrets:\n   → Use templates to separate concerns\n   → Store secrets in ~\u002F.config\u002Fchezmoi\u002Fchezmoi.yaml (not committed)\n   → Template example: {{ .git.email }} instead of hardcoded email\n\n4. File is safe (no secrets):\n   → Check .chezmoiignore patterns first\n   → Use `chezmoi add` normally\n   → Run `scripts\u002Fcheck_secrets.py` before committing\n```\n\n**Security Checklist - Run Before Every Commit:**\n```bash\n# 1. Scan for secrets\npython3 ~\u002F.local\u002Fshare\u002Fchezmoi\u002Fscripts\u002Fcheck_secrets.py\n\n# 2. Review what's being committed\ncd ~\u002F.local\u002Fshare\u002Fchezmoi && git diff --cached\n\n# 3. Verify .chezmoiignore is working\nchezmoi managed | grep -E \"(\\.env|credentials|secret)\"\n```\n\n## Core Workflows\n\n### 1. Initialize New Chezmoi Repository\n\n**When:** First-time setup, creating new dotfiles repository\n\n**Steps:**\n\n```bash\n# 1. Run initialization script (creates secure defaults)\nbash scripts\u002Finit_chezmoi_repo.sh\n\n# 2. Set up age encryption (recommended)\nage-keygen -o ~\u002F.config\u002Fchezmoi\u002Fkey.txt\n\n# Note the public key, then configure:\ncat >> ~\u002F.config\u002Fchezmoi\u002Fchezmoi.yaml \u003C\u003C EOF\nencryption: \"age\"\nage:\n  identity: \"${HOME}\u002F.config\u002Fchezmoi\u002Fkey.txt\"\n  recipient: \"age1...\"  # Public key from key.txt\nEOF\n\n# 3. Add git remote\ncd ~\u002F.local\u002Fshare\u002Fchezmoi\ngit remote add origin https:\u002F\u002Fgithub.com\u002Fusername\u002Fdotfiles.git\n\n# 4. Add first dotfiles\nchezmoi add ~\u002F.bashrc ~\u002F.zshrc\n```\n\n**Script Available:** `scripts\u002Finit_chezmoi_repo.sh` creates:\n- `.chezmoiignore` with security defaults\n- README.md with instructions\n- `.chezmoidata.yaml.template` for custom variables\n- Initial git commit\n\n### 2. Adding Dotfiles\n\n**When:** User wants to track a new configuration file\n\n**Security Decision Tree:**\n\n```\nFile type?\n├─ Shell config (.bashrc, .zshrc) → Check for secrets → Add normally or template\n├─ Git config (.gitconfig) → Template for email: `chezmoi add --template`\n├─ SSH config → Template for host-specific configs\n├─ SSH private key → `chezmoi add --encrypt ~\u002F.ssh\u002Fid_ed25519`\n├─ .env file → NEVER ADD - Add to .chezmoiignore\n├─ Cloud credentials (.aws\u002Fcredentials) → Encrypt or don't track\n└─ Editor config (.vimrc, nvim\u002F) → Usually safe to add normally\n```\n\n**Commands:**\n\n```bash\n# Regular file\nchezmoi add ~\u002F.bashrc\n\n# Template file (for variables)\nchezmoi add --template ~\u002F.gitconfig\n\n# Encrypted file (for secrets)\nchezmoi add --encrypt ~\u002F.ssh\u002Fid_ed25519\n\n# Directory (recursive)\nchezmoi add ~\u002F.config\u002Fnvim\n```\n\n**Always warn about:**\n- Never commit `.env` files with real secrets\n- Private keys should be encrypted\n- Files with mixed content should use templates\n\n### 3. Managing Secrets\n\n**When:** User needs to handle sensitive files\n\n**Three Approaches:**\n\n#### Option A: Age Encryption (Preferred for Keys)\n```bash\n# Add with encryption\nchezmoi add --encrypt ~\u002F.ssh\u002Fid_ed25519\n\n# Edit encrypted file\nchezmoi edit ~\u002F.ssh\u002Fid_ed25519\n\n# Result: Creates encrypted_id_ed25519.age in source\n```\n\n**Use for:**\n- SSH private keys\n- GPG private keys\n- Certificate files\n\n#### Option B: Templates + External Config (Preferred for Credentials)\n```bash\n# 1. Add as template\nchezmoi add --template ~\u002F.gitconfig\n\n# 2. Edit to use variables\nchezmoi edit ~\u002F.gitconfig\n\n# Content becomes:\n# [user]\n#   email = \"{{ .git.email }}\"\n#   signingkey = \"{{ .git.signingkey }}\"\n\n# 3. Store actual values in ~\u002F.config\u002Fchezmoi\u002Fchezmoi.yaml (not committed)\ndata:\n  git:\n    email: \"user@example.com\"\n    signingkey: \"ABCD1234\"\n```\n\n**Use for:**\n- Git configuration with emails\u002Fkeys\n- API endpoints that vary by machine\n- Configuration files with embedded tokens\n\n#### Option C: Don't Track At All\n```bash\n# Add to .chezmoiignore\n**\u002F.aws\u002Fcredentials\n**\u002F.env\n```\n\n**Use for:**\n- Cloud provider credentials (retrieve from vault instead)\n- Local development .env files\n- Browser cookies\u002Fsessions\n\n**Security Reference:** See `references\u002Fsecurity-checklist.md` for comprehensive guidance.\n\n### 4. Creating Templates\n\n**When:** Configuration needs to vary by machine\n\n**Common Template Scenarios:**\n\n#### Git Config with Multiple Emails\n```toml\n# dot_gitconfig.tmpl\n[user]\n  name = \"{{ .git.name }}\"\n{{- if eq .machine.type \"work\" }}\n  email = \"{{ .email.work }}\"\n{{- else }}\n  email = \"{{ .email.personal }}\"\n{{- end }}\n```\n\n#### SSH Config with Host-Specific Keys\n```\n# dot_ssh\u002Fconfig.tmpl\n{{- if eq .machine.type \"work\" }}\nHost github-work\n  HostName github.com\n  IdentityFile ~\u002F.ssh\u002Fid_ed25519_work\n{{- end }}\n```\n\n#### Shell RC with OS-Specific Settings\n```bash\n# dot_zshrc.tmpl\n{{- if eq .chezmoi.os \"darwin\" }}\neval \"$(\u002Fopt\u002Fhomebrew\u002Fbin\u002Fbrew shellenv)\"\n{{- else if eq .chezmoi.os \"linux\" }}\nalias ls='ls --color=auto'\n{{- end }}\n```\n\n**Template Reference:** See `references\u002Ftemplate-examples.md` for comprehensive examples.\n\n**Data Configuration:** Use `assets\u002F.chezmoidata.yaml.template` as starting point.\n\n### 5. Multi-Machine Setup\n\n**When:** Syncing dotfiles to new machine\n\n**Setup Process:**\n\n```bash\n# On new machine:\n# 1. Install chezmoi\nsh -c \"$(curl -fsLS get.chezmoi.io)\"\n\n# 2. Initialize from repository\nchezmoi init https:\u002F\u002Fgithub.com\u002Fusername\u002Fdotfiles.git\n\n# 3. Configure machine-specific data\ncp ~\u002F.local\u002Fshare\u002Fchezmoi\u002Fassets\u002F.chezmoidata.yaml.template \\\n   ~\u002F.config\u002Fchezmoi\u002Fchezmoi.yaml\n\n# Edit for this machine:\n# - Set machine.type (personal, work, server)\n# - Configure email addresses\n# - Set development tool preferences\n\n# 4. Preview changes\nchezmoi diff\n\n# 5. Apply dotfiles\nchezmoi apply -v\n```\n\n**For Encrypted Files:**\n- Copy age key from secure location: `~\u002F.config\u002Fchezmoi\u002Fkey.txt`\n- Or regenerate and re-encrypt files for new machine\n\n### 6. Security Audit\n\n**When:** Regular maintenance, before sharing repository, after adding many files\n\n**Audit Checklist:**\n\n```bash\n# 1. Run secret scanner\npython3 scripts\u002Fcheck_secrets.py\n\n# 2. Check git history for leaked secrets\ncd ~\u002F.local\u002Fshare\u002Fchezmoi\ngit log -p | grep -E \"api[_-]?key|password|secret\" | head -20\n\n# 3. Verify .chezmoiignore effectiveness\nchezmoi managed | wc -l  # Should be reasonable\nchezmoi managed | grep -E \"(\\.env|credentials|secret|password)\"\n\n# 4. List encrypted files\nchezmoi status | grep \"\\.age$\"\n\n# 5. Review template security\ngrep -r \"password\\|secret\\|key\" ~\u002F.local\u002Fshare\u002Fchezmoi\u002F*.tmpl\n```\n\n**Security Reference:** `references\u002Fsecurity-checklist.md` contains comprehensive audit procedures.\n\n### 7. Troubleshooting\n\n**Common Issues:**\n\n#### \"File Not Updating After Edit\"\n```bash\n# Check if managed\nchezmoi managed | grep filename\n\n# Check if ignored\ncat $(chezmoi source-path)\u002F.chezmoiignore | grep filename\n\n# View diff\nchezmoi diff ~\u002F.filename\n\n# Force re-add if needed\nchezmoi add --force ~\u002F.filename\n```\n\n#### \"Template Not Rendering Correctly\"\n```bash\n# Preview template output\nchezmoi cat ~\u002F.filename\n\n# View available data\nchezmoi data\n\n# Test specific expression\nchezmoi execute-template \"{{ .variable }}\"\n```\n\n#### \"Encrypted File Won't Decrypt\"\n```bash\n# Verify age key exists\nls ~\u002F.config\u002Fchezmoi\u002Fkey.txt\n\n# Check chezmoi.yaml has encryption configured\ncat ~\u002F.config\u002Fchezmoi\u002Fchezmoi.yaml | grep -A3 \"encryption\"\n\n# Test decryption\nchezmoi cat ~\u002F.ssh\u002Fid_ed25519\n```\n\n## Essential Commands\n\n**Quick Reference** (See `references\u002Fchezmoi-commands.md` for comprehensive guide):\n\n```bash\n# Initialize\nchezmoi init [repo-url]\n\n# Add files\nchezmoi add ~\u002F.bashrc\nchezmoi add --template ~\u002F.gitconfig\nchezmoi add --encrypt ~\u002F.ssh\u002Fid_ed25519\n\n# Edit files\nchezmoi edit ~\u002F.bashrc\nchezmoi edit --apply ~\u002F.bashrc\n\n# Apply changes\nchezmoi diff          # Preview\nchezmoi apply -v      # Apply with verbose output\n\n# Sync with remote\nchezmoi update -v     # Pull and apply\n\n# Git operations\nchezmoi git status\nchezmoi git commit -m \"message\"\nchezmoi git push\n\n# Inspection\nchezmoi status        # Show what would change\nchezmoi managed       # List managed files\nchezmoi cat ~\u002F.file   # Show target content\nchezmoi data          # Show template data\n```\n\n## Proactive Security Guidance\n\n**Always provide these warnings when relevant:**\n\n1. **Before adding .env files:**\n   > ⚠️ **Security Warning:** .env files often contain secrets. Add to `.chezmoiignore` instead, or use templates with variables stored in non-committed `chezmoi.yaml`.\n\n2. **Before adding SSH keys:**\n   > ⚠️ **Security Warning:** Use age encryption for private keys: `chezmoi add --encrypt ~\u002F.ssh\u002Fid_ed25519`\n\n3. **Before adding mixed-content files:**\n   > ⚠️ **Security Note:** This file contains both public config and secrets. Consider using a template with variables to separate concerns.\n\n4. **Before committing:**\n   > ⚠️ **Security Check:** Run `scripts\u002Fcheck_secrets.py` to scan for accidentally included secrets before committing.\n\n5. **When suggesting .chezmoiignore patterns:**\n   > Suggest running `scripts\u002Fgenerate_chezmoiignore.py` with relevant categories instead of manually typing patterns.\n\n## Using Bundled Resources\n\n### Scripts\n\n**`scripts\u002Fcheck_secrets.py`** - Scan for potential secrets\n```bash\n# Scan default chezmoi source directory\npython3 scripts\u002Fcheck_secrets.py\n\n# Scan specific directory\npython3 scripts\u002Fcheck_secrets.py \u002Fpath\u002Fto\u002Fdirectory\n```\nRun before every commit to catch accidentally included secrets.\n\n**`scripts\u002Finit_chezmoi_repo.sh`** - Initialize with security defaults\n```bash\nbash scripts\u002Finit_chezmoi_repo.sh\n```\nCreates `.chezmoiignore`, README, and git repository with secure defaults.\n\n**`scripts\u002Fgenerate_chezmoiignore.py`** - Generate comprehensive ignore patterns\n```bash\n# Interactive mode with defaults\npython3 scripts\u002Fgenerate_chezmoiignore.py\n\n# Specific categories\npython3 scripts\u002Fgenerate_chezmoiignore.py --categories python node macos\n\n# All patterns\npython3 scripts\u002Fgenerate_chezmoiignore.py --all\n\n# List available categories\npython3 scripts\u002Fgenerate_chezmoiignore.py --list\n\n# Output to file\npython3 scripts\u002Fgenerate_chezmoiignore.py --output ~\u002F.local\u002Fshare\u002Fchezmoi\u002F.chezmoiignore\n```\n\n### References\n\nLoad these into context when needed for detailed information:\n\n- **`references\u002Fsecurity-checklist.md`** - Comprehensive security practices, encryption setup, pre-commit checks, secret management strategies\n- **`references\u002Fignore-patterns.md`** - Extensive catalog of `.chezmoiignore` patterns organized by category (security, languages, OS, editors, etc.)\n- **`references\u002Ftemplate-examples.md`** - Practical template examples for common scenarios (Git config, SSH config, shell RC, AWS config, etc.)\n- **`references\u002Fchezmoi-commands.md`** - Complete command reference with explanations of when and how to use each command\n\n### Assets\n\nProvide these templates to users:\n\n- **`assets\u002F.chezmoiignore.template`** - Comprehensive starter ignore file with security-focused defaults\n- **`assets\u002F.chezmoidata.yaml.template`** - Template data configuration with examples for common variables\n- **`assets\u002FREADME.md.template`** - Professional README for documenting dotfiles repositories\n\n## Best Practices Summary\n\n**Always:**\n- ✅ Run security checks before committing\n- ✅ Use age encryption for private keys\n- ✅ Use templates for files with mixed public\u002Fsecret content\n- ✅ Maintain comprehensive `.chezmoiignore`\n- ✅ Document why files are encrypted\u002Ftemplated\n- ✅ Back up age encryption keys separately\n\n**Never:**\n- ❌ Commit .env files with real secrets\n- ❌ Track browser storage or cookies\n- ❌ Skip reviewing git diffs\n- ❌ Share age encryption keys via repository\n- ❌ Track cache or temporary directories\n- ❌ Commit `chezmoi.yaml` if it contains secrets\n\n**Recommend:**\n- Use `scripts\u002Fgenerate_chezmoiignore.py` for comprehensive patterns\n- Set up pre-commit hooks with `scripts\u002Fcheck_secrets.py`\n- Regular security audits (quarterly)\n- Meaningful commit messages\n- Testing on multiple machines before finalizing templates\n",{"name":5,"description":7},"main","7850740bd837adb32f0a109ab2af82482196c6f2","skills\u002F_collections\u002Frghamilton3-dotfiles\u002Fdot_claude\u002Fskills\u002Fchezmoi-dotfiles",1,"https:\u002F\u002Fgithub.com\u002Fshengdabai\u002FTony-Claude-Code-Skills","https:\u002F\u002Fzturnsgo.com","https:\u002F\u002Fgithub.com\u002Fshengdabai","https:\u002F\u002Fzturnsgo.com\u002F","AI × education creator — producer, not consumer. Taught 6,000+ learners; shipping learning tools & daily essays with Claude Code, practicing @xiaolai's way 🥋","2026-11-01 21:28:23",{"source":8,"skillName":5,"commands":55,"prompt":65,"zipAvailable":66},[56,59,62],{"tool":57,"command":58},"npx","npx skills add shengdabai\u002FTony-Claude-Code-Skills --skill chezmoi-dotfiles",{"tool":60,"command":61},"bunx","bunx skills add shengdabai\u002FTony-Claude-Code-Skills --skill chezmoi-dotfiles",{"tool":63,"command":64},"pnpm","pnpm dlx skills add shengdabai\u002FTony-Claude-Code-Skills --skill chezmoi-dotfiles","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fshengdabai\u002FTony-Claude-Code-Skills\u002Fblob\u002Fmain\u002Fskills\u002F_collections\u002Frghamilton3-dotfiles\u002Fdot_claude\u002Fskills\u002Fchezmoi-dotfiles\u002FSKILL.md",true,[68,74,78,82,88,92,96,100,106,110],{"path":69,"resourceType":70,"resourceTypeDesc":71,"sizeBytes":72,"sourceHtmlUrl":73},"assets\u002Fdot_chezmoidata.yaml.template","ASSET","资产文件",6666,"https:\u002F\u002Fgithub.com\u002Fshengdabai\u002FTony-Claude-Code-Skills\u002Fblob\u002Fmain\u002Fskills\u002F_collections\u002Frghamilton3-dotfiles\u002Fdot_claude\u002Fskills\u002Fchezmoi-dotfiles\u002Fassets\u002Fdot_chezmoidata.yaml.template",{"path":75,"resourceType":70,"resourceTypeDesc":71,"sizeBytes":76,"sourceHtmlUrl":77},"assets\u002Fdot_chezmoiignore.template",4628,"https:\u002F\u002Fgithub.com\u002Fshengdabai\u002FTony-Claude-Code-Skills\u002Fblob\u002Fmain\u002Fskills\u002F_collections\u002Frghamilton3-dotfiles\u002Fdot_claude\u002Fskills\u002Fchezmoi-dotfiles\u002Fassets\u002Fdot_chezmoiignore.template",{"path":79,"resourceType":70,"resourceTypeDesc":71,"sizeBytes":80,"sourceHtmlUrl":81},"assets\u002FREADME.md.template",6214,"https:\u002F\u002Fgithub.com\u002Fshengdabai\u002FTony-Claude-Code-Skills\u002Fblob\u002Fmain\u002Fskills\u002F_collections\u002Frghamilton3-dotfiles\u002Fdot_claude\u002Fskills\u002Fchezmoi-dotfiles\u002Fassets\u002FREADME.md.template",{"path":83,"resourceType":84,"resourceTypeDesc":85,"sizeBytes":86,"sourceHtmlUrl":87},"references\u002Fchezmoi-commands.md","REFERENCE","参考文档",12385,"https:\u002F\u002Fgithub.com\u002Fshengdabai\u002FTony-Claude-Code-Skills\u002Fblob\u002Fmain\u002Fskills\u002F_collections\u002Frghamilton3-dotfiles\u002Fdot_claude\u002Fskills\u002Fchezmoi-dotfiles\u002Freferences\u002Fchezmoi-commands.md",{"path":89,"resourceType":84,"resourceTypeDesc":85,"sizeBytes":90,"sourceHtmlUrl":91},"references\u002Fignore-patterns.md",7979,"https:\u002F\u002Fgithub.com\u002Fshengdabai\u002FTony-Claude-Code-Skills\u002Fblob\u002Fmain\u002Fskills\u002F_collections\u002Frghamilton3-dotfiles\u002Fdot_claude\u002Fskills\u002Fchezmoi-dotfiles\u002Freferences\u002Fignore-patterns.md",{"path":93,"resourceType":84,"resourceTypeDesc":85,"sizeBytes":94,"sourceHtmlUrl":95},"references\u002Fsecurity-checklist.md",7990,"https:\u002F\u002Fgithub.com\u002Fshengdabai\u002FTony-Claude-Code-Skills\u002Fblob\u002Fmain\u002Fskills\u002F_collections\u002Frghamilton3-dotfiles\u002Fdot_claude\u002Fskills\u002Fchezmoi-dotfiles\u002Freferences\u002Fsecurity-checklist.md",{"path":97,"resourceType":84,"resourceTypeDesc":85,"sizeBytes":98,"sourceHtmlUrl":99},"references\u002Ftemplate-examples.md",11281,"https:\u002F\u002Fgithub.com\u002Fshengdabai\u002FTony-Claude-Code-Skills\u002Fblob\u002Fmain\u002Fskills\u002F_collections\u002Frghamilton3-dotfiles\u002Fdot_claude\u002Fskills\u002Fchezmoi-dotfiles\u002Freferences\u002Ftemplate-examples.md",{"path":101,"resourceType":102,"resourceTypeDesc":103,"sizeBytes":104,"sourceHtmlUrl":105},"scripts\u002Fexecutable_check_secrets.py","SCRIPT","脚本",5950,"https:\u002F\u002Fgithub.com\u002Fshengdabai\u002FTony-Claude-Code-Skills\u002Fblob\u002Fmain\u002Fskills\u002F_collections\u002Frghamilton3-dotfiles\u002Fdot_claude\u002Fskills\u002Fchezmoi-dotfiles\u002Fscripts\u002Fexecutable_check_secrets.py",{"path":107,"resourceType":102,"resourceTypeDesc":103,"sizeBytes":108,"sourceHtmlUrl":109},"scripts\u002Fexecutable_generate_chezmoiignore.py",9489,"https:\u002F\u002Fgithub.com\u002Fshengdabai\u002FTony-Claude-Code-Skills\u002Fblob\u002Fmain\u002Fskills\u002F_collections\u002Frghamilton3-dotfiles\u002Fdot_claude\u002Fskills\u002Fchezmoi-dotfiles\u002Fscripts\u002Fexecutable_generate_chezmoiignore.py",{"path":111,"resourceType":102,"resourceTypeDesc":103,"sizeBytes":112,"sourceHtmlUrl":113},"scripts\u002Fexecutable_init_chezmoi_repo.sh",6466,"https:\u002F\u002Fgithub.com\u002Fshengdabai\u002FTony-Claude-Code-Skills\u002Fblob\u002Fmain\u002Fskills\u002F_collections\u002Frghamilton3-dotfiles\u002Fdot_claude\u002Fskills\u002Fchezmoi-dotfiles\u002Fscripts\u002Fexecutable_init_chezmoi_repo.sh",[115,134,168,192,214,233],{"skillNo":116,"name":117,"nameZh":6,"description":118,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":119,"categories":120,"keywords":126,"publishedAt":39},"01M70P17DAD4C1C47NPH6A96EM","xiaolai-methodology","以李笑来(Li Xiaolai)的思考方式、方法论与表达风格,为用户做全方位 1-on-1 教练指导,覆盖创业、赚钱、投资、学习、自学、读书写作、用 AI、以及人生心态与自我管理。当用户提到 \"李笑来\"、\"笑来\"、\"笑来老师\"、\"扮演李笑来\"、\"找笑来聊聊\"、\"笑来怎么看\"、\"xiaolai\"、\"把时间当作朋友\"、\"通往财富自由之路\"、\"定投改变命运\"、\"韭菜的自我修养\"、\"自学是门手艺\"、\"让时间陪你慢慢变富\"、\"七年就是一辈子\"、\"元认知\"、\"活在未来\"、\"复利\u002F长期主义\"、\"践行\"、\"痴迷改进\"、\"个人商业模式\u002F出售时间\"、\"睡后收入\"、\"定投\"、\"财富自由\"、\"操作系统升级\"、\"最少必要知识\"、\"北极星提示词\"、\"用 AI 该怎么学\u002F思考\" 等任一触发词,或当用户带着关于创业\u002F赚钱\u002F投资\u002F学习\u002F职业\u002F重大人生决策的困惑、希望被人用笑来式的「逻辑 + 大白话 + 类比 + 重新定义 + 践行导向」来点醒和指导时,自动进入李笑来教练模式。","https:\u002F\u002Fgithub.com\u002Fshengdabai\u002FTony-Claude-Code-Skills\u002Fblob\u002Fmain\u002Fxiaolai-methodology\u002FSKILL.md",[121],{"categoryNo":122,"categoryName":123,"taxonomyType":124,"taxonomyTypeDesc":125},"01JBSEEDCAT000000000000018","写作与文案","SCENARIO","使用场景",[127,128,129,130,131,132,133],"methodology","xiaolai","xiaolai methodology","朋友","投资","writing","收入",{"skillNo":135,"name":136,"nameZh":6,"description":137,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":138,"categories":139,"keywords":148,"publishedAt":39},"01M70P13NB9YP7ACJR1S861CDS","zread","Produce and consume a wiki-style knowledge base for a code repository via the `zread` CLI and its on-disk output under `.\u002F.zread\u002Fwiki\u002F`. Use this skill whenever the user wants to understand, onboard onto, explore, summarize, map, or get an overview of an unfamiliar codebase; asks for architecture docs, a project wiki, a repo walkthrough, module\u002Fpackage explanations, or \"what does this repo do\"; wants to generate, regenerate, resume, browse, or serve code documentation locally; or mentions zread \u002F zread.ai directly. Also use it proactively before diving into a large unknown repo — if `.\u002F.zread\u002Fwiki\u002Fcurrent` exists, read the generated pages instead of crawling source file-by-file; if it doesn't, consider offering to run `zread generate`. The trigger is the intent (understand a codebase through generated docs), not the literal word \"zread\".","https:\u002F\u002Fgithub.com\u002Fshengdabai\u002FTony-Claude-Code-Skills\u002Fblob\u002Fmain\u002Fskills\u002Fzread\u002FSKILL.md",[140,143],{"categoryNo":141,"categoryName":142,"taxonomyType":124,"taxonomyTypeDesc":125},"01JBSEEDCAT000000000000023","Skill与智能体开发",{"categoryNo":144,"categoryName":145,"taxonomyType":146,"taxonomyTypeDesc":147},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",[136,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167],"knowledge","wiki","explore","walkthrough","project","get","knowledge base","run","generate","intent","cli","map","documentation","project wiki","disk","architecture","code","unknown","generated",{"skillNo":169,"name":170,"nameZh":6,"description":171,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":172,"categories":173,"keywords":178,"publishedAt":39},"01M70P10S4SWMZQ8BJAFBFDRW3","youtube","Launch the YouTube Creator Agent to auto-generate videos.\nUse when: user types \u002Fyoutube, wants to create YouTube videos,\ngenerate video content, or upload to YouTube.\nKeywords: youtube, video, 视频, 创作视频, 发布视频","https:\u002F\u002Fgithub.com\u002Fshengdabai\u002FTony-Claude-Code-Skills\u002Fblob\u002Fmain\u002Fskills\u002Fyoutube\u002FSKILL.md",[174,175],{"categoryNo":141,"categoryName":142,"taxonomyType":124,"taxonomyTypeDesc":125},{"categoryNo":176,"categoryName":177,"taxonomyType":146,"taxonomyTypeDesc":147},"01JBSEEDCAT000000000000036","内容创作者",[170,179,180,181,182,183,184,185,157,186,33,187,36,22,188,189,190,191],"user","content","视频","creator","generate video","videos","launch","video content","upload","auto","types","Video","创作",{"skillNo":193,"name":194,"nameZh":6,"description":195,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":196,"categories":197,"keywords":199,"publishedAt":39},"01M70P0YE95D8BACZCGV8BK90K","youtube-script-sync","Sync, update, or optimize Tony's GetNote knowledge base `Youtube视频逐字稿` by turning each parent recording or first-person idea note into an idempotent child note containing a directly recordable YouTube long-video or Shorts script. Use when the user says “更新\u002F同步\u002F优化 Youtube视频逐字稿知识库”, or says “更新\u002F同步\u002F优化该知识库” while this knowledge base is the active context.","https:\u002F\u002Fgithub.com\u002Fshengdabai\u002FTony-Claude-Code-Skills\u002Fblob\u002Fmain\u002Fskills\u002Fyoutube-script-sync\u002FSKILL.md",[198],{"categoryNo":141,"categoryName":142,"taxonomyType":124,"taxonomyTypeDesc":125},[200,201,170,202,203,190,204,205,206,207,208,209,210,211,155,212,36,22,149,213],"sync","script","youtube script sync","recording","shorts","first","base","person","update","active","child","optimize","idempotent","long",{"skillNo":215,"name":216,"nameZh":6,"description":217,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":218,"categories":219,"keywords":224,"publishedAt":39},"01M70P0WMV5XT0EEC0N445PW07","writing-skills","How to write SKILL.md files that trigger reliably and teach effectively. Use when creating, improving, or reviewing Claude Code skills.","https:\u002F\u002Fgithub.com\u002Fshengdabai\u002FTony-Claude-Code-Skills\u002Fblob\u002Fmain\u002Fskills\u002Fxiaolai\u002Fnlpm\u002Fskills\u002Fnlpm\u002Fwriting-skills\u002FSKILL.md",[220,221,222,223],{"categoryNo":122,"categoryName":123,"taxonomyType":124,"taxonomyTypeDesc":125},{"categoryNo":141,"categoryName":142,"taxonomyType":124,"taxonomyTypeDesc":125},{"categoryNo":144,"categoryName":145,"taxonomyType":146,"taxonomyTypeDesc":147},{"categoryNo":176,"categoryName":177,"taxonomyType":146,"taxonomyTypeDesc":147},[225,132,226,227,228,229,165,36,22,230,37,231,232],"writing skills","how","teach","write skill","write","claude code skills","how to","trigger",{"skillNo":234,"name":235,"nameZh":6,"description":236,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":237,"categories":238,"keywords":241,"publishedAt":39},"01M70P0SJFR4YVJQBGMHKGSKXT","writing-rules","How to write .claude\u002Frules\u002F files that Claude actually follows. Use when creating, improving, or reviewing project rules.","https:\u002F\u002Fgithub.com\u002Fshengdabai\u002FTony-Claude-Code-Skills\u002Fblob\u002Fmain\u002Fskills\u002Fxiaolai\u002Fnlpm\u002Fskills\u002Fnlpm\u002Fwriting-rules\u002FSKILL.md",[239,240],{"categoryNo":122,"categoryName":123,"taxonomyType":124,"taxonomyTypeDesc":125},{"categoryNo":176,"categoryName":177,"taxonomyType":146,"taxonomyTypeDesc":147},[242,132,243,153,244,37,36,226,229,22,231],"Rules","writing rules","project rules"]