It's just a JSON file, so you can use it in any environment.
pip install ai-personasimport 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.
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', ...]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...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', ...]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.
# ...def fill_vars_in_template(prompt, vals={}):
import re
return re.sub(r'\$\{(.*?)\}', lambda match: vals.get(match.group(1), match.group(0)), prompt)
prompt = personas['Node.js Automation Script Developer']['prompt']
filled_prompt = fill_vars_in_template(prompt, {'taskType': 'web scraping'})
print(filled_prompt)
# =>
# ...
# Your task is to:
# - Write efficient Node.js scripts to automate web scraping.
# ...mega_prompt = f'''
When I start w/ sh: follow prompt A. When I start w/ win: follow prompt B.
Prompt A: {ai_personas['Linux Terminal']['prompt']}
Prompt B: {ai_personas['Windows Terminal']['prompt']}
'''
print(mega_prompt)
# =>
#
# When I start w/ sh: follow prompt A. When I start w/ win: follow prompt B.
#
# Prompt A: I want you to act as a linux terminal...
#
# Prompt B: I want you to act as a Windows Terminal...system_prompt = ai_personas['Study Planner']['prompt']
messages = [
{'role': 'system', 'content': system_prompt},
{'role': 'user', 'content': 'Create a weekly study plan for calculus'}
]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| Data | CC0 1.0 Universal | Public domain |
| Code | MIT License | © 2026 KudoAI & contributors |
All contributions are very welcome!





