awesome-llm-apps collects a large number of runnable AI Agents, RAG applications, and Agent Skills. Its value is not “the number of projects”, but that you can directly pick a small example and understand how models, tools, states and interfaces are connected.
Project address: Shubhamsaboo/awesome-llm-apps
Quick Answer
If you are just starting to learn, first choose the single-file application under starter_ai_agents; if you are already using Codex, Claude Code or Cursor, then look at agent_skills; only enter the RAG example if you need knowledge base Q&A. Do not install all dependencies for the entire repository at once.
Take travel agent as an example:
|
|
It is recommended to create a virtual environment first, read the README of the subdirectory, and confirm the required API Key name before starting it.
How to select examples
| Goals | Priority Catalog |
|---|---|
| Learn the minimal Agent loop | starter_ai_agents |
| Add capabilities to programming Agent | agent_skills |
| Q&A on PDF, web page or database | RAG related directory |
| Compare multiple model collaborations | Mixture of Agents example |
| Do data analysis | CSV, Excel data analysis Agent |
Let’s first look at the number of dependencies and external services. For projects that require databases, vector libraries, and multiple API Keys, the deployment cost is usually higher than the single-file Streamlit example.
Install an Agent Skill
The repository provides Skills that can be installed with npx skills add. For example Project Graveyard:
|
|
Before installing a third-party Skill, you should read SKILL.md and the accompanying script to confirm which files it can access, whether it calls the network, and whether it executes commands. Don’t assume that all code is suitable for production just because the repository name has awesome.
API Key Security Check
- Use
.env, do not write the Key directly into Python; - Confirm that
.envhas joined.gitignore; - Use an independent Key with a lower limit for the sample project;
- Check whether the log and Streamlit page echo the key;
- Set clear scopes for file uploads, shells, and browser tools.
How to read the repository directory
Do not open files one by one starting from the root directory. First determine whether you want to learn Agent, Skill or RAG, and then enter the corresponding subdirectory. Each example usually has its own dependencies and environment variables, which are not necessarily compatible with each other.
Starter AI Agents
This type of project is suitable for first time runs. Focus on observing four parts: how user input enters the program, how the model is initialized, how the tool is called, and how the results are displayed. Reading a complete data stream first is more useful than running ten interfaces.
Agent Skills
Skill is not necessarily a standalone application, it may be loaded by Codex, Claude Code or Cursor for specific tasks. In addition to SKILL.md, the review also looks at scripts, dependencies, network requests and writing directories.
RAG APP
RAG examples will include document parsing, segmentation, Embedding, vector storage and retrieval. When answering errors, check them layer by layer and do not attribute all problems to the model.
Multi-Agent Application
Multiple models or roles increase cost and difficulty of debugging. First confirm whether a single Agent is really unable to complete the task, and then introduce planning, execution and summary roles.
Create a separate environment for each example
Take the Python project as an example:
|
|
Windows PowerShell activation:
|
|
Linux or macOS:
|
|
Then install the dependencies of the current subdirectory. After running, use pip freeze or a lock file to record the actual version to avoid reinstalling in a few days and getting different dependency combinations.
Run a complete check of the travel agent
The official example command is:
|
|
Before executing, read the current directory README and source code to confirm which models and search services are required. After starting, test in the following order:
- Enter a simple city and date;
- Check whether there are unhandled exceptions in the terminal;
- Check whether the external search results include the source;
- Use a non-existent location to test error handling;
- Refresh the page and observe whether the session is lost;
- Estimate how many models and tools a complete request calls.
How to change the example into your own application
Don’t stack functionality directly in the cloned repository. First copy the target subdirectory to an independent project, and then complete the following organization:
- Delete unused Provider;
- Concentrate environment variables into sample files;
- Fixed dependency versions;
- Increase input length and file size limits;
- Set timeout for tool calls;
- Desensitize keys and personal information in logs;
- Added minimum testing and startup instructions.
If it is to be deployed publicly, authentication, current limiting, fee capping and abuse handling are also required. A Streamlit example that can be run locally does not mean that it can be directly exposed to the public network.
How to audit before installing Agent Skill
Taking npx skills add as an example, the installation action may write files to the Agent’s skill directory. The review checklist includes:
- Whether the repository owner and specific path are correct;
- Whether the Skill comes with an executable script;
- Whether the script reads the home directory, SSH Key, environment variables or browser data;
- Whether to call third-party network services;
- Whether administrator rights are required;
- Whether the trigger description is too broad and may be automatically run in unrelated tasks.
Team environments should lock commit versions instead of always installing main on changes.
RAG example why “it can run but is not easy to use”
RAG quality depends on the entire link:
|
|
If the PDF is extracted as garbled characters, it cannot be repaired by replacing the larger model. It is recommended to save and view the intermediate results of each step, and at least spot-check the segmented text and the final retrieved fragments.
Cost and Privacy
Examples To demonstrate effects, multiple models, search APIs, or image services may be used. Pre-run statistics:
- Call the model several times in one request;
- Whether to upload complete files;
- Whether the search term contains user privacy;
- Whether to save the session;
- Whether to enable telemetry by default;
- Whether the failed retries may result in repeated billing.
Creating separate API keys for experiments and setting budgets or rate limits are the lowest-cost protection measures.
Troubleshooting table
| Problems | Common causes | Solutions |
|---|---|---|
| Module not found | The environment is not activated or the dependencies are installed in the wrong directory | Check the Python path and virtual environment |
| 401 | API Key is invalid or variable name is wrong | Check subdirectory README |
| 429 | Quota, concurrency, or rate limits | Reduce requests and view provider quotas |
| Streamlit blank | Startup exception or browser cache | Check the terminal log and reload |
| RAG answers partial questions | Segment or retrieve questions | Check the hit text without changing the model first |
| Skill does not trigger | Installation path or description does not match | Check Agent’s Skill list |
FAQ
pip install What to do if there is a conflict?
Use a separate virtual environment for each example. Do not install requirements.txt in all subdirectories in the same environment. If the example has not been updated for a long time, priority should be given to fixing the Python and dependency versions specified in the README.
Which example is best to get started?
Choose a small project that only requires a model key, a Python file, and a Streamlit page. First look at tool invocation and state saving, and then enter multi-Agent and complex RAG.
Can I upgrade all dependencies in the repository at once?
Not recommended. Different examples may be written for different versions. Only upgrade the subprojects you are using and record the runnable environment before upgrading.
Are the licenses for all examples the same?
The root repository license does not necessarily cover referenced models, data, third-party APIs, and assets. License and service terms should be confirmed individually when using for commercial projects.
How to judge whether an example is worth continuing to maintain
Running through is just the first step. When preparing to turn your example into a long-term project, evaluate:
- Whether there are any recent maintenance activities;
- Whether the dependency contains known high-risk vulnerabilities;
- Whether the Provider SDK is still supported;
- Whether there are tests covering key tool calls;
- Whether actions with side effects will be repeated when failed;
- Can the model be replaced without rewriting the entire application;
- Whether data and logs can be deleted as required;
- Whether the license permits the intended use.
If an example is seriously bound to an outdated SDK, has no error handling, and the key is written directly in the code, it is usually more suitable for learning concepts and not suitable for continuing to pile up functional products.
What are the missing layers from sample to production?
A functioning Agent Demo usually lacks authentication, permissions, auditing, current limiting, task queues, retry policies, idempotent controls, monitoring and data governance. Complete at least: before going online:
|
|
In particular, it is necessary to distinguish between “you can retry if the model call fails” and “you cannot blindly retry when sending emails, placing orders, and writing to the database.” Tools with side effects must have idempotent keys or manual confirmation.
Avoid overwriting your own changes when updating the repository
Do not modify the upstream clone directly for long periods of time. You can create your own branch after Fork, or copy the target example into an independent repository and keep the source description. If you really need to synchronize upstream, divide dependency updates, upstream merges and business functions into different submissions to facilitate locating problems when they arise.
Summary
The correct way to use awesome-llm-apps is to select examples according to the problem, rather than treating the entire repository as a software installation. Run the smallest project in an independent environment, understand the data flow and permissions, and then migrate the required parts to your own application.