Metadata-Version: 2.4
Name: ai-personas
Version: 1.3.1
Summary: 1,200+ AI personas for LLMs and agents.
Author-email: KudoAI <contact@kudoai.com>
Maintainer-email: Adam Lui <adam@kudoai.com>
License-Expression: MIT
Project-URL: Changelog, https://github.com/KudoAI/ai-personas/releases/tag/ai-personas-1.3.1
Project-URL: Documentation, https://github.com/KudoAI/ai-personas/tree/main/python/#readme
Project-URL: Funding, https://github.com/sponsors/KudoAI
Project-URL: Homepage, https://github.com/KudoAI/ai-personas/#readme
Project-URL: Issues, https://github.com/KudoAI/ai-personas/issues
Project-URL: PyPI Stats, https://pepy.tech/projects/ai-personas
Project-URL: Releases, https://github.com/KudoAI/ai-personas/releases
Project-URL: Repository, https://github.com/KudoAI/ai-personas
Keywords: agents,ai,ai-personas,chat-prompts,chatgpt,claude,dataset,gemini,gen-ai,llm,llm-prompts,personas,prompt-engineering,prompts,system-prompts,text-generation
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Customer Service
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Education
Classifier: Intended Audience :: End Users/Desktop
Classifier: Intended Audience :: Financial and Insurance Industry
Classifier: Intended Audience :: Healthcare Industry
Classifier: Intended Audience :: Information Technology
Classifier: Intended Audience :: Legal Industry
Classifier: Intended Audience :: Manufacturing
Classifier: Intended Audience :: Other Audience
Classifier: Intended Audience :: Religion
Classifier: Intended Audience :: Science/Research
Classifier: Intended Audience :: System Administrators
Classifier: Intended Audience :: Telecommunications Industry
Classifier: Natural Language :: English
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 2.6
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Programming Language :: Python :: 3.15
Classifier: Topic :: Education
Classifier: Topic :: Education :: Computer Aided Instruction (CAI)
Classifier: Topic :: Scientific/Engineering
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Classifier: Topic :: Scientific/Engineering :: Information Analysis
Classifier: Topic :: Software Development
Classifier: Topic :: Software Development :: Libraries
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: Text Processing
Classifier: Topic :: Text Processing :: General
Classifier: Topic :: Text Processing :: Linguistic
Classifier: Topic :: Utilities
Requires-Python: <4,>=2.6
Description-Content-Type: text/markdown
License-File: docs/licenses/LICENSE-CODE.md
License-File: docs/licenses/LICENSE-DATA.md
Provides-Extra: dev
Requires-Dist: nox>=2026.4.10; extra == "dev"
Requires-Dist: pre-commit<5,>=4.5.1; extra == "dev"
Requires-Dist: tomli<3,>=2.4.1; extra == "dev"
Requires-Dist: tomli-w<2,>=1.2.0; extra == "dev"
Dynamic: license-file

# > ai-personas

> ### _1,200+ AI personas for LLMs and agents._

It's just a [JSON file](https://cdn.jsdelivr.net/gh/KudoAI/ai-personas@python-v1.3.1/data/ai-personas.json), so you can use it in any environment.

## ⚡ Installation

```bash
pip install ai-personas
```


## 🔌 Usage

```py
import ai_personas

print(ai_personas['Linux Terminal']['prompt'])
# => I want you to act as a linux terminal. I will type commands and you will...
```

_Note: Most type checkers will falsely warn_ `ai_personas` _is not subscriptable because they are incapable of analyzing runtime behavior (where the module is replaced w/ a dictionary for cleaner, direct access). You can safely suppress such warnings using_ `# type: ignore`.

## 💻 Examples

#### Find personas by keyword:

```py
def find_personas(keyword):
    return [
        persona for persona, data in ai_personas.items()
            if keyword.lower() in data['prompt'].lower()
    ]

print(find_personas('coach'))
# => ['Interview Preparation Coach', 'Life Coach', ...]
```

#

#### Get prompt for a persona:

```py
def get_prompt(persona):
    return ai_personas[persona]['prompt']

print(get_prompt('Food Critic'))
# => I want you to act as a food critic. I will tell you about a restaurant...
```

#

#### Get random personas:

```py
def random_persona(qty=1):
    import random
    random_personas = random.sample(list(ai_personas), qty)
    return random_personas[0] if qty == 1 else random_personas

print(random_persona())
# => e.g. Reverse Prompt Engineer

print(random_persona(10))
# => e.g. ['Internet Trend & Slang Intelligence', 'Tic-Tac-Toe Game', ...]
```

