Guro
Guro is a prompt & skill engineering library designed for AI agents and assistants with task-specific behavior. From academic writing to financial analysis, technical support, SEO, and beyond — Guro provides precision-crafted prompt templates ready to drop into your LLM workflows.
🚀 Overview
Guro is a curated library of 252 specialized system prompts structured for compatibility with OpenAI, Anthropic, Cohere, and other LLM providers. It’s ideal for:
- 🔬 Research Assistants & Academic Writers
- 🧾 Budget Analysis & Financial Planning
- 🧠 Reasoning Agents
- 🎨 ASCII Artist & Visual Designers
- 🧩 General AI Agents with Task-Scoped Roles
📂 Project Structure
Guro/
└── guro/
├── __init__.py
├── instructions/
│ ├── __init__.py
│ ├── text.py
│ ├── image.py
│ └── audio.py
├── README.md
├── LICENSE
├── requirements.txt
├── data/
│ └── Prompts.db
├── ipynb/
│ └── ...
├── prompts/
│ ├── AcademicWriter.md
│ ├── BudgetAnalyst.md
│ ├── DataScientist.md
│ ├── ExpertProgrammer.md
│ └── ...
└── resources/
└── Images/
└── Github/
└── guro_project.png
🐍 Instruction Library
The Guro instruction catalog is organized as an instructions package rather than a single monolithic instructions.py module. The package contains 252 prompt constants grouped by modality while preserving the original uppercase snake-case names and Markdown instruction text.
guro/instructions/
├── __init__.py
├── text.py
├── image.py
└── audio.py
The package-level guro.instructions namespace acts as the compatibility layer and exposes the complete instruction catalog. Existing code that imports instructions through the package can therefore continue to use the same public access pattern:
from guro import instructions
Individual modality modules may also be imported directly when an application only needs a specific class of instructions:
from guro.instructions import text
from guro.instructions import image
from guro.instructions import audio
Or individual prompt constants can be imported from their owning module:
from guro.instructions.text import ACADEMIC_WRITER
from guro.instructions.image import IMAGE_ANALYZER
from guro.instructions.audio import VERBATIM_TRANSCRIBER
Instruction Categories
The instruction modules are derived from the prompt categories maintained in the Guro prompt catalog.
| Module | Categories | Prompt Count |
|---|---|---|
text.py |
Research / Academic; Prompt Engineering; Writing / Administrative; Compliance / Legal / Budget; Business / Finance / Marketing; Software Engineering; Software Engineer; Data Analytics & Governance; Instruction / Training / Planning | 172 |
image.py |
Image Generation; Image Analysis; Image Editing | 45 |
audio.py |
Translation API; Transcription API; Speech API | 35 |
| Total | 252 |
This separation keeps text-oriented system instructions independent from image and audio API instructions while preserving one unified public catalog through guro.instructions.
Public API
Each instruction module declares its prompt constants explicitly and exposes the same helper API for discovery, iteration, and dynamic lookup. The package-level compatibility layer provides that API across all three modules.
| Member | Purpose |
|---|---|
instructions.<NAME> |
Accesses any known instruction directly through the unified package namespace. |
instructions.get(name) |
Retrieves an instruction whose name is determined at runtime. |
instructions.names() |
Returns all 252 exported instruction names in catalog order. |
instructions.values() |
Returns all exported instruction texts in catalog order. |
instructions.items() |
Returns (name, text) pairs in catalog order. |
instructions.__all__ |
Defines the complete public instruction catalog. |
text.<NAME> |
Accesses a text-oriented instruction directly. |
image.<NAME> |
Accesses an image-generation, image-analysis, or image-editing instruction directly. |
audio.<NAME> |
Accesses a translation, transcription, or speech instruction directly. |
Each submodule also provides its own __all__, names(), values(), items(), and get() members for modality-specific discovery.
🎯 Direct Instruction Access
Use package-level direct attribute access when the required instruction is known while writing the application:
from guro import instructions
system_instruction = instructions.ACADEMIC_WRITER
print( system_instruction )
The compatibility namespace resolves constants from all three modality modules:
from guro import instructions
text_instruction = instructions.DATA_SCIENTIST
image_instruction = instructions.IMAGE_ANALYZER
audio_instruction = instructions.VERBATIM_TRANSCRIBER
🧭 Modality-Specific Access
Import a submodule when an application should work only with one instruction modality:
from guro.instructions import text
system_instruction = text.EXPERT_PROGRAMMER
print( system_instruction )
Image instructions are available from image.py:
from guro.instructions import image
system_instruction = image.IMAGE_ANALYZER
print( system_instruction )
Audio instructions are available from audio.py:
from guro.instructions import audio
system_instruction = audio.VERBATIM_TRANSCRIBER
print( system_instruction )
🔎 Dynamic Instruction Lookup
Use the package-level get() function when an instruction name comes from configuration, user selection, a database, or another runtime source:
from guro import instructions
instruction_name = 'DATA_SCIENTIST'
system_instruction = instructions.get( instruction_name )
print( system_instruction )
An undefined instruction raises KeyError:
from guro import instructions
try:
system_instruction = instructions.get( 'UNDEFINED_INSTRUCTION' )
except KeyError as ex:
print( ex )
The same lookup pattern is available on individual modality modules:
from guro.instructions import image
system_instruction = image.get( 'IMAGE_ANALYZER' )
📋 Iterate Over Instruction Names
The package-level names() function returns the complete exported instruction catalog:
from guro import instructions
for instruction_name in instructions.names( ):
print( instruction_name )
For a modality-specific catalog, call names() on the corresponding module:
from guro.instructions import audio
for instruction_name in audio.names( ):
print( instruction_name )
This is useful for populating dropdown lists, command-line menus, configuration tools, and user-selectable interfaces.
🔁 Iterate Over Instruction Values
The values() function returns each exported instruction text:
from guro import instructions
for instruction_text in instructions.values( ):
print( instruction_text )
The same operation can be scoped to one modality:
from guro.instructions import image
for instruction_text in image.values( ):
print( instruction_text )
🧩 Iterate Over Names and Text
Use items() when both the instruction name and its Markdown text are required:
from guro import instructions
for instruction_name, instruction_text in instructions.items( ):
print( f'Instruction: {instruction_name}' )
print( instruction_text )
print( )
🖥️ Build a User-Selectable Catalog
Instruction names can be displayed to a user and resolved dynamically:
from guro import instructions
available_instructions = instructions.names( )
for index, instruction_name in enumerate( available_instructions, start=1 ):
print( f'{index}. {instruction_name}' )
selected_index = 1
selected_name = available_instructions[ selected_index - 1 ]
selected_instruction = instructions.get( selected_name )
print( selected_instruction )
A UI can also expose separate modality selectors:
from guro.instructions import audio, image, text
text_options = text.names( )
image_options = image.names( )
audio_options = audio.names( )
🗂️ Filter Instructions by Name
Because instruction members use uppercase snake case, they can still be filtered predictably:
from guro.instructions import text
data_instruction_names = tuple(
name for name in text.names( )
if name.startswith( 'DATA_' )
)
for instruction_name in data_instruction_names:
print( instruction_name )
📦 Create a Dictionary Catalog
Use items() to create a standard dictionary for filtering, serialization, testing, or UI binding:
from guro import instructions
instruction_catalog = dict( instructions.items( ) )
system_instruction = instruction_catalog[ 'EXPERT_PROGRAMMER' ]
print( system_instruction )
A modality-specific catalog can be created the same way:
from guro.instructions import image
image_catalog = dict( image.items( ) )
🤖 Pass an Instruction to an LLM Client
Text instruction values remain standard Python strings and can be passed directly as system instructions or system messages:
from guro.instructions import text
system_instruction = text.EXPERT_PROGRAMMER
messages = [
{
'role': 'system',
'content': system_instruction,
},
{
'role': 'user',
'content': 'Review this Python function for correctness.',
},
]
Image and audio instruction strings can likewise be supplied to API workflows that accept instructional text:
from guro.instructions import audio, image
image_instruction = image.IMAGE_ANALYZER
audio_instruction = audio.VERBATIM_TRANSCRIBER
🧠 Tooling Support
All prompt constants remain concrete Python symbols, preserving IDE completion, static-analysis support, type-checker visibility, and documentation-generation compatibility.
Each modality module defines an explicit __all__ tuple for its supported public symbols. The package-level instructions.__all__ combines those catalogs into the complete 252-instruction public API, while names(), values(), items(), and get() provide stable discovery and runtime lookup interfaces.
The modular design provides three advantages:
- Separation of concerns — text, image, and audio workflows no longer share one very large source module.
- Selective imports — applications can load only the modality-specific catalog they need.
- Backward compatibility — existing
from guro import instructionsusage continues to expose the unified catalog.
🌟 Automation Analyst
📊 Apportionment Processor
📝 Academic Writer
📊 Adaptive Analyst
🎨 ASCII Artist
🧩 Agenda Maker
🎯 Artsy Fartsy
😀 Author Emulator
🏛️ Appropriations Analyst
🧠 Budget Analyst
🧙 Budget Gandolf
👨🚀 Budget Buddy
🕵️ Business Analyst
🗂️ Business Planner
🔍 Business Researcher
📝 Book Summarizer
🧠 Brain Stormer
⚙️ Complex Problem Analyst
🧠 Chain Of Density
🧩 Checklist Creator
🧐 Code Reviewer
🌟 Cognitive Profiler
🔍 Company Researcher
🧠 Course Creator
🧐 Critical Thinker
📊 Data Analyst
🌟 Data Cleaner
🔎 Data Farmer
🎯 Data Plumber
🌐 Data Scientist
🌟 Data Visualizer
🧠 Dataset Analyzer
🧩 Decision Maker
🎯 Dependency Indentifier
🌐 Document Interrogator
🧾 Document Summarizer
🎯 Dashboard Analyst
🌟 Excel Ninja
📝 Educational Writer
🤖 Email Assistant
🧩 Entertainment Advisor
📝 Essay Writer
🧩 Evaluation Expert
🤖 Executive Assistant
💻 Expert Programmer
🎯 Excel Analyst
📊 Exploratory Data Analyzer
🏗️ Feature Department
🗂️ Financial Planner
🗂️ Financial Advisor
🗂️ Financial Analyst
🏗️ Form Builder
🌍 Geographic Guesser
🏗️ How-To Builder
🎤 Interview Coach
📊 Investment Analyst
🌟 Innovation Analyst
🧩 Jack Of All Trades
⚡ Keyword Generator
⚙️ Legal Analyst
🌐 Management Consultant
📈 Market Forecaster
🗂️ Market Planner
🔍 Market Researcher
🧙 Mathy Magician
🎯 Media Profile Designer
⚙️ Meeting Optimizer
🧾 Meeting Summarizer
🎓 Multi Professor
🧩 Outlook Analyst
🎯 PBI Expert
🧙 PBI Analyst
🌐 PDF Parser
🤖 Personnal Assistant
🧩 Power Pointer
🧠 Problem Solver
🛠️ Process Engineer
🧙 Power Query Analyst
🎯 Project Architech
🗂️ Project Planner
🌐 Prompt Enhancer
📋 Prompt Evaluator
🧙 Procurement Analyst
⚡ Prompt Generator
🛠️ Prompt Refiner
🧩 Proofreading Specialist
🤖 Python Analyst
📝 Random Writer
🧠 Research Analyst
📊 Reasoning Analyst
🧩 Research Expert
🌐 Results Creator
🏗️ Resume Builder
📝 Resume Writer
🧩 Revenue Projector
⚡ Root-Cause Analyzer
🧩 Red Team Analyst
⚡ Sentiment Analyst
⚙️ Search Optimizer
📊 SQL Analyst
🧐 Strategic Thinker
🧠 Structured Problem Solver
🗂️ Sustainability Planner
🧠 Speech Writer
🧙 Statistics Analyst
🗂️ Task Planner
🤖 Teaching Assistant
📊 Tech-Support Analyst
🎯 Training Content Designer
🎯 Training Plan Designer
🗂️ Training Planner
⚡ Training Wheels
🎯 Wealth Analyst
🎯 Web Designer
⚙️ Web Search Optimizer
✏️ Writing Editor
🧙 What-If Analyst
✍️ Youtube Scribe
🧾 Youtube Summarizer
🧾 Document Summarizer
📋 Prompt Evaluator
📝 License
Guro is published under the MIT General Public License v3.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file guro_py-0.1.0.tar.gz.
File metadata
- Download URL: guro_py-0.1.0.tar.gz
- Upload date:
- Size: 298.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4eb44939d615c0660f82f8b24aa6a2b7bba13777a9891bb045c618361785f208
|
|
| MD5 |
7303877103ef6d6b31c43cd576d361aa
|
|
| BLAKE2b-256 |
893bb0f62cf44bbb1fe5181896ce63135adafebaa3fa61b5951fc66eec08639e
|
Provenance
The following attestation bundles were made for guro_py-0.1.0.tar.gz:
Publisher:
release.yml on is-leeroy-jenkins/guro
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
guro_py-0.1.0.tar.gz -
Subject digest:
4eb44939d615c0660f82f8b24aa6a2b7bba13777a9891bb045c618361785f208 - Sigstore transparency entry: 2701807672
- Sigstore integration time:
-
Permalink:
is-leeroy-jenkins/guro@73a9ee19db01bdbbf9c39bb95da3c524233c8639 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/is-leeroy-jenkins
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@73a9ee19db01bdbbf9c39bb95da3c524233c8639 -
Trigger Event:
release
-
Statement type:
File details
Details for the file guro_py-0.1.0-py3-none-any.whl.
File metadata
- Download URL: guro_py-0.1.0-py3-none-any.whl
- Upload date:
- Size: 296.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
064646cfb80f341a05e967e86ac61ccb7214e081110dbc927b05fef64757dcdb
|
|
| MD5 |
f51b849ebad4e0e06ca41383648466e1
|
|
| BLAKE2b-256 |
79a574784e783c1eebe949075635e3895c4738d56ebb4dee4c249b0964dead16
|
Provenance
The following attestation bundles were made for guro_py-0.1.0-py3-none-any.whl:
Publisher:
release.yml on is-leeroy-jenkins/guro
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
guro_py-0.1.0-py3-none-any.whl -
Subject digest:
064646cfb80f341a05e967e86ac61ccb7214e081110dbc927b05fef64757dcdb - Sigstore transparency entry: 2701807796
- Sigstore integration time:
-
Permalink:
is-leeroy-jenkins/guro@73a9ee19db01bdbbf9c39bb95da3c524233c8639 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/is-leeroy-jenkins
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@73a9ee19db01bdbbf9c39bb95da3c524233c8639 -
Trigger Event:
release
-
Statement type: