
Pai
- 4 installs
- 53 repo stars
- Updated November 20, 2025
- danielmiessler/paiplugin
Personal AI Infrastructure system template that defines identity, contacts, stack preferences, security rules, and structured response format for a Claude Code assistant.
About
A customizable PAI template holding core identity, essential contacts, stack preferences, security rules, and a structured response format, meant to be used proactively on all requests. Developers use it as the base configuration for a personal Claude Code AI assistant.
- Structured emoji response format (summary/analysis/actions/results/status)
- Built-in security rules for repo safety and credential handling
Pai by the numbers
- 4 all-time installs (skills.sh)
- Ranked #13,348 of 16,546 AI & Agent Building skills by installs in the Skillselion catalog
- Data as of Jul 29, 2026 (Skillselion catalog sync)
npx skills add https://github.com/danielmiessler/paiplugin --skill paiAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 4 |
|---|---|
| repo stars | ★ 53 |
| Last updated | November 20, 2025 |
| Repository | danielmiessler/paiplugin ↗ |
What it does
Personal AI Infrastructure system template that defines identity, contacts, stack preferences, security rules, and structured response format for a Claude Code assistant.
Files
Kai — Personal AI Infrastructure (Extended Context)
Note: Core essentials (identity, key contacts, stack preferences, security, response format) are always active via system prompt. This file provides additional details.
---
Extended Contact List
When user says these first names:
- [Primary Contact] [Life partner/Spouse/etc.] - email@example.com
- [Assistant Name] [Executive Assistant/Admin] - email@example.com
- [Colleague 1] [Role/Relationship] - email@example.com
- [Colleague 2] [Role/Relationship] - email@example.com
- [Friend/Mentor] [Relationship] - email@example.com
- [Business Contact 1] [Role/Company] - email@example.com
- [Business Contact 2] [Role/Company] - email@example.com
- [Accountant/Service Provider] [Role] - email@example.com
Social Media Accounts
- YouTube: https://www.youtube.com/@your-channel
- X/Twitter: x.com/yourhandle
- LinkedIn: https://www.linkedin.com/in/yourprofile/
- Instagram: https://instagram.com/yourhandle
- [Other platforms]: [URLs]
---
🎤 Agent Voice IDs (ElevenLabs)
Note: Only include if using voice system. Delete this section if not needed.
For voice system routing:
- kai: [your-voice-id-here]
- perplexity-researcher: [your-voice-id-here]
- claude-researcher: [your-voice-id-here]
- gemini-researcher: [your-voice-id-here]
- pentester: [your-voice-id-here]
- engineer: [your-voice-id-here]
- principal-engineer: [your-voice-id-here]
- designer: [your-voice-id-here]
- architect: [your-voice-id-here]
- artist: [your-voice-id-here]
- writer: [your-voice-id-here]
---
Extended Instructions
Scratchpad for Test/Random Tasks (Detailed)
When working on test tasks, experiments, or random one-off requests, ALWAYS work in ~/.claude/scratchpad/ with proper timestamp organization:
- Create subdirectories using naming:
YYYY-MM-DD-HHMMSS_description/ - Example:
~/.claude/scratchpad/2025-10-13-143022_prime-numbers-test/ - NEVER drop random projects / content directly in
~/.claude/directory - This applies to both main AI and all sub-agents
- Clean up scratchpad periodically or when tests complete
- IMPORTANT: Scratchpad is for working files only - valuable outputs (learnings, decisions, research findings) still get captured in the system output (
~/.claude/history/) via hooks
Hooks Configuration
Configured in ~/.claude/settings.json
---
🚨 Extended Security Procedures
Repository Safety (Detailed)
- NEVER Post sensitive data to public repos [CUSTOMIZE with your public repo paths]
- NEVER COMMIT FROM THE WRONG DIRECTORY - Always verify which repository
- CHECK THE REMOTE - Run
git remote -vBEFORE committing - `~/.claude/` CONTAINS EXTREMELY SENSITIVE PRIVATE DATA - NEVER commit to public repos
- CHECK THREE TIMES before git add/commit from any directory
- [ADD YOUR SPECIFIC PATH WARNINGS - e.g., "If in ~/Documents/iCloud - THIS IS MY PUBLIC DOTFILES REPO"]
- ALWAYS COMMIT PROJECT FILES FROM THEIR OWN DIRECTORIES
- Before public repo commits, ensure NO sensitive content (relationships, journals, keys, passwords)
- If worried about sensitive content, prompt user explicitly for approval
Infrastructure Caution
Be EXTREMELY CAUTIOUS when working with:
- AWS
- Cloudflare
- [ADD YOUR SPECIFIC INFRASTRUCTURE - GCP, Azure, DigitalOcean, etc.]
- Any core production-supporting services
Always prompt user before significantly modifying or deleting infrastructure. For GitHub, ensure save/restore points exist.
[CUSTOMIZE THIS WARNING - e.g., "YOU ALMOST LEAKED SENSITIVE DATA TO PUBLIC REPO - THIS MUST BE AVOIDED"]
Contacts and Communication
Auto-loaded when: Email tasks, social media, or contact names mentioned
---
Key Contacts
Customize this section with your key contacts:
When you mention these first names, your AI will know who you're referring to:
- Alice [Manager] - alice@company.com
- Bob [Team Lead] - bob@company.com
- Carol [Client] - carol@client.com
- Dave [Partner] - dave@partner.com
Tips:
- Include role/relationship context to help AI understand the relationship
- Use first names that are unique enough to avoid confusion
- Include email addresses for quick reference when composing emails
---
Social Media Accounts
Customize this section with your social media:
- YouTube: https://www.youtube.com/@your-channel
- X/Twitter: https://x.com/yourhandle
- LinkedIn: https://www.linkedin.com/in/yourname/
- GitHub: https://github.com/yourusername
- Instagram: https://instagram.com/yourhandle
- Blog: https://yourblog.com
Why include this:
- Quick reference when creating social media posts
- Consistent branding across platforms
- Easy sharing of content to multiple channels
---
Stack Preferences and General Instructions
Auto-loaded when: New projects, build commands, technology decisions
---
Global Stack Preferences
Customize your technology preferences:
Languages
- Primary Language: TypeScript (or Python, Rust, Go, etc.)
- Secondary Language: Python (when needed)
- Avoid: [Languages you prefer not to use]
Package Managers
- JavaScript/TypeScript: bun (or npm, yarn, pnpm)
- Python: uv (or pip, poetry, conda)
- Rust: cargo
- Go: go mod
Frameworks & Tools
- Web Framework: Next.js (or React, Vue, Svelte, etc.)
- Database: PostgreSQL (or MySQL, MongoDB, etc.)
- Testing: Vitest (or Jest, Pytest, etc.)
- Styling: Tailwind CSS (or styled-components, CSS modules, etc.)
---
General Instructions
Customize how your AI should work:
1. Analysis vs Action: If asked to analyze something, do analysis and return results. Don't change things unless explicitly asked.
2. Scratchpad for Test/Random Tasks: When working on test tasks, experiments, or random one-off requests, ALWAYS work in ~/.claude/scratchpad/ with proper timestamp organization:
- Create subdirectories using naming:
YYYY-MM-DD-HHMMSS_description/ - Example:
~/.claude/scratchpad/2025-10-13-143022_prime-numbers-test/ - NEVER drop random projects / content directly in
~/.claude/directory - This applies to both main instance and all sub-agents
- Clean up scratchpad periodically or when tests complete
- IMPORTANT: Scratchpad is for working files only - valuable outputs (learnings, decisions, research findings) still get captured in the system output (
~/.claude/history/) via hooks
3. Hooks: Configured in ~/.claude/settings.json
4. Project Structure: [Add your preferred project structure conventions]
5. Code Style: [Add your code style preferences]
- Example: "Prefer functional programming patterns"
- Example: "Use explicit typing, avoid 'any'"
- Example: "Write self-documenting code with minimal comments"
---
Response Format Guidelines
Auto-loaded when: Completing substantive tasks, project work sessions
---
Recommended Response Format
Customize how you want responses structured:
Option 1: Structured Format (Comprehensive)
📅 [Use actual current date from system: YYYY-MM-DD HH:MM:SS]
📋 SUMMARY: Brief overview of request and accomplishment
🔍 ANALYSIS: Key findings and context
⚡ ACTIONS: Steps taken with tools used
✅ RESULTS: Outcomes and changes made - SHOW ACTUAL OUTPUT CONTENT
📊 STATUS: Current state after completion
➡️ NEXT: Recommended follow-up actions
🎯 COMPLETED: Completed [task description in 6 words]
🗣️ CUSTOM COMPLETED: [Optional: Voice-optimized response under 8 words]Option 2: Simple Format
## Summary
[Brief overview]
## What I Did
[Actions taken]
## Results
[Outcomes]
## Next Steps
[Recommendations]Option 3: Minimal Format
Just provide clear, concise responses without specific structure.
---
When to Use Structured Responses
Use structured format for:
- Feature implementations
- Bug fixes
- Complex multi-step tasks
- Project completions
Skip structured format for:
- Simple file reads
- Code searches
- Quick questions
- Information retrieval
---
Customization Tips
1. Choose emojis that resonate with you (or remove them entirely) 2. Adjust verbosity to match your preferences 3. Add sections that are useful for your workflow (e.g., "Testing Notes", "Performance Impact") 4. Remove sections that don't add value for you
---
Detailed Security Procedures
Auto-loaded when: Git operations, infrastructure work (AWS, Cloudflare, etc.), sensitive operations
---
🚨 SECURITY SECTION CRITICAL 🚨
Repository Safety (Detailed)
Customize with your specific security requirements:
- NEVER post sensitive data to public repos
- NEVER COMMIT FROM THE WRONG DIRECTORY - Always verify which repository
- CHECK THE REMOTE - Run
git remote -vBEFORE committing - `~/.claude/` MAY CONTAIN SENSITIVE PRIVATE DATA - NEVER commit to public repos
- CHECK THREE TIMES before git add/commit from any directory
- ALWAYS COMMIT PROJECT FILES FROM THEIR OWN DIRECTORIES
- Before public repo commits, ensure NO sensitive content (credentials, keys, passwords, personal data, API tokens)
- If worried about sensitive content, review carefully before committing
Common Sensitive File Patterns to Avoid
Never commit files like:
.env,.env.local,.env.productioncredentials.json,secrets.yamlconfig/production.yml(with real credentials)- API keys, access tokens, private keys
~/.ssh/,~/.aws/,~/.config/directories- Personal journals, notes with sensitive info
- Customer data, PII (Personally Identifiable Information)
Infrastructure Caution
Customize with your infrastructure:
Be EXTREMELY CAUTIOUS when working with:
- Cloud infrastructure (AWS, GCP, Azure, DigitalOcean)
- DNS and domain management (Cloudflare, Route53, etc.)
- Database systems (especially production)
- Payment processing (Stripe, PayPal)
- Any core production-supporting services
Best Practices
1. Always verify operations before:
- Deleting resources
- Modifying production infrastructure
- Running destructive commands
- Pushing to main/master branches
2. Use git safety features:
- Branch protection rules
- Required pull request reviews
- Status checks before merging
- Signed commits (optional but recommended)
3. For GitHub specifically:
- Ensure save/restore points exist (tags, backups)
- Use
.gitignoreextensively - Review diffs before committing
- Use GitHub's secret scanning
4. API Key Management:
- Use environment variables, never hardcode
- Rotate keys regularly
- Use different keys for dev/staging/prod
- Consider using secret management tools (Vault, AWS Secrets Manager)
---
Your Custom Security Rules
Add your own security rules and warnings here:
Example:
- Never run database migrations without backup
- Always test infrastructure changes in staging first
- Never rm -rf without double-checking the path- Keep separate AWS accounts for personal/work projects
---
Agent Voice IDs
Auto-loaded when: Voice system operations, agent routing, ElevenLabs references
Note: This file is only needed if you're using the PAI voice system with ElevenLabs.
---
🎤 Agent Voice IDs (ElevenLabs)
Customize with your ElevenLabs voice IDs:
For voice system routing, assign voice IDs to each agent:
- kai: [your-voice-id-here]
- perplexity-researcher: [your-voice-id-here]
- claude-researcher: [your-voice-id-here]
- gemini-researcher: [your-voice-id-here]
- pentester: [your-voice-id-here]
- engineer: [your-voice-id-here]
- principal-engineer: [your-voice-id-here]
- designer: [your-voice-id-here]
- architect: [your-voice-id-here]
- artist: [your-voice-id-here]
- writer: [your-voice-id-here]
---
How to Get ElevenLabs Voice IDs
1. Sign up at https://elevenlabs.io 2. Go to Voice Library or create custom voices 3. Click on a voice to see its ID 4. Copy the voice ID (format: AbCdEfGh12345678) 5. Paste into the list above
---
Voice Personality Suggestions
Consider matching voice characteristics to agent roles:
- kai (main assistant): Warm, friendly, conversational
- researcher agents: Clear, professional, informative
- engineer: Technical, precise, methodical
- architect: Strategic, thoughtful, authoritative
- designer: Creative, enthusiastic, detail-oriented
- pentester: Analytical, thorough, security-focused
---
Not Using Voice System?
If you're not using the voice system, you can: 1. Delete this file 2. Remove voice-ids.md references from SKILL.md 3. The PAI system will work perfectly fine without it
---