#

#### Get random prompt:

```py
def random_prompt():
    import random
    return random.choice(list(ai_personas.values()))['prompt']

print(random_prompt())

# e.g. =>
#
# Act as a Node.js Automation Script Developer. You are an expert in creating
# automated scripts using Node.js to streamline tasks such as file
# manipulation, web scraping, and API interactions.
#
# Your task is to:
# - Write efficient Node.js scripts to automate ${taskType}.
# - Ensure the scripts are robust and handle errors gracefully.
# - Use modern JavaScript syntax and best practices.
# ...
```

#

#### Fill variables in template prompts:

```py
prompt = ai_personas['Node.js Automation Script Developer']['prompt']
filled_prompt = prompt.replace('${taskType}', 'web scraping')

print(filled_prompt)

# =>
# ...
# Your task is to:
# - Write efficient Node.js scripts to automate web scraping.
# ...
```

#

#### Combine prompts:

```py
mega_prompt = f'''
When I start w/ sh: follow prompt A. When I start w/ dax: follow prompt B.

Prompt A: {ai_personas['Linux Terminal']['prompt']}

Prompt B: {ai_personas['DAX Terminal']['prompt']}
'''

print(mega_prompt)

# =>
#
# When I start w/ sh: follow prompt A. When I start w/ dax: follow prompt B.
#
# Prompt A: I want you to act as a linux terminal...
#
# Prompt B: I want you to act as a DAX terminal...
```

#

#### Build system prompt:

```py
system_prompt = ai_personas['Study Planner']['prompt']

messages = [
    {'role': 'system', 'content': system_prompt},
    {'role': 'user', 'content': 'Create a weekly study plan for calculus'}
]
```

#

#### Use persona w/ an LLM:

```py
from openai import OpenAI

client = OpenAI()

shell_persona = ai_personas['Linux Terminal']['prompt']
shell_cmd = 'echo "UTC time: $(date -u +%H:%M:%S)"'

response = client.chat.completions.create(
    model='gpt-5.4',
    messages=[
        {'role': 'system', 'content': shell_persona},
        {'role': 'user', 'content': shell_cmd}
    ]
)

print(response.choices[0].message.content)
# e.g. => UTC time: 15:23:42
```


## 🏛️ License

         Data
         CC0 1.0 Universal (https://github.com/KudoAI/ai-personas/blob/main/python/docs/licenses/LICENSE-DATA.md)
         Public domain

         Code
         MIT License (https://github.com/KudoAI/ai-personas/blob/main/python/docs/licenses/LICENSE-CODE.md)
         © 2026 KudoAI (https://www.kudoai.com) & contributors

## 🧠 Contributors

All contributions are very welcome!

## 📜 Related

 DuckDuckGPT  

> [][googlegpt-install][][ddgpt-install][][ddgpt-install][][ddgpt-install][][ddgpt-install][][ddgpt-install]
> [Install][ddgpt-install] /
> [][ddgpt-readme] [Readme][ddgpt-readme] /
> [][ddgpt-discuss] [Discuss][ddgpt-discuss]

[ddgpt-install]: https://github.com/KudoAI/duckduckgpt/#-installation
[ddgpt-readme]: https://github.com/KudoAI/duckduckgpt/#readme
[ddgpt-discuss]: https://github.com/KudoAI/duckduckgpt/discussions

 GoogleGPT  

> [][googlegpt-install][][googlegpt-install][][googlegpt-install][][googlegpt-install][][googlegpt-install][][googlegpt-install]
> [Install][googlegpt-install] /
> [][googlegpt-readme] [Readme][googlegpt-readme] /
> [][googlegpt-discuss] [Discuss][googlegpt-discuss]

[googlegpt-install]: https://github.com/KudoAI/googlegpt/#-installation
[googlegpt-readme]: https://github.com/KudoAI/googlegpt/#readme
[googlegpt-discuss]: https://github.com/KudoAI/googlegpt/discussions

 **More Python utilities** (https://github.com/adamlui/python-utils/#readme) /
Discuss (https://github.com/KudoAI/ai-personas/discussions) /
Report bug (https://github.com/KudoAI/ai-personas/issues) /
Report vulnerability (mailto:security@tidelift.com) /
Back to top ↑
