diff --git a/.astro/types.d.ts b/.astro/types.d.ts
index f964fe0cf..03d7cc43f 100644
--- a/.astro/types.d.ts
+++ b/.astro/types.d.ts
@@ -1 +1,2 @@
///
+///
\ No newline at end of file
diff --git a/public/pdfs/roadmaps/ai-agents.pdf b/public/pdfs/roadmaps/ai-agents.pdf
new file mode 100644
index 000000000..1fa741d2c
Binary files /dev/null and b/public/pdfs/roadmaps/ai-agents.pdf differ
diff --git a/public/roadmap-content/ai-agents.json b/public/roadmap-content/ai-agents.json
new file mode 100644
index 000000000..1823884f0
--- /dev/null
+++ b/public/roadmap-content/ai-agents.json
@@ -0,0 +1,510 @@
+{
+ "VPI89s-m885r2YrXjYxdd": {
+ "title": "Basic Backend Development",
+ "description": "",
+ "links": []
+ },
+ "McREk2zHOlIrqbGSKbX-J": {
+ "title": "Git and Terminal Usage",
+ "description": "",
+ "links": []
+ },
+ "QtTwecLdvQa8pgELJ6i80": {
+ "title": "REST API Knowledge",
+ "description": "",
+ "links": []
+ },
+ "ZF5_5Y5zqa75Ov22JACX6": {
+ "title": "Transformer Models and LLMs",
+ "description": "Transformer models are a type of neural network that read input data—like words in a sentence—all at once instead of one piece at a time. They use “attention” to find which parts of the input matter most for each other part. This lets them learn patterns in language very well. When a transformer has been trained on a very large set of text, we call it a Large Language Model (LLM). An LLM can answer questions, write text, translate languages, and code because it has seen many examples during training. AI agents use these models as their “brains.” They feed tasks or prompts to the LLM, get back text or plans, and then act on those results. This structure helps agents understand goals, break them into steps, and adjust based on feedback, making them useful for chatbots, research helpers, and automation tools.",
+ "links": []
+ },
+ "GAjuWyJl9CI1nqXBp6XCf": {
+ "title": "Tokenization",
+ "description": "Tokenization is the step where raw text is broken into small pieces called tokens, and each token is given a unique number. A token can be a whole word, part of a word, a punctuation mark, or even a space. The list of all possible tokens is the model’s vocabulary. Once text is turned into these numbered tokens, the model can look up an embedding for each number and start its math. By working with tokens instead of full sentences, the model keeps the input size steady and can handle new or rare words by slicing them into familiar sub-pieces. After the model finishes its work, the numbered tokens are turned back into text through the same vocabulary map, letting the user read the result.",
+ "links": []
+ },
+ "dyn1LSioema-Bf9lLTgUZ": {
+ "title": "Context Windows",
+ "description": "A context window is the chunk of text a large language model can read at one time. It is measured in tokens, which are pieces of words. If a model has a 4,000-token window, it can only “look at” up to about 3,000 words before it must forget or shorten earlier parts. New tokens push old ones out, like a sliding window moving over text. The window size sets hard limits on how long a prompt, chat history, or document can be. A small window forces you to keep inputs short or split them, while a large window lets the model follow longer stories and hold more facts. Choosing the right window size balances cost, speed, and how much detail the model can keep in mind at once.",
+ "links": []
+ },
+ "1fiWPBV99E2YncqdCgUw2": {
+ "title": "Token Based Pricing",
+ "description": "Token-based pricing is how many language-model services charge for use. A token is a small chunk of text, roughly four characters or part of a word. The service counts every token that goes into the model (your prompt) and every token that comes out (the reply). It then multiplies this total by a listed price per thousand tokens. Some plans set one price for input tokens and a higher or lower price for output tokens. Because the bill grows with each token, users often shorten prompts, trim extra words, or cap response length to spend less.",
+ "links": []
+ },
+ "L1zL1GzqjSAjF06pIIXhy": {
+ "title": "Temperature",
+ "description": "Temperature is a setting that changes how random or predictable an AI model’s text output is. The value usually goes from 0 to 1, sometimes higher. A low temperature, close to 0, makes the model pick the most likely next word almost every time, so the answer is steady and safe but can feel dull or repetitive. A high temperature, like 0.9 or 1.0, lets the model explore less-likely word choices, which can give fresh and creative replies, but it may also add mistakes or drift off topic. By adjusting temperature, you balance reliability and creativity to fit the goal of your task.",
+ "links": []
+ },
+ "z_N-Y0zGkv8_qHPuVtimL": {
+ "title": "Frequency Penalty",
+ "description": "Frequency penalty is a setting that tells a language model, “Stop repeating yourself.” As the model writes, it keeps track of how many times it has already used each word. A positive frequency-penalty value lowers the chance of picking a word again if it has been seen many times in the current reply. This helps cut down on loops like “very very very” or long blocks that echo the same phrase. A value of 0 turns the rule off, while higher numbers make the model avoid repeats more strongly. If the penalty is too high, the text may miss common words that are still needed, so you often start low (for example 0.2) and adjust. Frequency penalty works together with other controls such as temperature and top-p to shape output that is clear, varied, and not boring.",
+ "links": []
+ },
+ "Vd8ycw8pW-ZKvg5WYFtoh": {
+ "title": "Presence Penalty",
+ "description": "Presence penalty is a setting you can adjust when you ask a large language model to write. It pushes the model to choose words it has not used yet. Each time a word has already appeared, the model gets a small score cut for picking it again. A higher penalty gives bigger cuts, so the model looks for new words and fresh ideas. A lower penalty lets the model reuse words more often, which can help with repeats like rhymes or bullet lists. Tuning this control helps you steer the output toward either more variety or more consistency.",
+ "links": []
+ },
+ "icbp1NjurQfdM0dHnz6v2": {
+ "title": "Top-p",
+ "description": "Top-p, also called nucleus sampling, is a setting that guides how an LLM picks its next word. The model lists many possible words and sorts them by probability. It then finds the smallest group of top words whose combined chance adds up to the chosen p value, such as 0.9. Only words inside this group stay in the running; the rest are dropped. The model picks one word from the kept group at random, weighted by their original chances. A lower p keeps only the very likely words, so output is safer and more focused. A higher p lets in less likely words, adding surprise and creativity but also more risk of error.",
+ "links": []
+ },
+ "K0G-Lw069jXUJwZqHtybd": {
+ "title": "Stopping Criteria",
+ "description": "Stopping criteria tell the language model when to stop writing more text. Without them, the model could keep adding words forever, waste time, or spill past the point we care about. Common rules include a maximum number of tokens, a special end-of-sequence token, or a custom string such as “\\\\n\\\\n”. We can also stop when the answer starts to repeat or reaches a score that means it is off topic. Good stopping rules save cost, speed up replies, and avoid nonsense or unsafe content.",
+ "links": []
+ },
+ "DSJAhQhc1dQmBHQ8ZkTau": {
+ "title": "Open Weight Models",
+ "description": "Open-weight models are neural networks whose trained parameters, also called weights, are shared with everyone. Anyone can download the files, run the model, fine-tune it, or build tools on top of it. The licence that comes with the model spells out what you are allowed to do. Some licences are very permissive and even let you use the model for commercial work. Others allow only research or personal projects. Because the weights are public, the community can inspect how the model works, check for bias, and suggest fixes. Open weights also lower costs, since teams do not have to train a large model from scratch. Well-known examples include BLOOM, Falcon, and Llama 2.",
+ "links": []
+ },
+ "tJYmEDDwK0LtEux-kwp9B": {
+ "title": "Closed Weight Models",
+ "description": "Closed-weight models are AI systems whose trained parameters—the numbers that hold what the model has learned—are not shared with the public. You can send prompts to these models through an online service or a software kit, but you cannot download the weights, inspect them, or fine-tune them on your own computer. The company that owns the model keeps control and sets the rules for use, often through paid APIs or tight licences. This approach helps the owner protect trade secrets, reduce misuse, and keep a steady income stream. The downside is less freedom for users, higher costs over time, and limited ability to audit or adapt the model. Well-known examples include GPT-4, Claude, and Gemini.",
+ "links": []
+ },
+ "i2NE6haX9-7mdoV5LQ3Ah": {
+ "title": "Streamed vs Unstreamed Responses",
+ "description": "Streamed and unstreamed responses describe how an AI agent sends its answer to the user. With a streamed response, the agent starts sending words as soon as it generates them. The user sees the text grow on the screen in real time. This feels fast and lets the user stop or change the request early. It is useful for long answers and chat-like apps. An unstreamed response waits until the whole answer is ready, then sends it all at once. This makes the code on the client side simpler and is easier to cache or log, but the user must wait longer, especially for big outputs. Choosing between the two depends on the need for speed, the length of the answer, and how complex you want the client and server to be.",
+ "links": []
+ },
+ "N3yZfUxphxjiupqGpyaS9": {
+ "title": "Reasoning vs Standard Models",
+ "description": "Reasoning models break a task into clear steps and follow a line of logic, while standard models give an answer in one quick move. A reasoning model might write down short notes, check each note, and then combine them to reach the final reply. This helps it solve math problems, plan actions, and spot errors that simple pattern matching would miss. A standard model depends on patterns it learned during training and often guesses the most likely next word. That works well for everyday chat, summaries, or common facts, but it can fail on tricky puzzles or tasks with many linked parts. Reasoning takes more time and computer power, yet it brings higher accuracy and makes the agent easier to debug because you can see its thought steps. Many new AI agents mix both styles: they use quick pattern recall for simple parts and switch to step-by-step reasoning when a goal needs deeper thought.",
+ "links": []
+ },
+ "5OW_6o286mj470ElFyJ_5": {
+ "title": "Fine-tuning vs Prompt Engineering",
+ "description": "Fine-tuning and prompt engineering are two ways to get better answers from a large language model. Fine-tuning means you take an existing model and train it more on your own examples so it adapts to a narrow task. You need extra data, computer power, and time, but the model then learns the style and facts you want. Prompt engineering means you leave the model as it is and adjust the words you send to it. You give clear instructions, show examples, or set rules inside the prompt so the model follows them right away. This is faster, cheaper, and safer if you have no special data. Fine-tuning is best when you need deep knowledge of a field or a fixed voice across many calls. Prompt engineering is enough when you want quick control, small changes, or are still testing ideas.",
+ "links": []
+ },
+ "UIm54UmICKgep6s8Itcyv": {
+ "title": "Embeddings and Vector Search",
+ "description": "Embeddings turn words, pictures, or other data into lists of numbers called vectors. Each vector keeps the meaning of the original item. Things with similar meaning get vectors that sit close together in this number space. Vector search scans a large set of vectors and finds the ones nearest to a query vector, even if the exact words differ. This lets AI agents match questions with answers, suggest related items, and link ideas quickly.",
+ "links": []
+ },
+ "qwVQOwBTLA2yUgRISzC8k": {
+ "title": "Understand the Basics of RAG",
+ "description": "RAG, short for Retrieval-Augmented Generation, is a way to make language models give better answers by letting them look things up before they reply. First, the system turns the user’s question into a search query and scans a knowledge source, such as a set of documents or a database. It then pulls back the most relevant passages, called “retrievals.” Next, the language model reads those passages and uses them, plus its own trained knowledge, to write the final answer. This mix of search and generation helps the model stay up to date, reduce guesswork, and cite real facts. Because it adds outside information on demand, RAG often needs less fine-tuning and can handle topics the base model never saw during training.",
+ "links": []
+ },
+ "B8dzg61TGaknuruBgkEJd": {
+ "title": "Pricing of Common Models",
+ "description": "When you use a large language model, you usually pay by the amount of text it reads and writes, counted in “tokens.” A token is about four characters or three-quarters of a word. Providers list a price per 1,000 tokens. For example, GPT-3.5 Turbo may cost around $0.002 per 1,000 tokens, while GPT-4 is much higher, such as $0.03 to $0.06 for prompts and $0.06 to $0.12 for replies. Smaller open-source models like Llama-2 can be free to use if you run them on your own computer, but you still pay for the hardware or cloud time. Vision or audio models often have extra fees because they use more compute. When planning costs, estimate the tokens in each call, multiply by the price, and add any hosting or storage charges.",
+ "links": []
+ },
+ "aFZAm44nP5NefX_9TpT0A": {
+ "title": "What are AI Agents?",
+ "description": "An AI agent is a computer program or robot that can sense its surroundings, think about what it senses, and then act to reach a goal. It gathers data through cameras, microphones, or software inputs, decides what the data means using rules or learned patterns, and picks the best action to move closer to its goal. After acting, it checks the results and learns from them, so it can do better next time. Chatbots, self-driving cars, and game characters are all examples.",
+ "links": []
+ },
+ "2zsOUWJQ8e7wnoHmq1icG": {
+ "title": "What are Tools?",
+ "description": "Tools are extra skills or resources that an AI agent can call on to finish a job. A tool can be anything from a web search API to a calculator, a database, or a language-translation engine. The agent sends a request to the tool, gets the result, and then uses that result to move forward. Tools let a small core model handle tasks that would be hard or slow on its own. They also help keep answers current, accurate, and grounded in real data. Choosing the right tool and knowing when to use it are key parts of building a smart agent.",
+ "links": []
+ },
+ "Eih4eybuYB3C2So8K0AT3": {
+ "title": "Agent Loop",
+ "description": "An agent loop is the cycle that lets an AI agent keep working toward a goal. First, the agent gathers fresh data from its tools, sensors, or memory. Next, it updates its internal state and decides what to do, often by running a planning or reasoning step. Then it carries out the chosen action, such as calling an API, writing to a file, or sending a message. After acting, it checks the result and stores new information. The loop starts again with the latest data, so the agent can adjust to changes and improve over time. This fast repeat of observe–decide–act gives the agent its power.",
+ "links": [
+ {
+ "title": "What is an Agent Loop?",
+ "url": "https://huggingface.co/learn/agents-course/en/unit1/agent-steps-and-structure",
+ "type": "article"
+ },
+ {
+ "title": "Let's Build your Own Agentic Loop",
+ "url": "https://www.reddit.com/r/AI_Agents/comments/1js1xjz/lets_build_our_own_agentic_loop_running_in_our/",
+ "type": "article"
+ }
+ ]
+ },
+ "LU76AhCYDjxdBhpMQ4eMU": {
+ "title": "Perception / User Input",
+ "description": "Perception, also called user input, is the first step in an agent loop. The agent listens and gathers data from the outside world. This data can be text typed by a user, spoken words, camera images, sensor readings, or web content pulled through an API. The goal is to turn raw signals into a clear, usable form. The agent may clean the text, translate speech to text, resize an image, or drop noise from sensor values. Good perception means the agent starts its loop with facts, not guesses. If the input is wrong or unclear, later steps will also fail. So careful handling of perception keeps the whole agent loop on track.",
+ "links": []
+ },
+ "ycPRgRYR4lEBQr_xxHKnM": {
+ "title": "Reason and Plan",
+ "description": "Reason and Plan is the moment when an AI agent thinks before it acts. The agent starts with a goal and the facts it already knows. It looks at these facts and asks, “What do I need to do next to reach the goal?” It breaks the goal into smaller steps, checks if each step makes sense, and orders them in a clear path. The agent may also guess what could go wrong and prepare backup steps. Once the plan feels solid, the agent is ready to move on and take the first action.",
+ "links": []
+ },
+ "sHYd4KsKlmw5Im3nQ19W8": {
+ "title": "Acting / Tool Invocation",
+ "description": "Acting, also called tool invocation, is the step where the AI chooses a tool and runs it to get real-world data or to change something. The agent looks at its current goal and the plan it just made. It then picks the best tool, such as a web search, a database query, or a calculator. The agent fills in the needed inputs and sends the call. The external system does the heavy work and returns a result. Acting ends when the agent stores that result so it can think about the next move.",
+ "links": [
+ {
+ "title": "What are Tools in AI Agents?",
+ "url": "https://huggingface.co/learn/agents-course/en/unit1/tools",
+ "type": "article"
+ }
+ ]
+ },
+ "ZJTrun3jK3zBGOTm1jdMI": {
+ "title": "Observation & Reflection",
+ "description": "Observation and reflection form the thinking pause in an AI agent’s loop. First, the agent looks at the world around it, gathers fresh data, and sees what has changed. It then pauses to ask, “What does this new information mean for my goal?” During this short check, the agent updates its memory, spots errors, and ranks what matters most. These steps guide wiser plans and actions in the next cycle. Without careful observation and reflection, the agent would rely on old or wrong facts and soon drift off course.",
+ "links": []
+ },
+ "PPdAutqJF5G60Eg9lYBND": {
+ "title": "Personal assistant",
+ "description": "A personal assistant AI agent is a smart program that helps one person manage daily tasks. It can check a calendar, set reminders, and send alerts so you never miss a meeting. It can read emails, highlight key points, and even draft quick replies. If you ask a question, it searches trusted sources and gives a short answer. It can order food, book rides, or shop online when you give simple voice or text commands. Because it learns your habits, it suggests the best time to work, rest, or travel. All these actions run in the background, saving you time and reducing stress.",
+ "links": []
+ },
+ "PK8w31GlvtmAuU92sHaqr": {
+ "title": "Code generation",
+ "description": "Code-generation agents take a plain language request, understand the goal, and then write or edit source code to meet it. They can build small apps, add features, fix bugs, refactor old code, write tests, or translate code from one language to another. This saves time for developers, helps beginners learn, and reduces human error. Teams use these agents inside code editors, chat tools, and automated pipelines. By handling routine coding tasks, the agents free people to focus on design, logic, and user needs.",
+ "links": []
+ },
+ "wKYEaPWNsR30TIpHaxSsq": {
+ "title": "Data analysis",
+ "description": "AI agents can automate many steps of data analysis. They pull data from files, databases, or live streams and put it into a tidy shape. They spot missing entries, flag odd numbers, and fill gaps with smart guesses. Once the data is clean, the agent looks for patterns, such as spikes in sales or drops in sensor readings. It can build simple charts or full dashboards, saving hours of manual work. Some agents run basic statistics, while others use machine learning to forecast next week’s demand. They also send alerts if the numbers move outside set limits. This keeps people informed without constant checking.",
+ "links": []
+ },
+ "5oLc-235bvKhApxzYFkEc": {
+ "title": "Web Scraping / Crawling",
+ "description": "Web scraping and crawling let an AI agent collect data from many web pages without human help. The agent sends a request to a page, reads the HTML, and pulls out parts you ask for, such as prices, news headlines, or product details. It can then follow links on the page to reach more pages and repeat the same steps. This loop builds a large, up-to-date dataset in minutes or hours instead of days. Companies use it to track market prices, researchers use it to gather facts or trends, and developers use it to feed fresh data into other AI models. Good scraping code also respects site rules like robots.txt and avoids hitting servers too fast, so it works smoothly and fairly.",
+ "links": []
+ },
+ "ok8vN7VtCgyef5x6aoQaL": {
+ "title": "NPC / Game AI",
+ "description": "Game studios often use AI agents to control non-player characters (NPCs). The agent watches the game state and picks actions such as moving, speaking, or fighting. It can switch tactics when the player changes strategy, so battles feel fresh instead of scripted. A quest giver can also use an agent to offer hints that fit the player’s progress. In open-world games, agents help crowds walk around objects, pick new goals, and react to danger, which makes towns feel alive. Designers save time because they write broad rules and let the agent fill in details instead of hand-coding every scene. Better NPC behavior keeps players engaged and raises replay value.",
+ "links": []
+ },
+ "Bn_BkthrVX_vOuwQzvPZa": {
+ "title": "Max Length",
+ "description": "Max Length is the setting that tells a language model the biggest number of tokens it may write in one go. A token is a small piece of text, usually a short word or part of a word, so 100 tokens roughly equals a short paragraph. When the model reaches the limit, it stops and returns the answer. A small limit keeps replies short, saves money, and runs fast, but it can cut ideas in half. A large limit lets the model finish long thoughts, yet it needs more time, more processing power, and can wander off topic. Choose the value to fit the job: a tweet might need 50 tokens, a long guide might need 1,000 or more. Good tuning finds a balance between cost, speed, and clear, complete answers.",
+ "links": []
+ },
+ "Y8EqzFx3qxtrSh7bWbbV8": {
+ "title": "What is Prompt Engineering",
+ "description": "Prompt engineering is the skill of writing clear questions or instructions so that an AI system gives the answer you want. It means choosing the right words, adding enough detail, and giving examples when needed. A good prompt tells the AI what role to play, what style to use, and what facts to include or avoid. By testing and refining the prompt, you can improve the quality, accuracy, and usefulness of the AI’s response. In short, prompt engineering is guiding the AI with well-designed text so it can help you better.",
+ "links": []
+ },
+ "qFKFM2qNPEN7EoD0V-1SM": {
+ "title": "Be specific in what you want",
+ "description": "When you ask an AI to do something, clear and exact words help it give the answer you want. State the goal, the format, and any limits up front. Say who the answer is for, how long it should be, and what to leave out. If numbers, dates, or sources matter, name them. For example, rather than “Explain World War II,” try “List three key events of World War II with dates and one short fact for each.” Being this precise cuts down on guesswork, avoids unwanted extra detail, and saves time by reducing follow-up questions.",
+ "links": []
+ },
+ "6I42CoeWX-kkFXTKAY7rw": {
+ "title": "Provide additional context",
+ "description": "Provide additional context means giving the AI enough background facts, constraints, and goals so it can reply in the way you need. Start by naming the topic and the purpose of the answer. Add who the answer is for, the tone you want, and any limits such as length, format, or style. List key facts, data, or examples that matter to the task. This extra detail stops the model from guessing and keeps replies on target. Think of it like guiding a new teammate: share the details they need, but keep them short and clear.",
+ "links": []
+ },
+ "sUwdtOX550tSdceaeFPmF": {
+ "title": "Use relevant technical terms",
+ "description": "When a task involves a special field such as law, medicine, or computer science, include the correct domain words in your prompt so the AI knows exactly what you mean. Ask for “O(n log n) sorting algorithms” instead of just “fast sorts,” or “HTTP status code 404” instead of “page not found error.” The right term narrows the topic, removes guesswork, and points the model toward the knowledge base you need. It also keeps the answer at the right level, because the model sees you understand the field and will reply with matching depth. Check spelling and letter case; “SQL” and “sql” are seen the same, but “Sequel” is not. Do not overload the prompt with buzzwords—add only the words that truly matter. The goal is clear language plus the exact technical labels the subject uses.",
+ "links": []
+ },
+ "yulzE4ZNLhXOgHhG7BtZQ": {
+ "title": "Use Examples in your Prompt",
+ "description": "A clear way to guide an AI is to place one or two short samples inside your prompt. Show a small input and the exact output you expect. The AI studies these pairs and copies their pattern. Use plain words in the sample, keep the format steady, and label each part so the model knows which is which. If you need a list, show a list; if you need a table, include a small table. Good examples cut guesswork, reduce errors, and save you from writing long rules.",
+ "links": []
+ },
+ "noTuUFnHSBzn7GKG9UZEi": {
+ "title": "Iterate and Test your Prompts",
+ "description": "After you write a first prompt, treat it as a draft, not the final version. Run it with the AI, check the output, and note what is missing, wrong, or confusing. Change one thing at a time, such as adding an example, a limit on length, or a tone request. Test again and see if the result gets closer to what you want. Keep a record of each change and its effect, so you can learn patterns that work. Stop when the output is clear, correct, and repeatable. This loop of try, observe, adjust, and retry turns a rough prompt into a strong one.",
+ "links": []
+ },
+ "wwHHlEoPAx0TLxbtY6nMA": {
+ "title": "Specify Length, format etc",
+ "description": "When you give a task to an AI, make clear how long the answer should be and what shape it must take. Say “Write 120 words” or “Give the steps as a numbered list.” If you need a table, state the column names and order. If you want bullet points, mention that. Telling the AI to use plain text, JSON, or markdown stops guesswork and saves time. Clear limits on length keep the reply focused. A fixed format makes it easier for people or other software to read and use the result. Always put these rules near the start of your prompt so the AI sees them as important.",
+ "links": []
+ },
+ "qakbxB8xe7Y8gejC5cZnK": {
+ "title": "Tool Definition",
+ "description": "A tool is any skill or function that an AI agent can call to get a job done. It can be as simple as a calculator for math or as complex as an API that fetches live weather data. Each tool has a name, a short description of what it does, and a clear list of the inputs it needs and the outputs it returns. The agent’s planner reads this definition to decide when to use the tool. Good tool definitions are precise and leave no room for doubt, so the agent will not guess or misuse them. They also set limits, like how many times a tool can be called or how much data can be pulled, which helps control cost and errors. Think of a tool definition as a recipe card the agent follows every time it needs that skill.",
+ "links": []
+ },
+ "kBtqT8AduLoYDWopj-V9_": {
+ "title": "Web Search",
+ "description": "Web search lets an AI agent pull fresh facts, news, and examples from the internet while it is working. The agent turns a user request into search words, sends them to a search engine, and reads the list of results. It then follows the most promising links, grabs the page text, and picks out the parts that answer the task. This helps the agent handle topics that were not in its training data, update old knowledge, or double-check details. Web search covers almost any subject and is much faster than manual research, but the agent must watch for ads, bias, or wrong pages and cross-check sources to stay accurate.",
+ "links": []
+ },
+ "mS0EVCkWuPN_GkVPng4A2": {
+ "title": "Code Execution / REPL",
+ "description": "Code Execution or REPL (Read-Eval-Print Loop) lets an AI agent run small pieces of code on demand, see the result right away, and use that result to decide what to do next. The agent “reads” the code, “evaluates” it in a safe sandbox, “prints” the output, and then loops back for more input. With this tool the agent can test ideas, perform math, transform text, call APIs, or inspect data without waiting for a full build or deployment. Python, JavaScript, or even shell commands are common choices because they start fast and have many libraries. Quick feedback helps the agent catch errors early and refine its plan step by step. Sandboxing keeps the host system safe by blocking dangerous actions such as deleting files or making forbidden network calls. Overall, a Code Execution / REPL tool gives the agent a fast, flexible workbench for problem-solving.",
+ "links": []
+ },
+ "sV1BnA2-qBnXoKpUn-8Ub": {
+ "title": "Database Queries",
+ "description": "Database queries let an AI agent fetch, add, change, or remove data stored in a database. The agent sends a request written in a query language, most often SQL. The database engine then looks through its tables and returns only the rows and columns that match the rules in the request. With this tool, the agent can answer questions that need up-to-date numbers, user records, or other stored facts. It can also write new entries or adjust old ones to keep the data current. Because queries work in real time and follow clear rules, they give the agent a reliable way to handle large sets of structured information.",
+ "links": []
+ },
+ "52qxjZILV-X1isup6dazC": {
+ "title": "API Requests",
+ "description": "API requests let an AI agent ask another service for data or for an action. The agent builds a short message that follows the service’s rules, sends it over the internet, and waits for a reply. For example, it can call a weather API to get today’s forecast or a payment API to charge a customer. Each request has a method like GET or POST, a URL, and often a small block of JSON with needed details. The service answers with another JSON block that the agent reads and uses. Because API requests are fast and clear, they are a common tool for connecting the agent to many other systems without extra work.",
+ "links": []
+ },
+ "qaNr5I-NQPnfrRH7ynGTl": {
+ "title": "Email / Slack / SMS",
+ "description": "Email, Slack, and SMS are message channels an AI agent can use to act on tasks and share updates. The agent writes and sends emails to give detailed reports or collect files. It posts to Slack to chat with a team, answer questions, or trigger alerts inside a workspace. It sends SMS texts for quick notices such as reminders, confirmations, or warnings when a fast response is needed. By picking the right channel, the agent reaches users where they already communicate, makes sure important information arrives on time, and can even gather replies to keep a task moving forward.",
+ "links": []
+ },
+ "BoJqZvdGam4cd6G6yK2IV": {
+ "title": "File System Access",
+ "description": "File system access lets an AI agent read, create, change, or delete files and folders on a computer or server. With this power, the agent can open a text file to pull data, write a new report, save logs, or tidy up old files without human help. It can also move files between folders to keep things organised. This tool is useful for tasks such as data processing, report generation, and backup jobs. Strong safety checks are needed so the agent touches only the right files, avoids private data, and cannot harm the system by mistake.",
+ "links": []
+ },
+ "TBH_DZTAfR8Daoh-njNFC": {
+ "title": "What is Agent Memory?",
+ "description": "Agent memory is the part of an AI agent that keeps track of what has already happened. It stores past user messages, facts the agent has learned, and its own previous steps. This helps the agent remember goals, user likes and dislikes, and important details across turns or sessions. Memory can be short-term, lasting only for one conversation, or long-term, lasting across many. With a good memory the agent avoids repeating questions, stays consistent, and plans better actions. Without it, the agent would forget everything each time and feel unfocused.",
+ "links": []
+ },
+ "M3U6RfIqaiut2nuOibY8W": {
+ "title": "Short Term Memory",
+ "description": "Short-term memory lets an AI agent hold recent facts while it works on a task. It keeps chat history, sensor readings, or current goals for a short time, often only for the length of one session. With this memory the agent can follow a user’s last request, track the next step in a plan, or keep variables needed for quick reasoning. Once the task ends or enough time passes, most of the stored items are cleared or moved to long-term memory. Because the data is small and brief, short-term memory is fast to read and write, which helps the agent react without delay. Common ways to build it include using a sliding window over recent messages, a small key-value store, or hidden states in a neural network. Good design of short-term memory prevents the agent from forgetting vital details too soon while avoiding overload with useless data.",
+ "links": []
+ },
+ "Ue633fz6Xu2wa2-KOAtdP": {
+ "title": "Long Term Memory",
+ "description": "Long term memory in an AI agent is the part of its storage where information is kept for long periods so it can be used again in the future. It works like a notebook that the agent can write to and read from whenever needed. The agent saves facts, past events, user preferences, and learned skills in this space. When a similar event happens later, the agent looks up this stored data to make better choices and respond in a consistent way. Long term memory lets the agent grow smarter over time because it does not forget important details after the current task ends. This memory usually lives in a database or file system and may include text, numbers, or compressed states of past conversations.",
+ "links": []
+ },
+ "EfCCNqLMJpWKKtamUa5gK": {
+ "title": "Episodic vs Semantic Memory",
+ "description": "Agent memory often has two parts. Episodic memory stores single events. It keeps data about what happened, when it happened, and who or what was involved. This lets the agent recall a past step-by-step experience, like a diary entry. Semantic memory stores facts that stay the same across time. It holds rules, concepts, and meanings, like the statement “Paris is the capital of France.” The key difference is time and context: episodic memory is tied to a specific moment, while semantic memory is timeless knowledge. Together they help the agent both remember past actions and use general truths to plan new ones.",
+ "links": []
+ },
+ "wkS4yOJ3JdZQE_yBID8K7": {
+ "title": "RAG and Vector Databases",
+ "description": "RAG, short for Retrieval-Augmented Generation, lets an AI agent pull facts from stored data each time it answers. The data sits in a vector database. In that database, every text chunk is turned into a number list called a vector. Similar ideas create vectors that lie close together, so the agent can find related chunks fast. When the user asks a question, the agent turns the question into its own vector, finds the nearest chunks, and reads them. It then writes a reply that mixes the new prompt with those chunks. Because the data store can hold a lot of past chats, documents, or notes, this process gives the agent a working memory without stuffing everything into the prompt. It lowers token cost, keeps answers on topic, and allows the memory to grow over time.",
+ "links": []
+ },
+ "QJqXHV8VHPTnfYfmKPzW7": {
+ "title": "User Profile Storage",
+ "description": "User profile storage is the part of an AI agent’s memory that holds stable facts about each user, such as name, age group, language, past choices, and long-term goals. The agent saves this data in a file or small database so it can load it each time the same user returns. By keeping the profile separate from short-term conversation logs, the agent can remember preferences without mixing them with temporary chat history. The profile is updated only when the user states a new lasting preference or when old information changes, which helps prevent drift or bloat. Secure storage, access controls, and encryption protect the data so that only the agent and the user can see it. Good profile storage lets the agent give answers that feel personal and consistent.",
+ "links": []
+ },
+ "jTDC19BTWCqxqMizrIJHr": {
+ "title": "Summarization / Compression",
+ "description": "Summarization or compression lets an AI agent keep the gist of past chats without saving every line. After a talk, the agent runs a small model or rule set that pulls out key facts, goals, and feelings and writes them in a short note. This note goes into long-term memory, while the full chat can be dropped or stored elsewhere. Because the note is short, the agent spends fewer tokens when it loads memory into the next prompt, so costs stay low and speed stays high. Good summaries leave out side jokes and filler but keep names, dates, open tasks, and user preferences. The agent can update the note after each session, overwriting old points that are no longer true. This process lets the agent remember what matters even after hundreds of turns.",
+ "links": []
+ },
+ "m-97m7SI0XpBnhEE8-_1S": {
+ "title": "Forgetting / Aging Strategies",
+ "description": "Forgetting or aging strategies help an AI agent keep only the useful parts of its memory and drop the rest over time. The agent may tag each memory with a time stamp and lower its importance as it gets older, or it may remove items that have not been used for a while, much like a “least-recently-used” list. Some systems give each memory a relevance score; when space runs low, they erase the lowest-scoring items first. Others keep a fixed-length sliding window of the most recent events or create short summaries and store those instead of raw details. These methods stop the memory store from growing without limits, cut storage costs, and let the agent focus on current goals. Choosing the right mix of aging rules is a trade-off: forget too fast and the agent loses context, forget too slow and it wastes resources or reacts to outdated facts.",
+ "links": []
+ },
+ "53xDks6JQ33fHMa3XcuCd": {
+ "title": "ReAct (Reason + Act)",
+ "description": "ReAct is an agent pattern that makes a model alternate between two simple steps: Reason and Act. First, the agent writes a short thought that sums up what it knows and what it should try next. Then it performs an action such as calling an API, running code, or searching a document. The result of that action is fed back, giving the agent fresh facts to think about. This loop repeats until the task is done. By showing its thoughts in plain text, the agent can be inspected, debugged, and even corrected on the fly. The clear split between thinking and doing also cuts wasted moves and guides the model toward steady progress. ReAct works well with large language models because they can both generate the chain of thoughts and choose the next tool in the very same response.",
+ "links": []
+ },
+ "1B0IqRNYdtbHDi1jHSXuI": {
+ "title": "Model Context Protocol (MCP)",
+ "description": "Model Context Protocol (MCP) is a rulebook that tells an AI agent how to pack background information before it sends a prompt to a language model. It lists what pieces go into the prompt—things like the system role, the user’s request, past memory, tool calls, or code snippets—and fixes their order. Clear tags mark each piece, so both humans and machines can see where one part ends and the next begins. Keeping the format steady cuts confusion, lets different tools work together, and makes it easier to test or swap models later. When agents follow MCP, the model gets a clean, complete prompt and can give better answers.",
+ "links": []
+ },
+ "9FryAIrWRHh8YlzKX3et5": {
+ "title": "MCP Hosts",
+ "description": "MCP Hosts are the computers or cloud services that run the Model Context Protocol. They keep the protocol code alive, listen for incoming calls, and pass data between users, tools, and language models. A host loads the MCP manifest, checks that requests follow the rules, and stores any state that needs to last between calls. It may cache recent messages, track token use, and add safety or billing checks before it forwards a prompt to the model. Hosts also expose an API endpoint so that outside apps can connect without knowing the low-level details of the protocol. You can run a host on your own laptop for testing or deploy it on a serverless platform for scale; either way, it provides the same trusted place where MCP agents, tools, and data meet.",
+ "links": []
+ },
+ "CGVstUxVXLJcYZrwk3iNQ": {
+ "title": "MCP Client",
+ "description": "The MCP Client is the part of an AI agent that talks directly to the large-language-model service. It gathers all messages, files, and tool signals that make up the current working state, packs them into the format defined by the Model Context Protocol, and sends the bundle to the model’s API. After the model answers, the client unpacks the reply, checks that it follows protocol rules, and hands the result to other modules, such as planners or tool runners. It also tracks tokens, applies privacy filters, retries on network errors, and logs key events for debugging. In short, the MCP Client is the gateway that turns local agent data into a valid model request and turns the model’s response into something the rest of the system can use.",
+ "links": []
+ },
+ "yv_-87FVM7WKn5iv6LW9q": {
+ "title": "MCP Servers",
+ "description": "An MCP Server is the main machine or cloud service that runs the Model Context Protocol. It keeps the shared “memory” that different AI agents need so they stay on the same page. When an agent sends a request, the server checks who is asking, pulls the right context from its store, and sends it back fast. It also saves new facts and task results so the next agent can use them. An MCP Server must handle many users at once, protect private data with strict access rules, and log every change for easy roll-back. Good servers break work into small tasks, spread them across many computers, and add backups so they never lose data. In short, the MCP Server is the hub that makes sure all agents share fresh, safe, and correct context.",
+ "links": []
+ },
+ "1NXIN-Hbjl5rPy_mqxQYW": {
+ "title": "Creating MCP Servers",
+ "description": "Creating an MCP server means building a program that stores and shares conversation data for AI agents using the Model Context Protocol. Start by choosing a language and web framework, then set up REST endpoints such as /messages, /state, and /health. Each endpoint sends or receives JSON that follows the MCP schema. Use a database or an in-memory store to keep session logs, and tag every entry with a session ID, role, and timestamp. Add token-based authentication so only trusted agents can read or write. Include filters and range queries so an agent can ask for just the parts of the log it needs. Limit message size and request rate to avoid overload. Finish by writing unit tests, adding monitoring, and running load checks to be sure the server stays reliable as traffic grows.",
+ "links": []
+ },
+ "iBtJp24F_kJE3YlBsW60s": {
+ "title": "Local Desktop",
+ "description": "A Local Desktop deployment means you run the MCP server on your own computer instead of on a remote machine or cloud service. You install the MCP software, any language runtimes it needs, and the model files all on your desktop or laptop. When you start the server, it listens on a port such as 127.0.0.1:8000, which is only reachable from the same computer unless you change network settings. This setup is handy for quick tests, small demos, or private work because you control the files and can restart the server at any time. It also avoids extra cost from cloud hosting. The main limits are the power of your hardware and the fact that other people cannot reach the service unless you expose it through port forwarding or a tunnel.",
+ "links": []
+ },
+ "dHNMX3_t1KSDdAWqgdJXv": {
+ "title": "Remote / Cloud",
+ "description": "Remote or cloud deployment places the MCP server on a cloud provider instead of a local machine. You package the server as a container or virtual machine, choose a service like AWS, Azure, or GCP, and give it compute, storage, and a public HTTPS address. A load balancer spreads traffic, while auto-scaling adds or removes copies of the server as demand changes. You secure the endpoint with TLS, API keys, and firewalls, and you send logs and metrics to the provider’s monitoring tools. This setup lets the server handle many users, updates are easier, and you avoid local hardware limits, though you must watch costs and protect sensitive data.",
+ "links": []
+ },
+ "qwdh5pkBbrF8LKPxbZp4F": {
+ "title": "Chain of Thought (CoT)",
+ "description": "Chain of Thought (CoT) is a way for an AI agent to think out loud. Before giving its final answer, the agent writes short notes that show each step it takes. These notes can list facts, name sub-tasks, or do small bits of math. By seeing the steps, the agent stays organized and is less likely to make a mistake. People who read the answer can also check the logic and spot any weak points. The same written steps can be fed back into the agent so it can plan, reflect, or fix itself. Because it is easy to use and boosts trust, CoT is one of the most common designs for language-based agents today.",
+ "links": []
+ },
+ "cW8O4vLLKEG-Q0dE8E5Zp": {
+ "title": "RAG Agent",
+ "description": "A RAG (Retrieval-Augmented Generation) agent mixes search with language generation so it can answer questions using fresh and reliable facts. When a user sends a query, the agent first turns that query into an embedding—basically a number list that captures its meaning. It then looks up similar embeddings in a vector database that holds passages from web pages, PDFs, or other text. The best-matching passages come back as context. The agent puts the original question and those passages into a large language model. The model writes the final reply, grounding every sentence in the retrieved text. This setup keeps the model smaller, reduces wrong guesses, and lets the system update its knowledge just by adding new documents to the database. Common tools for building a RAG agent include an embedding model, a vector store like FAISS or Pinecone, and an LLM connected through a framework such as LangChain or LlamaIndex.",
+ "links": []
+ },
+ "6YLCMWzystao6byCYCTPO": {
+ "title": "Planner Executor",
+ "description": "A planner-executor agent splits its work into two clear parts. First, the planner thinks ahead. It looks at a goal, lists the steps needed, and puts them in the best order. Second, the executor acts. It takes each planned step and carries it out, checking results as it goes. If something fails or the world changes, the planner may update the plan, and the executor follows the new steps. This divide-and-conquer style lets the agent handle big tasks without losing track of small actions. It is easy to debug, supports reuse of plans, and helps keep the agent’s behavior clear and steady.",
+ "links": []
+ },
+ "Ep8RoZSy_Iq_zWXlGQLZo": {
+ "title": "DAG Agents",
+ "description": "A DAG (Directed Acyclic Graph) agent is built from many small parts, called nodes, that form a one-way graph with no loops. Each node does a clear task, then passes its result to the next node along a directed edge. Because the graph has no cycles, data always moves forward and never gets stuck in endless repeats. This makes the flow of work easy to follow and test. The layout lets you run nodes that do not depend on each other at the same time, so the agent can work faster. If one node fails, you can see the exact path it took and fix just that part. DAG agents work well for jobs like data cleaning, multi-step reasoning, or any long chain of steps where order matters and backtracking is not needed.",
+ "links": []
+ },
+ "Nmy1PoB32DcWZnPM8l8jT": {
+ "title": "Tree-of-Thought",
+ "description": "Tree-of-Thought is a way to organize an AI agent’s reasoning as a branching tree. At the root, the agent states the main problem. Each branch is a small idea, step, or guess that could lead to a solution. The agent expands the most promising branches, checks if they make sense, and prunes paths that look wrong or unhelpful. This setup helps the agent explore many possible answers while staying focused on the best ones. Because the agent can compare different branches side by side, it is less likely to get stuck on a bad line of thought. The result is more reliable and creative problem solving.",
+ "links": []
+ },
+ "US6T5dXM8IY9V2qZnTOFW": {
+ "title": "Manual (from scratch)",
+ "description": "Building an AI agent from scratch means you write every part of the system yourself instead of using ready-made tools. You decide how the agent senses the world, saves data, learns, and makes choices. First, you choose a goal, like playing a game or answering questions. Then you design the inputs, for example keyboard moves or text. You code the logic that turns these inputs into actions. You may add a learning part, such as a basic neural network or a set of rules that update over time. You also build memory so the agent can use past facts. Testing is key: run the agent, watch what it does, and fix mistakes. This path is slow and hard, but it teaches you how each piece works and gives you full control.",
+ "links": []
+ },
+ "aafZxtjxiwzJH1lwHBODi": {
+ "title": "LLM Native \"Function Calling\"",
+ "description": "LLM native “function calling” lets a large language model decide when to run a piece of code and which inputs to pass to it. You first tell the model what functions are available. For each one you give a short name, a short description, and a list of arguments with their types. During a chat, the model can answer in JSON that matches this schema instead of plain text. Your wrapper program reads the JSON, calls the real function, and then feeds the result back to the model so it can keep going. This loop helps an agent search the web, look up data, send an email, or do any other task you expose. Because the output is structured, you get fewer mistakes than when the model tries to write raw code or natural-language commands. You also keep tight control over what the agent can and cannot do. Most current API providers support this method, so you can add new tools by only editing the schema and a handler, not the model itself.",
+ "links": []
+ },
+ "AQtxTTxmBpfl8BMgJbGzc": {
+ "title": "OpenAI Functions Calling",
+ "description": "OpenAI Function Calling lets you give a language model a list of tools and have it decide which one to use and with what data. You describe each tool with a short name, what it does, and the shape of its inputs in a small JSON-like schema. You then pass the user message and this tool list to the model. Instead of normal text, the model can reply with a JSON block that names the tool and fills in the needed arguments. Your program reads this block, runs the real function, and can send the result back for the next step. This pattern makes agent actions clear, easy to parse, and hard to abuse, because the model cannot run code on its own and all calls go through your checks. It also cuts down on prompt hacks and wrong formats, so agents work faster and more safely.",
+ "links": []
+ },
+ "_iIsBJTVS6OBf_dsdmbVO": {
+ "title": "Gemini Function Calling",
+ "description": "Gemini function calling lets you hook the Gemini language model to real code in a safe and simple way. You first list the functions you want it to use, each with a name, a short note about what it does, and a JSON schema for the needed arguments. When the user speaks, Gemini checks this list and, if a match makes sense, answers with a tiny JSON block that holds the chosen function name and the filled-in arguments. Your program then runs that function, sends the result back, and the chat moves on. Because the reply is strict JSON and not free text, you do not have to guess at what the model means, and you avoid many errors. This flow lets you build agents that pull data, call APIs, or carry out long action chains while keeping control of business logic on your side.",
+ "links": []
+ },
+ "37GBFVZ2J2d5r8bd1ViHq": {
+ "title": "OpenAI Assistant API",
+ "description": "The OpenAI Assistants API lets you add clear, task-specific actions to a chat with a large language model. You first describe each action you want the model to use, giving it a name, a short purpose, and a list of inputs in JSON form. During the chat, the model may decide that one of these actions will help. It then returns the name of the action and a JSON object with the input values it thinks are right. Your code receives this call, runs real work such as a database query or a web request, and sends the result back to the model. The model reads the result and continues the chat, now armed with fresh facts. This loop lets you keep control of what real work happens while still letting the model plan and talk in natural language.",
+ "links": []
+ },
+ "Ka6VpCEnqABvwiF9vba7t": {
+ "title": "Langchain",
+ "description": "LangChain is a Python and JavaScript library that helps you put large language models to work in real products. It gives ready-made parts for common agent tasks such as talking to many tools, keeping short-term memory, and calling an external API when the model needs fresh data. You combine these parts like Lego blocks: pick a model, add a prompt template, chain the steps, then wrap the chain in an “agent” that can choose what step to run next. Built-in connectors link to OpenAI, Hugging Face, vector stores, and SQL databases, so you can search documents or pull company data without writing a lot of glue code. This lets you move fast from idea to working bot, while still letting you swap out parts if your needs change.",
+ "links": []
+ },
+ "iEHF-Jm3ck-Iu85EbCoDi": {
+ "title": "LlamaIndex",
+ "description": "LlamaIndex is an open-source Python toolkit that helps you give a language model access to your own data. You load files such as PDFs, web pages, or database rows. The toolkit breaks the text into chunks, turns them into vectors, and stores them in a chosen vector store like FAISS or Pinecone. When a user asks a question, LlamaIndex finds the best chunks, adds them to the prompt, and sends the prompt to the model. This flow is called retrieval-augmented generation and it lets an agent give answers grounded in your content. The library offers simple classes for loading, indexing, querying, and composing tools, so you write less boilerplate code. It also works with other frameworks, including LangChain, and supports models from OpenAI or Hugging Face. With a few lines of code you can build a chatbot, Q&A system, or other agent that knows your documents.",
+ "links": []
+ },
+ "XS-FsvtrXGZ8DPrwOsnlI": {
+ "title": "Haystack",
+ "description": "Haystack is an open-source Python framework that helps you build search and question-answering agents fast. You connect your data sources, pick a language model, and set up pipelines that find the best answer to a user’s query. Haystack handles tasks such as indexing documents, retrieving passages, running the model, and ranking results. It works with many back-ends like Elasticsearch, OpenSearch, FAISS, and Pinecone, so you can scale from a laptop to a cluster. You can add features like summarization, translation, and document chat by dropping extra nodes into the pipeline. The framework also offers REST APIs, a web UI, and clear tutorials, making it easy to test and deploy your agent in production.",
+ "links": []
+ },
+ "7YtnQ9-KIvGPSpDzEDexl": {
+ "title": "AutoGen",
+ "description": "AutoGen is an open-source Python framework that helps you build AI agents without starting from scratch. It lets you define each agent with a role, goals, and tools, then handles the chat flow between them and a large language model such as GPT-4. You can chain several agents so they plan, code, review, and run tasks together. The library includes ready-made modules for memory, task planning, tool calling, and function execution, so you only write the parts that are unique to your app. AutoGen connects to OpenAI, Azure, or local models through a simple settings file. Logs, cost tracking, and step-by-step debugging come built in, which makes testing easy. Because the agents are plain Python objects, you can mix them with other libraries or your own code. AutoGen is still young, so expect fast changes and keep an eye on usage costs, but it is a strong choice when you want to turn a prompt into a working multi-agent system in hours instead of weeks.",
+ "links": []
+ },
+ "uFPJqgU4qGvZyxTv-osZA": {
+ "title": "CrewAI",
+ "description": "CrewAI is an open-source Python framework that lets you join several language-model agents into one team, called a crew. Each agent gets a name, a role, and a set of skills, and the library handles planning, task routing, and chat among them. To use it, you install the package, import it, define your agents in a few lines of code, link them with a Crew object, and give the crew a mission prompt. CrewAI then talks to an LLM such as OpenAI GPT-4 or Claude, passes messages between agents, runs any tools you attach, and returns a single answer. You can plug in web search, Python functions, or vector stores for memory, and you can tune settings like temperature or max tokens. Built-in logs show every step so you can debug and improve the workflow. The result is a fast way to build multi-step agent systems for tasks like research, code review, or content creation without writing a lot of low-level glue code.",
+ "links": []
+ },
+ "eWxQiBrxIUG2JNcrdfIHS": {
+ "title": "Smol Depot",
+ "description": "Smol Depot is an open-source kit that lets you bundle all the parts of a small AI agent in one place. You keep prompts, settings, and code files together in a single folder, then point the Depot tool at that folder to spin the agent up. The tool handles tasks such as loading models, saving chat history, and calling outside APIs, so you do not have to write that glue code yourself. A simple command can copy a starter template, letting you focus on the logic and prompts that make your agent special. Because everything lives in plain files, you can track changes with Git and share the agent like any other project. This makes Smol Depot a quick way to build, test, and ship lightweight agents without a heavy framework.",
+ "links": []
+ },
+ "1EZFbDHA5J5_5BPMLMxXb": {
+ "title": "Anthropic Tool Use",
+ "description": "Anthropic Tool Use lets you connect a Claude model to real software functions so the agent can do useful tasks on its own. You give Claude a list of tools, each with a name, a short description, and a strict JSON schema that shows the allowed input fields. During a chat you send user text plus this tool list. Claude decides if a tool should run, picks one, and returns a JSON block that matches the schema. Your code reads the JSON, calls the matching function, and sends the result back to Claude for the next step. This loop repeats until no more tool calls are needed. Clear schemas, small field sets, and helpful examples make the calls accurate. By keeping the model in charge of choosing tools while your code controls real actions, you gain both flexibility and safety.",
+ "links": [
+ {
+ "title": "Anthropic Tool Use",
+ "url": "https://docs.anthropic.com/en/docs/build-with-claude/tool-use/overview",
+ "type": "article"
+ }
+ ]
+ },
+ "v8qLnyFRnEumodBYxQSXQ": {
+ "title": "Metrics to Track",
+ "description": "To know if an AI agent works well, you need numbers that tell the story. Track accuracy, precision, recall, and F1 score to see how often the agent is right. For ranking tasks, record mean average precision or ROC-AUC. If users interact with the agent, measure response time, latency, and the share of failed requests. Safety metrics count toxic or biased outputs, while robustness tests see how the agent copes with noisy or tricky inputs. Resource metrics—memory, CPU, and energy—show if the system can run at scale. Choose the metrics that fit the task, compare results to a baseline, and watch the trend with every new version.",
+ "links": []
+ },
+ "qo_O4YAe4-MTP_ZJoXJHR": {
+ "title": "Unit Testing for Individual Tools",
+ "description": "Unit testing checks that each tool an AI agent uses works as expected when it stands alone. You write small tests that feed the tool clear input and then compare its output to a known correct answer. If the tool is a function that parses dates, you test many date strings and see if the function gives the right results. Good tests cover normal cases, edge cases, and error cases. Run the tests every time you change the code. When a test fails, fix the tool before moving on. This habit keeps bugs from spreading into larger agent workflows and makes later debugging faster.",
+ "links": []
+ },
+ "P9-SiIda3TSjHsfkI5OUV": {
+ "title": "Integration Testing for Flows",
+ "description": "Integration testing for flows checks that an AI agent works well from the first user input to the final action, across every step in between. It joins all parts of the system—natural-language understanding, planning, memory, tools, and output—and runs them together in real scenarios. Test cases follow common and edge-case paths a user might take. The goal is to catch errors that only appear when parts interact, such as wrong data passed between modules or timing issues. Good practice includes building automated test suites, using real or mock services, and logging each step for easy debugging. When integration tests pass, you gain confidence that the whole flow feels smooth and reliable for users.",
+ "links": []
+ },
+ "rHxdxN97ZcU7MPl8L1jzN": {
+ "title": "Human in the Loop Evaluation",
+ "description": "Human-in-the-loop evaluation checks an AI agent by letting real people judge its output and behavior. Instead of trusting only automated scores, testers invite users, domain experts, or crowd workers to watch tasks, label answers, flag errors, and rate clarity, fairness, or safety. Their feedback shows problems that numbers alone miss, such as hidden bias, confusing language, or actions that feel wrong to a person. Teams study these notes, adjust the model, and run another round, repeating until the agent meets quality and trust goals. Mixing human judgment with data leads to a system that is more accurate, useful, and safe for everyday use.",
+ "links": []
+ },
+ "xp7TCTRE9HP60_rGzTUF6": {
+ "title": "LangSmith",
+ "description": "LangSmith is a tool that helps you see how well your AI agents work. It lets you record every step the agent takes, from the first input to the final answer. You can replay these steps to find places where the agent goes wrong. LangSmith also lets you create test sets with real user prompts and compare new model versions against them. It shows clear numbers on speed, cost, and accuracy so you can spot trade-offs. Because LangSmith links to LangChain, you can add it with only a few extra lines of code. The web dashboard then gives charts, error logs, and side-by-side result views. This makes it easy to track progress, fix bugs, and prove that your agent is getting better over time.",
+ "links": []
+ },
+ "YzEDtGEaMaMWVt0W03HRt": {
+ "title": "Ragas",
+ "description": "Ragas is an open-source tool used to check how well a Retrieval-Augmented Generation (RAG) agent works. You give it the user question, the passages the agent pulled from a knowledge base, and the final answer. Ragas then scores the answer for things like correctness, relevance, and whether the cited passages really support the words in the answer. It uses large language models under the hood, so you do not need to write your own scoring rules. Results appear in a clear report that shows strong and weak spots in the pipeline. With this feedback you can change prompts, retriever settings, or model choices and quickly see if quality goes up. This makes testing RAG systems faster, repeatable, and less guess-based.",
+ "links": []
+ },
+ "0924QUH1wV7Mp-Xu0FAhF": {
+ "title": "DeepEval",
+ "description": "DeepEval is an open-source tool that helps you test and score the answers your AI agent gives. You write small test cases that show an input and the reply you hope to get, or a rule the reply must follow. DeepEval runs the agent, checks the reply with built-in measures such as similarity, accuracy, or safety, and then marks each test as pass or fail. You can add your own checks, store tests in code or YAML files, and run them in a CI pipeline so every new model or prompt version gets the same quick audit. The fast feedback makes it easy to spot errors, cut down on hallucinations, and compare different models before you ship.",
+ "links": []
+ },
+ "zs6LM8WEnb0ERWpiaQCgc": {
+ "title": "Structured logging & tracing",
+ "description": "Structured logging and tracing are ways to record what an AI agent does so you can find and fix problems fast. Instead of dumping plain text, the agent writes logs in a fixed key-value format, such as time, user\\_id, step, and message. Because every entry follows the same shape, search tools can filter, sort, and count events with ease. Tracing links those log lines into a chain that follows one request or task across many functions, threads, or microservices. By adding a unique trace ID to each step, you can see how long each part took and where errors happened. Together, structured logs and traces offer clear, machine-readable data that helps developers spot slow code paths, unusual behavior, and hidden bugs without endless manual scans.",
+ "links": []
+ },
+ "SS8mGqf9wfrNqenIWvN8Z": {
+ "title": "LangSmith",
+ "description": "LangSmith is a web tool that helps you see and fix what your AI agents are doing. It records each call that the agent makes to a language model, the input it used, and the answer it got back. You can replay any step, compare different prompts, measure cost, speed, and error rates, and tag runs for easy search. It also lets you store test sets and run quick checks so you know if new code makes the agent worse. By showing clear traces and charts, LangSmith makes it easier to debug, improve, and trust AI systems built with LangChain or other frameworks.",
+ "links": []
+ },
+ "MLxP5N0Vrmwh-kyvNeGXn": {
+ "title": "Helicone",
+ "description": "Helicone is an open-source tool that helps you watch and understand how your AI agents talk to large language models. You send your model calls through Helicone’s proxy, and it records each request and response without changing the result. A clear web dashboard then shows logs, latency, token counts, error rates, and cost for every call. You can filter, search, and trace a single user journey, which makes it easy to spot slow prompts or rising costs. Helicone also lets you set alerts and share traces with your team, so problems get fixed fast and future changes are safer.",
+ "links": []
+ },
+ "UoIheaJlShiceafrWALEH": {
+ "title": "LangFuse",
+ "description": "LangFuse is a free, open-source tool that lets you watch and debug AI agents while they run. You add a small code snippet to your agent, and LangFuse starts collecting every prompt, model response, and user input. It shows this data as neat timelines, so you can see each step the agent takes, how long the calls cost, and where errors happen. You can tag runs, search through them, and compare different prompt versions to find what works best. The dashboard also tracks token usage and latency, helping you cut cost and improve speed. Because LangFuse stores data in your own database, you keep full control of sensitive text. It works well with popular frameworks like LangChain and can send alerts to Slack or email when something breaks.",
+ "links": []
+ },
+ "7UqPXUzqKYXklnB3x-tsv": {
+ "title": "openllmetry",
+ "description": "openllmetry is a small Python library that makes it easy to watch what your AI agent is doing and how well it is working. It wraps calls to large-language-model APIs, vector stores, and other tools, then sends logs, traces, and simple metrics to any backend that speaks the OpenTelemetry standard, such as Jaeger, Zipkin, or Grafana. You add one or two lines of code at start-up, and the library captures prompt text, model name, latency, token counts, and costs each time the agent asks the model for an answer. The data helps you spot slow steps, high spend, or bad answers, and it lets you play back full traces to debug agent chains. Because it follows OpenTelemetry, you can mix these AI traces with normal service traces and see the whole flow in one place.",
+ "links": []
+ },
+ "SU2RuicMUo8tiAsQtDI1k": {
+ "title": "Prompt Injection / Jailbreaks",
+ "description": "Prompt injection, also called a jailbreak, is a trick that makes an AI system break its own rules. An attacker hides special words or symbols inside normal-looking text. When the AI reads this text, it follows the hidden instructions instead of its safety rules. The attacker might force the AI to reveal private data, produce harmful content, or give wrong advice. This risk grows when the AI talks to other software or pulls text from the internet, because harmful prompts can slip in without warning. Good defenses include cleaning user input, setting strong guardrails inside the model, checking outputs for policy breaks, and keeping humans in the loop for high-risk tasks.",
+ "links": []
+ },
+ "UVzLGXG6K7HQVHmw8ZAv2": {
+ "title": "Tool sandboxing / Permissioning",
+ "description": "Tool sandboxing keeps the AI agent inside a safe zone where it can only run approved actions and cannot touch the wider system. Permissioning sets clear rules that say which files, networks, or commands the agent may use. Together they stop errors, leaks, or abuse by limiting what the agent can reach and do. Developers grant the smallest set of rights, watch activity, and block anything outside the plan. If the agent needs new access, it must ask and get a fresh permit. This simple fence protects user data, reduces harm, and builds trust in the agent’s work.",
+ "links": []
+ },
+ "rdlYBJNNyZUshzsJawME4": {
+ "title": "Data Privacy + PII Redaction",
+ "description": "AI agents often handle user text, images, and logs that carry personal data such as names, phone numbers, addresses, or ID numbers. If this data leaks, people may face fraud, stalking, or other harm. Privacy laws like GDPR and CCPA require teams to keep such data safe and to use it only for clear, lawful reasons. A key safeguard is PII redaction: the system scans each input and output, finds any detail that can identify a person, and masks or deletes it before storage or sharing. Redaction methods include simple pattern rules, machine-learning models, or a mix of both. Keep audit trails, set strong access limits, and test the redaction flow often to be sure no private detail slips through.",
+ "links": []
+ },
+ "EyLo2j8IQsIK91SKaXkmK": {
+ "title": "Bias & Toxicity Guardrails",
+ "description": "Bias and toxicity guardrails keep an AI agent from giving unfair or harmful results. Bias shows up when training data favors certain groups or views. Toxicity is language that is hateful, violent, or rude. To stop this, start with clean and balanced data. Remove slurs, stereotypes, and spam. Add examples from many voices so the model learns fair patterns. During training, test the model often and adjust weights or rules that lean one way. After training, put filters in place that block toxic words or flag unfair answers before users see them. Keep logs, run audits, and ask users for feedback to catch new issues early. Write down every step so builders and users know the limits and risks. These actions protect people, follow laws, and help users trust the AI.",
+ "links": []
+ },
+ "63nsfJFO1BwjLX_ZVaPFC": {
+ "title": "Safety + Red Team Testing",
+ "description": "Safety + Red Team Testing is the practice of checking an AI agent for harmful or risky behavior before and after release. Safety work sets rules, guardrails, and alarms so the agent follows laws, keeps data private, and treats people fairly. Red team testing sends skilled testers to act like attackers or troublemakers. They type tricky prompts, try to leak private data, force biased outputs, or cause the agent to give dangerous advice. Every weakness they find is logged and fixed by adding filters, better training data, stronger limits, or live monitoring. Running these tests often lowers the chance of real-world harm and builds trust with users and regulators.",
+ "links": []
+ }
+}
\ No newline at end of file
diff --git a/public/roadmap-content/ai-data-scientist.json b/public/roadmap-content/ai-data-scientist.json
index da8c78dfb..36b452118 100644
--- a/public/roadmap-content/ai-data-scientist.json
+++ b/public/roadmap-content/ai-data-scientist.json
@@ -111,7 +111,7 @@
},
{
"title": "Step by Step Process for Planning an A/B Test",
- "url": "https://towardsdatascience.com/step-by-step-for-planning-an-a-b-test-ef3c93143c0b",
+ "url": "https://medium.com/data-science/step-by-step-for-planning-an-a-b-test-ef3c93143c0b",
"type": "article"
},
{
diff --git a/public/roadmap-content/ai-red-teaming.json b/public/roadmap-content/ai-red-teaming.json
index 82c494bf9..1475d3256 100644
--- a/public/roadmap-content/ai-red-teaming.json
+++ b/public/roadmap-content/ai-red-teaming.json
@@ -1,322 +1,1406 @@
{
"R9DQNc0AyAQ2HLpP4HOk6": {
"title": "AI Security Fundamentals",
- "description": "",
- "links": []
+ "description": "This covers the foundational concepts essential for AI Red Teaming, bridging traditional cybersecurity with AI-specific threats. An AI Red Teamer must understand common vulnerabilities in ML models (like evasion or poisoning), security risks in the AI lifecycle (from data collection to deployment), and how AI capabilities can be misused. This knowledge forms the basis for designing effective tests against AI systems.\n\nLearn more from the following resources:",
+ "links": [
+ {
+ "title": "AI Security | Coursera",
+ "url": "https://www.coursera.org/learn/ai-security",
+ "type": "course"
+ },
+ {
+ "title": "Building Trustworthy AI: Contending with Data Poisoning",
+ "url": "https://nisos.com/research/building-trustworthy-ai/",
+ "type": "article"
+ },
+ {
+ "title": "What Is Adversarial AI in Machine Learning?",
+ "url": "https://www.paloaltonetworks.co.uk/cyberpedia/what-are-adversarial-attacks-on-AI-Machine-Learning",
+ "type": "article"
+ }
+ ]
},
"fNTb9y3zs1HPYclAmu_Wv": {
"title": "Why Red Team AI Systems?",
- "description": "",
- "links": []
+ "description": "AI systems introduce novel risks beyond traditional software, such as emergent unintended capabilities, complex failure modes, susceptibility to subtle data manipulations, and potential for large-scale misuse (e.g., generating disinformation). AI Red Teaming is necessary because standard testing methods often fail to uncover these unique AI vulnerabilities. It provides critical, adversary-focused insights needed to build genuinely safe, reliable, and secure AI before deployment.\n\nLearn more from the following resources:",
+ "links": [
+ {
+ "title": "Introduction to Prompt Hacking",
+ "url": "https://learnprompting.org/courses/intro-to-prompt-hacking",
+ "type": "course"
+ },
+ {
+ "title": "Prompt Hacking Offensive Measures",
+ "url": "https://learnprompting.org/docs/prompt_hacking/offensive_measures/introduction",
+ "type": "article"
+ }
+ ]
},
"HFJIYcI16OMyM77fAw9af": {
"title": "Introduction",
- "description": "",
- "links": []
+ "description": "AI Red Teaming is the practice of simulating adversarial attacks against AI systems to proactively identify vulnerabilities, potential misuse scenarios, and failure modes before malicious actors do. Distinct from traditional cybersecurity red teaming, it focuses on the unique attack surfaces of AI models, such as prompt manipulation, data poisoning, model extraction, and evasion techniques. The primary goal for an AI Red Teamer is to test the robustness, safety, alignment, and fairness of AI systems, particularly complex ones like LLMs, by adopting an attacker's mindset to uncover hidden flaws and provide actionable feedback for improvement.\n\nLearn more from the following resources:",
+ "links": [
+ {
+ "title": "A Guide to AI Red Teaming",
+ "url": "https://hiddenlayer.com/innovation-hub/a-guide-to-ai-red-teaming/",
+ "type": "article"
+ },
+ {
+ "title": "What is AI Red Teaming? (Learn Prompting)",
+ "url": "https://learnprompting.org/blog/what-is-ai-red-teaming",
+ "type": "article"
+ },
+ {
+ "title": "What is AI Red Teaming? The Complete Guide",
+ "url": "https://mindgard.ai/blog/what-is-ai-red-teaming",
+ "type": "article"
+ }
+ ]
},
"1gyuEV519LjN-KpROoVwv": {
"title": "Ethical Considerations",
- "description": "",
- "links": []
+ "description": "Ethical conduct is crucial for AI Red Teamers. While simulating attacks, they must operate within strict legal and ethical boundaries defined by rules of engagement, focusing on improving safety without causing real harm or enabling misuse. This includes respecting data privacy, obtaining consent where necessary, responsibly disclosing vulnerabilities, and carefully considering the potential negative impacts of both the testing process and the AI capabilities being tested. The goal is discovery for defense, not exploitation.\n\nLearn more from the following resources:",
+ "links": [
+ {
+ "title": "Red-Teaming in AI Testing: Stress Testing",
+ "url": "https://www.labelvisor.com/red-teaming-abstract-competitive-testing-data-selection/",
+ "type": "article"
+ },
+ {
+ "title": "Responsible AI assessment - Responsible AI | Coursera",
+ "url": "https://www.coursera.org/learn/ai-security",
+ "type": "article"
+ },
+ {
+ "title": "Responsible AI Principles (Microsoft)",
+ "url": "https://www.microsoft.com/en-us/ai/responsible-ai",
+ "type": "article"
+ }
+ ]
},
"Irkc9DgBfqSn72WaJqXEt": {
"title": "Role of Red Teams",
- "description": "",
- "links": []
+ "description": "The role of an AI Red Team is to rigorously challenge AI systems from an adversarial perspective. They design and execute tests to uncover vulnerabilities related to the model's logic, data dependencies, prompt interfaces, safety alignments, and interactions with surrounding infrastructure. They provide detailed reports on findings, potential impacts, and remediation advice, acting as a critical feedback loop for AI developers and stakeholders to improve system security and trustworthiness before and after deployment.\n\nLearn more from the following resources:",
+ "links": [
+ {
+ "title": "The Complete Guide to Red Teaming: Process, Benefits & More",
+ "url": "https://mindgard.ai/blog/red-teaming",
+ "type": "article"
+ },
+ {
+ "title": "The Complete Red Teaming Checklist [PDF]: 5 Key Steps - Mindgard AI",
+ "url": "https://mindgard.ai/blog/red-teaming-checklist",
+ "type": "article"
+ },
+ {
+ "title": "Red Teaming in Defending AI Systems",
+ "url": "https://protectai.com/blog/expanding-role-red-teaming-defending-ai-systems",
+ "type": "article"
+ }
+ ]
},
"NvOJIv36Utpm7_kOZyr79": {
"title": "Supervised Learning",
- "description": "",
- "links": []
+ "description": "AI Red Teamers analyze systems built using supervised learning to probe for vulnerabilities like susceptibility to adversarial examples designed to cause misclassification, sensitivity to data distribution shifts, or potential for data leakage related to the labeled training data. Understanding how these models learn input-output mappings is key to devising tests that challenge their learned boundaries.\n\nLearn more from the following resources:",
+ "links": [
+ {
+ "title": "AI and cybersecurity: a love-hate revolution",
+ "url": "https://www.alter-solutions.com/en-us/articles/ai-cybersecurity-love-hate-revolution",
+ "type": "article"
+ },
+ {
+ "title": "What Is Supervised Learning?",
+ "url": "https://www.ibm.com/think/topics/supervised-learning",
+ "type": "article"
+ },
+ {
+ "title": "What is Supervised Learning?",
+ "url": "https://cloud.google.com/discover/what-is-supervised-learning",
+ "type": "article"
+ }
+ ]
},
"ZC0yKsu-CJC-LZKKo2pLD": {
"title": "Unsupervised Learning",
- "description": "",
- "links": []
+ "description": "When red teaming AI systems using unsupervised learning (e.g., clustering algorithms), focus areas include assessing whether the discovered patterns reveal sensitive information, if the model can be manipulated to group data incorrectly, or if dimensionality reduction techniques obscure security-relevant features. Understanding these models helps identify risks associated with pattern discovery on unlabeled data.\n\nLearn more from the following resources:",
+ "links": [
+ {
+ "title": "How Unsupervised Learning Works with Examples",
+ "url": "https://www.coursera.org/articles/unsupervised-learning",
+ "type": "article"
+ },
+ {
+ "title": "Supervised vs. Unsupervised Learning: Which Approach is Best?",
+ "url": "https://www.digitalocean.com/resources/articles/supervised-vs-unsupervised-learning",
+ "type": "article"
+ }
+ ]
},
"Xqzc4mOKsVzwaUxLGjHya": {
"title": "Reinforcement Learning",
- "description": "",
- "links": []
+ "description": "Red teaming RL-based AI systems involves testing for vulnerabilities such as reward hacking (exploiting the reward function to induce unintended behavior), unsafe exploration (agent takes harmful actions during learning), or susceptibility to adversarial perturbations in the environment's state. Understanding the agent's policy and value functions is crucial for designing effective tests against RL agents.\n\nLearn more from the following resources:",
+ "links": [
+ {
+ "title": "Deep Reinforcement Learning Course by HuggingFace",
+ "url": "https://huggingface.co/learn/deep-rl-course/unit0/introduction",
+ "type": "course"
+ },
+ {
+ "title": "Resources to Learn Reinforcement Learning",
+ "url": "https://towardsdatascience.com/best-free-courses-and-resources-to-learn-reinforcement-learning-ed6633608cb2/",
+ "type": "article"
+ },
+ {
+ "title": "What is reinforcement learning?",
+ "url": "https://online.york.ac.uk/resources/what-is-reinforcement-learning/",
+ "type": "article"
+ },
+ {
+ "title": "Diverse and Effective Red Teaming with Auto-generated Rewards and Multi-step Reinforcement Learning",
+ "url": "https://arxiv.org/html/2412.18693v1",
+ "type": "article"
+ }
+ ]
},
"RuKzVhd1nZphCrlW1wZGL": {
"title": "Neural Networks",
- "description": "",
- "links": []
+ "description": "Understanding neural network architectures (layers, nodes, activation functions) is vital for AI Red Teamers. This knowledge allows for targeted testing, such as crafting adversarial examples that exploit specific activation functions or identifying potential vulnerabilities related to network depth or connectivity. It provides insight into the 'black box' for more effective white/grey-box testing.\n\nLearn more from the following resources:",
+ "links": [
+ {
+ "title": "Neural Networks Explained: A Beginner's Guide",
+ "url": "https://www.skillcamper.com/blog/neural-networks-explained-a-beginners-guide",
+ "type": "article"
+ },
+ {
+ "title": "Neural networks | Machine Learning",
+ "url": "https://developers.google.com/machine-learning/crash-course/neural-networks",
+ "type": "article"
+ },
+ {
+ "title": "Red Teaming with Artificial Intelligence-Driven Cyberattacks: A Scoping Review",
+ "url": "https://arxiv.org/html/2503.19626",
+ "type": "article"
+ }
+ ]
},
"3XJ-g0KvHP75U18mxCqgw": {
"title": "Generative Models",
- "description": "",
- "links": []
+ "description": "AI Red Teamers focus heavily on generative models (like GANs and LLMs) due to their widespread use and unique risks. Understanding how they generate content is key to testing for issues like generating harmful/biased outputs, deepfakes, prompt injection vulnerabilities, or leaking sensitive information from their vast training data.\n\nLearn more from the following resources:",
+ "links": [
+ {
+ "title": "Introduction to Generative AI",
+ "url": "https://learnprompting.org/courses/intro-to-gen-ai",
+ "type": "course"
+ },
+ {
+ "title": "What is Generative AI?",
+ "url": "https://learnprompting.org/docs/basics/generative_ai",
+ "type": "article"
+ },
+ {
+ "title": "Generative AI beginner's guide",
+ "url": "https://cloud.google.com/vertex-ai/generative-ai/docs/learn/overview",
+ "type": "article"
+ }
+ ]
},
"8K-wCn2cLc7Vs_V4sC3sE": {
"title": "Large Language Models",
- "description": "",
- "links": []
+ "description": "LLMs are a primary target for AI Red Teaming. Understanding their architecture (often Transformer-based), training processes (pre-training, fine-tuning), and capabilities (text generation, summarization, Q&A) is essential for identifying vulnerabilities like prompt injection, jailbreaking, data regurgitation, and emergent harmful behaviors specific to these large-scale models.\n\nLearn more from the following resources:",
+ "links": [
+ {
+ "title": "What is an LLM (large language model)?",
+ "url": "https://www.cloudflare.com/learning/ai/what-is-large-language-model/",
+ "type": "article"
+ },
+ {
+ "title": "ChatGPT For Everyone",
+ "url": "https://learnprompting.org/courses/chatgpt-for-everyone",
+ "type": "article"
+ },
+ {
+ "title": "What Are Large Language Models? A Beginner's Guide for 2025",
+ "url": "https://www.kdnuggets.com/large-language-models-beginners-guide-2025",
+ "type": "article"
+ }
+ ]
},
"gx4KaFqKgJX9n9_ZGMqlZ": {
"title": "Prompt Engineering",
- "description": "",
- "links": []
+ "description": "For AI Red Teamers, prompt engineering is both a tool and a target. It's a tool for crafting inputs to test model boundaries and vulnerabilities (e.g., creating jailbreak prompts). It's a target because understanding how prompts influence LLMs is key to identifying prompt injection vulnerabilities and designing defenses. Mastering prompt design is fundamental to effective LLM red teaming.\n\nLearn more from the following resources:",
+ "links": [
+ {
+ "title": "Introduction to Prompt Engineering",
+ "url": "https://learnprompting.org/courses/intro-to-prompt-engineering",
+ "type": "course"
+ },
+ {
+ "title": "System Prompts - InjectPrompt",
+ "url": "https://www.injectprompt.com/t/system-prompts",
+ "type": "article"
+ },
+ {
+ "title": "The Ultimate Guide to Red Teaming LLMs and Adversarial Prompts (Kili Technology)",
+ "url": "https://kili-technology.com/large-language-models-llms/red-teaming-llms-and-adversarial-prompts",
+ "type": "article"
+ }
+ ]
},
"WZkIHZkV2qDYbYF9KBBRi": {
"title": "Confidentiality, Integrity, Availability",
- "description": "",
- "links": []
+ "description": "The CIA Triad is directly applicable in AI Red Teaming. Confidentiality tests focus on preventing leakage of training data or proprietary model details. Integrity tests probe for susceptibility to data poisoning or model manipulation. Availability tests assess resilience against denial-of-service attacks targeting the AI model or its supporting infrastructure.\n\nLearn more from the following resources:",
+ "links": [
+ {
+ "title": "Confidentiality, Integrity, Availability: Key Examples",
+ "url": "https://www.datasunrise.com/knowledge-center/confidentiality-integrity-availability-examples/",
+ "type": "article"
+ },
+ {
+ "title": "The CIA Triad: Confidentiality, Integrity, Availability",
+ "url": "https://www.veeam.com/blog/cybersecurity-cia-triad-explained.html",
+ "type": "article"
+ },
+ {
+ "title": "What's The CIA Triad? Confidentiality, Integrity, & Availability, Explained",
+ "url": "https://www.splunk.com/en_us/blog/learn/cia-triad-confidentiality-integrity-availability.html",
+ "type": "article"
+ }
+ ]
},
"RDOaTBWP3aIJPUp_kcafm": {
"title": "Threat Modeling",
- "description": "",
- "links": []
+ "description": "AI Red Teams apply threat modeling to identify unique attack surfaces in AI systems, such as manipulating training data, exploiting prompt interfaces, attacking the model inference process, or compromising connected tools/APIs. Before attacking an AI system, red teamers perform threat modeling to map out possible adversaries (from curious users to state actors) and attack vectors, prioritizing tests based on likely impact and adversary capability.\n\nLearn more from the following resources:",
+ "links": [
+ {
+ "title": "Core Components of AI Red Team Exercises (Learn Prompting)",
+ "url": "https://learnprompting.org/blog/what-is-ai-red-teaming",
+ "type": "article"
+ },
+ {
+ "title": "Threat Modeling Process",
+ "url": "https://owasp.org/www-community/Threat_Modeling_Process",
+ "type": "article"
+ },
+ {
+ "title": "Threat Modeling",
+ "url": "https://owasp.org/www-community/Threat_Modeling",
+ "type": "article"
+ }
+ ]
},
"MupRvk_8Io2Hn7yEvU663": {
"title": "Risk Management",
- "description": "",
- "links": []
+ "description": "AI Red Teamers contribute to the AI risk management process by identifying and demonstrating concrete vulnerabilities. Findings from red team exercises inform risk assessments, helping organizations understand the likelihood and potential impact of specific AI threats and prioritize resources for mitigation based on demonstrated exploitability.\n\nLearn more from the following resources:",
+ "links": [
+ {
+ "title": "NIST AI Risk Management Framework",
+ "url": "https://www.nist.gov/itl/ai-risk-management-framework",
+ "type": "article"
+ },
+ {
+ "title": "A Beginner's Guide to Cybersecurity Risks and Vulnerabilities",
+ "url": "https://online.champlain.edu/blog/beginners-guide-cybersecurity-risk-management",
+ "type": "article"
+ },
+ {
+ "title": "Cybersecurity Risk Management: Frameworks, Plans, and Best Practices",
+ "url": "https://hyperproof.io/resource/cybersecurity-risk-management-process/",
+ "type": "article"
+ }
+ ]
},
"887lc3tWCRH-sOHSxWgWJ": {
"title": "Vulnerability Assessment",
- "description": "",
- "links": []
+ "description": "While general vulnerability assessment scans infrastructure, AI Red Teaming extends this to assess vulnerabilities specific to the AI model and its unique interactions. This includes probing for prompt injection flaws, testing for adversarial example robustness, checking for data privacy leaks, and evaluating safety alignment failures – weaknesses not typically found by standard IT vulnerability scanners.\n\nLearn more from the following resources:",
+ "links": [
+ {
+ "title": "AI red-teaming in critical infrastructure: Boosting security and trust in AI systems",
+ "url": "https://www.dnv.com/article/ai-red-teaming-for-critical-infrastructure-industries/",
+ "type": "article"
+ },
+ {
+ "title": "The Ultimate Guide to Vulnerability Assessment",
+ "url": "https://strobes.co/blog/guide-vulnerability-assessment/",
+ "type": "article"
+ },
+ {
+ "title": "Vulnerability Scanning Tools",
+ "url": "https://owasp.org/www-community/Vulnerability_Scanning_Tools",
+ "type": "article"
+ }
+ ]
},
"Ds8pqn4y9Npo7z6ubunvc": {
"title": "Jailbreak Techniques",
- "description": "",
- "links": []
+ "description": "Jailbreaking is a specific category of prompt hacking where the AI Red Teamer aims to bypass the LLM's safety and alignment training. They use techniques like creating fictional scenarios, asking the model to simulate an unrestricted AI, or using complex instructions to trick the model into generating content that violates its own policies (e.g., generating harmful code, hate speech, or illegal instructions).\n\nLearn more from the following resources:",
+ "links": [
+ {
+ "title": "InjectPrompt (David Willis-Owen)",
+ "url": "https://injectprompt.com",
+ "type": "article"
+ },
+ {
+ "title": "Jailbreaking Guide - Learn Prompting",
+ "url": "https://learnprompting.org/docs/prompt_hacking/jailbreaking",
+ "type": "article"
+ },
+ {
+ "title": "Jailbroken: How Does LLM Safety Training Fail? (arXiv)",
+ "url": "https://arxiv.org/abs/2307.02483",
+ "type": "article"
+ }
+ ]
},
"j7uLLpt8MkZ1rqM7UBPW4": {
"title": "Safety Filter Bypasses",
- "description": "",
- "links": []
+ "description": "AI Red Teamers specifically target the safety mechanisms (filters, guardrails) implemented within or around an AI model. They test techniques like using synonyms for blocked words, employing different languages, embedding harmful requests within harmless text, or using character-level obfuscation to evade detection and induce the model to generate prohibited content, thereby assessing the robustness of the safety controls.\n\nLearn more from the following resources:",
+ "links": [
+ {
+ "title": "Bypassing AI Content Filters",
+ "url": "https://www.restack.io/p/ai-driven-content-moderation-answer-bypass-filters-cat-ai",
+ "type": "article"
+ },
+ {
+ "title": "How to Bypass Azure AI Content Safety Guardrails",
+ "url": "https://mindgard.ai/blog/bypassing-azure-ai-content-safety-guardrails",
+ "type": "article"
+ },
+ {
+ "title": "The Best Methods to Bypass AI Detection: Tips and Techniques",
+ "url": "https://www.popai.pro/resources/the-best-methods-to-bypass-ai-detection-tips-and-techniques/",
+ "type": "article"
+ }
+ ]
},
"XOrAPDRhBvde9R-znEipH": {
"title": "Prompt Injection",
- "description": "",
- "links": []
+ "description": "Prompt injection is a critical vulnerability tested by AI Red Teamers. They attempt to insert instructions into the LLM's input that override its intended system prompt or task, causing it to perform unauthorized actions, leak data, or generate malicious output. This tests the model's ability to distinguish trusted instructions from potentially harmful user/external input.\n\nLearn more from the following resources:",
+ "links": [
+ {
+ "title": "Advanced Prompt Hacking - Learn Prompting",
+ "url": "https://learnprompting.org/courses/advanced-prompt-hacking",
+ "type": "course"
+ },
+ {
+ "title": "Prompt Injection & the Rise of Prompt Attacks",
+ "url": "https://www.lakera.ai/blog/guide-to-prompt-injection",
+ "type": "article"
+ },
+ {
+ "title": "Prompt Injection (Learn Prompting)",
+ "url": "https://learnprompting.org/docs/prompt_hacking/injection",
+ "type": "article"
+ },
+ {
+ "title": "Prompt Injection Attack Explanation (IBM)",
+ "url": "https://research.ibm.com/blog/prompt-injection-attacks-against-llms",
+ "type": "article"
+ },
+ {
+ "title": "Prompt Injection: Impact, How It Works & 4 Defense Measures",
+ "url": "https://www.tigera.io/learn/guides/llm-security/prompt-injection/",
+ "type": "article"
+ }
+ ]
},
"1Xr7mxVekeAHzTL7G4eAZ": {
"title": "Prompt Hacking",
- "description": "",
- "links": []
+ "description": "Prompt hacking is a core technique for AI Red Teamers targeting LLMs. It involves crafting inputs (prompts) to manipulate the model into bypassing safety controls, revealing hidden information, or performing unintended actions. Red teamers systematically test various prompt hacking methods (like jailbreaking, role-playing, or instruction manipulation) to assess the LLM's resilience against adversarial user input.\n\nLearn more from the following resources:",
+ "links": [
+ {
+ "title": "Introduction to Prompt Hacking",
+ "url": "https://learnprompting.org/courses/intro-to-prompt-hacking",
+ "type": "course"
+ },
+ {
+ "title": "Prompt Hacking Guide",
+ "url": "https://learnprompting.org/docs/prompt_hacking/introduction",
+ "type": "article"
+ },
+ {
+ "title": "SoK: Prompt Hacking of LLMs (arXiv 2023)",
+ "url": "https://arxiv.org/abs/2311.05544",
+ "type": "article"
+ }
+ ]
},
"5zHow4KZVpfhch5Aabeft": {
"title": "Direct",
- "description": "",
- "links": []
+ "description": "Direct injection attacks occur when malicious instructions are inserted directly into the prompt input field by the user interacting with the LLM. AI Red Teamers use this technique to assess if basic instructions like \"Ignore previous prompt\" can immediately compromise the model's safety or intended function, testing the robustness of the system prompt's influence.\n\nLearn more from the following resources:",
+ "links": [
+ {
+ "title": "Prompt Injection",
+ "url": "https://learnprompting.org/docs/prompt_hacking/injection?srsltid=AfmBOooOKRzLT0Hn2PNdAa69Fietniztfds6Fo1PO8WuIyyXjbLb6XgI",
+ "type": "article"
+ },
+ {
+ "title": "Prompt Injection & the Rise of Prompt Attacks",
+ "url": "https://www.lakera.ai/blog/guide-to-prompt-injection",
+ "type": "article"
+ },
+ {
+ "title": "Prompt Injection Cheat Sheet (FlowGPT)",
+ "url": "https://flowgpt.com/p/prompt-injection-cheat-sheet",
+ "type": "article"
+ }
+ ]
},
"3_gJRtJSdm2iAfkwmcv0e": {
"title": "Indirect",
- "description": "",
- "links": []
+ "description": "Indirect injection involves embedding malicious prompts within external data sources that the LLM processes, such as websites, documents, or emails. AI Red Teamers test this by poisoning data sources the AI might interact with (e.g., adding hidden instructions to a webpage summarized by the AI) to see if the AI executes unintended commands or leaks data when processing that source.\n\nLearn more from the following resources:",
+ "links": [
+ {
+ "title": "The Practical Application of Indirect Prompt Injection Attacks",
+ "url": "https://www.researchgate.net/publication/382692833_The_Practical_Application_of_Indirect_Prompt_Injection_Attacks_From_Academia_to_Industry",
+ "type": "article"
+ },
+ {
+ "title": "How to Prevent Indirect Prompt Injection Attacks",
+ "url": "https://www.cobalt.io/blog/how-to-prevent-indirect-prompt-injection-attacks",
+ "type": "article"
+ },
+ {
+ "title": "Indirect Prompt Injection Data Exfiltration",
+ "url": "https://embracethered.com/blog/posts/2024/chatgpt-macos-app-persistent-data-exfiltration/",
+ "type": "article"
+ }
+ ]
},
"G1u_Kq4NeUsGX2qnUTuJU": {
"title": "Countermeasures",
- "description": "",
- "links": []
+ "description": "AI Red Teamers must also understand and test defenses against prompt hacking. This includes evaluating the effectiveness of input sanitization, output filtering, instruction demarcation (e.g., XML tagging), contextual awareness checks, model fine-tuning for resistance, and applying the principle of least privilege to LLM capabilities and tool access.\n\nLearn more from the following resources:",
+ "links": [
+ {
+ "title": "Prompt Hacking Defensive Measures",
+ "url": "https://learnprompting.org/docs/prompt_hacking/defensive_measures/introduction",
+ "type": "article"
+ },
+ {
+ "title": "Mitigating Prompt Injection Attacks (NCC Group Research)",
+ "url": "https://research.nccgroup.com/2023/12/01/mitigating-prompt-injection-attacks/",
+ "type": "article"
+ },
+ {
+ "title": "Prompt Injection & the Rise of Prompt Attacks",
+ "url": "https://www.lakera.ai/blog/guide-to-prompt-injection",
+ "type": "article"
+ },
+ {
+ "title": "Prompt Injection: Impact, How It Works & 4 Defense Measures",
+ "url": "https://www.tigera.io/learn/guides/llm-security/prompt-injection/",
+ "type": "article"
+ },
+ {
+ "title": "OpenAI Best Practices for Prompt Security",
+ "url": "https://platform.openai.com/docs/guides/prompt-engineering/strategy-write-clear-instructions",
+ "type": "article"
+ }
+ ]
},
"vhBu5x8INTtqvx6vcYAhE": {
"title": "Code Injection",
- "description": "",
- "links": []
+ "description": "AI Red Teamers test for code injection vulnerabilities specifically in the context of AI applications. This involves probing whether user input, potentially manipulated via prompts, can lead to the execution of unintended code (e.g., SQL, OS commands, or script execution via generated code) within the application layer or connected systems, using the AI as a potential vector.\n\nLearn more from the following resources:",
+ "links": [
+ {
+ "title": "Code Injection in LLM Applications",
+ "url": "https://neuraltrust.ai/blog/code-injection-in-llms",
+ "type": "article"
+ },
+ {
+ "title": "Code Injection",
+ "url": "https://learnprompting.org/docs/prompt_hacking/offensive_measures/code_injection",
+ "type": "article"
+ },
+ {
+ "title": "Code Injection",
+ "url": "https://owasp.org/www-community/attacks/Code_Injection",
+ "type": "article"
+ }
+ ]
},
"uBXrri2bXVsNiM8fIHHOv": {
"title": "Model Vulnerabilities",
- "description": "",
- "links": []
+ "description": "This category covers attacks and tests targeting the AI model itself, beyond the prompt interface. AI Red Teamers investigate inherent weaknesses in the model's architecture, training data artifacts, or prediction mechanisms, such as susceptibility to data extraction, poisoning, or adversarial manipulation.\n\nLearn more from the following resources:",
+ "links": [
+ {
+ "title": "AI Security Risks Uncovered: What You Must Know in 2025",
+ "url": "https://ttms.com/uk/ai-security-risks-explained-what-you-need-to-know-in-2025/",
+ "type": "article"
+ },
+ {
+ "title": "Weaknesses in Modern AI",
+ "url": "https://insights.sei.cmu.edu/blog/weaknesses-and-vulnerabilities-in-modern-ai-why-security-and-safety-are-so-challenging/",
+ "type": "article"
+ },
+ {
+ "title": "AI and ML Vulnerabilities (CNAS Report)",
+ "url": "https://www.cnas.org/publications/reports/understanding-and-mitigating-ai-vulnerabilities",
+ "type": "article"
+ }
+ ]
},
"QFzLx5nc4rCCD8WVc20mo": {
"title": "Model Weight Stealing",
- "description": "",
- "links": []
+ "description": "AI Red Teamers assess the risk of attackers reconstructing or stealing the proprietary weights of a trained model, often through API query-based attacks. Testing involves simulating such attacks to understand how easily the model's functionality can be replicated, which informs defenses like query rate limiting, watermarking, or differential privacy.\n\nLearn more from the following resources:",
+ "links": [
+ {
+ "title": "A Playbook for Securing AI Model Weights",
+ "url": "https://www.rand.org/pubs/research_briefs/RBA2849-1.html",
+ "type": "article"
+ },
+ {
+ "title": "How to Steal a Machine Learning Model (SkyCryptor)",
+ "url": "https://skycryptor.com/blog/how-to-steal-a-machine-learning-model",
+ "type": "article"
+ },
+ {
+ "title": "On the Limitations of Model Stealing with Uncertainty Quantification Models",
+ "url": "https://openreview.net/pdf?id=ONRFHoUzNk",
+ "type": "article"
+ }
+ ]
},
"DQeOavZCoXpF3k_qRDABs": {
"title": "Unauthorized Access",
- "description": "",
- "links": []
+ "description": "AI Red Teamers test if vulnerabilities in the AI system or its interfaces allow attackers to gain unauthorized access to data, functionalities, or underlying infrastructure. This includes attempting privilege escalation via prompts, exploiting insecure API endpoints connected to the AI, or manipulating the AI to access restricted system resources.\n\nLearn more from the following resources:",
+ "links": [
+ {
+ "title": "Defending Model Files from Unauthorized Access",
+ "url": "https://developer.nvidia.com/blog/defending-ai-model-files-from-unauthorized-access-with-canaries/",
+ "type": "article"
+ },
+ {
+ "title": "OWASP API Security Project",
+ "url": "https://owasp.org/www-project-api-security/",
+ "type": "article"
+ },
+ {
+ "title": "Detecting Unauthorized Usage",
+ "url": "https://www.unr.edu/digital-learning/instructional-strategies/understanding-and-integrating-generative-ai-in-teaching/how-can-i-detect-unauthorized-ai-usage",
+ "type": "article"
+ }
+ ]
},
"nD0_64ELEeJSN-0aZiR7i": {
"title": "Data Poisoning",
- "description": "",
- "links": []
+ "description": "AI Red Teamers simulate data poisoning attacks by evaluating how introducing manipulated or mislabeled data into potential training or fine-tuning datasets could compromise the model. They assess the impact on model accuracy, fairness, or the potential creation of exploitable backdoors, informing defenses around data validation and provenance.\n\nLearn more from the following resources:",
+ "links": [
+ {
+ "title": "AI Poisoning",
+ "url": "https://www.aiblade.net/p/ai-poisoning-is-it-really-a-threat",
+ "type": "article"
+ },
+ {
+ "title": "Detecting and Preventing Data Poisoning Attacks on AI Models",
+ "url": "https://arxiv.org/abs/2503.09302",
+ "type": "article"
+ },
+ {
+ "title": "Poisoning Web-Scale Training Data (arXiv)",
+ "url": "https://arxiv.org/abs/2310.12818",
+ "type": "article"
+ }
+ ]
},
"xjlttOti-_laPRn8a2fVy": {
"title": "Adversarial Examples",
- "description": "",
- "links": []
+ "description": "A core AI Red Teaming activity involves generating adversarial examples – inputs slightly perturbed to cause misclassification or bypass safety filters – to test model robustness. Red teamers use various techniques (gradient-based, optimization-based, or black-box methods) to find inputs that exploit model weaknesses, informing developers on how to harden the model.\n\nLearn more from the following resources:",
+ "links": [
+ {
+ "title": "Adversarial Examples – Interpretable Machine Learning Book",
+ "url": "https://christophm.github.io/interpretable-ml-book/adversarial.html",
+ "type": "article"
+ },
+ {
+ "title": "Adversarial Testing for Generative AI",
+ "url": "https://developers.google.com/machine-learning/guides/adv-testing",
+ "type": "article"
+ },
+ {
+ "title": "How AI Can Be Tricked With Adversarial Attacks",
+ "url": "https://www.youtube.com/watch?v=J3X_JWQkvo8?v=MPcfoQBDY0w",
+ "type": "video"
+ }
+ ]
},
"iE5PcswBHnu_EBFIacib0": {
"title": "Model Inversion",
- "description": "",
- "links": []
+ "description": "AI Red Teamers perform model inversion tests to assess if an attacker can reconstruct sensitive training data (like images, text snippets, or personal attributes) by repeatedly querying the model and analyzing its outputs. Success indicates privacy risks due to data memorization, requiring mitigation techniques like differential privacy or output filtering.\n\nLearn more from the following resources:",
+ "links": [
+ {
+ "title": "Model inversion and membership inference: Understanding new AI security risks",
+ "url": "https://www.hoganlovells.com/en/publications/model-inversion-and-membership-inference-understanding-new-ai-security-risks-and-mitigating-vulnerabilities",
+ "type": "article"
+ },
+ {
+ "title": "Extracting Training Data from LLMs (arXiv)",
+ "url": "https://arxiv.org/abs/2012.07805",
+ "type": "article"
+ },
+ {
+ "title": "Model Inversion Attacks: A Survey of Approaches and Countermeasures",
+ "url": "https://arxiv.org/html/2411.10023v1",
+ "type": "article"
+ }
+ ]
},
"2Y0ZO-etpv3XIvunDLu-W": {
"title": "Adversarial Training",
- "description": "",
- "links": []
+ "description": "AI Red Teamers evaluate the effectiveness of adversarial training as a defense. They test if models trained on adversarial examples are truly robust or if new, unseen adversarial attacks can still bypass the hardened defenses. This helps refine the adversarial training process itself.\n\nLearn more from the following resources:",
+ "links": [
+ {
+ "title": "Model Robustness: Building Reliable AI Models",
+ "url": "https://encord.com/blog/model-robustness-machine-learning-strategies/",
+ "type": "article"
+ },
+ {
+ "title": "Adversarial Testing for Generative AI",
+ "url": "https://developers.google.com/machine-learning/guides/adv-testing",
+ "type": "article"
+ },
+ {
+ "title": "Detecting and Preventing Data Poisoning Attacks on AI Models",
+ "url": "https://arxiv.org/abs/2503.09302",
+ "type": "article"
+ }
+ ]
},
"6gEHMhh6BGJI-ZYN27YPW": {
"title": "Robust Model Design",
- "description": "",
- "links": []
+ "description": "AI Red Teamers assess whether choices made during model design (architecture selection, regularization techniques, ensemble methods) effectively contribute to robustness against anticipated attacks. They test if these design choices actually prevent common failure modes identified during threat modeling.\n\nLearn more from the following resources:",
+ "links": [
+ {
+ "title": "Model Robustness: Building Reliable AI Models",
+ "url": "https://encord.com/blog/model-robustness-machine-learning-strategies/",
+ "type": "article"
+ },
+ {
+ "title": "Understanding Robustness in Machine Learning",
+ "url": "https://www.alooba.com/skills/concepts/machine-learning/robustness/",
+ "type": "article"
+ },
+ {
+ "title": "Towards Evaluating the Robustness of Neural Networks (arXiv by Goodfellow et al.)",
+ "url": "https://arxiv.org/abs/1608.04644",
+ "type": "article"
+ }
+ ]
},
"7Km0mFpHguHYPs5UhHTsM": {
"title": "Continuous Monitoring",
- "description": "",
- "links": []
+ "description": "AI Red Teamers assess the effectiveness of continuous monitoring systems by attempting attacks and observing if detection mechanisms trigger appropriate alerts and responses. They test if monitoring covers AI-specific anomalies (like sudden shifts in output toxicity or unexpected resource consumption by the model) in addition to standard infrastructure monitoring.\n\nLearn more from the following resources:",
+ "links": [
+ {
+ "title": "Cyber Security Monitoring: 5 Key Components",
+ "url": "https://www.bitsight.com/blog/5-things-to-consider-building-continuous-security-monitoring-strategy",
+ "type": "article"
+ },
+ {
+ "title": "Cyber Security Monitoring: Definition and Best Practices",
+ "url": "https://www.sentinelone.com/cybersecurity-101/cybersecurity/cyber-security-monitoring/",
+ "type": "article"
+ },
+ {
+ "title": "Cybersecurity Monitoring: Definition, Tools & Best Practices",
+ "url": "https://nordlayer.com/blog/cybersecurity-monitoring/",
+ "type": "article"
+ }
+ ]
},
"aKzai0A8J55-OBXTnQih1": {
"title": "Insecure Deserialization",
- "description": "",
- "links": []
+ "description": "AI Red Teamers investigate if serialized objects used by the AI system (e.g., for saving model states, configurations, or transmitting data) can be manipulated by an attacker. They test if crafting malicious serialized objects could lead to remote code execution or other exploits when the application deserializes the untrusted data.\n\nLearn more from the following resources:",
+ "links": [
+ {
+ "title": "Lightboard Lessons: OWASP Top 10 - Insecure Deserialization",
+ "url": "https://community.f5.com/kb/technicalarticles/lightboard-lessons-owasp-top-10---insecure-deserialization/281509",
+ "type": "article"
+ },
+ {
+ "title": "How Hugging Face Was Ethically Hacked",
+ "url": "https://www.aiblade.net/p/how-hugging-face-was-ethically-hacked",
+ "type": "article"
+ },
+ {
+ "title": "OWASP TOP 10: Insecure Deserialization",
+ "url": "https://blog.detectify.com/best-practices/owasp-top-10-insecure-deserialization/",
+ "type": "article"
+ },
+ {
+ "title": "Insecure Deserialization",
+ "url": "https://owasp.org/www-community/vulnerabilities/Insecure_Deserialization",
+ "type": "article"
+ }
+ ]
},
"kgDsDlBk8W2aM6LyWpFY8": {
"title": "Remote Code Execution",
- "description": "",
- "links": []
+ "description": "AI Red Teamers attempt to achieve RCE on systems hosting or interacting with AI models. This could involve exploiting vulnerabilities in the AI framework itself, the web server, connected APIs, or tricking an AI agent with code execution capabilities into running malicious commands provided via prompts. RCE is often the ultimate goal of exploiting other vulnerabilities like code injection or insecure deserialization.\n\nLearn more from the following resources:",
+ "links": [
+ {
+ "title": "Exploiting LLMs with Code Execution (GitHub Gist)",
+ "url": "https://gist.github.com/coolaj86/6f4f7b30129b0251f61fa7baaa881516",
+ "type": "article"
+ },
+ {
+ "title": "What is remote code execution?",
+ "url": "https://www.cloudflare.com/learning/security/what-is-remote-code-execution/",
+ "type": "article"
+ }
+ ]
},
"nhUKKWyBH80nyKfGT8ErC": {
"title": "Infrastructure Security",
- "description": "",
- "links": []
+ "description": "AI Red Teamers assess the security posture of the infrastructure hosting AI models (cloud environments, servers, containers). They look for misconfigurations, unpatched systems, insecure network setups, or inadequate access controls that could allow compromise of the AI system or leakage of sensitive data/models.\n\nLearn more from the following resources:",
+ "links": [
+ {
+ "title": "AI Infrastructure Attacks (VentureBeat)",
+ "url": "https://venturebeat.com/ai/understanding-ai-infrastructure-attacks/",
+ "type": "article"
+ },
+ {
+ "title": "Network Infrastructure Security - Best Practices and Strategies",
+ "url": "https://www.dataguard.com/blog/network-infrastructure-security-best-practices-and-strategies/",
+ "type": "article"
+ },
+ {
+ "title": "Secure Deployment of ML Systems (NIST)",
+ "url": "https://csrc.nist.gov/publications/detail/sp/800-218/final",
+ "type": "article"
+ }
+ ]
},
"Tszl26iNBnQBdBEWOueDA": {
"title": "API Protection",
- "description": "",
- "links": []
+ "description": "AI Red Teamers rigorously test the security of APIs providing access to AI models. They probe for OWASP API Top 10 vulnerabilities like broken authentication/authorization, injection flaws, security misconfigurations, and lack of rate limiting, specifically evaluating how these could lead to misuse or compromise of the AI model itself.\n\nLearn more from the following resources:",
+ "links": [
+ {
+ "title": "Securing APIs with AI for Advanced Threat Protection",
+ "url": "https://adevait.com/artificial-intelligence/securing-apis-with-ai",
+ "type": "article"
+ },
+ {
+ "title": "Securing Machine Learning APIs (IBM)",
+ "url": "https://developer.ibm.com/articles/se-securing-machine-learning-apis/",
+ "type": "article"
+ },
+ {
+ "title": "OWASP API Security Project (Top 10 2023)",
+ "url": "https://owasp.org/www-project-api-security/",
+ "type": "article"
+ }
+ ]
},
"J7gjlt2MBx7lOkOnfGvPF": {
"title": "Authentication",
- "description": "",
- "links": []
+ "description": "AI Red Teamers test the authentication mechanisms controlling access to AI systems and APIs. They attempt to bypass logins, steal or replay API keys/tokens, exploit weak password policies, or find flaws in MFA implementations to gain unauthorized access to the AI model or its management interfaces.\n\nLearn more from the following resources:",
+ "links": [
+ {
+ "title": "Red-Teaming in AI Testing: Stress Testing",
+ "url": "https://www.labelvisor.com/red-teaming-abstract-competitive-testing-data-selection/",
+ "type": "article"
+ },
+ {
+ "title": "What is Authentication vs Authorization?",
+ "url": "https://auth0.com/intro-to-iam/authentication-vs-authorization",
+ "type": "article"
+ },
+ {
+ "title": "JWT Attacks",
+ "url": "https://portswigger.net/web-security/jwt",
+ "type": "article"
+ }
+ ]
},
"JQ3bR8odXJfd-1RCEf3-Q": {
"title": "Authentication",
- "description": "",
- "links": []
+ "description": "AI Red Teamers test authorization controls to ensure that authenticated users can only access the AI features and data permitted by their roles/permissions. They attempt privilege escalation, try to access other users' data via the AI, or manipulate the AI to perform actions beyond its authorized scope.\n\nLearn more from the following resources:",
+ "links": [
+ {
+ "title": "What is Authentication vs Authorization?",
+ "url": "https://auth0.com/intro-to-iam/authentication-vs-authorization",
+ "type": "article"
+ },
+ {
+ "title": "Identity and access management (IAM) fundamental concepts",
+ "url": "https://learn.microsoft.com/en-us/entra/fundamentals/identity-fundamental-concepts",
+ "type": "article"
+ },
+ {
+ "title": "OWASP API Security Project",
+ "url": "https://owasp.org/www-project-api-security/",
+ "type": "article"
+ }
+ ]
},
"0bApnJTt-Z2IUf0X3OCYf": {
"title": "Black Box Testing",
- "description": "",
- "links": []
+ "description": "In AI Red Teaming, black-box testing involves probing the AI system with inputs and observing outputs without any knowledge of the model's architecture, training data, or internal logic. This simulates an external attacker and is crucial for finding vulnerabilities exploitable through publicly accessible interfaces, such as prompt injection or safety bypasses discoverable via API interaction.\n\nLearn more from the following resources:",
+ "links": [
+ {
+ "title": "Black-Box, Gray Box, and White-Box Penetration Testing",
+ "url": "https://www.eccouncil.org/cybersecurity-exchange/penetration-testing/black-box-gray-box-and-white-box-penetration-testing-importance-and-uses/",
+ "type": "article"
+ },
+ {
+ "title": "What is Black Box Testing",
+ "url": "https://www.imperva.com/learn/application-security/black-box-testing/",
+ "type": "article"
+ },
+ {
+ "title": "LLM red teaming guide (open source)",
+ "url": "https://www.promptfoo.dev/docs/red-team/",
+ "type": "article"
+ }
+ ]
},
"Mrk_js5UVn4dRDw-Yco3Y": {
"title": "White Box Testing",
- "description": "",
- "links": []
+ "description": "White-box testing in AI Red Teaming grants the tester full access to the model's internals (architecture, weights, training data, source code). This allows for highly targeted attacks, such as crafting precise adversarial examples using gradients, analyzing code for vulnerabilities, or directly examining training data for biases or PII leakage. It simulates insider threats or deep analysis scenarios.\n\nLearn more from the following resources:",
+ "links": [
+ {
+ "title": "Black-Box, Gray Box, and White-Box Penetration Testing",
+ "url": "https://www.eccouncil.org/cybersecurity-exchange/penetration-testing/black-box-gray-box-and-white-box-penetration-testing-importance-and-uses/",
+ "type": "article"
+ },
+ {
+ "title": "What is White Box Penetration Testing",
+ "url": "https://www.getastra.com/blog/security-audit/white-box-penetration-testing/",
+ "type": "article"
+ },
+ {
+ "title": "The Art of White Box Pentesting",
+ "url": "https://infosecwriteups.com/cracking-the-code-the-art-of-white-box-pentesting-de296bc22c67",
+ "type": "article"
+ }
+ ]
},
"ZVNAMCP68XKRXVxF2-hBc": {
"title": "Grey Box Testing",
- "description": "",
- "links": []
+ "description": "Grey-box AI Red Teaming involves testing with partial knowledge of the system, such as knowing the model type (e.g., GPT-4), having access to some documentation, or understanding the general system architecture but not having full model weights or source code. This allows for more targeted testing than black-box while still simulating realistic external attacker scenarios where some information might be gleaned.\n\nLearn more from the following resources:",
+ "links": [
+ {
+ "title": "AI Transparency: Connecting AI Red Teaming and Compliance",
+ "url": "https://splx.ai/blog/ai-transparency-connecting-ai-red-teaming-and-compliance",
+ "type": "article"
+ },
+ {
+ "title": "Black-Box, Gray Box, and White-Box Penetration Testing",
+ "url": "https://www.eccouncil.org/cybersecurity-exchange/penetration-testing/black-box-gray-box-and-white-box-penetration-testing-importance-and-uses/",
+ "type": "article"
+ },
+ {
+ "title": "Understanding Black Box, White Box, and Grey Box Testing",
+ "url": "https://www.frugaltesting.com/blog/understanding-black-box-white-box-and-grey-box-testing-in-software-testing",
+ "type": "article"
+ }
+ ]
},
"LVdYN9hyCyNPYn2Lz1y9b": {
"title": "Automated vs Manual",
- "description": "",
- "links": []
+ "description": "AI Red Teaming typically employs a blend of automated tools (for large-scale scanning, fuzzing prompts, generating basic adversarial examples) and manual human testing (for creative jailbreaking, complex multi-stage attacks, evaluating nuanced safety issues like bias). Automation provides scale, while manual testing provides depth and creativity needed to find novel vulnerabilities.\n\nLearn more from the following resources:",
+ "links": [
+ {
+ "title": "Automation Testing vs. Manual Testing: Which is the better approach?",
+ "url": "https://www.opkey.com/blog/automation-testing-vs-manual-testing-which-is-better",
+ "type": "article"
+ },
+ {
+ "title": "Manual Testing vs Automated Testing: What's the Difference?",
+ "url": "https://www.leapwork.com/blog/manual-vs-automated-testing",
+ "type": "article"
+ },
+ {
+ "title": "Spikee",
+ "url": "https://spikee.ai",
+ "type": "article"
+ }
+ ]
},
"65Lo60JQS5YlvvQ6KevXt": {
"title": "Continuous Testing",
- "description": "",
- "links": []
+ "description": "Applying continuous testing principles to AI security involves integrating automated red teaming checks into the development pipeline (CI/CD). This allows for regular, automated assessment of model safety, robustness, and alignment as the model or application code evolves, catching regressions or new vulnerabilities early. Tools facilitating Continuous Automated Red Teaming (CART) are emerging.\n\nLearn more from the following resources:",
+ "links": [
+ {
+ "title": "Continuous Automated Red Teaming (CART)",
+ "url": "https://www.firecompass.com/continuous-automated-red-teaming/",
+ "type": "article"
+ },
+ {
+ "title": "What is Continuous Penetration Testing? Process and Benefits",
+ "url": "https://qualysec.com/continuous-penetration-testing/",
+ "type": "article"
+ },
+ {
+ "title": "What is Continuous Testing and How Does it Work?",
+ "url": "https://www.blackduck.com/glossary/what-is-continuous-testing.html",
+ "type": "article"
+ }
+ ]
},
"c8n8FcYKDOgPLQvV9xF5J": {
"title": "Testing Platforms",
- "description": "",
- "links": []
+ "description": "Platforms used by AI Red Teamers range from general penetration testing OS distributions like Kali Linux to specific AI red teaming tools/frameworks like Microsoft's PyRIT or Promptfoo, and vulnerability scanners like OWASP ZAP adapted for API testing of AI services. These platforms provide the toolsets needed to conduct assessments.\n\nLearn more from the following resources:",
+ "links": [
+ {
+ "title": "AI Red Teaming Agent - Azure AI Foundry | Microsoft Learn",
+ "url": "https://learn.microsoft.com/en-us/azure/ai-foundry/concepts/ai-red-teaming-agent",
+ "type": "article"
+ },
+ {
+ "title": "Kali Linux",
+ "url": "https://www.kali.org/",
+ "type": "article"
+ },
+ {
+ "title": "OWASP Zed Attack Proxy (ZAP)",
+ "url": "https://owasp.org/www-project-zap/",
+ "type": "article"
+ },
+ {
+ "title": "Promptfoo",
+ "url": "https://www.promptfoo.dev/",
+ "type": "article"
+ },
+ {
+ "title": "PyRIT (Python Risk Identification Tool for generative AI)",
+ "url": "https://github.com/Azure/PyRIT",
+ "type": "article"
+ }
+ ]
},
"59lkLcoqV4gq7f8Zm0X2p": {
"title": "Monitoring Solutions",
- "description": "",
- "links": []
+ "description": "AI Red Teamers interact with monitoring tools primarily to test their effectiveness (evasion) or potentially exploit vulnerabilities within them. Understanding tools like IDS (Snort, Suricata), network analyzers (Wireshark), and SIEMs helps red teamers simulate attacks that might bypass or target these defensive systems.\n\nLearn more from the following resources:",
+ "links": [
+ {
+ "title": "Open Source IDS Tools: Comparing Suricata, Snort, Bro (Zeek), Linux",
+ "url": "https://levelblue.com/blogs/security-essentials/open-source-intrusion-detection-tools-a-quick-overview",
+ "type": "article"
+ },
+ {
+ "title": "Snort",
+ "url": "https://www.snort.org/",
+ "type": "article"
+ },
+ {
+ "title": "Suricata",
+ "url": "https://suricata.io/",
+ "type": "article"
+ },
+ {
+ "title": "Wireshark",
+ "url": "https://www.wireshark.org/",
+ "type": "article"
+ },
+ {
+ "title": "Zeek (formerly Bro)",
+ "url": "https://zeek.org/",
+ "type": "article"
+ }
+ ]
},
"et1Xrr8ez-fmB0mAq8W_a": {
"title": "Benchmark Datasets",
- "description": "",
- "links": []
+ "description": "AI Red Teamers may use or contribute to benchmark datasets specifically designed to evaluate AI security. These datasets (like HackAprompt, SecBench, NYU CTF Bench, CySecBench) contain prompts or scenarios targeting vulnerabilities, safety issues, or specific cybersecurity capabilities, allowing for standardized testing of models.\n\nLearn more from the following resources:",
+ "links": [
+ {
+ "title": "HackAPrompt Dataset",
+ "url": "https://huggingface.co/datasets/hackaprompt/hackaprompt-dataset",
+ "type": "article"
+ },
+ {
+ "title": "CySecBench: Generative AI-based CyberSecurity-focused Prompt Dataset",
+ "url": "https://github.com/cysecbench/dataset",
+ "type": "article"
+ },
+ {
+ "title": "NYU CTF Bench: A Scalable Open-Source Benchmark Dataset for Evaluating LLMs in Offensive Security",
+ "url": "https://proceedings.neurips.cc/paper_files/paper/2024/hash/69d97a6493fbf016fff0a751f253ad18-Abstract-Datasets_and_Benchmarks_Track.html",
+ "type": "article"
+ },
+ {
+ "title": "SecBench: A Comprehensive Multi-Dimensional Benchmarking Dataset for LLMs in Cybersecurity",
+ "url": "https://arxiv.org/abs/2412.20787",
+ "type": "article"
+ }
+ ]
},
"C1zO2xC0AqyV53p2YEPWg": {
"title": "Custom Testing Scripts",
- "description": "",
- "links": []
+ "description": "AI Red Teamers frequently write custom scripts (often in Python) to automate bespoke attacks, interact with specific AI APIs, generate complex prompt sequences, parse model outputs at scale, or implement novel exploit techniques not found in standard tools. Proficiency in scripting is essential for advanced AI red teaming.\n\nLearn more from the following resources:",
+ "links": [
+ {
+ "title": "Python for Cybersecurity: Key Use Cases and Tools",
+ "url": "https://panther.com/blog/python-for-cybersecurity-key-use-cases-and-tools",
+ "type": "article"
+ },
+ {
+ "title": "Python for cybersecurity: use cases, tools and best practices",
+ "url": "https://softteco.com/blog/python-for-cybersecurity",
+ "type": "article"
+ },
+ {
+ "title": "Scapy",
+ "url": "https://scapy.net/",
+ "type": "article"
+ }
+ ]
},
"BLnfNlA0C4yzy1dvifjwx": {
"title": "Reporting Tools",
- "description": "",
- "links": []
+ "description": "AI Red Teamers use reporting techniques and potentially tools to clearly document their findings, including discovered vulnerabilities, successful exploit steps (e.g., effective prompts), assessed impact, and actionable recommendations tailored to AI systems. Good reporting translates technical findings into understandable risks for stakeholders.\n\nLearn more from the following resources:",
+ "links": [
+ {
+ "title": "The Complete Red Teaming Checklist [PDF]: 5 Key Steps - Mindgard AI",
+ "url": "https://mindgard.ai/blog/red-teaming-checklist",
+ "type": "article"
+ },
+ {
+ "title": "Penetration Testing Report: 6 Key Sections and 4 Best Practices",
+ "url": "https://brightsec.com/blog/penetration-testing-report/",
+ "type": "article"
+ },
+ {
+ "title": "Penetration testing best practices: Strategies for all test types",
+ "url": "https://www.strikegraph.com/blog/pen-testing-best-practices",
+ "type": "article"
+ }
+ ]
},
"s1xKK8HL5-QGZpcutiuvj": {
"title": "Specialized Courses",
- "description": "",
- "links": []
+ "description": "Targeted training is crucial for mastering AI Red Teaming. Look for courses covering adversarial ML, prompt hacking, LLM security, ethical hacking for AI, and specific red teaming methodologies applied to AI systems offered by platforms like Learn Prompting, Coursera, or security training providers.\n\nLearn more from the following resources:",
+ "links": [
+ {
+ "title": "AI Red Teaming Courses - Learn Prompting",
+ "url": "https://learnprompting.org/blog/ai-red-teaming-courses",
+ "type": "course"
+ },
+ {
+ "title": "AI Security | Coursera",
+ "url": "https://www.coursera.org/learn/ai-security",
+ "type": "course"
+ },
+ {
+ "title": "Free Online Cyber Security Courses with Certificates in 2025",
+ "url": "https://www.eccouncil.org/cybersecurity-exchange/cyber-novice/free-cybersecurity-courses-beginners/",
+ "type": "course"
+ }
+ ]
},
"HHjsFR6wRDqUd66PMDE_7": {
"title": "Industry Credentials",
- "description": "",
- "links": []
+ "description": "Beyond formal certifications, recognition in the AI Red Teaming field comes from practical achievements like finding significant vulnerabilities (responsible disclosure), winning AI-focused CTFs or hackathons (like HackAPrompt), contributing to AI security research, or building open-source testing tools.\n\nLearn more from the following resources:",
+ "links": [
+ {
+ "title": "HackAPrompt",
+ "url": "https://hackaprompt.com",
+ "type": "article"
+ },
+ {
+ "title": "RedTeam Arena",
+ "url": "https://redarena.ai",
+ "type": "article"
+ }
+ ]
},
"MmwwRK4I9aRH_ha7duPqf": {
"title": "Lab Environments",
- "description": "",
- "links": []
+ "description": "AI Red Teamers need environments to practice attacking vulnerable systems safely. While traditional labs (HTB, THM, VulnHub) build general pentesting skills, platforms are emerging with labs specifically focused on AI/LLM vulnerabilities, prompt injection, or adversarial ML challenges.\n\nLearn more from the following resources:",
+ "links": [
+ {
+ "title": "HackAPrompt Playground",
+ "url": "https://learnprompting.org/hackaprompt-playground",
+ "type": "article"
+ },
+ {
+ "title": "InjectPrompt Playground",
+ "url": "https://playground.injectprompt.com/",
+ "type": "article"
+ },
+ {
+ "title": "Gandalf AI Prompt Injection Lab",
+ "url": "https://gandalf.lakera.ai/",
+ "type": "article"
+ },
+ {
+ "title": "Hack The Box: Hacking Labs",
+ "url": "https://www.hackthebox.com/hacker/hacking-labs",
+ "type": "article"
+ },
+ {
+ "title": "TryHackMe: Learn Cyber Security",
+ "url": "https://tryhackme.com/",
+ "type": "article"
+ }
+ ]
},
"2Imb64Px3ZQcBpSQjdc_G": {
"title": "CTF Challenges",
- "description": "",
- "links": []
+ "description": "Capture The Flag competitions increasingly include AI/ML security challenges. Participating in CTFs (tracked on CTFtime) or platforms like picoCTF helps AI Red Teamers hone skills in reverse engineering, web exploitation, and cryptography applied to AI systems, including specialized AI safety CTFs.\n\nLearn more from the following resources:",
+ "links": [
+ {
+ "title": "HackAPrompt",
+ "url": "https://www.hackaprompt.com/",
+ "type": "article"
+ },
+ {
+ "title": "Progress from our Frontier Red Team",
+ "url": "https://www.anthropic.com/news/strategic-warning-for-ai-risk-progress-and-insights-from-our-frontier-red-team",
+ "type": "article"
+ },
+ {
+ "title": "CTFtime.org",
+ "url": "https://ctftime.org/",
+ "type": "article"
+ }
+ ]
},
"DpYsL0du37n40toH33fIr": {
"title": "Red Team Simulations",
- "description": "",
- "links": []
+ "description": "Participating in or conducting structured red team simulations against AI systems (or components) provides the most realistic practice. This involves applying methodologies, TTPs (Tactics, Techniques, and Procedures), reconnaissance, exploitation, and reporting within a defined scope and objective, specifically targeting AI vulnerabilities.\n\nLearn more from the following resources:",
+ "links": [
+ {
+ "title": "A Simple Guide to Successful Red Teaming",
+ "url": "https://www.cobaltstrike.com/resources/guides/a-simple-guide-to-successful-red-teaming",
+ "type": "article"
+ },
+ {
+ "title": "The Complete Guide to Red Teaming: Process, Benefits & More",
+ "url": "https://mindgard.ai/blog/red-teaming",
+ "type": "article"
+ },
+ {
+ "title": "The Complete Red Teaming Checklist [PDF]: 5 Key Steps - Mindgard AI",
+ "url": "https://mindgard.ai/blog/red-teaming-checklist",
+ "type": "article"
+ }
+ ]
},
"LuKnmd9nSz9yLbTU_5Yp2": {
"title": "Conferences",
- "description": "",
- "links": []
+ "description": "Attending major cybersecurity conferences (DEF CON, Black Hat, RSA) and increasingly specialized AI Safety/Security conferences allows AI Red Teamers to learn about cutting-edge research, network with peers, and discover new tools and attack/defense techniques.\n\nLearn more from the following resources:",
+ "links": [
+ {
+ "title": "Black Hat Events",
+ "url": "https://www.blackhat.com/",
+ "type": "article"
+ },
+ {
+ "title": "DEF CON Hacking Conference",
+ "url": "https://defcon.org/",
+ "type": "article"
+ },
+ {
+ "title": "Global Conference on AI, Security and Ethics 2025",
+ "url": "https://unidir.org/event/global-conference-on-ai-security-and-ethics-2025/",
+ "type": "article"
+ },
+ {
+ "title": "RSA Conference",
+ "url": "https://www.rsaconference.com/",
+ "type": "article"
+ }
+ ]
},
"ZlR03pM-sqVFZNhD1gMSJ": {
"title": "Research Groups",
- "description": "",
- "links": []
+ "description": "Following and potentially contributing to research groups at universities (like CMU, Stanford, Oxford), non-profits (like OpenAI, Anthropic), or government bodies (like UK's AISI) focused on AI safety, security, and alignment provides deep insights into emerging threats and mitigation strategies relevant to AI Red Teaming.\n\nLearn more from the following resources:",
+ "links": [
+ {
+ "title": "AI Cybersecurity | Global Cyber Security Capacity Centre (Oxford)",
+ "url": "https://gcscc.ox.ac.uk/ai-security",
+ "type": "article"
+ },
+ {
+ "title": "Anthropic Research",
+ "url": "https://www.anthropic.com/research",
+ "type": "article"
+ },
+ {
+ "title": "Center for AI Safety",
+ "url": "https://www.safe.ai/",
+ "type": "article"
+ },
+ {
+ "title": "The AI Security Institute (AISI)",
+ "url": "https://www.aisi.gov.uk/",
+ "type": "article"
+ }
+ ]
},
"Smncq-n1OlnLAY27AFQOO": {
"title": "Forums",
- "description": "",
- "links": []
+ "description": "Engaging in online forums, mailing lists, Discord servers, or subreddits dedicated to AI security, adversarial ML, prompt engineering, or general cybersecurity helps AI Red Teamers exchange knowledge, ask questions, learn about new tools/techniques, and find collaboration opportunities.\n\nLearn more from the following resources:",
+ "links": [
+ {
+ "title": "LearnPrompting Prompt Hacking Discord",
+ "url": "https://discord.com/channels/1046228027434086460/1349689482651369492",
+ "type": "article"
+ },
+ {
+ "title": "Reddit - r/ChatGPTJailbreak",
+ "url": "https://www.reddit.com/r/ChatGPTJailbreak/",
+ "type": "article"
+ },
+ {
+ "title": "Reddit - r/artificial",
+ "url": "https://www.reddit.com/r/artificial/",
+ "type": "article"
+ },
+ {
+ "title": "Reddit - r/cybersecurity",
+ "url": "https://www.reddit.com/r/cybersecurity/",
+ "type": "article"
+ }
+ ]
},
"xJYTRbPxMn0Xs5ea0Ygn6": {
"title": "LLM Security Testing",
- "description": "",
- "links": []
+ "description": "The core application area for many AI Red Teamers today involves specifically testing Large Language Models for vulnerabilities like prompt injection, jailbreaking, harmful content generation, bias, and data privacy issues using specialized prompts and evaluation frameworks.\n\nLearn more from the following resources:",
+ "links": [
+ {
+ "title": "AI Red Teaming Courses - Learn Prompting",
+ "url": "https://learnprompting.org/blog/ai-red-teaming-courses",
+ "type": "course"
+ },
+ {
+ "title": "SecBench: A Comprehensive Multi-Dimensional Benchmarking Dataset for LLMs in Cybersecurity",
+ "url": "https://arxiv.org/abs/2412.20787",
+ "type": "article"
+ },
+ {
+ "title": "The Ultimate Guide to Red Teaming LLMs and Adversarial Prompts (Kili Technology)",
+ "url": "https://kili-technology.com/large-language-models-llms/red-teaming-llms-and-adversarial-prompts",
+ "type": "article"
+ }
+ ]
},
"FVsKivsJrIb82B0lpPmgw": {
"title": "Agentic AI Security",
- "description": "",
- "links": []
+ "description": "As AI agents capable of autonomous action become more common, AI Red Teamers must test their unique security implications. This involves assessing risks related to goal hijacking, unintended actions through tool use, exploitation of planning mechanisms, and ensuring agents operate safely within their designated boundaries.\n\nLearn more from the following resources:",
+ "links": [
+ {
+ "title": "AI Agents - Learn Prompting",
+ "url": "https://learnprompting.org/docs/intermediate/ai_agents",
+ "type": "article"
+ },
+ {
+ "title": "EmbraceTheRed",
+ "url": "https://embracethered.com/",
+ "type": "article"
+ }
+ ]
},
"KAcCZ3zcv25R6HwzAsfUG": {
"title": "Responsible Disclosure",
- "description": "",
- "links": []
+ "description": "A critical practice for AI Red Teamers is responsible disclosure: privately reporting discovered AI vulnerabilities (e.g., a successful jailbreak, data leak method, or severe bias) to the model developers or system owners, allowing them time to remediate before any public discussion, thus preventing malicious exploitation.\n\nLearn more from the following resources:",
+ "links": [
+ {
+ "title": "0din.ai Policy",
+ "url": "https://0din.ai/policy",
+ "type": "article"
+ },
+ {
+ "title": "Huntr Guidelines",
+ "url": "https://huntr.com/guidelines",
+ "type": "article"
+ },
+ {
+ "title": "Google Vulnerability Reward Program (VRP)",
+ "url": "https://bughunters.google.com/",
+ "type": "article"
+ }
+ ]
},
"-G8v_CNa8wO_g-46_RFQo": {
"title": "Emerging Threats",
- "description": "",
- "links": []
+ "description": "AI Red Teamers must stay informed about potential future threats enabled by more advanced AI, such as highly autonomous attack agents, AI-generated malware that evades detection, sophisticated deepfakes for social engineering, or large-scale exploitation of interconnected AI systems. Anticipating these helps shape current testing priorities.\n\nLearn more from the following resources:",
+ "links": [
+ {
+ "title": "AI Security Risks Uncovered: What You Must Know in 2025",
+ "url": "https://ttms.com/uk/ai-security-risks-explained-what-you-need-to-know-in-2025/",
+ "type": "article"
+ },
+ {
+ "title": "Why Artificial Intelligence is the Future of Cybersecurity",
+ "url": "https://www.darktrace.com/blog/why-artificial-intelligence-is-the-future-of-cybersecurity",
+ "type": "article"
+ },
+ {
+ "title": "AI Index 2024",
+ "url": "https://aiindex.stanford.edu/report/",
+ "type": "article"
+ }
+ ]
},
"soC-kcem1ISbnCQMa6BIB": {
"title": "Advanced Techniques",
- "description": "",
- "links": []
+ "description": "The practice of AI Red Teaming itself will evolve. Future techniques may involve using AI adversaries to automatically discover complex vulnerabilities, developing more sophisticated methods for testing AI alignment and safety properties, simulating multi-agent system failures, and creating novel metrics for evaluating AI robustness against unknown future attacks.\n\nLearn more from the following resources:",
+ "links": [
+ {
+ "title": "AI red-teaming in critical infrastructure: Boosting security and trust in AI systems",
+ "url": "https://www.dnv.com/article/ai-red-teaming-for-critical-infrastructure-industries/",
+ "type": "article"
+ },
+ {
+ "title": "Advanced Techniques in AI Red Teaming for LLMs",
+ "url": "https://neuraltrust.ai/blog/advanced-techniques-in-ai-red-teaming",
+ "type": "article"
+ },
+ {
+ "title": "Diverse and Effective Red Teaming with Auto-generated Rewards and Multi-step Reinforcement Learning",
+ "url": "https://arxiv.org/html/2412.18693v1",
+ "type": "article"
+ }
+ ]
},
"VmaIHVsCpq2um_0cA33V3": {
"title": "Research Opportunities",
- "description": "",
- "links": []
+ "description": "AI Red Teaming relies on ongoing research. Key areas needing further investigation include scalable methods for finding elusive vulnerabilities, understanding emergent behaviors in complex models, developing provable safety guarantees, creating better benchmarks for AI security, and exploring the socio-technical aspects of AI misuse and defense.\n\nLearn more from the following resources:",
+ "links": [
+ {
+ "title": "Cutting-Edge Research on AI Security bolstered with new Challenge Fund",
+ "url": "https://www.gov.uk/government/news/cutting-edge-research-on-ai-security-bolstered-with-new-challenge-fund-to-ramp-up-public-trust-and-adoption",
+ "type": "article"
+ },
+ {
+ "title": "Careers | The AI Security Institute (AISI)",
+ "url": "https://www.aisi.gov.uk/careers",
+ "type": "article"
+ },
+ {
+ "title": "Research - Anthropic",
+ "url": "https://www.anthropic.com/research",
+ "type": "article"
+ }
+ ]
},
"WePO66_4-gNcSdE00WKmw": {
"title": "Industry Standards",
- "description": "",
- "links": []
+ "description": "As AI matures, AI Red Teamers will increasingly need to understand and test against emerging industry standards and regulations for AI safety, security, and risk management, such as the NIST AI RMF, ISO/IEC 42001, and sector-specific guidelines, ensuring AI systems meet compliance requirements.\n\nLearn more from the following resources:",
+ "links": [
+ {
+ "title": "ISO 42001: The New Compliance Standard for AI Management Systems",
+ "url": "https://www.brightdefense.com/resources/iso-42001-compliance/",
+ "type": "article"
+ },
+ {
+ "title": "ISO 42001: What it is & why it matters for AI management",
+ "url": "https://www.itgovernance.co.uk/iso-42001",
+ "type": "article"
+ },
+ {
+ "title": "NIST AI Risk Management Framework (AI RMF)",
+ "url": "https://www.nist.gov/itl/ai-risk-management-framework",
+ "type": "article"
+ },
+ {
+ "title": "ISO/IEC 42001: Information technology — Artificial intelligence — Management system",
+ "url": "https://www.iso.org/standard/81230.html",
+ "type": "article"
+ }
+ ]
}
}
\ No newline at end of file
diff --git a/public/roadmap-content/cyber-security.json b/public/roadmap-content/cyber-security.json
index 232df0e5a..bc837e9d8 100644
--- a/public/roadmap-content/cyber-security.json
+++ b/public/roadmap-content/cyber-security.json
@@ -4,9 +4,19 @@
"description": "Fundamental IT skills form the backbone of cybersecurity proficiency and encompass a broad range of technical knowledge. These skills include understanding computer hardware and software, networking concepts, and operating systems (particularly Windows and Linux). Proficiency in at least one programming language, such as Python or JavaScript, is increasingly important for automation and scripting tasks. Database management, including SQL, is crucial for handling and securing data. Knowledge of cloud computing platforms like AWS or Azure is becoming essential as organizations migrate to cloud environments. Familiarity with basic cybersecurity concepts such as encryption, access control, and common attack vectors provides a foundation for more advanced security work. Additionally, troubleshooting skills, the ability to interpret logs, and a basic understanding of web technologies are vital. These fundamental IT skills enable cybersecurity professionals to effectively protect systems, identify vulnerabilities, and respond to incidents in increasingly complex technological landscapes.\n\nLearn more from the following resources:",
"links": [
{
- "title": "Top 10 in demand IT skills",
+ "title": "7 In-Demand IT Skills to Boost Your Resume in 2025",
+ "url": "https://www.coursera.org/articles/key-it-skills-for-your-career",
+ "type": "article"
+ },
+ {
+ "title": "Top 10 in Demand IT Skills",
"url": "https://www.comptia.org/blog/top-it-skills-in-demand",
"type": "article"
+ },
+ {
+ "title": "IT Skills: Definition and Examples",
+ "url": "https://www.indeed.com/career-advice/finding-a-job/it-skills",
+ "type": "article"
}
]
},
@@ -31,7 +41,7 @@
"description": "There are several types of network connections that enable communication between devices, each serving different functions based on speed, reliability, and purpose. **Ethernet** is a wired connection type commonly used in local area networks (LANs), providing high-speed, stable, and secure data transfer. Ethernet is ideal for businesses and environments where reliability is crucial, offering speeds from 100 Mbps to several Gbps.\n\n**Wi-Fi**, a wireless connection, enables devices to connect to a network without physical cables. It provides flexibility and mobility, making it popular in homes, offices, and public spaces. While Wi-Fi offers convenience, it can be less reliable and slower than Ethernet due to signal interference or distance from the access point.\n\n**Bluetooth** is a short-range wireless technology primarily used for connecting peripherals like headphones, keyboards, and other devices. It operates over shorter distances, typically up to 10 meters, and is useful for personal device communication rather than networking larger systems.\n\n**Fiber-optic connections** use light signals through glass or plastic fibers to transmit data at very high speeds over long distances, making them ideal for internet backbones or connecting data centers. Fiber is faster and more reliable than traditional copper cables, but it is also more expensive to implement.\n\n**Cellular connections**, such as 4G and 5G, allow mobile devices to connect to the internet via wireless cellular networks. These connections offer mobility, enabling internet access from almost anywhere, but their speeds and reliability can vary depending on network coverage.\n\nEach connection type plays a specific role, balancing factors like speed, distance, and convenience to meet the varying needs of users and organizations.\n\nLearn more from the following resources:",
"links": [
{
- "title": "What is ethernet?",
+ "title": "What is Ethernet?",
"url": "https://www.techtarget.com/searchnetworking/definition/Ethernet",
"type": "article"
},
@@ -52,14 +62,19 @@
"description": "Understanding Common Symptoms\n-----------------------------\n\nIn order to troubleshoot effectively, it is important to recognize and understand the common symptoms encountered in IT systems. These can range from hardware-related issues, such as overheating or physical damage, to software-related problems, such as slow performance or unresponsiveness.\n\nBasic Troubleshooting Process\n-----------------------------\n\nFollowing a systematic troubleshooting process is critical, regardless of the operating system. Here are the basic steps you might follow:\n\n* **Identify the problem**: Gather information on the issue and its symptoms, and attempt to reproduce the problem, if possible. Take note of any error messages or unusual behaviors.\n* **Research and analyze**: Search for potential causes and remedies on relevant forums, web resources, or vendor documentation.\n* **Develop a plan**: Formulate a strategy to resolve the issue, considering the least disruptive approach first, where possible.\n* **Test and implement**: Execute the proposed solution(s) and verify if the problem is resolved. If not, repeat the troubleshooting process with a new plan until the issue is fixed.\n* **Document the process and findings**: Record the steps taken, solutions implemented, and results to foster learning and improve future troubleshooting efforts.\n\nIsolating the Problem\n---------------------\n\nTo pinpoint the root cause of an issue, it's important to isolate the problem. You can perform this by:\n\n* **Disabling or isolating hardware components**: Disconnect any peripherals or external devices, then reconnect and test them one by one to identify the defective component(s).\n* **Checking resource usage**: Utilize built-in or third-party tools to monitor resource usage (e.g., CPU, memory, and disk) to determine whether a bottleneck is causing the problem.\n* **Verifying software configurations**: Analyze the configuration files or settings for any software or applications that could be contributing to the problem.\n\nNetworking and Connectivity Issues\n----------------------------------\n\nEffective troubleshooting of network-related issues requires an understanding of various protocols, tools, and devices involved in networking. Here are some basic steps you can follow:\n\n* **Verify physical connectivity**: Inspect cables, connectors, and devices to ensure all components are securely connected and functioning correctly.\n* **Confirm IP configurations**: Check the system's IP address and related settings to ensure it has a valid IP configuration.\n* **Test network services**: Use command-line tools, such as `ping` and `traceroute` (or `tracert` in Windows), to test network connections and diagnose potential problems.\n\nLog Analysis\n------------\n\nLogs are records of system events, application behavior, and user activity, which can be invaluable when troubleshooting issues. To effectively analyze logs, you should:\n\n* **Identify relevant logs**: Determine which log files contain information related to the problem under investigation.\n* **Analyze log content**: Examine events, error messages, or patterns that might shed light on the root cause of the issue.\n* **Leverage log-analysis tools**: Utilize specialized tools or scripts to help parse, filter, and analyze large or complex log files.\n\nLearn more from the following resources:",
"links": [
{
- "title": "How to identify 9 signs of Operating System.",
- "url": "https://bro4u.com/blog/how-to-identify-9-signs-of-operating-system",
+ "title": "@articleOS-Independent Troubleshooting Flashcards",
+ "url": "https://quizlet.com/ph/837474114/os-independent-troubleshooting-flash-cards/",
"type": "article"
},
{
- "title": "Trouble shooting guide",
+ "title": "Troubleshooting Guide",
"url": "https://cdnsm5-ss6.sharpschool.com/userfiles/servers/server_20856499/file/teacher%20pages/lindsay%20dolezal/it%20essentials/5.6.pdf",
"type": "article"
+ },
+ {
+ "title": "Operating System Troubleshooting - CompTIA A+",
+ "url": "https://www.youtube.com/watch?v=6gainrNiypc",
+ "type": "video"
}
]
},
@@ -195,7 +210,7 @@
"description": "Google Workspace, formerly known as G Suite, is a collection of cloud-based productivity and collaboration tools developed by Google. It includes popular applications such as Gmail for email, Google Drive for file storage and sharing, Google Docs for document creation and editing, Google Sheets for spreadsheets, and Google Meet for video conferencing. From a cybersecurity perspective, Google Workspace presents both advantages and challenges. It offers robust built-in security features like two-factor authentication, encryption of data in transit and at rest, and advanced threat protection. However, its cloud-based nature means organizations must carefully manage access controls, data sharing policies, and compliance with various regulations. Security professionals must be vigilant about potential phishing attacks targeting Google accounts, data leakage through improper sharing settings, and the risks associated with third-party app integrations. Understanding how to properly configure and monitor Google Workspace is crucial for maintaining the security of an organization's collaborative environment and protecting sensitive information stored within these widely-used tools.\n\nLearn more from the following resources:",
"links": [
{
- "title": "Google Workspace Website",
+ "title": "Google Workspace",
"url": "https://workspace.google.com/intl/en_uk/",
"type": "article"
}
@@ -238,7 +253,7 @@
"description": "TryHackMe is an online platform designed for cybersecurity training and learning through hands-on experience. It offers a wide range of virtual rooms and challenges covering various security topics, from basic to advanced levels. Users can access vulnerable machines, engage in capture-the-flag (CTF) style exercises, and learn practical skills in areas like penetration testing, web security, and network security. TryHackMe uses browser-based tools and virtual machines, making it accessible without requiring powerful hardware. The platform caters to beginners and experienced professionals alike, providing guided learning paths, real-world scenarios, and a supportive community. It's widely used for both individual skill development and corporate cybersecurity training.\n\nLearn more from the following resources:",
"links": [
{
- "title": "TryHackMe Website",
+ "title": "TryHackMe",
"url": "https://tryhackme.com/",
"type": "article"
},
@@ -254,7 +269,7 @@
"description": "VulnHub is an online platform that provides a collection of intentionally vulnerable virtual machines for cybersecurity enthusiasts, penetration testers, and ethical hackers to practice their skills. These virtual machines simulate various real-world scenarios with different vulnerabilities and security misconfigurations. Users can download and run these VMs in their own environments, attempting to exploit vulnerabilities and gain root access. VulnHub offers a hands-on approach to learning about cybersecurity, allowing users to explore different attack vectors, practice exploitation techniques, and understand common security flaws in a safe, legal environment. It's a valuable resource for both beginners and experienced professionals to enhance their offensive security skills and prepare for certifications.\n\nLearn more from the following resources:",
"links": [
{
- "title": "Vulnhub Website",
+ "title": "Vulnhub",
"url": "https://www.vulnhub.com/",
"type": "article"
},
@@ -270,7 +285,7 @@
"description": "**picoCTF** is an online cybersecurity competition designed to help students and beginners learn and practice hacking skills through capture-the-flag (CTF) challenges. Developed by Carnegie Mellon University, picoCTF features a series of progressively difficult puzzles that teach concepts such as reverse engineering, cryptography, web exploitation, forensics, and binary exploitation. It's an educational platform that offers hands-on experience in solving real-world cybersecurity problems, making it popular among both students and aspiring cybersecurity professionals for learning and improving their skills in a practical, interactive environment.\n\nLearn more from the following resources:",
"links": [
{
- "title": "picoCTF Website",
+ "title": "picoCTF",
"url": "https://picoctf.org/",
"type": "article"
},
@@ -286,7 +301,7 @@
"description": "The SANS Holiday Hack Challenge is an annual cybersecurity event that offers participants the opportunity to solve a series of themed cybersecurity puzzles and challenges. Designed to engage both beginners and experienced professionals, the challenge covers a wide range of topics including network forensics, penetration testing, reverse engineering, and more. It provides a fun, gamified learning experience that encourages participants to enhance their skills while collaborating with the global cybersecurity community. The event often features real-world security scenarios, creative storytelling, and interactive, hands-on tasks.\n\nLearn more from the following resources:",
"links": [
{
- "title": "SANS Holiday Hack Website",
+ "title": "SANS Holiday Hack",
"url": "https://www.sans.org/mlp/holiday-hack-challenge-2023/",
"type": "article"
},
@@ -302,14 +317,14 @@
"description": "CompTIA A+ is an entry-level certification for IT professionals that focuses on essential knowledge and skills in computer hardware, software, and troubleshooting. This certification is widely recognized in the IT industry and can serve as a stepping stone for individuals looking to start a career in the field of information technology.\n\nLearn more from the following resources:",
"links": [
{
- "title": "Comptia A+ Course",
- "url": "https://www.youtube.com/watch?v=1CZXXNKAY5o",
- "type": "course"
- },
- {
- "title": "Comptia A+ Website",
+ "title": "CompTIA A+",
"url": "https://www.comptia.org/certifications/a",
"type": "article"
+ },
+ {
+ "title": "CompTIA A+ Course",
+ "url": "https://www.youtube.com/watch?v=1CZXXNKAY5o",
+ "type": "video"
}
]
},
@@ -318,7 +333,7 @@
"description": "The CompTIA Linux+ certification is an entry-level certification aimed at individuals who are seeking to learn and demonstrate their skills and knowledge of the Linux operating system. This certification is widely recognized in the IT industry as an essential qualification for entry-level Linux administrators and helps them gain a strong foundation in Linux system administration tasks.\n\nLearn more from the following resources:",
"links": [
{
- "title": "Linux+ Website",
+ "title": "CompTIA Linux+",
"url": "https://www.comptia.org/certifications/linux",
"type": "article"
},
@@ -331,17 +346,17 @@
},
"4RGbNOfMPDbBcvUFWTTCV": {
"title": "CompTIA Network+",
- "description": "The CompTIA Network+ is a highly sought-after certification for IT professionals who aim to build a solid foundation in networking concepts and practices. This certification is vendor-neutral, meaning that it covers a broad range of knowledge that can be applied to various network technologies, products, and solutions. The Network+ certification is designed for beginners in the world of IT networking, and it is recommended that you first obtain the [CompTIA A+ certification](#) before moving on to Network+.\n\nLearn more from the following resources:",
+ "description": "The CompTIA Network+ is a highly sought-after certification for IT professionals who aim to build a solid foundation in networking concepts and practices. This certification is vendor-neutral, meaning that it covers a broad range of knowledge that can be applied to various network technologies, products, and solutions. The Network+ certification is designed for beginners in the world of IT networking, and it is recommended that you first obtain the CompTIA A+ certification before moving on to Network+.\n\nLearn more from the following resources:",
"links": [
{
- "title": "CompTIA Network+ Course",
- "url": "https://www.youtube.com/watch?v=xmpYfyNmWbw",
- "type": "course"
- },
- {
- "title": "CompTIA Network+ Website",
+ "title": "CompTIA Network+",
"url": "https://www.comptia.org/certifications/network",
"type": "article"
+ },
+ {
+ "title": "CompTIA Network+ Course",
+ "url": "https://www.youtube.com/watch?v=xmpYfyNmWbw",
+ "type": "video"
}
]
},
@@ -350,14 +365,14 @@
"description": "The Cisco Certified Network Associate (CCNA) certification is an entry-level certification for IT professionals who want to specialize in networking, specifically within the realm of Cisco products. This certification validates an individual's ability to install, configure, operate, and troubleshoot medium-sized routed and switched networks. It also covers the essentials of network security and management.\n\nLearn more from the following resources:",
"links": [
{
- "title": "@Network Chuck Free CCNA Course",
- "url": "https://www.youtube.com/playlist?list=PLIhvC56v63IJVXv0GJcl9vO5Z6znCVb1P",
+ "title": "CCNA Certification",
+ "url": "https://www.cisco.com/site/us/en/learn/training-certifications/certifications/enterprise/ccna/index.html",
"type": "article"
},
{
- "title": "CCNA Certification Website",
- "url": "https://www.cisco.com/site/us/en/learn/training-certifications/certifications/enterprise/ccna/index.html",
- "type": "article"
+ "title": "Network Chuck Free CCNA Course",
+ "url": "https://www.youtube.com/playlist?list=PLIhvC56v63IJVXv0GJcl9vO5Z6znCVb1P",
+ "type": "video"
}
]
},
@@ -382,9 +397,14 @@
"description": "**Certified Ethical Hacker (CEH)** is an advanced certification focused on equipping cybersecurity professionals with the knowledge and skills required to defend against the continuously evolving landscape of cyber threats. This certification is facilitated by the EC-Council, an internationally recognized organization for information security certifications.\n\nLearn more from the following resources:",
"links": [
{
- "title": "CEH Website",
+ "title": "CEH",
"url": "https://www.eccouncil.org/train-certify/certified-ethical-hacker-ceh/",
"type": "article"
+ },
+ {
+ "title": "Certified Ethical Hacker Online Training",
+ "url": "https://iclass.eccouncil.org/our-courses/certified-ethical-hacker-ceh/",
+ "type": "article"
}
]
},
@@ -393,7 +413,7 @@
"description": "The **Certified Information Systems Auditor (CISA)** is a globally recognized certification for professionals who audit, control, monitor, and assess an organization's information technology and business systems.\n\nCISA was established by the Information Systems Audit and Control Association (ISACA) and is designed to demonstrate an individual's expertise in managing vulnerabilities, ensuring compliance with industry regulations, and instituting controls within the business environment.\n\nLearn more from the following resources:",
"links": [
{
- "title": "CISA Website",
+ "title": "CISA",
"url": "https://www.isaca.org/credentialing/cisa",
"type": "article"
},
@@ -409,7 +429,7 @@
"description": "The Certified Information Security Manager (CISM) is an advanced cybersecurity certification offered by ISACA that focuses on information security management. It is designed for professionals who have a strong understanding of information security and are responsible for overseeing, designing, and managing an organization's information security programs.\n\nLearn more from the following resources:",
"links": [
{
- "title": "CISM Website",
+ "title": "CISM",
"url": "https://www.isaca.org/credentialing/cism",
"type": "article"
},
@@ -425,7 +445,7 @@
"description": "The GIAC Security Essentials Certification (GSEC) is an advanced cybersecurity certification that demonstrates an individual's knowledge and skills in addressing security threats and vulnerabilities in various systems. Developed by the Global Information Assurance Certification (GIAC), this certification is suitable for security professionals, IT managers, and network administrators who want to enhance their expertise in the core cybersecurity concepts and practices.\n\nLearn more from the following resources:",
"links": [
{
- "title": "GSEC Certification Website",
+ "title": "GSEC Certification",
"url": "https://www.giac.org/certifications/security-essentials-gsec/",
"type": "article"
}
@@ -436,7 +456,7 @@
"description": "The GIAC Penetration Tester (GPEN) certification is an advanced-level credential designed for professionals who want to demonstrate their expertise in the field of penetration testing and ethical hacking. Created by the Global Information Assurance Certification (GIAC) organization, GPEN validates an individual's ability to conduct legal, systematic, and effective penetration tests to assess the security of computer networks, systems, and applications.\n\nLearn more from the following resources:",
"links": [
{
- "title": "GPEN Certification Website",
+ "title": "GPEN Certification",
"url": "https://www.giac.org/certifications/penetration-tester-gpen/",
"type": "article"
},
@@ -452,7 +472,7 @@
"description": "The GIAC Web Application Penetration Tester (GWAPT) certification validates an individual's ability to perform in-depth web application security assessments and exploit vulnerabilities. GWAPT focuses on using ethical hacking methodologies to conduct web application penetration testing with the goal of identifying, evaluating, and mitigating security risks.\n\nLearn more from the following resources:",
"links": [
{
- "title": "GWAPT Certification Website",
+ "title": "GWAPT Certification",
"url": "https://www.giac.org/certifications/web-application-penetration-tester-gwapt/",
"type": "article"
}
@@ -463,9 +483,14 @@
"description": "GIAC is a globally recognized organization that provides certifications for information security professionals. Established in 1999, its primary aim is to validate the knowledge and skills of professionals in various cybersecurity domains. GIAC certifications focus on practical and hands-on abilities to ensure that certified individuals possess the necessary expertise to tackle real-world cybersecurity challenges.\n\nLearn more from the following resources:",
"links": [
{
- "title": "GIAC Website",
+ "title": "GIAC",
"url": "https://www.giac.org/",
"type": "article"
+ },
+ {
+ "title": "Get Certified - GIAC",
+ "url": "https://www.giac.org/get-certified/?msc=main-nav",
+ "type": "article"
}
]
},
@@ -474,23 +499,28 @@
"description": "**OSCP (Offensive Security Certified Professional)** is a widely recognized certification in cybersecurity that focuses on penetration testing and ethical hacking. Offered by Offensive Security, it requires candidates to complete a challenging exam that involves identifying and exploiting vulnerabilities in a controlled environment. The OSCP certification emphasizes hands-on skills, practical experience, and the ability to conduct comprehensive security assessments, making it highly valued by employers for its rigorous approach to real-world penetration testing techniques.\n\nLearn more from the following resources:",
"links": [
{
- "title": "Offsec OSCP Site",
+ "title": "Offensive Security Certified Professional",
"url": "https://www.offsec.com/courses/pen-200/",
"type": "article"
},
{
- "title": "How to prepare for the OSCP",
+ "title": "How to Prepare for OSCP Exam",
"url": "https://cybersecurityguide.org/programs/cybersecurity-certifications/oscp/",
"type": "article"
+ },
+ {
+ "title": "How to Become an OSCP [Full Guide] - Geekflare",
+ "url": "https://geekflare.com/cybersecurity/oscp-certification/",
+ "type": "article"
}
]
},
"rA1skdztev3-8VmAtIlmr": {
"title": "CREST",
- "description": "CREST is a non-profit, accreditation and certification body that represents the technical information security industry. Established in 2008, its mission is to promote the development and professionalization of the cyber security sector. CREST provides certifications for individuals and accreditations for companies, helping customers find knowledgeable and experienced professionals in the field.\n\nLearn more from the following resources:",
+ "description": "CREST is a non-profit, accreditation and certification body that represents the technical information security industry. Established in 2008, its mission is to promote the development and professionalization of the cyber security sector. CREST provides certifications for individuals and accreditation for companies, helping customers find knowledgeable and experienced professionals in the field.\n\nLearn more from the following resources:",
"links": [
{
- "title": "CREST Certifications Website",
+ "title": "CREST Certifications",
"url": "https://www.crest-approved.org/skills-certifications-careers/crest-certifications/",
"type": "article"
},
@@ -506,14 +536,14 @@
"description": "The Certified Information Systems Security Professional (CISSP) is a globally recognized certification offered by the International Information System Security Certification Consortium (ISC)². It is designed for experienced security professionals to validate their knowledge and expertise in the field of information security.\n\nLearn more from the following resources:",
"links": [
{
- "title": "CISSP Certification course",
- "url": "https://www.youtube.com/watch?v=M1_v5HBVHWo",
- "type": "course"
- },
- {
- "title": "CISSP Certification Website",
+ "title": "CISSP Certification",
"url": "https://www.isc2.org/certifications/cissp",
"type": "article"
+ },
+ {
+ "title": "CISSP Certification Course",
+ "url": "https://www.youtube.com/watch?v=M1_v5HBVHWo",
+ "type": "video"
}
]
},
@@ -521,6 +551,16 @@
"title": "Operating Systems",
"description": "**Operating systems (OS)** are software that manage computer hardware and provide a platform for applications to run. They handle essential functions such as managing memory, processing tasks, controlling input and output devices, and facilitating file management. Key examples include **Windows**, **macOS**, **Linux**, and **Unix**. Each operating system offers different features and interfaces, tailored to specific user needs or system requirements, from desktop computing to server management and embedded systems.\n\nLearn more from the following resources:",
"links": [
+ {
+ "title": "What is a Operating System?",
+ "url": "https://en.wikipedia.org/wiki/Operating_system",
+ "type": "article"
+ },
+ {
+ "title": "8 Different Types of Operating Systems With Examples",
+ "url": "https://techspirited.com/different-types-of-operating-systems",
+ "type": "article"
+ },
{
"title": "What is an operating system as fast as possible",
"url": "https://www.youtube.com/watch?v=pVzRTmdd9j0",
@@ -537,15 +577,15 @@
"url": "https://learn.microsoft.com/en-us/windows/security/",
"type": "article"
},
- {
- "title": "Windows 11 Full Tutorial - A 2 Hour Course to Learn and Master Windows 11",
- "url": "https://www.youtube.com/watch?v=UKn-r3X2CLk",
- "type": "article"
- },
{
"title": "Explore top posts about Windows",
"url": "https://app.daily.dev/tags/windows?ref=roadmapsh",
"type": "article"
+ },
+ {
+ "title": "Windows 11 Full Tutorial - A 2 Hour Course to Learn and Master Windows 11",
+ "url": "https://www.youtube.com/watch?v=UKn-r3X2CLk",
+ "type": "video"
}
]
},
@@ -559,7 +599,7 @@
"type": "course"
},
{
- "title": "Linux Roadmap",
+ "title": "Visit Linux Roadmap",
"url": "https://roadmap.sh/linux",
"type": "article"
},
@@ -590,8 +630,8 @@
"description": "**macOS** is an operating system developed by Apple Inc. for its line of Mac computers. Known for its user-friendly interface and integration with other Apple products, macOS features a Unix-based architecture, offering stability, security, and performance. It includes a suite of built-in applications, such as Safari, Mail, and Finder, and supports a wide range of third-party software. macOS provides seamless integration with services like iCloud, Continuity, and Handoff, enhancing productivity and connectivity across Apple devices. Regular updates and a focus on design and usability make macOS a popular choice for both personal and professional use.\n\nLearn more from the following resources:",
"links": [
{
- "title": "MacOS Website",
- "url": "https://www.apple.com/uk/macos/macos-sequoia/",
+ "title": "macOS",
+ "url": "https://www.apple.com/macos/macos-sequoia/",
"type": "article"
},
{
@@ -683,6 +723,11 @@
"title": "Common Commands",
"description": "Common operating system (OS) commands are essential for interacting with a system's shell or command-line interface (CLI). These commands allow users to perform a wide range of tasks, such as navigating the file system, managing files and directories, checking system status, and administering processes. Below are some commonly used commands across Unix/Linux and Windows operating systems:\n\n1. **Navigating the File System:**\n \n * Unix/Linux: `ls` (list files), `cd` (change directory), `pwd` (print working directory)\n * Windows: `dir` (list files), `cd` (change directory), `echo %cd%` (print working directory)\n2. **File and Directory Management:**\n \n * Unix/Linux: `cp` (copy files), `mv` (move/rename files), `rm` (remove files), `mkdir` (create directory)\n * Windows: `copy` (copy files), `move` (move/rename files), `del` (delete files), `mkdir` (create directory)\n3. **System Information and Processes:**\n \n * Unix/Linux: `top` or `htop` (view running processes), `ps` (list processes), `df` (disk usage), `uname` (system info)\n * Windows: `tasklist` (list processes), `taskkill` (kill process), `systeminfo` (system details)\n4. **File Permissions and Ownership:**\n \n * Unix/Linux: `chmod` (change file permissions), `chown` (change file ownership)\n * Windows: `icacls` (modify access control lists), `attrib` (change file attributes)\n5. **Network Commands:**\n \n * Unix/Linux: `ping` (test network connection), `ifconfig` or `ip` (network interface configuration), `netstat` (network statistics)\n * Windows: `ping` (test network connection), `ipconfig` (network configuration), `netstat` (network statistics)\n\nThese commands form the foundation of interacting with and managing an OS via the command line, providing greater control over system operations compared to graphical interfaces.\n\nLearn more from the following resources:",
"links": [
+ {
+ "title": "Essential Unix Commands",
+ "url": "https://www.geeksforgeeks.org/essential-linuxunix-commands/",
+ "type": "article"
+ },
{
"title": "60 Linux commands you must know",
"url": "https://www.youtube.com/watch?v=gd7BXuUQ91w",
@@ -727,7 +772,7 @@
"description": "Networking protocols are essential for facilitating communication between devices and systems across networks. In cybersecurity, understanding these protocols is crucial for identifying potential vulnerabilities and securing data transmission. Common protocols include TCP/IP, the foundation of internet communication, which ensures reliable data delivery. HTTP and HTTPS are used for web browsing, with HTTPS providing encrypted connections. FTP and SFTP handle file transfers, while SMTP, POP3, and IMAP manage email services. DNS translates domain names to IP addresses, and DHCP automates IP address assignment. SSH enables secure remote access and management of systems. Other important protocols include TLS/SSL for encryption, SNMP for network management, and VPN protocols like IPsec and OpenVPN for secure remote connections. Cybersecurity professionals must be well-versed in these protocols to effectively monitor network traffic, implement security measures, and respond to potential threats targeting specific protocol vulnerabilities.\n\nLearn more from the following resources:",
"links": [
{
- "title": "12 common network protocols",
+ "title": "12 Common Network Protocols",
"url": "https://www.techtarget.com/searchnetworking/feature/12-common-network-protocols-and-their-functions-explained",
"type": "article"
},
@@ -748,7 +793,7 @@
"type": "article"
},
{
- "title": "Common network ports",
+ "title": "Common Network Ports",
"url": "https://www.youtube.com/watch?v=dh8h-4u7Wak",
"type": "video"
}
@@ -844,7 +889,7 @@
"description": "**Loopback** refers to a special network interface used to send traffic back to the same device for testing and diagnostic purposes. The loopback address for IPv4 is `127.0.0.1`, while for IPv6 it is `::1`. When a device sends a request to the loopback address, the network data does not leave the local machine; instead, it is processed internally, allowing developers to test applications or network services without requiring external network access. Loopback is commonly used to simulate network traffic, check local services, or debug issues locally.\n\nLearn more from the following resources:",
"links": [
{
- "title": "Understanding the loopback address and loopback interfaces",
+ "title": "Understanding the Loopback Address and Loopback Interfaces",
"url": "https://study-ccna.com/loopback-interface-loopback-address/",
"type": "article"
}
@@ -887,7 +932,7 @@
"description": "A default gateway is a network node, typically a router or a firewall, that serves as the access point or intermediary between a local network and external networks, such as the internet. When a device on a local network needs to communicate with a device outside its own subnet—such as accessing a website or sending an email—it sends the data to the default gateway, which then routes it to the appropriate external destination. The default gateway acts as a traffic director, ensuring that data packets are correctly forwarded between the internal network and external networks, making it a crucial component for enabling communication beyond the local network's boundaries.\n\nLearn more from the following resources:",
"links": [
{
- "title": "What is a default gateway?",
+ "title": "What is a Default Gateway?",
"url": "https://nordvpn.com/blog/what-is-a-default-gateway/?srsltid=AfmBOoosi5g4acnT9Gv_B86FMGr72hWDhk8J-4jr1HvxPCSu96FikCyw",
"type": "article"
},
@@ -919,7 +964,7 @@
"description": "A **DMZ**, also known as a **Demilitarized Zone**, is a specific part of a network that functions as a buffer or separation between an organization's internal, trusted network and the external, untrusted networks like the internet. The primary purpose of a DMZ is to isolate critical systems and data from the potentially hostile external environment and provide an extra layer of security.\n\nLearn more from the following resources:",
"links": [
{
- "title": "What is a DMZ network?",
+ "title": "What is a DMZ Network?",
"url": "https://www.fortinet.com/resources/cyberglossary/what-is-dmz",
"type": "article"
},
@@ -934,6 +979,11 @@
"title": "ARP",
"description": "Address Resolution Protocol (ARP) is a crucial mechanism used in networking that allows the Internet Protocol (IP) to map an IP address to a corresponding physical address, commonly known as a Media Access Control (MAC) address. This protocol is essential for enabling devices within a Local Area Network (LAN) to communicate by translating IP addresses into specific hardware addresses.\n\nWhen one device on a LAN wants to communicate with another, it needs to know the MAC address associated with the target device’s IP address. ARP facilitates this by sending out an ARP request, which broadcasts the target IP to all devices in the network. Each device checks the requested IP against its own. The device that recognizes the IP as its own responds with an ARP reply, which includes its MAC address.\n\nOnce the requesting device receives the MAC address, it updates its ARP cache—a table that stores IP-to-MAC address mappings—allowing it to send data directly to the correct hardware address.\n\nLearn more from the following resources:",
"links": [
+ {
+ "title": "ARP - Wikipedia",
+ "url": "https://en.wikipedia.org/wiki/Address_Resolution_Protocol",
+ "type": "article"
+ },
{
"title": "What is Address Resolution Protocol?",
"url": "https://www.fortinet.com/resources/cyberglossary/what-is-arp",
@@ -1046,7 +1096,7 @@
"type": "article"
},
{
- "title": "What is a router and how does it work?",
+ "title": "What is a router and How does it work?",
"url": "https://www.youtube.com/watch?v=UIJzHLpG9bM",
"type": "video"
},
@@ -1067,12 +1117,12 @@
"description": "A switch is a network device that operates at the data link layer (Layer 2) of the OSI model, connecting multiple devices within a local area network (LAN). It uses MAC addresses to forward data packets between devices, creating separate collision domains for each port. Switches improve network efficiency by sending packets only to their intended destinations, reducing unnecessary traffic. They support full-duplex communication, allowing simultaneous data transmission in both directions. Modern switches often include advanced features like VLANs, port mirroring, and Quality of Service (QoS) management. Switches are fundamental to creating efficient, segmented networks and are crucial components in both small office and large enterprise network infrastructures.\n\nLearn more from the following resources:",
"links": [
{
- "title": "What is a network switch?",
+ "title": "What is a Network Switch?",
"url": "https://www.cloudflare.com/en-gb/learning/network-layer/what-is-a-network-switch/",
"type": "article"
},
{
- "title": "What is a SWITCH?",
+ "title": "What is a Switch?",
"url": "https://www.youtube.com/watch?v=9eH16Fxeb9o",
"type": "video"
}
@@ -1241,6 +1291,11 @@
"title": "Star",
"description": "A star network topology is a configuration where all devices (nodes) are connected directly to a central hub or switch. In this arrangement, each node has a dedicated point-to-point link to the central device, forming a star-like structure. This topology offers advantages such as easy installation and reconfiguration, centralized management, and fault isolation. If one connection fails, it doesn't affect others. However, the central hub is a single point of failure for the entire network. Star topologies are commonly used in local area networks (LANs) due to their reliability, scalability, and ease of maintenance, making them a popular choice in both small office and large enterprise environments.\n\nLearn more from the following resources:",
"links": [
+ {
+ "title": "Star Topology",
+ "url": "https://www.computerhope.com/jargon/s/startopo.htm",
+ "type": "article"
+ },
{
"title": "Star Topology",
"url": "https://www.youtube.com/watch?v=EQ3rW22-Py0",
@@ -1253,7 +1308,7 @@
"description": "In a ring topology, each network device is connected in a circular fashion, where data travels through each node in one direction (or both in a bidirectional setup) until it reaches its destination. This structure simplifies wiring and ensures a predictable data path, but a failure in any single node or connection can disrupt the entire network unless redundant paths are used. Ring topology is known for its straightforward installation but is less common today due to its vulnerability to network interruptions.\n\nLearn more from the following resources:",
"links": [
{
- "title": "What is ring topology?",
+ "title": "What is Ring Topology?",
"url": "https://www.lenovo.com/gb/en/glossary/what-is-ring-topology/",
"type": "article"
},
@@ -1269,12 +1324,12 @@
"description": "Mesh topology is a network architecture where devices or nodes are interconnected with multiple direct, point-to-point links to every other node in the network. This structure allows data to travel from source to destination through multiple paths, enhancing reliability and fault tolerance. In a full mesh topology, every node is connected to every other node, while in a partial mesh, only some nodes have multiple connections. Mesh networks are highly resilient to failures, as traffic can be rerouted if a link goes down. They're commonly used in wireless networks, IoT applications, and critical infrastructure where redundancy and self-healing capabilities are crucial. However, mesh topologies can be complex and expensive to implement, especially in large networks due to the high number of connections required.\n\nLearn more from the following resources:",
"links": [
{
- "title": "What is mesh topology?",
+ "title": "What is Mesh Topology?",
"url": "https://www.lenovo.com/gb/en/glossary/mesh-topology",
"type": "article"
},
{
- "title": "Mesh topology explained",
+ "title": "Mesh Topology explained",
"url": "https://www.computerhope.com/jargon/m/mesh.htm",
"type": "article"
}
@@ -1337,6 +1392,11 @@
"title": "FTP",
"description": "FTP is a standard network protocol used to transfer files from one host to another host over a TCP-based network, such as the Internet. Originally developed in the 1970s, it's one of the earliest protocols for transferring files between computers and remains widely used today.\n\nFTP operates on a client-server model, where one computer acts as the client (the sender or requester) and the other acts as the server (the receiver or provider). The client initiates a connection to the server, usually by providing a username and password for authentication, and then requests a file transfer.\n\nLearn more from the following resources:",
"links": [
+ {
+ "title": "File Transfer Protocol",
+ "url": "https://en.wikipedia.org/wiki/File_Transfer_Protocol",
+ "type": "article"
+ },
{
"title": "FTP meaning and uses",
"url": "https://www.investopedia.com/terms/f/ftp-file-transfer-protocol.asp",
@@ -1407,7 +1467,7 @@
"description": "VMware is a leading provider of virtualization and cloud computing software. Its core technology allows multiple virtual machines (VMs) to run on a single physical server, each with its own operating system and resources. VMware's product suite includes tools for server virtualization, desktop virtualization, cloud management, and network virtualization. Key products like vSphere and ESXi enable efficient resource utilization, improved scalability, and simplified IT management. VMware's solutions are widely used in enterprise environments for consolidating servers, enabling cloud computing, facilitating disaster recovery, and supporting development and testing environments. The company's technology plays a crucial role in modern data center operations and hybrid cloud strategies.\n\nLearn more from the following resources:",
"links": [
{
- "title": "VMWare Website",
+ "title": "VMWare",
"url": "https://www.vmware.com/",
"type": "article"
},
@@ -1423,10 +1483,15 @@
"description": "VirtualBox is a free, open-source virtualization software developed by Oracle. It allows users to run multiple operating systems simultaneously on a single physical machine. VirtualBox supports a wide range of guest operating systems, including various versions of Windows, Linux, macOS, and more. It provides features like snapshots for easy system state preservation, shared folders for file exchange between host and guest systems, and USB device support. VirtualBox is popular among developers, IT professionals, and enthusiasts for testing software, running legacy applications, and experimenting with different operating systems without the need for separate physical hardware.\n\nLearn more from the following resources:",
"links": [
{
- "title": "VirtualBox Website",
+ "title": "VirtualBox",
"url": "https://www.virtualbox.org/",
"type": "article"
},
+ {
+ "title": "VirtualBox Documentation",
+ "url": "https://www.virtualbox.org/wiki/Documentation",
+ "type": "article"
+ },
{
"title": "How to use VirtualBox",
"url": "https://www.youtube.com/watch?v=nvdnQX9UkMY",
@@ -1455,10 +1520,15 @@
"description": "**Proxmox** is an open-source virtualization management platform that integrates both **Proxmox Virtual Environment (Proxmox VE)** and **Proxmox Mail Gateway**. Proxmox VE combines virtualization technologies, including KVM for virtual machines and LXC for lightweight containers, into a unified web-based interface for managing and deploying virtualized environments. It offers features such as high availability, storage management, and backup solutions. Proxmox Mail Gateway provides email security and anti-spam solutions, protecting email systems from threats. Proxmox is valued for its flexibility, cost-effectiveness, and comprehensive management capabilities.\n\nLearn more from the following resources:",
"links": [
{
- "title": "Proxmox Website",
+ "title": "Proxmox",
"url": "https://www.proxmox.com/en/",
"type": "article"
},
+ {
+ "title": "Proxmox Virtual Environment",
+ "url": "https://en.wikipedia.org/wiki/Proxmox_Virtual_Environment",
+ "type": "article"
+ },
{
"title": "What is Proxmox virtualization?",
"url": "https://www.youtube.com/watch?v=GMAvmHEWAMU",
@@ -1620,12 +1690,12 @@
"description": "Port scanners are essential tools in the troubleshooting and cybersecurity landscape. They are designed to detect open or closed network ports on a target system. Network ports serve as communication endpoints for various applications and services running on a device, and knowing the status of these ports can help identify potential security vulnerabilities or confirm that specific services are running as intended.\n\nLearn more from the following resources:",
"links": [
{
- "title": "Top 5 Best port scanners",
+ "title": "Top 5 Best Port Scanners",
"url": "https://securitytrails.com/blog/best-port-scanners",
"type": "article"
},
{
- "title": "How To Use nmap To Scan For Open Ports",
+ "title": "How To Use Nmap To Scan For Open Ports",
"url": "https://www.youtube.com/watch?v=ifbwTt3_oCg",
"type": "video"
}
@@ -1651,11 +1721,6 @@
"title": "dig",
"description": "`dig`, short for the Domain Information Groper, is a powerful and flexible command-line tool used to perform DNS queries and obtain valuable information about domains, IPs, and DNS records. This utility, available on UNIX-based systems like Linux and macOS, provides an essential function to help diagnose and resolve various issues related to domain name resolution and network connectivity. It is highly useful for network administrators and cybersecurity professionals when troubleshooting DNS-related problems.\n\nLearn more from the following resources:",
"links": [
- {
- "title": "How to use Linux dig command",
- "url": "https://www.google.com/search?client=firefox-b-d&q=linux+dig+command",
- "type": "article"
- },
{
"title": "How to look up DNS records with dig",
"url": "https://www.youtube.com/watch?v=3AOKomsmeUY",
@@ -1667,6 +1732,11 @@
"title": "arp",
"description": "ARP is a protocol used by the Internet Protocol (IP) to map an IP address to a physical address, also known as a Media Access Control (MAC) address. ARP is essential for routing data between devices in a Local Area Network (LAN) as it allows for the translation of IP addresses to specific hardware on the network. When a device wants to communicate with another device on the same LAN, it needs to determine the corresponding MAC address for the target IP address. ARP helps in this process by broadcasting an ARP request containing the target IP address. All devices within the broadcast domain receive this ARP request and compare the target IP address with their own IP address. If a match is found, the device with the matching IP address sends an ARP reply which contains its MAC address. The device that initiated the ARP request can now update its ARP cache (a table that stores IP-to-MAC mappings) with the new information, and then proceed to send data to the target's MAC address.\n\nLearn more from the following resources:",
"links": [
+ {
+ "title": "ARP - Wikipedia",
+ "url": "https://en.wikipedia.org/wiki/Address_Resolution_Protocol",
+ "type": "article"
+ },
{
"title": "What is Address Resolution Protocol?",
"url": "https://www.fortinet.com/resources/cyberglossary/what-is-arp",
@@ -1683,6 +1753,11 @@
"title": "Protocol Analyzers",
"description": "**Protocol analyzers**, also known as network analyzers or packet sniffers, are tools used to capture, inspect, and analyze network traffic. They help diagnose network issues, troubleshoot performance problems, and ensure security by providing detailed insights into the data packets transmitted across a network. Protocol analyzers decode and display various network protocols, such as TCP/IP, HTTP, and DNS, allowing users to understand communication patterns, detect anomalies, and identify potential vulnerabilities. Popular examples include Wireshark and tcpdump.\n\nLearn more from the following resources:",
"links": [
+ {
+ "title": "What is a Protocol Analyzer?",
+ "url": "https://www.liveaction.com/glossary/protocol-analyzer/",
+ "type": "article"
+ },
{
"title": "Protocol Analyzers",
"url": "https://www.youtube.com/watch?v=hTMhlB-o0Ow",
@@ -1713,8 +1788,19 @@
},
"xFuWk7M-Vctk_xb7bHbWs": {
"title": "route",
- "description": "The `route` command is a network utility used to view and manipulate the IP routing table on Unix-like and Windows systems. It allows users to display the current routes that data packets take, as well as add, modify, or delete routes for network traffic. This command is often used in network troubleshooting and configuration to control how data flows between different networks and subnets. By specifying routes manually, administrators can define specific paths for network traffic, bypassing default routes and optimizing performance or security.",
- "links": []
+ "description": "The `route` command is a network utility used to view and manipulate the IP routing table on Unix-like and Windows systems. It allows users to display the current routes that data packets take, as well as add, modify, or delete routes for network traffic. This command is often used in network troubleshooting and configuration to control how data flows between different networks and subnets. By specifying routes manually, administrators can define specific paths for network traffic, bypassing default routes and optimizing performance or security.\n\nLearn more from the following resources:",
+ "links": [
+ {
+ "title": "route command",
+ "url": "https://www.man7.org/linux/man-pages/man8/route.8.html",
+ "type": "article"
+ },
+ {
+ "title": "route command explained",
+ "url": "https://www.youtube.com/watch?v=uOqBollh_x4",
+ "type": "video"
+ }
+ ]
},
"y8GaUNpaCT1Ai88wPOk6d": {
"title": "tcpdump",
@@ -1822,12 +1908,12 @@
"description": "Certificates, also known as digital certificates or SSL/TLS certificates, play a crucial role in the world of cybersecurity. They help secure communications between clients and servers over the internet, ensuring that sensitive data remains confidential and protected from prying eyes.\n\nDigital certificates provide a crucial layer of security and trust for online communications. Understanding their role in cybersecurity, the different types of certificates, and the importance of acquiring certificates from trusted CAs can greatly enhance your organization's online security posture and reputation.\n\nLearn more from the following resources:",
"links": [
{
- "title": "What is an SSL certificate?",
+ "title": "What is an SSL Certificate?",
"url": "https://www.cloudflare.com/en-gb/learning/ssl/what-is-an-ssl-certificate/",
"type": "article"
},
{
- "title": "What is a certificate authority",
+ "title": "What is a Certificate Authority",
"url": "https://www.ssl.com/article/what-is-a-certificate-authority-ca/",
"type": "article"
}
@@ -1835,8 +1921,14 @@
},
"vYvFuz7lAJXZ1vK_4999a": {
"title": "Local Auth",
- "description": "Local authentication refers to the process of verifying a user's identity on a specific device or system without relying on external servers or networks. It typically involves storing and checking credentials directly on the device itself. Common methods include username/password combinations, biometrics (fingerprint, face recognition), or PIN codes. Local authentication is often used for device access, offline applications, or as a fallback when network-based authentication is unavailable. While it offers quick access and works without internet connectivity, it can be less secure than centralized authentication systems and more challenging to manage across multiple devices. Local authentication is commonly used in personal devices, standalone systems, and scenarios where network-based authentication is impractical or unnecessary.",
- "links": []
+ "description": "Local authentication refers to the process of verifying a user's identity on a specific device or system without relying on external servers or networks. It typically involves storing and checking credentials directly on the device itself. Common methods include username/password combinations, biometrics (fingerprint, face recognition), or PIN codes. Local authentication is often used for device access, offline applications, or as a fallback when network-based authentication is unavailable. While it offers quick access and works without internet connectivity, it can be less secure than centralized authentication systems and more challenging to manage across multiple devices. Local authentication is commonly used in personal devices, standalone systems, and scenarios where network-based authentication is impractical or unnecessary.\n\nLearn more from the following resources:",
+ "links": [
+ {
+ "title": "Local authentication, registration, and other settings",
+ "url": "https://learn.microsoft.com/en-us/power-pages/security/authentication/set-authentication-identity",
+ "type": "article"
+ }
+ ]
},
"_hYN0gEi9BL24nptEtXWU": {
"title": "Security Skills and Knowledge",
@@ -1991,7 +2083,7 @@
"description": "**Penetration Testing Rules of Engagement** define the guidelines and boundaries for conducting a penetration test. They establish the scope, objectives, and constraints, including the systems and networks to be tested, the testing methods allowed, and the times during which testing can occur. These rules ensure that the testing is conducted ethically and legally, minimizing disruptions and protecting sensitive data. They also include communication protocols for reporting findings and any necessary approvals or permissions from stakeholders to ensure that the testing aligns with organizational policies and compliance requirements.\n\nLearn more from the following resources:",
"links": [
{
- "title": "Why are rules of engagement important to a Penetration Test?",
+ "title": "Why are Rules of Engagement Important to a Penetration Test?",
"url": "https://www.triaxiomsecurity.com/rules-of-engagement-important-to-penetration-test/",
"type": "article"
},
@@ -2023,12 +2115,12 @@
"description": "The core concepts of Zero Trust revolve around the principle of \"never trust, always verify,\" emphasizing the need to continuously validate every user, device, and application attempting to access resources, regardless of their location within or outside the network perimeter. Unlike traditional security models that rely on a strong perimeter defense, Zero Trust assumes that threats could already exist inside the network and that no entity should be trusted by default. Key principles include strict identity verification, least privilege access, micro-segmentation, and continuous monitoring. This approach limits access to resources based on user roles, enforces granular security policies, and continuously monitors for abnormal behavior, ensuring that security is maintained even if one segment of the network is compromised. Zero Trust is designed to protect modern IT environments from evolving threats by focusing on securing data and resources, rather than just the network perimeter.\n\nLearn more from the following resources:",
"links": [
{
- "title": "What is a zero trust network?",
+ "title": "What is a Zero Trust Network?",
"url": "https://www.cloudflare.com/en-gb/learning/security/glossary/what-is-zero-trust/",
"type": "article"
},
{
- "title": "Zero trust explained in 4 minutes",
+ "title": "Zero Trust Explained in 4 minutes",
"url": "https://www.youtube.com/watch?v=yn6CPQ9RioA",
"type": "video"
}
@@ -2039,9 +2131,14 @@
"description": "Compliance officers ensure that an organization adheres to legal, regulatory, and internal policies by proactively implementing controls, training employees, and mitigating risks. Auditors, both internal and external, assess the effectiveness of these controls and the accuracy of financial reporting through periodic evaluations, providing independent assurance to management and stakeholders. While compliance focuses on prevention and day-to-day adherence, auditors focus on verifying and evaluating past performance to ensure integrity and identify areas for improvement. Both roles work together to manage risk and maintain organizational accountability.\n\nLearn more from the following resources:",
"links": [
{
- "title": "What is a compliance audit?",
+ "title": "What is a Compliance Audit?",
"url": "https://www.auditboard.com/blog/compliance-audit/",
"type": "article"
+ },
+ {
+ "title": "Compliance Office and Internal Audit Roles and Responsibilities",
+ "url": "https://www.compliance.com/resources/compliance-office-and-internal-audit-roles-and-responsibilities/",
+ "type": "article"
}
]
},
@@ -2084,7 +2181,7 @@
},
"H38Vb7xvuBJXVzgPBdRdT": {
"title": "Cyber Kill Chain",
- "description": "The **Cyber Kill Chain** is a model that was developed by Lockheed Martin, a major aerospace, military support, and security company, to understand and prevent cyber intrusions in various networks and systems. It serves as a framework for breaking down the stages of a cyber attack, making it easier for security professionals to identify, mitigate, and prevent threats.\n\nThe concept is based on a military model, where the term \"kill chain\" represents a series of steps needed to successfully target and engage an adversary. In the context of cybersecurity, the model breaks down the stages of a cyber attack into seven distinct phases:\n\n* **Reconnaissance**: This initial phase involves gathering intelligence on the target, which may include researching public databases, performing network scans, or social engineering techniques.\n* **Weaponization**: In this stage, the attacker creates a weapon – such as a malware, virus, or exploit – and packages it with a delivery mechanism that can infiltrate the target's system.\n* **Delivery**: The attacker selects and deploys the delivery method to transmit the weapon to the target. Common methods include email attachments, malicious URLs, or infected software updates.\n* **Exploitation**: This is the phase where the weapon is activated, taking advantage of vulnerabilities in the target's systems or applications to execute the attacker's code.\n* **Installation**: Once the exploit is successful, the attacker installs the malware on the victim's system, setting the stage for further attacks or data exfiltration.\n* **Command and Control (C2)**: The attacker establishes a communication channel with the infected system, allowing them to remotely control the malware and conduct further actions.\n* **Actions on Objectives**: In this final phase, the attacker achieves their goal, which may involve stealing sensitive data, compromising systems, or disrupting services.\n\nLearn more from the following resources:",
+ "description": "The **Cyber Kill Chain** is a model that was developed by Lockheed Martin, a major aerospace, military support, and security company, to understand and prevent cyber intrusions in various networks and systems. It serves as a framework for breaking down the stages of a cyber attack, making it easier for security professionals to identify, mitigate, and prevent threats.\n\nLearn more from the following resources:",
"links": [
{
"title": "Cyber Kill Chain",
@@ -2116,13 +2213,18 @@
},
"_S25EOGS3P8647zLM5i-g": {
"title": "Operating System Hardening",
- "description": "**Operating system hardening** involves configuring and securing an OS to reduce vulnerabilities and improve its defense against attacks. This process includes disabling unnecessary services and ports, applying security patches and updates, configuring strong authentication mechanisms, enforcing least privilege principles, and enabling firewalls and intrusion detection systems. Hardening also involves setting up proper file permissions, securing system logs, and regularly auditing the system to ensure compliance with security policies and best practices. The goal is to minimize the attack surface and protect the OS from potential threats and exploits.\n\nLearn more from the following resources",
+ "description": "**Operating system hardening** involves configuring and securing an OS to reduce vulnerabilities and improve its defense against attacks. This process includes disabling unnecessary services and ports, applying security patches and updates, configuring strong authentication mechanisms, enforcing least privilege principles, and enabling firewalls and intrusion detection systems. Hardening also involves setting up proper file permissions, securing system logs, and regularly auditing the system to ensure compliance with security policies and best practices. The goal is to minimize the attack surface and protect the OS from potential threats and exploits.\n\nLearn more from the following resources:",
"links": [
{
"title": "OS Hardening: 15 Best Practices",
"url": "https://perception-point.io/guides/os-isolation/os-hardening-10-best-practices/",
"type": "article"
},
+ {
+ "title": "Operating System (OS) Hardening: Pros, Cons, and Importance",
+ "url": "https://linfordco.com/blog/operating-system-hardening/",
+ "type": "article"
+ },
{
"title": "Hardening Techniques",
"url": "https://www.youtube.com/watch?v=wXoC46Qr_9Q",
@@ -2185,7 +2287,7 @@
},
"WG7DdsxESm31VcLFfkVTz": {
"title": "Authentication vs Authorization",
- "description": "Authentication vs Authorization\n-------------------------------\n\n**Authentication** is the process of validating the identity of a user, device, or system. It confirms that the entity attempting to access the resource is who or what they claim to be. The most common form of authentication is the use of usernames and passwords. Other methods include:\n\n**Authorization** comes into play after the authentication process is complete. It involves granting or denying access to a resource, based on the authenticated user's privileges. Authorization determines what actions the authenticated user or entity is allowed to perform within a system or application.",
+ "description": "**Authentication** is the process of validating the identity of a user, device, or system. It confirms that the entity attempting to access the resource is who or what they claim to be. The most common form of authentication is the use of usernames and passwords. Other methods include:\n\n**Authorization** comes into play after the authentication process is complete. It involves granting or denying access to a resource, based on the authenticated user's privileges. Authorization determines what actions the authenticated user or entity is allowed to perform within a system or application.\n\nLearn more from the following resources:",
"links": [
{
"title": "Two-factor authentication (2FA)",
@@ -2249,6 +2351,11 @@
"title": "False Negative / False Positive",
"description": "A false positive happens when the security tool mistakenly identifies a non-threat as a threat. For example, it might raise an alarm for a legitimate user's activity, indicating a potential attack when there isn't any. A high number of false positives can cause unnecessary diverting of resources and time, investigating false alarms. Additionally, it could lead to user frustration if legitimate activities are being blocked.\n\nA false negative occurs when the security tool fails to detect an actual threat or attack. This could result in a real attack going unnoticed, causing damage to the system, data breaches, or other negative consequences. A high number of false negatives indicate that the security system needs to be improved to capture real threats effectively.\n\nTo have an effective cybersecurity system, security professionals aim to maximize true positives and true negatives, while minimizing false positives and false negatives. Balancing these aspects ensures that the security tools maintain their effectiveness without causing undue disruptions to a user's experience.\n\nLearn more from the following resources:",
"links": [
+ {
+ "title": "Difference Between False Positive and False Negative",
+ "url": "https://www.differencebetween.net/science/difference-between-false-positive-and-false-negative/",
+ "type": "article"
+ },
{
"title": "What is a false positive virus?",
"url": "https://www.youtube.com/watch?v=WrcAGBvIT14",
@@ -2263,7 +2370,7 @@
},
"M6uwyD4ibguxytf1od-og": {
"title": "True Negative / True Positive",
- "description": "True Negative / True Positive\n-----------------------------\n\nA True Positive occurs when a security system correctly identifies a genuine threat or malicious activity. It's an accurate alert that correctly detects an actual security incident. For example, an antivirus correctly flagging a file as malware. A True Negative is when a security system correctly identifies that there is no threat when indeed no threat exists. It's the system's accurate determination that normal, benign activity is not a security risk. For example, a firewall correctly allowing legitimate network traffic.\n\nBoth True Positives and True Negatives represent correct assessments by security systems, contributing to effective threat detection and minimizing false alarms. Balancing these with minimizing false positives and false negatives is crucial for optimal security system performance.\n\nLearn more from the following resources:",
+ "description": "A True Positive occurs when a security system correctly identifies a genuine threat or malicious activity. It's an accurate alert that correctly detects an actual security incident. For example, an antivirus correctly flagging a file as malware. A True Negative is when a security system correctly identifies that there is no threat when indeed no threat exists. It's the system's accurate determination that normal, benign activity is not a security risk. For example, a firewall correctly allowing legitimate network traffic.\n\nBoth True Positives and True Negatives represent correct assessments by security systems, contributing to effective threat detection and minimizing false alarms. Balancing these with minimizing false positives and false negatives is crucial for optimal security system performance.\n\nLearn more from the following resources:",
"links": [
{
"title": "False Positives and False Negatives in Information Security",
@@ -2330,7 +2437,7 @@
"description": "Privilege escalation is a technique where an attacker increases their access level within a system, moving from lower to higher permissions, such as from a standard user to an administrator. This can be achieved by exploiting system vulnerabilities, misconfigurations, or security weaknesses. It is critical to implement strong access controls, adhere to the principle of least privilege, and regularly update and patch systems to defend against such attacks.\n\nVisit the following resources to learn more:",
"links": [
{
- "title": "What is privilege escalation?",
+ "title": "What is Privilege Escalation?",
"url": "https://www.crowdstrike.com/cybersecurity-101/privilege-escalation/",
"type": "article"
},
@@ -2359,7 +2466,7 @@
},
"v7CD_sHqLWbm9ibXXESIK": {
"title": "Learn how Malware works and Types",
- "description": "Malware, short for malicious software, refers to any software intentionally created to cause harm to a computer system, server, network, or user. It is a broad term that encompasses various types of harmful software created by cybercriminals for various purposes. In this guide, we will delve deeper into the major types of malware and their characteristics.\n\nVirus\n-----\n\nA computer virus is a type of malware that, much like a biological virus, attaches itself to a host (e.g., a file or software) and replicates when the host is executed. Viruses can corrupt, delete or modify data, and slow down system performance.\n\nWorm\n----\n\nWorms are self-replicating malware that spread through networks without human intervention. They exploit system vulnerabilities, consuming bandwidth and sometimes carrying a payload to infect target machines.\n\nTrojan Horse\n------------\n\nA trojan horse is a piece of software disguised as a legitimate program but contains harmful code. Users unknowingly download and install it, giving the attacker unauthorized access to the computer or network. Trojans can be used to steal data, create a backdoor, or launch additional malware attacks.\n\nRansomware\n----------\n\nRansomware is a type of malware that encrypts its victims' files and demands a ransom, typically in the form of cryptocurrency, for the decryption key. If the victim refuses or fails to pay within a specified time, the encrypted data may be lost forever.\n\nSpyware\n-------\n\nSpyware is a type of malware designed to collect and relay information about a user or organization without their consent. It can capture keystrokes, record browsing history, and access personal data such as usernames and passwords.\n\nAdware\n------\n\nAdware is advertising-supported software that automatically displays or downloads advertising materials, often in the form of pop-up ads, on a user's computer. While not always malicious, adware can be intrusive and open the door for other malware infections.\n\nRootkit\n-------\n\nA rootkit is a type of malware designed to hide or obscure the presence of other malicious programs on a computer system. This enables it to maintain persistent unauthorized access to the system and can make it difficult for users or security software to detect and remove infected files.\n\nKeylogger\n---------\n\nKeyloggers are a type of malware that monitor and record users' keystrokes, allowing attackers to capture sensitive information, such as login credentials or financial information entered on a keyboard.\n\nUnderstanding the different types of malware can help you better identify and protect against various cyber threats. As the cyber landscape continues to evolve, it's essential to stay informed about emerging malware and equip yourself with the necessary security skills and knowledge.",
+ "description": "Malware, short for malicious software, refers to any software intentionally created to cause harm to a computer system, server, network, or user. It is a broad term that encompasses various types of harmful software created by cybercriminals for various purposes. In this guide, we will delve deeper into the major types of malware and their characteristics.\n\nVirus\n-----\n\nA computer virus is a type of malware that, much like a biological virus, attaches itself to a host (e.g., a file or software) and replicates when the host is executed. Viruses can corrupt, delete or modify data, and slow down system performance.\n\nWorm\n----\n\nWorms are self-replicating malware that spread through networks without human intervention. They exploit system vulnerabilities, consuming bandwidth and sometimes carrying a payload to infect target machines.\n\nTrojan Horse\n------------\n\nA trojan horse is a piece of software disguised as a legitimate program but contains harmful code. Users unknowingly download and install it, giving the attacker unauthorized access to the computer or network. Trojans can be used to steal data, create a backdoor, or launch additional malware attacks.\n\nRansomware\n----------\n\nRansomware is a type of malware that encrypts its victims' files and demands a ransom, typically in the form of cryptocurrency, for the decryption key. If the victim refuses or fails to pay within a specified time, the encrypted data may be lost forever.\n\nSpyware\n-------\n\nSpyware is a type of malware designed to collect and relay information about a user or organization without their consent. It can capture keystrokes, record browsing history, and access personal data such as usernames and passwords.\n\nAdware\n------\n\nAdware is advertising-supported software that automatically displays or downloads advertising materials, often in the form of pop-up ads, on a user's computer. While not always malicious, adware can be intrusive and open the door for other malware infections.\n\nRootkit\n-------\n\nA rootkit is a type of malware designed to hide or obscure the presence of other malicious programs on a computer system. This enables it to maintain persistent unauthorized access to the system and can make it difficult for users or security software to detect and remove infected files.\n\nKeylogger\n---------\n\nKeyloggers are a type of malware that monitor and record users' keystrokes, allowing attackers to capture sensitive information, such as login credentials or financial information entered on a keyboard.\n\nLearn more from the following resources:",
"links": []
},
"Hoou7kWyfB2wx_yFHug_H": {
@@ -2367,7 +2474,7 @@
"description": "**Nmap** (Network Mapper) is an open-source network scanning tool used to discover hosts and services on a network, identify open ports, and detect vulnerabilities. It provides detailed information about networked devices, including their IP addresses, operating systems, and running services. Nmap supports various scanning techniques such as TCP SYN scan, UDP scan, and service version detection. It's widely used for network security assessments, vulnerability scanning, and network inventory management, helping administrators and security professionals understand and secure their network environments.\n\nLearn more from the following resources:",
"links": [
{
- "title": "NMAP Website",
+ "title": "NMAP",
"url": "https://nmap.org/",
"type": "article"
},
@@ -2375,6 +2482,11 @@
"title": "NMAP Cheat Sheet",
"url": "https://www.tutorialspoint.com/nmap-cheat-sheet",
"type": "article"
+ },
+ {
+ "title": "Nmap Tutorial to find Network Vulnerabilities",
+ "url": "https://www.youtube.com/watch?v=4t4kBkMsDbQ",
+ "type": "video"
}
]
},
@@ -2417,7 +2529,7 @@
},
"W7iQUCjODGYgE4PjC5TZI": {
"title": "curl",
- "description": "Curl is a versatile command-line tool primarily used for transferring data using various network protocols. It is widely used in cybersecurity and development for the purpose of testing and interacting with web services, APIs, and scrutinizing web application security. Curl supports various protocols such as HTTP, HTTPS, FTP, SCP, SFTP, and many more.\n\nLearn more from the following resources:",
+ "description": "cURL is a versatile command-line tool primarily used for transferring data using various network protocols. It is widely used in cybersecurity and development for the purpose of testing and interacting with web services, APIs, and scrutinizing web application security. Curl supports various protocols such as HTTP, HTTPS, FTP, SCP, SFTP, and many more.\n\nLearn more from the following resources:",
"links": [
{
"title": "What is the cURL command?",
@@ -2467,6 +2579,11 @@
"title": "arp",
"description": "ARP is a protocol used by the Internet Protocol (IP) to map an IP address to a physical address, also known as a Media Access Control (MAC) address. ARP is essential for routing data between devices in a Local Area Network (LAN) as it allows for the translation of IP addresses to specific hardware on the network. When a device wants to communicate with another device on the same LAN, it needs to determine the corresponding MAC address for the target IP address. ARP helps in this process by broadcasting an ARP request containing the target IP address. All devices within the broadcast domain receive this ARP request and compare the target IP address with their own IP address. If a match is found, the device with the matching IP address sends an ARP reply which contains its MAC address. The device that initiated the ARP request can now update its ARP cache (a table that stores IP-to-MAC mappings) with the new information, and then proceed to send data to the target's MAC address.\n\nLearn more from the following resources:",
"links": [
+ {
+ "title": "ARP - Wikipedia",
+ "url": "https://en.wikipedia.org/wiki/Address_Resolution_Protocol",
+ "type": "article"
+ },
{
"title": "What is Address Resolution Protocol?",
"url": "https://www.fortinet.com/resources/cyberglossary/what-is-arp",
@@ -2483,6 +2600,11 @@
"title": "cat",
"description": "`cat` is a widely used command-line utility in UNIX and UNIX-like systems. It stands for \"concatenate\" which, as the name suggests, can be used to concatenate files, display file contents, or combine files. In the context of incident response and discovery tools, `cat` plays an essential role in quickly accessing and assessing the contents of various files that inform on security incidents and help users understand system data as well as potential threats.\n\nLearn more from the following resources:",
"links": [
+ {
+ "title": "Cat Command in Linux",
+ "url": "https://linuxize.com/post/linux-cat-command/",
+ "type": "article"
+ },
{
"title": "Linux cat command",
"url": "https://phoenixnap.com/kb/linux-cat-command",
@@ -2548,7 +2670,7 @@
"description": "Wireshark is a powerful, open-source network protocol analyzer used for real-time packet capture and analysis. It allows users to examine network traffic at a microscopic level, capturing and interactively browsing the traffic running on a computer network. Wireshark can decode a wide variety of network protocols, making it an essential tool for network troubleshooting, security analysis, software and protocol development, and education. It provides a user-friendly graphical interface and offers features like deep inspection of hundreds of protocols, live capture and offline analysis, and the ability to read/write many different capture file formats. Wireshark is widely used by IT professionals, security experts, and developers for diagnosing network issues and understanding network communication.\n\nLearn more from the following resources:",
"links": [
{
- "title": "Wireshark Website",
+ "title": "Wireshark",
"url": "https://www.wireshark.org/",
"type": "article"
},
@@ -2569,7 +2691,7 @@
"description": "WinHex is a universal hexadecimal editor and disk editor primarily used for computer forensics and data recovery. It allows users to examine and edit the raw content of files, disks, or memory in hexadecimal and ASCII formats. WinHex provides advanced features for data analysis, including disk cloning, secure data erasure, and file system reconstruction. It supports various file systems and can work with physical disks, disk images, and RAM. Forensic experts use WinHex to investigate digital evidence, recover deleted files, and analyze data structures. While powerful, it requires careful use as it can directly manipulate raw data, potentially causing unintended changes to critical system files or data.\n\nLearn more from the following resources:",
"links": [
{
- "title": "WinHex Website",
+ "title": "WinHex",
"url": "https://x-ways.net/winhex/",
"type": "article"
},
@@ -2584,6 +2706,11 @@
"title": "memdump",
"description": "**memdump** is a tool or process used to capture the contents of a computer's physical memory (RAM) for analysis. This \"memory dump\" can be useful in digital forensics, debugging, or incident response to identify active processes, open files, network connections, or potentially malicious code running in memory. By analyzing a memory dump, security professionals can investigate malware, recover encryption keys, or gather evidence in case of a breach. Tools like `memdump` (Linux utility) or `DumpIt` (Windows) are commonly used to perform this process.\n\nLearn more from the following resources:",
"links": [
+ {
+ "title": "memdump - Github",
+ "url": "https://github.com/tchebb/memdump",
+ "type": "opensource"
+ },
{
"title": "memdump",
"url": "https://www.kali.org/tools/memdump/",
@@ -2612,7 +2739,7 @@
"description": "Autopsy is a versatile and powerful open-source digital forensics platform that is primarily used for incident response, cyber security investigations, and data recovery. As an investigator, you can utilize Autopsy to quickly and efficiently analyze a compromised system, extract crucial artifacts, and generate comprehensive reports. Integrated with The Sleuth Kit and other plug-ins, Autopsy allows examiners to automate tasks and dig deep into a system's structure to discover the root cause of an incident.\n\nLearn more from the following resources:",
"links": [
{
- "title": "Autopsy Website",
+ "title": "Autopsy",
"url": "https://www.autopsy.com/",
"type": "article"
},
@@ -2727,6 +2854,11 @@
"title": "What is PKI?",
"url": "https://cpl.thalesgroup.com/faq/public-key-infrastructure-pki/what-public-key-infrastructure-pki",
"type": "article"
+ },
+ {
+ "title": "What Is Public Key Infrastructure (PKI) & How Does It Work?",
+ "url": "https://www.okta.com/identity-101/public-key-infrastructure/",
+ "type": "article"
}
]
},
@@ -2836,7 +2968,7 @@
"description": "**NIST (National Institute of Standards and Technology)** is a U.S. federal agency that develops and promotes measurement standards, technology, and best practices. In the context of cybersecurity, NIST provides widely recognized guidelines and frameworks, such as the **NIST Cybersecurity Framework (CSF)**, which offers a structured approach to managing and mitigating cybersecurity risks. NIST also publishes the **NIST Special Publication (SP) 800 series**, which includes standards and guidelines for securing information systems, protecting data, and ensuring system integrity. These resources are essential for organizations seeking to enhance their security posture and comply with industry regulations.\n\nLearn more from the following resources:",
"links": [
{
- "title": "NIST Website",
+ "title": "NIST",
"url": "https://www.nist.gov/",
"type": "article"
},
@@ -2849,7 +2981,7 @@
},
"fjEdufrZAfW4Rl6yDU8Hk": {
"title": "RMF",
- "description": "A **Risk Management Framework (RMF)** is a structured approach that organizations use to identify, assess, manage, and mitigate risks. It provides a systematic process to ensure that risks are effectively controlled and aligned with the organization's objectives. Key components include:\n\n1. **Risk Identification:** Identifying potential internal and external risks that could impact the organization.\n2. **Risk Assessment:** Evaluating the likelihood and impact of identified risks.\n3. **Risk Mitigation:** Developing strategies to reduce or eliminate risks, such as controls, policies, and contingency plans.\n4. **Risk Monitoring:** Continuously tracking risks and the effectiveness of mitigation measures.\n5. **Communication and Reporting:** Regularly updating stakeholders on the risk status and actions taken.\n6. **Review and Improvement:** Periodically reassessing the framework and adapting to changes in the business or regulatory environment.\n\nThe RMF ensures that risks are managed proactively and consistently across the organization, helping to safeguard assets and support strategic decision-making.\n\nLearn more from the following resources:",
+ "description": "A **Risk Management Framework (RMF)** is a structured approach that organizations use to identify, assess, manage, and mitigate risks. It provides a systematic process to ensure that risks are effectively controlled and aligned with the organization's objectives. Key components include:\n\n1. **Risk Identification:** Identifying potential internal and external risks that could impact the organization.\n2. **Risk Assessment:** Evaluating the likelihood and impact of identified risks.\n3. **Risk Mitigation:** Developing strategies to reduce or eliminate risks, such as controls, policies, and contingency plans.\n4. **Risk Monitoring:** Continuously tracking risks and the effectiveness of mitigation measures.\n5. **Communication and Reporting:** Regularly updating stakeholders on the risk status and actions taken.\n6. **Review and Improvement:** Periodically reassessing the framework and adapting to changes in the business or regulatory environment.\n\nLearn more from the following resources:",
"links": [
{
"title": "What is the Risk Management Framework?",
@@ -2868,7 +3000,7 @@
"description": "The **Center for Internet Security (CIS)** is a non-profit organization that focuses on enhancing the cybersecurity posture of individuals, organizations, and governments around the world. CIS offers various tools, best practices, guidelines, and frameworks that help in defending against common cyber threats.\n\nLearn more from the following resources:",
"links": [
{
- "title": "CIS Website",
+ "title": "CIS",
"url": "https://www.cisecurity.org/",
"type": "article"
},
@@ -2950,6 +3082,16 @@
"title": "ParrotOS",
"url": "https://parrotsec.org/",
"type": "article"
+ },
+ {
+ "title": "ParrotOS Documentation",
+ "url": "https://parrotsec.org/docs",
+ "type": "article"
+ },
+ {
+ "title": "ParrotOS Downloads",
+ "url": "https://parrotsec.org/download",
+ "type": "article"
}
]
},
@@ -2969,7 +3111,7 @@
"description": "**LOLBAS** (Living Off the Land Binaries and Scripts) refers to a collection of legitimate system binaries and scripts that can be abused by attackers to perform malicious actions while evading detection. These tools, which are often part of the operating system or installed software, can be leveraged for various purposes, such as executing commands, accessing data, or modifying system configurations, thereby allowing attackers to carry out their activities without deploying custom malware. The use of LOLBAS techniques makes it harder for traditional security solutions to detect and prevent malicious activities since the binaries and scripts used are typically trusted and deemed legitimate.\n\nLearn more from the following resources:",
"links": [
{
- "title": "LOLBAS project",
+ "title": "LOLBAS Project",
"url": "https://lolbas-project.github.io/#",
"type": "article"
},
@@ -2990,7 +3132,7 @@
"description": "Event logs are digital records that document activities and occurrences within computer systems and networks. They serve as a crucial resource for cybersecurity professionals, providing a chronological trail of system operations, user actions, and security-related events. These logs capture a wide range of information, including login attempts, file access, system changes, and application errors. In the context of security, event logs play a vital role in threat detection, incident response, and forensic analysis. They help identify unusual patterns, track potential security breaches, and reconstruct the sequence of events during an attack. Effective log management involves collecting logs from various sources, securely storing them, and implementing tools for log analysis and correlation. However, the sheer volume of log data can be challenging to manage, requiring advanced analytics and automation to extract meaningful insights and detect security incidents in real-time.\n\nLearn more from the following resources:",
"links": [
{
- "title": "What is an event log?",
+ "title": "What is an Event Log?",
"url": "https://www.crowdstrike.com/cybersecurity-101/observability/event-log/",
"type": "article"
},
@@ -3022,7 +3164,7 @@
"description": "**NetFlow** is a network protocol developed by Cisco for collecting and analyzing network traffic data. It provides detailed information about network flows, including the source and destination IP addresses, ports, and the amount of data transferred. NetFlow data helps network administrators monitor traffic patterns, assess network performance, and identify potential security threats. By analyzing flow data, organizations can gain insights into bandwidth usage, detect anomalies, and optimize network resources. NetFlow is widely supported across various network devices and often integrated with network management and security tools for enhanced visibility and control.\n\nLearn more from the following resources:",
"links": [
{
- "title": "Cisco NetFlow Website",
+ "title": "Cisco NetFlow",
"url": "https://www.cisco.com/c/en/us/products/ios-nx-os-software/ios-netflow/index.html",
"type": "article"
},
@@ -3054,12 +3196,12 @@
"description": "Firewall logs are detailed records of network traffic and security events captured by firewall devices. These logs provide crucial information about connection attempts, allowed and blocked traffic, and potential security incidents. They typically include data such as source and destination IP addresses, ports, protocols, timestamps, and the action taken by the firewall. Security professionals analyze these logs to monitor network activity, detect unusual patterns, investigate security breaches, and ensure policy compliance. Firewall logs are essential for troubleshooting network issues, optimizing security rules, and conducting forensic analysis after an incident. However, the volume of log data generated can be overwhelming, necessitating the use of log management tools and security information and event management (SIEM) systems to effectively process, correlate, and derive actionable insights from the logs. Regular review and analysis of firewall logs are critical practices in maintaining a robust security posture and responding promptly to potential threats.\n\nLearn more from the following resources:",
"links": [
{
- "title": "What is firewall logging and why is it important?",
+ "title": "What is Firewall Logging and Why is it Important?",
"url": "https://cybriant.com/what-is-firewall-logging-and-why-is-it-important/",
"type": "article"
},
{
- "title": "Reviewing firewall logs",
+ "title": "Reviewing Firewall Logs",
"url": "https://www.youtube.com/watch?v=XiJ30f8V_T4",
"type": "video"
}
@@ -3083,7 +3225,7 @@
},
"6oAzYfwsHQYNVbi7c2Tly": {
"title": "NAC-based",
- "description": "Network Access Control (NAC) based hardening is a crucial component in enhancing the security of your network infrastructure. NAC provides organizations with the ability to control and manage access to the network resources, ensuring that only authorized users and devices can connect to the network. It plays a vital role in reducing the attack surface and preventing unauthorized access to sensitive data and resources. By implementing NAC-based hardening in your cybersecurity strategy, you protect your organization from threats and maintain secure access to critical resources.\n\nLearn more from the following resouces:",
+ "description": "Network Access Control (NAC) based hardening is a crucial component in enhancing the security of your network infrastructure. NAC provides organizations with the ability to control and manage access to the network resources, ensuring that only authorized users and devices can connect to the network. It plays a vital role in reducing the attack surface and preventing unauthorized access to sensitive data and resources. By implementing NAC-based hardening in your cybersecurity strategy, you protect your organization from threats and maintain secure access to critical resources.\n\nLearn more from the following resources:",
"links": [
{
"title": "What is Network Access Control",
@@ -3099,8 +3241,19 @@
},
"W7bcydXdwlubXF2PHKOuq": {
"title": "Port Blocking",
- "description": "Port blocking is an essential practice in hardening the security of your network and devices. It involves restricting, filtering, or entirely denying access to specific network ports to minimize exposure to potential cyber threats. By limiting access to certain ports, you can effectively safeguard your systems against unauthorized access and reduce the likelihood of security breaches.",
- "links": []
+ "description": "Port blocking is an essential practice in hardening the security of your network and devices. It involves restricting, filtering, or entirely denying access to specific network ports to minimize exposure to potential cyber threats. By limiting access to certain ports, you can effectively safeguard your systems against unauthorized access and reduce the likelihood of security breaches.\n\nLearn more from the following resources:",
+ "links": [
+ {
+ "title": "What is Port Blocking?",
+ "url": "https://cyberpedia.reasonlabs.com/EN/port%20blocking.html",
+ "type": "article"
+ },
+ {
+ "title": "Is Your Router Blocking Your Ports? Here's How to Find Out?",
+ "url": "https://softhandtech.com/how-can-i-tell-if-a-port-is-blocked-on-my-router/",
+ "type": "article"
+ }
+ ]
},
"FxuMJmDoDkIsPFp2iocFg": {
"title": "Group Policy",
@@ -3187,7 +3340,7 @@
"type": "article"
},
{
- "title": "Endpoints are the IT frontdoor - Gaurd them!",
+ "title": "Endpoints are the IT Frontdoor - Guard them!",
"url": "https://www.youtube.com/watch?v=Njqid_JpqTs",
"type": "video"
}
@@ -3305,12 +3458,12 @@
"description": "Antivirus software is a specialized program designed to detect, prevent, and remove malicious software, such as viruses, worms, and trojans, from computer systems. It works by scanning files and programs for known malware signatures, monitoring system behavior for suspicious activity, and providing real-time protection against potential threats. Regular updates are essential for antivirus software to recognize and defend against the latest threats. While it is a critical component of cybersecurity, antivirus solutions are often part of a broader security strategy that includes firewalls, anti-malware tools, and user education to protect against a wide range of cyber threats.\n\nLearn more from the following resources:",
"links": [
{
- "title": "What is antivirus software?",
+ "title": "What is Antivirus Software?",
"url": "https://www.webroot.com/gb/en/resources/tips-articles/what-is-anti-virus-software",
"type": "article"
},
{
- "title": "What is an antivirus and how does it keep us safe?",
+ "title": "What is an Antivirus and how does it keep us safe?",
"url": "https://www.youtube.com/watch?v=jW626WMWNAE",
"type": "video"
}
@@ -3321,7 +3474,12 @@
"description": "Anti-malware is a type of software designed to detect, prevent, and remove malicious software, such as viruses, worms, trojans, ransomware, and spyware, from computer systems. By continuously scanning files, applications, and incoming data, anti-malware solutions protect devices from a wide range of threats that can compromise system integrity, steal sensitive information, or disrupt operations. Advanced anti-malware programs utilize real-time monitoring, heuristic analysis, and behavioral detection techniques to identify and neutralize both known and emerging threats, ensuring that systems remain secure against evolving cyber attacks.\n\nLearn more from the following resources:",
"links": [
{
- "title": "What is antimalware?",
+ "title": "Anti-malware Definition",
+ "url": "https://www.computertechreviews.com/definition/anti-malware/",
+ "type": "article"
+ },
+ {
+ "title": "What is Antimalware?",
"url": "https://riskxchange.co/1006974/cybersecurity-what-is-anti-malware/",
"type": "article"
},
@@ -3353,13 +3511,13 @@
"description": "Data Loss Prevention (DLP) refers to a set of strategies, tools, and processes used by organizations to ensure that sensitive data is not lost, accessed, or misused by unauthorized users. DLP solutions monitor, detect, and block the movement of critical information outside an organization’s network, helping to prevent data breaches, leaks, and other security incidents.\n\nVisit the following resources to learn more:",
"links": [
{
- "title": "What is data loss prevention (DLP)?",
- "url": "https://www.techtarget.com/whatis/definition/data-loss-prevention-DLP",
+ "title": "What is DLP (data loss prevention)?",
+ "url": "https://www.cloudflare.com/es-es/learning/access-management/what-is-dlp/",
"type": "article"
},
{
- "title": "What is DLP (data loss prevention)?",
- "url": "https://www.cloudflare.com/es-es/learning/access-management/what-is-dlp/",
+ "title": "What is Data Loss Prevention (DLP)?",
+ "url": "https://www.techtarget.com/whatis/definition/data-loss-prevention-DLP",
"type": "article"
}
]
@@ -3385,7 +3543,7 @@
"description": "Firewalls are network security devices that monitor and control incoming and outgoing traffic based on predetermined security rules. Traditional firewalls operate at the network layer, filtering traffic based on IP addresses, ports, and protocols. They provide basic protection by creating a barrier between trusted internal networks and untrusted external networks.\n\nNext-generation firewalls (NGFWs) build upon this foundation, offering more advanced features to address modern cyber threats. NGFWs incorporate deep packet inspection, application-level filtering, and integrated intrusion prevention systems. They can identify and control applications regardless of port or protocol, enabling more granular security policies. NGFWs often include additional security functions such as SSL/TLS inspection, antivirus scanning, and threat intelligence integration. This evolution allows for more comprehensive network protection, better visibility into network traffic, and improved defense against sophisticated attacks in today's complex and dynamic threat landscape.\n\nLearn more from the following resources:",
"links": [
{
- "title": "What is a firewall?",
+ "title": "What is a Firewall?",
"url": "https://www.kaspersky.com/resource-center/definitions/firewall",
"type": "article"
},
@@ -3534,12 +3692,12 @@
"description": "The **Preparation** phase in incident response involves establishing and maintaining the tools, policies, and procedures necessary to handle security incidents effectively. This includes creating an incident response plan, defining roles and responsibilities, training staff, and ensuring that appropriate technologies, such as monitoring systems and logging tools, are in place to detect and respond to incidents. Preparation also involves conducting regular drills, threat intelligence gathering, and vulnerability assessments to enhance readiness, ensuring the organization is equipped to mitigate potential security threats quickly and efficiently.\n\nLearn more from the following resources:",
"links": [
{
- "title": "",
+ "title": "What is Incident Response",
"url": "https://www.microsoft.com/en-gb/security/business/security-101/what-is-incident-response",
"type": "article"
},
{
- "title": "",
+ "title": "Cyber Security Incident Response Explained",
"url": "https://www.youtube.com/watch?v=ePZGqlcB1O8",
"type": "video"
}
@@ -3566,7 +3724,7 @@
"description": "Containment in cybersecurity refers to the process of limiting the impact of a security incident by isolating affected systems, networks, or data to prevent further spread or damage. When a breach or malware infection is detected, containment strategies are quickly implemented to halt the attack's progress, often by disconnecting compromised systems from the network, blocking malicious traffic, or restricting user access. Containment is a critical step in incident response, allowing security teams to control the situation while they investigate the root cause, assess the extent of the breach, and prepare for remediation. Effective containment minimizes the potential harm to the organization, preserving the integrity of unaffected systems and data.\n\nLearn more from the following resources:",
"links": [
{
- "title": "Microsoft security incident management: Containment, eradication, and recovery",
+ "title": "Microsoft Security Incident Management: Containment, Eradication, and Recovery",
"url": "https://learn.microsoft.com/en-us/compliance/assurance/assurance-sim-containment-eradication-recovery",
"type": "article"
},
@@ -3667,13 +3825,13 @@
"description": "VirusTotal's main feature is multi-scanning using over 70 antivirus scanners to generate a cumulative report on whether a file is malicious. It also stores file hashes, eliminating the need to rescan previously uploaded files. Researchers can comment in the community, sharing their analysis and insights into malware for others to benefit from. VirusTotal's aggregated data comes from various antivirus engines, website scanners, file and URL analysis tools, and user contributions. These tools serve diverse purposes, including heuristic engines, known-bad signatures, metadata extraction, and identification of malicious signals. Additionally, VirusTotal offers services to search by file hash, IP address, and URL, which are also scanned. For more comprehensive features, VirusTotal provides Premium services such as Intelligence & Hunting.\n\nVisit the following resources to learn more:",
"links": [
{
- "title": "VirusTotal's Docs on how VirusTotal Works",
- "url": "https://docs.virustotal.com/docs/how-it-works",
+ "title": "VirusTotal",
+ "url": "https://www.virustotal.com",
"type": "article"
},
{
- "title": "VirusTotal's website",
- "url": "https://www.virustotal.com",
+ "title": "How VirusTotal Works",
+ "url": "https://docs.virustotal.com/docs/how-it-works",
"type": "article"
},
{
@@ -3709,7 +3867,7 @@
"description": "ANY.RUN is an interactive online malware analysis platform that allows users to safely execute and analyze suspicious files and URLs in a controlled, virtualized environment. This sandbox service provides real-time insights into the behavior of potentially malicious software, such as how it interacts with the system, what files it modifies, and what network connections it attempts to make. Users can observe and control the analysis process, making it a valuable tool for cybersecurity professionals to identify and understand new threats, assess their impact, and develop appropriate countermeasures. ANY.RUN is particularly useful for dynamic analysis, enabling a deeper understanding of malware behavior in real-time.\n\nLearn more from the following resources:",
"links": [
{
- "title": "ANY.RUN Website",
+ "title": "Any.run",
"url": "https://any.run/",
"type": "article"
},
@@ -3863,7 +4021,7 @@
"description": "In a Shoulder Surfing Attack, an attacker tries to get information when you are unaware of where the attacker looks over your shoulder or from your back to see what you're doing on your device and obtain sensitive information. Shoulder Surfing attacks are accomplished by observing the content \"over the victim's shoulder\". It is a social engineering attack where the attackers physically view the device screen and keypad to obtain personal information. This attack is mostly done when you are in a public place or crowded area. Sometimes attackers attack when you are busy on your device and the attacker could be your friend, someone you know or it may be some stranger.\n\nVisit the following resources to learn more:",
"links": [
{
- "title": "What is shoulder surfing, and how can you avoid it?",
+ "title": "What is Shoulder Surfing, and How can you avoid it?",
"url": "https://nordvpn.com/blog/shoulder-surfing/?srsltid=AfmBOorl5NPpW_Tnhas9gB2HiblorqwXyK0NJae7uaketrnDwbjJmiYV",
"type": "article"
},
@@ -3883,13 +4041,18 @@
"title": "Dumpster Diving",
"description": "Dumpster Diving in the context of cybersecurity refers to the practice of searching through discarded materials in trash or recycling bins to find confidential information. This technique may seem unsophisticated, but it can be extremely effective in obtaining valuable data such as passwords, account information, network diagrams, or any other sensitive information that has not been properly destroyed.\n\nVisit the following resources to learn more:",
"links": [
+ {
+ "title": "Dumpster Diving",
+ "url": "https://www.techtarget.com/searchsecurity/definition/dumpster-diving",
+ "type": "article"
+ },
{
"title": "What is Dumpster Diving",
"url": "https://powerdmarc.com/dumpster-diving-in-cybersecurity/",
"type": "article"
},
{
- "title": "Dumpster diving for sensitive information",
+ "title": "Dumpster Diving for Sensitive Information",
"url": "https://www.youtube.com/watch?v=Pom86gq4mk4",
"type": "video"
}
@@ -3945,12 +4108,17 @@
},
"UU_inxa8Y2lLP2BRhdLDT": {
"title": "Reconnaissance",
- "description": "Reconnaissance is the first phase of a cyberattack, during which attackers gather as much information as possible about a target system, network, or organization. The goal of reconnaissance is to identify potential vulnerabilities, entry points, and other valuable details that can be exploited in subsequent attack phases.\n\nVisit the following resources to learn more:",
+ "description": "Reconnaissance is the first phase of a cyber-attack, during which attackers gather as much information as possible about a target system, network, or organization. The goal of reconnaissance is to identify potential vulnerabilities, entry points, and other valuable details that can be exploited in subsequent attack phases.\n\nVisit the following resources to learn more:",
"links": [
{
"title": "What is Cyber Reconnaissance",
"url": "https://www.sentinelone.com/cybersecurity-101/threat-intelligence/what-is-cyber-reconnaissance/",
"type": "article"
+ },
+ {
+ "title": "What is Cybersecurity Reconnaissance?",
+ "url": "https://cymulate.com/cybersecurity-glossary/cyber-reconnaissance/",
+ "type": "article"
}
]
},
@@ -3970,7 +4138,7 @@
"description": "Watering Hole Attack is a type of cyberattack where the attacker targets a specific group of users by compromising a website or online resource that they are known to frequently visit. The name \"watering hole\" comes from the idea of predators waiting by a water source to attack prey, similar to how attackers wait for their targets to visit a compromised site.\n\nVisit the following resources to learn more:",
"links": [
{
- "title": "What is a watering hole attack?",
+ "title": "What is a Watering Hole Attack?",
"url": "https://www.techtarget.com/searchsecurity/definition/watering-hole-attack",
"type": "article"
},
@@ -4055,7 +4223,7 @@
"description": "A Man-in-the-Middle (MITM) attack occurs when a malicious actor intercepts communication between two parties, such as a user and a website, without their knowledge. The attacker can eavesdrop, alter, or inject false information into the communication, often to steal sensitive data like login credentials or manipulate transactions. MITM attacks are commonly executed through compromised Wi-Fi networks or by exploiting security vulnerabilities in protocols.\n\nVisit the following resources to learn more:",
"links": [
{
- "title": "Wikipedia - Man-in-the-middle attack",
+ "title": "Man-in-the-middle attack",
"url": "https://en.wikipedia.org/wiki/Man-in-the-middle_attack",
"type": "article"
}
@@ -4096,7 +4264,23 @@
"urtsyYWViEzbqYLoNfQAh": {
"title": "DNS Poisoning",
"description": "DNS spoofing or DNS cache poisoning, occurs when fake information is inserted into a DNS server’s cache.This causes DNS queries to return incorrect IP addresses, directing users to the wrong websites. Hackers exploit this to reroute traffic to malicious sites. The issue persists until the cached information is corrected.When the cache is poisoned, it misdirects traffic until the incorrect information is fixed. This technique exploits vulnerabilities in the DNS system and can spread to other servers, causing widespread issues.\n\nVisit the following resources to learn more:",
- "links": []
+ "links": [
+ {
+ "title": "What is DNS Cache Poisoning? | DNS spoofing",
+ "url": "https://www.cloudflare.com/learning/dns/dns-cache-poisoning/",
+ "type": "article"
+ },
+ {
+ "title": "What Is DNS Poisoning?",
+ "url": "https://www.fortinet.com/resources/cyberglossary/dns-poisoning",
+ "type": "article"
+ },
+ {
+ "title": "DNS Poisoning (DNS Spoofing): Definition, Technique & Defense",
+ "url": "https://www.okta.com/identity-101/dns-poisoning/",
+ "type": "article"
+ }
+ ]
},
"LfWJJaT3fv0p6fUeS8b84": {
"title": "Deauth Attack",
@@ -4135,9 +4319,14 @@
"description": "A Rogue Access Point (Rogue AP) is an unauthorized wireless access point installed on a secure network without the network administrator's knowledge or consent. These devices can be set up by malicious actors to intercept, steal, or manipulate network traffic, or by employees who unintentionally compromise network security by setting up their own wireless access points.\n\nVisit the following resources to learn more:",
"links": [
{
- "title": "Rogue access points",
+ "title": "Rogue Access Points",
"url": "https://www.khanacademy.org/computing/computers-and-internet/xcae6f4a7ff015e7d:online-data-security/xcae6f4a7ff015e7d:cyber-attacks/a/rogue-access-points-mitm-attacks",
"type": "article"
+ },
+ {
+ "title": "What is Rogue Access Point",
+ "url": "https://pentescope.com/rogue-access-point-detection-and-prevention/",
+ "type": "article"
}
]
},
@@ -4164,7 +4353,7 @@
},
"nOND14t7ISgSH3zNpV3F8": {
"title": "Memory Leak",
- "description": "A Memory Leak occurs when a computer program consumes memory but fails to release it back to the operating system after it is no longer needed. Over time, this can lead to reduced system performance, increased memory usage, and, in severe cases, the program or system may crash due to the exhaustion of available memory.",
+ "description": "A Memory Leak occurs when a computer program consumes memory but fails to release it back to the operating system after it is no longer needed. Over time, this can lead to reduced system performance, increased memory usage, and, in severe cases, the program or system may crash due to the exhaustion of available memory.\n\nLearn more from the following resources:",
"links": [
{
"title": "What are memory leaks?",
@@ -4331,7 +4520,7 @@
"description": "A legal department within an organization is responsible for handling all legal matters that affect the business, ensuring compliance with laws and regulations, and providing advice on various legal issues. Its primary functions include managing contracts, intellectual property, employment law, and regulatory compliance, as well as addressing disputes, litigation, and risk management. The legal department also plays a crucial role in corporate governance, ensuring that the company operates within the boundaries of the law while minimizing legal risks. In some cases, they work with external legal counsel for specialized legal matters, such as mergers and acquisitions or complex litigation.\n\nLearn more from the following resources:",
"links": [
{
- "title": "Key functions of a legal team",
+ "title": "Key Functions of a Legal Team",
"url": "https://uk.practicallaw.thomsonreuters.com/w-009-3932?transitionType=Default&contextData=(sc.Default)&firstPage=true",
"type": "article"
},
@@ -4384,7 +4573,7 @@
"type": "article"
},
{
- "title": "What cloud skills are essential?",
+ "title": "What Cloud Skills are Essential?",
"url": "https://www.youtube.com/watch?v=udKBDRcj178",
"type": "video"
}
@@ -4395,7 +4584,12 @@
"description": "Cloud security encompasses the measures, controls, policies, and technologies implemented to protect data, applications, and infrastructure associated with cloud computing environments. It involves securing data both in transit and at rest, managing access controls, ensuring compliance with regulations, and protecting against threats like data breaches, account hijacking, and DDoS attacks. Cloud security strategies often include encryption, multi-factor authentication, regular security audits, and shared responsibility models between cloud providers and customers. While cloud platforms offer advanced security features, organizations must also adapt their security practices to address the unique challenges of cloud environments, such as data sovereignty issues, shared infrastructure risks, and the need for continuous monitoring across distributed systems.\n\nLearn more from the following resources:",
"links": [
{
- "title": "What is cloud security",
+ "title": "What Is Cloud Security? - Google Cloud",
+ "url": "https://cloud.google.com/learn/what-is-cloud-security",
+ "type": "article"
+ },
+ {
+ "title": "Cloud Security",
"url": "https://www.checkpoint.com/cyber-hub/cloud-security/what-is-cloud-security/",
"type": "article"
},
@@ -4411,7 +4605,7 @@
"description": "Deploying to the cloud involves the process of making applications, services, or infrastructure available in cloud computing environments. It typically includes selecting a cloud provider (e.g., AWS, Azure, Google Cloud), configuring necessary resources (compute, storage, networking), and using deployment tools to push code or infrastructure definitions. Modern cloud deployments often leverage containerization, orchestration platforms like Kubernetes, and CI/CD pipelines for automated, consistent releases. Key considerations include scalability, security, cost optimization, and maintaining high availability. Cloud-native approaches, such as microservices architecture and serverless computing, are frequently employed to maximize cloud benefits. Effective cloud deployment strategies balance performance, reliability, and cost-efficiency while ensuring compliance with relevant regulations and organizational policies.\n\nLearn more from the following resources:",
"links": [
{
- "title": "What is cloud deployment?",
+ "title": "What is Cloud Deployment?",
"url": "https://www.cognizant.com/us/en/glossary/cloud-deployment",
"type": "article"
},
@@ -4443,9 +4637,24 @@
"description": "Infrastructure as Code (IaC) is a practice of managing and provisioning computing infrastructure through machine-readable definition files, rather than physical hardware configuration or interactive configuration tools. It treats infrastructure configuration as software, allowing it to be version-controlled, tested, and automatically deployed. IaC enables consistent, repeatable environment setups, reduces manual errors, facilitates rapid scaling and disaster recovery, and improves collaboration between development and operations teams. Popular IaC tools include Terraform, AWS CloudFormation, and Ansible, which use declarative or imperative approaches to define infrastructure states. This approach is fundamental to DevOps practices, cloud computing, and the efficient management of complex, dynamic IT environments.\n\nLearn more from the following resources:",
"links": [
{
- "title": "Terraform Roadmap",
+ "title": "Visit Dedicated Terraform Roadmap",
"url": "https://roadmap.sh/terraform",
"type": "article"
+ },
+ {
+ "title": "Visit Dedicated AWS Roadmap",
+ "url": "https://roadmap.sh/aws",
+ "type": "article"
+ },
+ {
+ "title": "What is Infrastructure as Code? - IaC Explained - AWS",
+ "url": "https://aws.amazon.com/what-is/iac/",
+ "type": "article"
+ },
+ {
+ "title": "What is infrastructure as code (IaC)? - Azure DevOps",
+ "url": "https://learn.microsoft.com/en-us/devops/deliver/what-is-infrastructure-as-code",
+ "type": "article"
}
]
},
@@ -4454,7 +4663,7 @@
"description": "Serverless computing is a cloud execution model where the cloud provider dynamically manages server allocation, allowing developers to focus solely on writing code. It offers automatic scaling, pay-per-use billing based on actual compute time, and typically operates through event-driven, stateless functions designed for quick execution. Popular platforms include AWS Lambda, Azure Functions, and Google Cloud Functions. While serverless computing provides reduced operational complexity and cost efficiency, particularly for microservices and event-driven applications, it may face challenges with long-running tasks, cold starts, and potential vendor lock-in. Despite its name, servers are still involved, but their management is abstracted away from the developer, simplifying the deployment and scaling of applications.\n\nLearn more from the following resources:",
"links": [
{
- "title": "What is serverless computing?",
+ "title": "What is Serverless Computing?",
"url": "https://www.cloudflare.com/en-gb/learning/serverless/what-is-serverless/",
"type": "article"
},
@@ -4470,7 +4679,7 @@
"description": "Software as a Service (SaaS) is a cloud-based model where software applications are delivered to users over the internet, eliminating the need for local installation or maintenance. SaaS providers manage infrastructure, security, and updates, allowing users to access the software on a subscription basis from any device with an internet connection. This model offers scalability, reduced upfront costs, and easy integration with other cloud services, making it a popular choice for businesses looking for flexibility and efficiency in software deployment.\n\nLearn more from the following resources:",
"links": [
{
- "title": "iWhat is SaaS? Microsoft",
+ "title": "Software as a Service?",
"url": "https://azure.microsoft.com/en-us/resources/cloud-computing-dictionary/what-is-saas",
"type": "article"
},
@@ -4518,12 +4727,12 @@
"description": "A **private cloud** is a cloud computing environment dedicated to a single organization, offering the same benefits as public clouds, such as scalability and self-service, but with greater control and customization. It is hosted either on-premises or by a third-party provider, and it ensures that the organization's data and applications are isolated from other entities. This setup enhances security and compliance, making it ideal for businesses with specific regulatory requirements or high-security needs.\n\nLearn more from the following resources:",
"links": [
{
- "title": "What is a private cloud?",
+ "title": "What is a Private Cloud?",
"url": "https://aws.amazon.com/what-is/private-cloud/",
"type": "article"
},
{
- "title": "Private cloud rules",
+ "title": "Private Cloud Rules",
"url": "https://www.youtube.com/watch?v=Tzqy8lW0bk4",
"type": "video"
}
@@ -4534,12 +4743,12 @@
"description": "A **public cloud** is a computing service offered by third-party providers over the internet, where resources such as servers, storage, and applications are shared among multiple users or organizations. It is typically managed by the cloud service provider and offers scalability, cost-effectiveness, and ease of access, with users paying only for the resources they consume. Public clouds are ideal for businesses and individuals who need flexible, on-demand computing resources without the overhead of managing physical infrastructure. Popular examples include Amazon Web Services (AWS), Microsoft Azure, and Google Cloud Platform (GCP).\n\nLearn more from the following resources:",
"links": [
{
- "title": "What is a public cloud? Microsoft",
+ "title": "A Public Cloud?",
"url": "https://azure.microsoft.com/en-gb/resources/cloud-computing-dictionary/what-is-a-public-cloud",
"type": "article"
},
{
- "title": "What is a public cloud?",
+ "title": "What is a Public Cloud",
"url": "https://www.youtube.com/watch?v=KaCyfQ7luVY",
"type": "video"
}
@@ -4571,12 +4780,12 @@
"type": "course"
},
{
- "title": "AWS Roadmap",
+ "title": "Visit Dedicated AWS Roadmap",
"url": "https://roadmap.sh/aws",
"type": "article"
},
{
- "title": "AWS Website",
+ "title": "AWS",
"url": "https://aws.amazon.com",
"type": "article"
},
@@ -4596,15 +4805,20 @@
"title": "GCP",
"description": "Google Cloud Platform (GCP) is a collection of cloud computing services offered by Google, which provides infrastructure and platform services to businesses or individuals. It enables users to either build their own applications or services on the provided resources, or utilize ready-to-use services provided by Google. GCP covers a wide range of services, including (but not limited to) compute, storage, databases, networking, and many more.\n\nLearn more from the following resources:",
"links": [
- {
- "title": "Google Cloud Platform Video Course",
- "url": "https://www.youtube.com/watch?v=fZOz13joN0o",
- "type": "course"
- },
{
"title": "Google Cloud Platform",
"url": "https://cloud.google.com",
"type": "article"
+ },
+ {
+ "title": "Cloud Computing, Hosting Services, and APIs",
+ "url": "https://cloud.google.com/gcp",
+ "type": "article"
+ },
+ {
+ "title": "Google Cloud Platform Video Course",
+ "url": "https://www.youtube.com/watch?v=fZOz13joN0o",
+ "type": "video"
}
]
},
@@ -4613,7 +4827,7 @@
"description": "Azure is Microsoft's comprehensive cloud computing platform that offers a wide range of services for building, deploying, and managing applications. It provides infrastructure as a service (IaaS), platform as a service (PaaS), and software as a service (SaaS) solutions, supporting various programming languages, tools, and frameworks. Azure's services include virtual machines, storage, databases, AI and machine learning, IoT, and more. It offers global data center coverage, integrated DevOps tools, and robust security features, making it a versatile platform for businesses of all sizes to innovate, scale, and transform their operations in the cloud.\n\nLearn more from the following resources:",
"links": [
{
- "title": "Azure Website",
+ "title": "Azure",
"url": "https://azure.microsoft.com",
"type": "article"
},
@@ -4634,8 +4848,13 @@
"description": "Amazon Simple Storage Service (S3) is a scalable, object-based cloud storage service provided by AWS. It allows users to store and retrieve large amounts of data, such as files, backups, or media content, with high durability and availability. S3 is designed for flexibility, enabling users to access data from anywhere via the internet while offering security features like encryption and access controls. It is widely used for data storage, content distribution, disaster recovery, and big data analytics, providing cost-effective, scalable storage for a variety of applications.\n\nLearn more from the following resources:",
"links": [
{
- "title": "AWS S3 Website",
- "url": "https://aws.amazon.com/pm/serv-s3/?gclid=Cj0KCQjwrp-3BhDgARIsAEWJ6SyhAtgc3NJbsxaAXVbWEOW5gG-XFH51jIc8SxahYSxNJ501l9soUA0aAnEjEALw_wcB&trk=777b3ec4-de01-41fb-aa63-cde3d034a89e&sc_channel=ps&ef_id=Cj0KCQjwrp-3BhDgARIsAEWJ6SyhAtgc3NJbsxaAXVbWEOW5gG-XFH51jIc8SxahYSxNJ501l9soUA0aAnEjEALw_wcB:G:s&s_kwcid=AL!4422!3!638364429346!e!!g!!aws%20s3!19096959014!142655567183",
+ "title": "Amazon Web Services S3",
+ "url": "https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html",
+ "type": "article"
+ },
+ {
+ "title": "Amazon Simple Storage Service Documentation",
+ "url": "https://docs.aws.amazon.com/s3/",
"type": "article"
},
{
@@ -4650,9 +4869,19 @@
"description": "Dropbox is a widely used cloud storage service that allows you to store, access, and share files, documents, and media with ease across various devices. Launched in 2007, Dropbox has become one of the most popular cloud storage solutions, catering to both individual users and businesses. The service is available on multiple platforms, including Windows, macOS, Linux, iOS, and Android.\n\nLearn more from the following resources:",
"links": [
{
- "title": "Dropbox Website",
+ "title": "Dropbox",
"url": "https://dropbox.com",
"type": "article"
+ },
+ {
+ "title": "How to Use Dropbox - a guide to your account",
+ "url": "https://learn.dropbox.com/self-guided-learning/dropbox-fundamentals-course/how-to-use-dropbox",
+ "type": "article"
+ },
+ {
+ "title": "Dropbox Tutorial for Beginners",
+ "url": "https://www.youtube.com/watch?v=b0Nk9muiUcQ",
+ "type": "video"
}
]
},
@@ -4677,7 +4906,7 @@
"description": "**OneDrive** is a cloud storage service provided by Microsoft that allows users to store, sync, and share files and folders online. It integrates seamlessly with Windows and Microsoft 365 applications, enabling users to access their data from any device with an internet connection. OneDrive offers features such as real-time collaboration, file versioning, and automatic backup, making it convenient for personal and professional use. It also provides options for sharing files with others and controlling access permissions, enhancing productivity and data management.\n\nLearn more from the following resources:",
"links": [
{
- "title": "OneDrive Website",
+ "title": "Microsoft OneDrive",
"url": "https://onedrive.live.com",
"type": "article"
},
@@ -4693,7 +4922,7 @@
"description": "Google Drive is a cloud-based storage solution provided by Google, which offers users the ability to store, share, and collaborate on files and documents across different platforms and devices. It is integrated with Google's productivity suite, including Google Docs, Sheets, Slides, and Forms, allowing seamless collaboration with team members in real-time.\n\nLearn more from the following resources:",
"links": [
{
- "title": "Google Drive Website",
+ "title": "Google Drive",
"url": "https://drive.google.com",
"type": "article"
}
@@ -4712,8 +4941,39 @@
},
"_RnuQ7952N8GWZfPD60sJ": {
"title": "Programming Skills",
- "description": "Programming knowledge is a fundamental skill for professionals in the cybersecurity field, as it enables them to build, assess, and defend computer systems, networks, and applications. Having a strong foundation in programming languages, concepts, and techniques is essential for identifying potential security threats, writing secure code, and implementing robust security measures.\n\n* **Python**: As an easy-to-learn high-level language, Python is commonly used for tasks like automation, scripting, and data analysis. It also contains a plethora of libraries and frameworks for cybersecurity, making it highly valuable for security professionals.\n* **C/C++**: These two languages are foundational for understanding system and application-level vulnerabilities since most operating systems are written in C and C++. Knowledge of these languages allows cybersecurity experts to analyze source code, identify potential exploits, and create secure software.\n* **Java**: As a popular and versatile programming language, Java is often used in web applications and enterprise environments. Java knowledge equips cybersecurity professionals to understand and mitigate potential security flaws in Java-based applications.\n* **JavaScript**: With its ubiquity in modern web browsers, JavaScript is crucial for understanding and protecting against web security vulnerabilities, such as Cross-Site Scripting (XSS) and Cross-Site Request Forgery (CSRF) attacks.\n* **Ruby**: Ruby has a strong foothold in web application development and is utilized for scripting and automation, just like Python. Familiarity with Ruby may give cybersecurity professionals an edge in certain environments.\n\nAcquiring programming knowledge in cybersecurity can help you stay on top of the latest threats, develop secure software, and implement effective countermeasures. As you progress in your cybersecurity career, you'll find that your programming skills will continually evolve and your understanding of various languages, concepts, and techniques will expand.",
- "links": []
+ "description": "Programming knowledge is a fundamental skill for professionals in the cybersecurity field, as it enables them to build, assess, and defend computer systems, networks, and applications. Having a strong foundation in programming languages, concepts, and techniques is essential for identifying potential security threats, writing secure code, and implementing robust security measures.\n\n* **Python**: As an easy-to-learn high-level language, Python is commonly used for tasks like automation, scripting, and data analysis. It also contains a plethora of libraries and frameworks for cybersecurity, making it highly valuable for security professionals.\n* **C/C++**: These two languages are foundational for understanding system and application-level vulnerabilities since most operating systems are written in C and C++. Knowledge of these languages allows cybersecurity experts to analyze source code, identify potential exploits, and create secure software.\n* **Java**: As a popular and versatile programming language, Java is often used in web applications and enterprise environments. Java knowledge equips cybersecurity professionals to understand and mitigate potential security flaws in Java-based applications.\n* **JavaScript**: With its ubiquity in modern web browsers, JavaScript is crucial for understanding and protecting against web security vulnerabilities, such as Cross-Site Scripting (XSS) and Cross-Site Request Forgery (CSRF) attacks.\n* **Ruby**: Ruby has a strong foothold in web application development and is utilized for scripting and automation, just like Python. Familiarity with Ruby may give cybersecurity professionals an edge in certain environments.\n\nVisit the following resources to learn more:",
+ "links": [
+ {
+ "title": "Visit Linux Roadmap",
+ "url": "https://roadmap.sh/linux",
+ "type": "article"
+ },
+ {
+ "title": "Visit Python Roadmap",
+ "url": "https://roadmap.sh/python",
+ "type": "article"
+ },
+ {
+ "title": "Visit C++ Roadmap",
+ "url": "https://roadmap.sh/cpp",
+ "type": "article"
+ },
+ {
+ "title": "Visit Java Roadmap",
+ "url": "https://roadmap.sh/java",
+ "type": "article"
+ },
+ {
+ "title": "Visit JavaScript Roadmap",
+ "url": "https://roadmap.sh/javascript",
+ "type": "article"
+ },
+ {
+ "title": "Visit Typescript Roadmap",
+ "url": "https://roadmap.sh/typescript",
+ "type": "article"
+ }
+ ]
},
"XiHvGy--OkPFfJeKA6-LP": {
"title": "Python",
@@ -4725,7 +4985,7 @@
"type": "course"
},
{
- "title": "Python Roadmap",
+ "title": "Visit Dedicated Python Roadmap",
"url": "https://roadmap.sh/python",
"type": "article"
},
@@ -4741,12 +5001,7 @@
"description": "Go, also known as Golang, is an open-source programming language created by Google. Launched in 2009, it was designed to overcome issues present in other languages and offer a more secure, robust, and efficient development experience.\n\nLearn more from the following resources:",
"links": [
{
- "title": "Go tutorial for beginners",
- "url": "https://www.youtube.com/watch?v=yyUHQIec83I",
- "type": "course"
- },
- {
- "title": "Go Roadmap",
+ "title": "Visit Dedicated Go Roadmap",
"url": "https://roadmap.sh/golang",
"type": "article"
},
@@ -4754,6 +5009,11 @@
"title": "Go in 100 seconds",
"url": "https://www.youtube.com/watch?v=446E-r0rXHI",
"type": "video"
+ },
+ {
+ "title": "Go Tutorial for beginners",
+ "url": "https://www.youtube.com/watch?v=yyUHQIec83I",
+ "type": "video"
}
]
},
@@ -4783,14 +5043,19 @@
"description": "C++ is a widely-used, high-level programming language that evolved from the earlier C programming language. Developed by Bjarne Stroustrup in 1985 at Bell Labs, C++ provides object-oriented features and low-level memory manipulation, making it an essential language for many fields, including game development, high-performance systems, and cybersecurity.\n\nLearn more form the following resources:",
"links": [
{
- "title": "C++ Full Course - BroCode",
- "url": "https://www.youtube.com/watch?v=-TkoO8Z07hI",
- "type": "course"
+ "title": "Visit Dedicated C++ Roadmap",
+ "url": "https://roadmap.sh/cpp",
+ "type": "article"
},
{
"title": "C++ Introduction",
"url": "https://www.w3schools.com/cpp/cpp_intro.asp",
"type": "article"
+ },
+ {
+ "title": "C++ Full Course - BroCode",
+ "url": "https://www.youtube.com/watch?v=-TkoO8Z07hI",
+ "type": "video"
}
]
},
@@ -4835,7 +5100,7 @@
"type": "article"
},
{
- "title": "Microsoft's Official PowerShell Documentation",
+ "title": "Microsoft's PowerShell Documentation",
"url": "https://docs.microsoft.com/en-us/powershell/",
"type": "article"
},
diff --git a/public/roadmap-content/react.json b/public/roadmap-content/react.json
index 6e7fb25d8..d187c636b 100644
--- a/public/roadmap-content/react.json
+++ b/public/roadmap-content/react.json
@@ -674,41 +674,6 @@
"title": "React Router — Official Website",
"url": "https://reactrouter.com/",
"type": "article"
- },
- {
- "title": "Getting Started Guide",
- "url": "https://reactrouter.com/en/main/start/tutorial",
- "type": "article"
- },
- {
- "title": "How to use React Router v6",
- "url": "https://www.robinwieruch.de/react-router/",
- "type": "article"
- },
- {
- "title": "React Router Cheat Sheet",
- "url": "https://devhints.io/react-router/",
- "type": "article"
- },
- {
- "title": "Explore top posts about React",
- "url": "https://app.daily.dev/tags/react?ref=roadmapsh",
- "type": "article"
- },
- {
- "title": "Tanstack/Router — Official Website",
- "url": "https://tanstack.com/router/latest/docs/framework/react/overview",
- "type": "article"
- },
- {
- "title": "React Router v6 in 1 hour",
- "url": "https://youtu.be/0cSVuySEB0A",
- "type": "video"
- },
- {
- "title": "TanStack/Router - Complete Course",
- "url": "https://www.youtube.com/watch?v=4sslBg8LprE&list=PLOQjd5dsGSxJilh0lBofeY8Qib98kzmF5",
- "type": "video"
}
]
},
diff --git a/public/roadmaps/ai-agents.png b/public/roadmaps/ai-agents.png
new file mode 100644
index 000000000..5ce6dba83
Binary files /dev/null and b/public/roadmaps/ai-agents.png differ
diff --git a/readme.md b/readme.md
index 279027115..ea7e3a647 100644
--- a/readme.md
+++ b/readme.md
@@ -87,6 +87,8 @@ Here is the list of available roadmaps with more being actively worked upon.
- [Prompt Engineering Roadmap](https://roadmap.sh/prompt-engineering)
- [Technical Writer Roadmap](https://roadmap.sh/technical-writer)
- [DevRel Engineer Roadmap](https://roadmap.sh/devrel)
+- [AI Red Teaming Roadmap](https://roadmap.sh/ai-red-teaming)
+- [AI Agents Roadmap](https://roadmap.sh/ai-agents)
There are also interactive best practices:
diff --git a/scripts/roadmap-tree-content.js b/scripts/roadmap-tree-content.js
index c4dfb6330..087210257 100644
--- a/scripts/roadmap-tree-content.js
+++ b/scripts/roadmap-tree-content.js
@@ -13,494 +13,394 @@ const __dirname = dirname(__filename);
* @property {string} text - The text content of the node
*/
-const roadmapId = 'php';
+const roadmapId = 'ai-agents';
/** @type {Node[]} */
const nodes = [
{
- "id": "_hYN0gEi9BL24nptEtXWU",
- "text": "PHP > Introduction to PHP"
+ id: 'ZF5_5Y5zqa75Ov22JACX6',
+ text: 'AI Agents > Transformer Models and LLMs',
},
{
- "id": "_LhLDVZjLt1DoAP1NuUES",
- "text": "PHP > Introduction to PHP > What is PHP?"
+ id: 'GAjuWyJl9CI1nqXBp6XCf',
+ text: 'AI Agents > LLM Fundamentals > Model Mechanis > Tokenization',
},
{
- "id": "b2CuLrhsUNnb4OxI6RRAS",
- "text": "PHP > Introduction to PHP > Evolution and History"
+ id: 'dyn1LSioema-Bf9lLTgUZ',
+ text: 'AI Agents > LLM Fundamentals > Model Mechanis > Context Windows',
},
{
- "id": "6sHRQTcoKL3TlgNJlwyx8",
- "text": "PHP > Introduction to PHP > PHP Versions and Features"
+ id: '1fiWPBV99E2YncqdCgUw2',
+ text: 'AI Agents > LLM Fundamentals > Model Mechanis > Token Based Pricing',
},
{
- "id": "3_TuxOSzBuktBlBF05r_z",
- "text": "PHP > Installing PHP"
+ id: 'L1zL1GzqjSAjF06pIIXhy',
+ text: 'AI Agents > LLM Fundamentals > Generation Controls > Temperature',
},
{
- "id": "36Y1HkHxhuxh2qVQB8NVE",
- "text": "PHP > WAMP"
+ id: 'icbp1NjurQfdM0dHnz6v2',
+ text: 'AI Agents > LLM Fundamentals > Generation Controls > Top-p',
},
{
- "id": "-wniKEBwbF0Fi1fHpF-Gc",
- "text": "PHP > XAMPP"
+ id: 'z_N-Y0zGkv8_qHPuVtimL',
+ text: 'AI Agents > LLM Fundamentals > Generation Controls > Frequency Penalty',
},
{
- "id": "t7p7TU2khaxsZPYAdwFAA",
- "text": "PHP > MAMP"
+ id: 'Vd8ycw8pW-ZKvg5WYFtoh',
+ text: 'AI Agents > LLM Fundamentals > Generation Controls > Presence Penalty',
},
{
- "id": "7LjxtrmgJtTJc0_kP83Tr",
- "text": "PHP > LAMP"
+ id: 'K0G-Lw069jXUJwZqHtybd',
+ text: 'AI Agents > LLM Fundamentals > Generation Controls > Stopping Criteria',
},
{
- "id": "hzBUHSuFwLYNooF_vEmrs",
- "text": "PHP > Basic PHP Syntax"
+ id: 'Bn_BkthrVX_vOuwQzvPZa',
+ text: 'AI Agents > LLM Fundamentals > Generation Controls > Max Length',
},
{
- "id": "D0BtyxyjIBcpfn5wP23WC",
- "text": "PHP > Variables and Scope"
+ id: 'DSJAhQhc1dQmBHQ8ZkTau',
+ text: 'AI Agents > Model Families and Licences > Open Weight Models',
},
{
- "id": "srIHPZabaCGdB5VvUXaMa",
- "text": "PHP > Data Types"
+ id: 'tJYmEDDwK0LtEux-kwp9B',
+ text: 'AI Agents > Model Families and Licences > Closed Weight Models',
},
{
- "id": "pzReF4C0mcCWAnpfIJbwl",
- "text": "PHP > Casting Data Types"
+ id: 'i2NE6haX9-7mdoV5LQ3Ah',
+ text: 'AI Agents > Understand the Basics > Streamed vs Unstreamed Responses',
},
{
- "id": "2ykzBBdYhWuM-neGf0AWP",
- "text": "PHP > echo"
+ id: 'N3yZfUxphxjiupqGpyaS9',
+ text: 'AI Agents > Understand the Basics > Reasoning vs Standard Models',
},
{
- "id": "NQUmO90sqe7fnzod3Ia8H",
- "text": "PHP > print"
+ id: '5OW_6o286mj470ElFyJ_5',
+ text: 'AI Agents > Understand the Basics > Fine-tuning vs Prompt Engineering',
},
{
- "id": "wsC7OGXOyfCY4pLLNrR2v",
- "text": "PHP > print_r"
+ id: 'UIm54UmICKgep6s8Itcyv',
+ text: 'AI Agents > Understand the Basics > Embeddings and Vector Search',
},
{
- "id": "JCCeVC0hOrvIeyfg1ScKA",
- "text": "PHP > var_dump"
+ id: 'qwVQOwBTLA2yUgRISzC8k',
+ text: 'AI Agents > Understand the Basics > Understand the Basics of RAG',
},
{
- "id": "VLRLymQmLfscrBfzXKvHi",
- "text": "PHP > Constants"
+ id: 'B8dzg61TGaknuruBgkEJd',
+ text: 'AI Agents > Understand the Basics > Pricing of Common Models',
},
{
- "id": "IhKjvT6CjRz4dsSU7SNQo",
- "text": "PHP > Arrays"
+ id: 'aFZAm44nP5NefX_9TpT0A',
+ text: 'AI Agents > AI Agents 101 > What are AI Agents?',
},
{
- "id": "j2S8dP3HlAOOoZdpj-7Dx",
- "text": "PHP > Arrays > Indexed Arrays"
+ id: '2zsOUWJQ8e7wnoHmq1icG',
+ text: 'AI Agents > AI Agents 101 > What are Tools?',
},
{
- "id": "i_NRsOJNNp7AOqMgu5Jg8",
- "text": "PHP > Arrays > Associative Arrays"
+ id: 'Eih4eybuYB3C2So8K0AT3',
+ text: 'AI Agents > AI Agents 101 > Agent Loop',
},
{
- "id": "uARTOZ-ZwugSmbCJoRS5Y",
- "text": "PHP > Arrays > Multi-dimensional Arrays"
+ id: 'LU76AhCYDjxdBhpMQ4eMU',
+ text: 'AI Agents > AI Agents 101 > Agent Loop > Perception / User Input',
},
{
- "id": "38YksjvhXCbgnHqkl57Cz",
- "text": "PHP > Conditionals"
+ id: 'ycPRgRYR4lEBQr_xxHKnM',
+ text: 'AI Agents > AI Agents 101 > Agent Loop > Reason and Plan',
},
{
- "id": "-McOv-ZPTGayX7Mx2Thw1",
- "text": "PHP > Conditionals > if/else"
+ id: 'sHYd4KsKlmw5Im3nQ19W8',
+ text: 'AI Agents > AI Agents 101 > Agent Loop > Acting / Tool Invocation',
},
{
- "id": "bgJ9-m6Fiu3VCc-NZlbpn",
- "text": "PHP > Conditionals > switch"
+ id: 'ZJTrun3jK3zBGOTm1jdMI',
+ text: 'AI Agents > AI Agents 101 > Agent Loop > Observation & Reflection',
},
{
- "id": "3gNzX-bw2iqur7U7-_W38",
- "text": "PHP > Conditionals > match"
+ id: 'PPdAutqJF5G60Eg9lYBND',
+ text: 'AI Agents > AI Agents 101 > Example Usecases > Personal assistant',
},
{
- "id": "w0ntgFBhgGd5RUFd-qlPK",
- "text": "PHP > Conditionals > Null Coalescing Operator"
+ id: 'PK8w31GlvtmAuU92sHaqr',
+ text: 'AI Agents > AI Agents 101 > Example Usecases > Code generation',
},
{
- "id": "1NXSk8VZDr89jQTTkOL7x",
- "text": "PHP > Conditionals > Null Safe Operator"
+ id: 'wKYEaPWNsR30TIpHaxSsq',
+ text: 'AI Agents > AI Agents 101 > Example Usecases > Data analysis',
},
{
- "id": "qwt8xN4vuTrY-D0czYITI",
- "text": "PHP > Loops"
+ id: '5oLc-235bvKhApxzYFkEc',
+ text: 'AI Agents > AI Agents 101 > Example Usecases > Web Scraping / Crawling',
},
{
- "id": "WiGv7vi7Mtw-YqPMcnnyw",
- "text": "PHP > Functions"
+ id: 'ok8vN7VtCgyef5x6aoQaL',
+ text: 'AI Agents > AI Agents 101 > Example Usecases > NPC / Game AI',
},
{
- "id": "1nODJchgSuWbcvSlxnWeE",
- "text": "PHP > Functions > Function Declaration"
+ id: 'Y8EqzFx3qxtrSh7bWbbV8',
+ text: 'AI Agents > Prompt Engineering > What is Prompt Engineering',
},
{
- "id": "mpQKoBzsOa-5iWo08sOhQ",
- "text": "PHP > Functions > Parameters / Return Values"
+ id: 'qFKFM2qNPEN7EoD0V-1SM',
+ text: 'AI Agents > Prompt Engineering > Writing Good Prompts > Be specific in what you want',
},
{
- "id": "RgVP99rJJ8FVecIA45w20",
- "text": "PHP > Functions > Default / Optional Params"
+ id: '6I42CoeWX-kkFXTKAY7rw',
+ text: 'AI Agents > Prompt Engineering > Writing Good Prompts > Provide additional context',
},
{
- "id": "RkNjYva8o_jXp9suz5YdG",
- "text": "PHP > Functions > Named Arguments"
+ id: 'sUwdtOX550tSdceaeFPmF',
+ text: 'AI Agents > Prompt Engineering > Writing Good Prompts > Use relevant technical terms',
},
{
- "id": "Nr5m6wQLp7VyG3AucrSc8",
- "text": "PHP > Functions > Anonymous Functions"
+ id: 'yulzE4ZNLhXOgHhG7BtZQ',
+ text: 'AI Agents > Prompt Engineering > Writing Good Prompts > Use Examples in your Prompt',
},
{
- "id": "x7hA2KAzJIjc-prgCEw6V",
- "text": "PHP > Functions > Callback Functions"
+ id: 'noTuUFnHSBzn7GKG9UZEi',
+ text: 'AI Agents > Prompt Engineering > Writing Good Prompts > Iterate and Test your Prompts',
},
{
- "id": "mP1BIkqbWVVTU-zZv1ZL6",
- "text": "PHP > Functions > Arrow Functions"
+ id: 'wwHHlEoPAx0TLxbtY6nMA',
+ text: 'AI Agents > Prompt Engineering > Writing Good Prompts > Specify Length, format etc',
},
{
- "id": "D9ybK5INH5zSOcYMb5ZPi",
- "text": "PHP > Functions > Recursion"
+ id: 'qakbxB8xe7Y8gejC5cZnK',
+ text: 'AI Agents > AI Agents 101 > Tools / Actions > Tool Definition',
},
{
- "id": "rtmytETfyyLdcXUC0QyzL",
- "text": "PHP > Functions > Variadic Functions"
+ id: 'kBtqT8AduLoYDWopj-V9_',
+ text: 'AI Agents > Tools / Actions > Examples of Tools > Web Search',
},
{
- "id": "Kaaqu-mN7xvHN6CbIn616",
- "text": "PHP > File Handling > require"
+ id: 'mS0EVCkWuPN_GkVPng4A2',
+ text: 'AI Agents > Tools / Actions > Examples of Tools > Code Execution / REPL',
},
{
- "id": "-CyJbsg2ho3RvfzKnJj5C",
- "text": "PHP > File Handling > require_once"
+ id: 'sV1BnA2-qBnXoKpUn-8Ub',
+ text: 'AI Agents > Tools / Actions > Examples of Tools > Database Queries',
},
{
- "id": "hKfv7V6bl2LXssq9Ffi7C",
- "text": "PHP > File Handling > include"
+ id: '52qxjZILV-X1isup6dazC',
+ text: 'AI Agents > Tools / Actions > Examples of Tools > API Requests > Tools / Actions > Examples of Tools > API Requests',
},
{
- "id": "SwtLDgyPmDry20qS4FBfH",
- "text": "PHP > File Handling > include_once"
+ id: 'qaNr5I-NQPnfrRH7ynGTl',
+ text: 'AI Agents > Tools / Actions > Examples of Tools > Email / Slack / SMS',
},
{
- "id": "S9wTlkbv9-R6dohhZ47hs",
- "text": "PHP > File Operations > Reading Files"
+ id: 'BoJqZvdGam4cd6G6yK2IV',
+ text: 'AI Agents > Tools / Actions > Examples of Tools > File System Access',
},
{
- "id": "two4UycJaCfSp6jQqtTAb",
- "text": "PHP > File Operations > Writing Files"
+ id: '1B0IqRNYdtbHDi1jHSXuI',
+ text: 'AI Agents > Model Context Protocol (MCP)',
},
{
- "id": "tgIyG6vHWpe9sz6lHmj5a",
- "text": "PHP > File Operations > File Permissions"
+ id: '9FryAIrWRHh8YlzKX3et5',
+ text: 'AI Agents > Model Context Protocol (MCP) > Core Components > MCP Hosts',
},
{
- "id": "MRDjEjbkMpk7shcWAoPOF",
- "text": "PHP > File Operations > CSV Processing"
+ id: 'CGVstUxVXLJcYZrwk3iNQ',
+ text: 'AI Agents > Model Context Protocol (MCP) > Core Components > MCP Client',
},
{
- "id": "DB2cxZE58WCCavW2PNwmf",
- "text": "PHP > File Operations > JSON Processing"
+ id: 'yv_-87FVM7WKn5iv6LW9q',
+ text: 'AI Agents > Model Context Protocol (MCP) > Core Components > MCP Servers',
},
{
- "id": "ggkWo0DRSSDDkHpbiyUyf",
- "text": "PHP > File Operations > XML Processing"
+ id: '1NXIN-Hbjl5rPy_mqxQYW',
+ text: 'AI Agents > Model Context Protocol (MCP) > Creating MCP Servers',
},
{
- "id": "tn_iIfaJZVtPK6vFds7FH",
- "text": "PHP > HTTP / Request Handling > HTTP Methods"
+ id: 'iBtJp24F_kJE3YlBsW60s',
+ text: 'AI Agents > Model Context Protocol (MCP) > Creating MCP Servers > Deployment Modes > Local Desktop',
},
{
- "id": "GFYGFVfxkOoPI5mI4zSt1",
- "text": "PHP > HTTP / Request Handling > $_GET"
+ id: 'dHNMX3_t1KSDdAWqgdJXv',
+ text: 'AI Agents > Model Context Protocol (MCP) > Creating MCP Servers > Deployment Modes > Remote / Cloud',
},
{
- "id": "qNG-a4iIO-puZsMwAMzYC",
- "text": "PHP > HTTP / Request Handling > $_POST"
+ id: 'TBH_DZTAfR8Daoh-njNFC',
+ text: 'AI Agents > Agent Memory > What is Agent Memory?',
},
{
- "id": "A6rfW4uJhyfAX2b18_EEC",
- "text": "PHP > HTTP / Request Handling > $_REQUEST"
+ id: 'M3U6RfIqaiut2nuOibY8W',
+ text: 'AI Agents > Agent Memory > Short Term Memory',
},
{
- "id": "7Ja2at_N9tRTlvSGahrqn",
- "text": "PHP > HTTP / Request Handling > $_SERVER"
+ id: 'Ue633fz6Xu2wa2-KOAtdP',
+ text: 'AI Agents > Agent Memory > What is Agent Memory? > Long Term Memory',
},
{
- "id": "sYI7f1PYP7G30_Uj2mZRv",
- "text": "PHP > Form Processing"
+ id: 'EfCCNqLMJpWKKtamUa5gK',
+ text: 'AI Agents > Agent Memory > What is Agent Memory? > Episodic vs Semantic Memory',
},
{
- "id": "HNo8QO4aPbvgePiA4l6tq",
- "text": "PHP > File Uploads"
+ id: 'wkS4yOJ3JdZQE_yBID8K7',
+ text: 'AI Agents > Agent Memory > What is Agent Memory? > Maintaining Memory > RAG and Vector Databases',
},
{
- "id": "CGehmZjcgTWC7fQAvxmNW",
- "text": "PHP > State Management"
+ id: 'QJqXHV8VHPTnfYfmKPzW7',
+ text: 'AI Agents > Agent Memory > What is Agent Memory? > Maintaining Memory > User Profile Storage',
},
{
- "id": "so03-fK7E2WvTm6XsPq4i",
- "text": "PHP > State Management > Cookies"
+ id: 'jTDC19BTWCqxqMizrIJHr',
+ text: 'AI Agents > Agent Memory > Maintaining Memory > Summarization / Compression',
},
{
- "id": "qobzzgzArNHLLn9Oiqc6G",
- "text": "PHP > State Management > Sessions"
+ id: 'm-97m7SI0XpBnhEE8-_1S',
+ text: 'AI Agents > Agent Memory > Maintaining Memory > Forgetting / Aging Strategies',
},
{
- "id": "93oEIZttb85S23C1fLraP",
- "text": "PHP > Basics of Security > Input Validation"
+ id: 'cW8O4vLLKEG-Q0dE8E5Zp',
+ text: 'AI Agents > Agent Architectures > Common Architectures > RAG Agent',
},
{
- "id": "801vB_JMas4ucriUmfrLg",
- "text": "PHP > Basics of Security > SQL Injection"
+ id: '53xDks6JQ33fHMa3XcuCd',
+ text: 'AI Agents > Agent Architectures > Common Architectures > ReAct (Reason + Act)',
},
{
- "id": "DxqQrToZSayWplKdCkTgT",
- "text": "PHP > Basics of Security > XSS Prevention"
+ id: 'qwdh5pkBbrF8LKPxbZp4F',
+ text: 'AI Agents > Agent Architectures > Common Architectures > Chain of Thought (CoT)',
},
{
- "id": "J9yIXZTtwbFzH2u4dI1ep",
- "text": "PHP > Basics of Security > CSRF Protection"
+ id: '6YLCMWzystao6byCYCTPO',
+ text: 'AI Agents > Agent Architectures > Common Architectures > Planner Executor',
},
{
- "id": "JbWFfJiCRrXDhnuIx_lqx",
- "text": "PHP > Basics of Security > Password Hashing"
+ id: 'Ep8RoZSy_Iq_zWXlGQLZo',
+ text: 'AI Agents > Agent Architectures > Common Architectures > DAG Agents',
},
{
- "id": "HJJzKYXdK4BWITLP4APLZ",
- "text": "PHP > Basics of Security > Auth Mechanisms"
+ id: 'Nmy1PoB32DcWZnPM8l8jT',
+ text: 'AI Agents > Agent Architectures > Common Architectures > Tree-of-Thought',
},
{
- "id": "tfC1tCrbvH5J43WUpG9Yb",
- "text": "PHP > Basics of Security > Sanitization Techniques"
+ id: 'hj1adjkG9nalXKZ-Youn0',
+ text: 'AI Agents > Agent Architectures > Common Architectures > Tree-of-Thought',
},
{
- "id": "cJtPz1RMN1qDE4eRdv4N_",
- "text": "PHP > Database Connectivity > PDO"
+ id: 'US6T5dXM8IY9V2qZnTOFW',
+ text: 'AI Agents > Building Agents > Manual (from scratch)',
},
{
- "id": "YLuo0oZJzTCoiZoOSG57z",
- "text": "PHP > Database Connectivity > MySQLi"
+ id: 'aafZxtjxiwzJH1lwHBODi',
+ text: 'AI Agents > Building Agents > LLM Native "Function Calling"',
},
{
- "id": "SeqGIfcLuveZ2z5ZSXcOd",
- "text": "PHP > Advanced Database Techniques > Object-Relational Mapping (ORM)"
+ id: 'AQtxTTxmBpfl8BMgJbGzc',
+ text: 'AI Agents > Building Agents > LLM Native "Function Calling" > OpenAI Functions Calling',
},
{
- "id": "FY-F6n9j29hQrnFry3VGb",
- "text": "PHP > Advanced Database Techniques > Database Transactions"
+ id: '37GBFVZ2J2d5r8bd1ViHq',
+ text: 'AI Agents > Building Agents > LLM Native "Function Calling" > OpenAI Assistant API',
},
{
- "id": "txUyPR_tdC8iTJV3RtvBz",
- "text": "PHP > Advanced Database Techniques > Connection Pooling"
+ id: '_iIsBJTVS6OBf_dsdmbVO',
+ text: 'AI Agents > Building Agents > LLM Native "Function Calling" > Gemini Function Calling',
},
{
- "id": "M1nVsh_sCSFJRf6-7Ttsj",
- "text": "PHP > Advanced Database Techniques > Performance Optimization"
+ id: '1EZFbDHA5J5_5BPMLMxXb',
+ text: 'AI Agents > Building Agents > LLM Native "Function Calling" > Anthropic Tool Use',
},
{
- "id": "meplwvmHMtI3Sb_fyodzZ",
- "text": "PHP > Advanced Database Techniques > Database Migrations"
+ id: 'Ka6VpCEnqABvwiF9vba7t',
+ text: 'AI Agents > Building Agents > Building Using Frameworks > Langchain',
},
{
- "id": "yTviiPFR5b_dr3WyxdxxQ",
- "text": "PHP > OOP Fundamentals"
+ id: 'iEHF-Jm3ck-Iu85EbCoDi',
+ text: 'AI Agents > Building Agents > Building Using Frameworks > LlamaIndex',
},
{
- "id": "PIuplWreo7PFG3Mdn2t6W",
- "text": "PHP > OOP Fundamentals > Classes and Objects"
+ id: 'XS-FsvtrXGZ8DPrwOsnlI',
+ text: 'AI Agents > Building Agents > Building Using Frameworks > Haystack',
},
{
- "id": "oNUt1oT8pYBVvH0S2P6cb",
- "text": "PHP > OOP Fundamentals > Constructor / Destructor"
+ id: '7YtnQ9-KIvGPSpDzEDexl',
+ text: 'AI Agents > Building Agents > Building Using Frameworks > AutoGen',
},
{
- "id": "MRAPXshy9RoYdReY6grf_",
- "text": "PHP > OOP Fundamentals > Properties and Methods"
+ id: 'uFPJqgU4qGvZyxTv-osZA',
+ text: 'AI Agents > Building Agents > Building Using Frameworks > CrewAI',
},
{
- "id": "RD2RaBmA2XWkEa13PTCTX",
- "text": "PHP > OOP Fundamentals > Access Specifiers"
+ id: 'eWxQiBrxIUG2JNcrdfIHS',
+ text: 'AI Agents > Building Agents > Building Using Frameworks > Smol Depot',
},
{
- "id": "qlkpwXfOc1p7j37hrzffI",
- "text": "PHP > OOP Fundamentals > Static Methods and Properties"
+ id: 'v8qLnyFRnEumodBYxQSXQ',
+ text: 'AI Agents > Building Agents > Evaluation and Testing > Metrics to Track',
},
{
- "id": "c5q2e_jyMt8Pir5Od3lRi",
- "text": "PHP > OOP Fundamentals > Inheritance"
+ id: 'qo_O4YAe4-MTP_ZJoXJHR',
+ text: 'AI Agents > Evaluation and Testing > Unit Testing for Individual Tools',
},
{
- "id": "gtq5KrghF28f5G8nuDcYQ",
- "text": "PHP > Polymorphism"
+ id: 'P9-SiIda3TSjHsfkI5OUV',
+ text: 'AI Agents > Evaluation and Testing > Integration Testing for Flows',
},
{
- "id": "ub79EkMiOmPBwXLRuYFL8",
- "text": "PHP > Abstract classes"
+ id: 'rHxdxN97ZcU7MPl8L1jzN',
+ text: 'AI Agents > Evaluation and Testing > Human in the Loop Evaluation',
},
{
- "id": "vu0H-TsD7hkJgOQbSRj92",
- "text": "PHP > Interfaces"
+ id: 'xp7TCTRE9HP60_rGzTUF6',
+ text: 'AI Agents > Evaluation and Testing > Frameworks > LangSmith',
},
{
- "id": "GR09ns9B-0cONQaQ_uj-7",
- "text": "PHP > Traits"
+ id: '0924QUH1wV7Mp-Xu0FAhF',
+ text: 'AI Agents > Evaluation and Testing > Frameworks > DeepEval',
},
{
- "id": "9raJ06lKRZITbjWeLil-F",
- "text": "PHP > Namespaces"
+ id: 'YzEDtGEaMaMWVt0W03HRt',
+ text: 'AI Agents > Evaluation and Testing > Frameworks > Ragas',
},
{
- "id": "rSXsPWto7Jeyw3Szl9pvf",
- "text": "PHP > Magic methods"
+ id: 'zs6LM8WEnb0ERWpiaQCgc',
+ text: 'AI Agents > Debugging and Monitoring > Structured logging & tracing',
},
{
- "id": "sPW-Ti2VyNYzxq6EYkbn7",
- "text": "PHP > Type Declarations"
+ id: 'zs6LM8WEnb0ERWpiaQCgc',
+ text: 'AI Agents > Debugging and Monitoring > Structured logging & tracing',
},
{
- "id": "KEE50C6lOS4eX8sAbfhYe",
- "text": "PHP > Dependency injection"
+ id: 'SS8mGqf9wfrNqenIWvN8Z',
+ text: 'AI Agents > Observability Tools > LangSmith',
},
{
- "id": "zsscRQZIq5o0JZir9hlz-",
- "text": "PHP > Laravel"
+ id: 'MLxP5N0Vrmwh-kyvNeGXn',
+ text: 'AI Agents > Observability Tools > Helicone',
},
{
- "id": "57VSMVePOr9qUD5x_LNdf",
- "text": "PHP > Symfony"
+ id: 'UoIheaJlShiceafrWALEH',
+ text: 'AI Agents > Observability Tools > LangFuse',
},
{
- "id": "yVFDu2aTiEZ4PWMdKdW2P",
- "text": "PHP > Composer"
+ id: '7UqPXUzqKYXklnB3x-tsv',
+ text: 'AI Agents > Observability Tools > openllmetry',
},
{
- "id": "xZf2jjnCVHwYfDH2hs9kR",
- "text": "PHP > Packagist"
+ id: 'SU2RuicMUo8tiAsQtDI1k',
+ text: 'AI Agents > Security & Ethics > Prompt Injection / Jailbreaks',
},
{
- "id": "qFiTsf6Es-gwqe6J6bdL1",
- "text": "PHP > Autoloading"
+ id: 'UVzLGXG6K7HQVHmw8ZAv2',
+ text: 'AI Agents > Security & Ethics > Tool sandboxing / Permissioning',
},
{
- "id": "NfBKKwG2GGBPppOjoLLBg",
- "text": "PHP > PHPUnit"
+ id: 'rdlYBJNNyZUshzsJawME4',
+ text: 'AI Agents > Security & Ethics > Data Privacy + PII Redaction',
},
{
- "id": "d6MydchA52HIxfAUjmZui",
- "text": "PHP > Pest"
+ id: 'EyLo2j8IQsIK91SKaXkmK',
+ text: 'AI Agents > Security & Ethics > Bias & Toxicity Guardrails',
},
{
- "id": "6eWgZVLV479oQzl0fu-Od",
- "text": "PHP > Style Tools"
+ id: '63nsfJFO1BwjLX_ZVaPFC',
+ text: 'AI Agents > Security & Ethics > Safety + Red Team Testing',
},
- {
- "id": "fSpvZ_4kGFMbFVCWhA8vn",
- "text": "PHP > Style Tools > PHPCodeSniffer"
- },
- {
- "id": "r07k_hT2z2EiIBH4q3F7-",
- "text": "PHP > Style Tools > PHP CS Fixer"
- },
- {
- "id": "PrG_5dyBblXsWYYRcOJMa",
- "text": "PHP > Static Analysis"
- },
- {
- "id": "12k71gNfwAcT9K5aLWgbZ",
- "text": "PHP > Static Analysis > PHPStan"
- },
- {
- "id": "T1XD93j6Lkpl88JSmys9b",
- "text": "PHP > Static Analysis > Psalm"
- },
- {
- "id": "B45YVzov8X_iOtneiFEqa",
- "text": "PHP > Static Analysis > Phan"
- },
- {
- "id": "KC6D81-T-FwQc7Osw1rlY",
- "text": "PHP > External Integrations > cURL"
- },
- {
- "id": "_Al4NXKVQAnk8OikwvXCL",
- "text": "PHP > External Integrations > Guzzle"
- },
- {
- "id": "SD9k16UlVve9WtNMDA5Za",
- "text": "PHP > PHP-FIG"
- },
- {
- "id": "3tONibbRgK7HCwGTE2Gqw",
- "text": "PHP > PHP-FIG > PSR Standards"
- },
- {
- "id": "_Dh78x_tPLqZweg--qZFQ",
- "text": "PHP > Performance Optimization > Profiling Techniques"
- },
- {
- "id": "Av-BMa57RvrLlAXLffOH0",
- "text": "PHP > Performance Optimization > Caching Strategies"
- },
- {
- "id": "bt7dK2PcOZ72B9HXPyMwL",
- "text": "PHP > Performance Optimization > Memory Management"
- },
- {
- "id": "VpwwF8j5ZtXVSbzNfE7Sx",
- "text": "PHP > Performance Optimization > Configuration Tuning"
- },
- {
- "id": "NieqZd1juaNYoZOrB7e31",
- "text": "PHP > Performance Optimization > Opcode Caching"
- },
- {
- "id": "AoGS-5MSkp8gtJFQVPSBE",
- "text": "PHP > Performance Optimization > PHP-FPM"
- },
- {
- "id": "qp5Xi12c0qcSzTanzJq0Z",
- "text": "PHP > System Interactions"
- },
- {
- "id": "VhyYNGhOdKKrz_-uTkrjD",
- "text": "PHP > System Interactions > Executing System Commands"
- },
- {
- "id": "NTKUMgsKGYISIyhgOJPQn",
- "text": "PHP > System Interactions > Process Control"
- },
- {
- "id": "fitjnLYKLHJ2P5G7JAvzm",
- "text": "PHP > System Interactions > Environment Variables"
- },
- {
- "id": "DTaAZaU1CwzW7esoDhj85",
- "text": "PHP > System Interactions > Configuration Files"
- },
- {
- "id": "lFoHoMRywCWa056ii5cKQ",
- "text": "PHP > Debugging Tools > Xdebug"
- },
- {
- "id": "KpQb5Zh3GUcbYUyXHvyu2",
- "text": "PHP > Debugging Tools > Zend Debugger"
- },
- {
- "id": "KMQqePqAjQ-ReDwHqeofx",
- "text": "PHP > Web Servers > Apache"
- },
- {
- "id": "aspZpACHEKOsi_Er5FYPY",
- "text": "PHP > Web Servers > Nginx"
- }
];
const OPENAI_API_KEY = process.env.OPENAI_API_KEY;
@@ -516,19 +416,11 @@ const openai = new OpenAI({
const prompt = `
You are a helpful assistant that can help me generate content for a roadmap tree.
- User will give you roadmap topics in the form of "Parent > Child > Leaf". You need
- to generate content for the last node in the hierarchy in relation to the parents.
- Remember that you are explaining the topics for PHP showing what the given topic is
- with respect to PHP and giving a short code sample ONLY when required.
+ You will be given a roadmap topic in the form of "Parent > Child > Leaf". You need
+ to generate a single paragraph explaining the topic.
Also, I hate it when you say "In the realm of..."
or "In the context of..." or "..in the context of..." or "when we talk about..." or something
similar.
- Content should be helpful and engaging for a technical audience.
- It can include things like (you can include more or less, depending on the topic):
- - Briefly explain the given topic in relation to PHP.
- - Code sample if applicable.
- - Add a link to PHP documentation
- The content should be a a single textual paragraph.
IMPORTANT: Use simple and clear English. Avoid complex words and jargon when possible.
Write in a way that is easy to understand. Use short sentences and common words.
`;
@@ -541,7 +433,7 @@ const prompt = `
const generateContent = async (node) => {
try {
const content = await openai.chat.completions.create({
- model: 'gpt-4',
+ model: 'o3',
messages: [
{ role: 'system', content: prompt },
{
diff --git a/src/components/Roadmaps/RoadmapsPage.tsx b/src/components/Roadmaps/RoadmapsPage.tsx
index 241047b4f..1ed1d604a 100644
--- a/src/components/Roadmaps/RoadmapsPage.tsx
+++ b/src/components/Roadmaps/RoadmapsPage.tsx
@@ -388,6 +388,11 @@ const groups: GroupType[] = [
link: '/ai-engineer',
type: 'role',
},
+ {
+ title: 'AI Agents',
+ link: '/ai-agents',
+ type: 'role',
+ },
{
title: 'AI Red Teaming',
link: '/ai-red-teaming',
diff --git a/src/components/TopicDetail/TopicDetail.tsx b/src/components/TopicDetail/TopicDetail.tsx
index 4432911df..8ea7bdd21 100644
--- a/src/components/TopicDetail/TopicDetail.tsx
+++ b/src/components/TopicDetail/TopicDetail.tsx
@@ -25,8 +25,6 @@ import { Ban, FileText, HeartHandshake, Star, X } from 'lucide-react';
import { getUrlParams, parseUrl } from '../../lib/browser';
import { Spinner } from '../ReactIcons/Spinner';
import { GitHubIcon } from '../ReactIcons/GitHubIcon.tsx';
-import { GoogleIcon } from '../ReactIcons/GoogleIcon.tsx';
-import { YouTubeIcon } from '../ReactIcons/YouTubeIcon.tsx';
import { resourceTitleFromId } from '../../lib/roadmap.ts';
import { lockBodyScroll } from '../../lib/dom.ts';
import { TopicDetailLink } from './TopicDetailLink.tsx';
@@ -349,8 +347,6 @@ export function TopicDetail(props: TopicDetailProps) {
const resourceTitleForSearch = resourceTitle
?.toLowerCase()
?.replace(/\s+?roadmap/gi, '');
- const googleSearchUrl = `https://www.google.com/search?q=${encodeURIComponent(topicHtmlTitle?.toLowerCase())} guide for ${encodeURIComponent(resourceTitleForSearch || '')}`;
- const youtubeSearchUrl = `https://www.youtube.com/results?search_query=${encodeURIComponent(topicHtmlTitle?.toLowerCase())} for ${encodeURIComponent(resourceTitleForSearch || '')}`;
const tnsLink =
'https://thenewstack.io/devops/?utm_source=roadmap.sh&utm_medium=Referral&utm_campaign=Topic';
@@ -415,7 +411,9 @@ export function TopicDetail(props: TopicDetailProps) {
? topicId.split('@')[1]
: topicId
}
- dropdownClassName={!shouldShowAiTab ? 'left-0' : 'right-0'}
+ dropdownClassName={
+ !shouldShowAiTab ? 'left-0' : 'right-0'
+ }
resourceId={resourceId}
resourceType={resourceType}
onClose={handleClose}
@@ -560,55 +558,33 @@ export function TopicDetail(props: TopicDetailProps) {
)}
>
)}
-
- {canSubmitContribution &&
- !hasEnoughLinks &&
- contributionUrl &&
- hasContent && (
-
-
-
- Find more resources using these pre-filled search
- queries:
-
- This popup should be a brief introductory paragraph
- for the topic and a few links to good articles,
- videos, or any other self-vetted resources. Please
- consider submitting a PR to improve this content.
-
+ This popup should be a brief introductory paragraph for
+ the topic and a few links to good articles, videos, or any
+ other self-vetted learning resources. Please consider
+ submitting a PR to improve this content.
+
+ )}
{resourceId === 'devops' && activeTab === 'content' && (
diff --git a/src/data/roadmaps/ai-agents/ai-agents.json b/src/data/roadmaps/ai-agents/ai-agents.json
new file mode 100644
index 000000000..a4b5b1297
--- /dev/null
+++ b/src/data/roadmaps/ai-agents/ai-agents.json
@@ -0,0 +1,4917 @@
+{
+ "nodes": [
+ {
+ "id": "3GO9CZQSSxM1eRSBz9sWR",
+ "type": "horizontal",
+ "position": { "x": 448.47614503814657, "y": 3322.5001335516636 },
+ "selected": true,
+ "selectable": true,
+ "draggable": true,
+ "deletable": true,
+ "data": {
+ "label": "horizontal node",
+ "style": { "stroke": "#2B78E4", "strokeWidth": 3.75 }
+ },
+ "zIndex": 999,
+ "width": 157,
+ "height": 20,
+ "style": {},
+ "measured": { "width": 157, "height": 20 },
+ "dragging": false,
+ "resizing": false,
+ "focusable": true
+ },
+ {
+ "id": "9MVi8gN_TNI515-5til_s",
+ "type": "vertical",
+ "position": { "x": 739, "y": 3056.5001335516636 },
+ "selected": true,
+ "selectable": true,
+ "draggable": true,
+ "deletable": true,
+ "data": {
+ "label": "vertical node",
+ "style": { "stroke": "#2B78E4", "strokeWidth": 3.75 }
+ },
+ "zIndex": 999,
+ "width": 20,
+ "height": 55,
+ "style": {},
+ "measured": { "width": 20, "height": 55 },
+ "dragging": false,
+ "resizing": false,
+ "focusable": true
+ },
+ {
+ "id": "h2-93F69l8wKXkvT-iFC4",
+ "type": "section",
+ "position": { "x": -135.00832024152123, "y": 2818.2399357924473 },
+ "selected": true,
+ "selectable": true,
+ "draggable": true,
+ "deletable": true,
+ "data": {
+ "label": "",
+ "style": {
+ "fontSize": 17,
+ "backgroundColor": "#ffffff",
+ "borderColor": "#000000"
+ }
+ },
+ "zIndex": -999,
+ "width": 306,
+ "height": 288,
+ "style": { "width": 150, "height": 100 },
+ "measured": { "width": 306, "height": 288 },
+ "dragging": false,
+ "resizing": false,
+ "focusable": true
+ },
+ {
+ "id": "ucZ3vn5WgFOfa8Wpb0Hgk",
+ "type": "section",
+ "position": { "x": -135.00832024152123, "y": 2412.347193632089 },
+ "selected": true,
+ "selectable": true,
+ "draggable": true,
+ "deletable": true,
+ "data": {
+ "label": "",
+ "style": {
+ "fontSize": 17,
+ "backgroundColor": "#ffffff",
+ "borderColor": "#000000"
+ }
+ },
+ "zIndex": -999,
+ "width": 306,
+ "height": 420,
+ "style": { "width": 150, "height": 100 },
+ "measured": { "width": 306, "height": 420 },
+ "resizing": false,
+ "dragging": false,
+ "focusable": true
+ },
+ {
+ "id": "JuxzWFeM_vwgn4pj0wxfY",
+ "type": "horizontal",
+ "position": { "x": 528.9761450381466, "y": 2710.42394018722 },
+ "selected": true,
+ "selectable": true,
+ "draggable": true,
+ "deletable": true,
+ "data": {
+ "label": "horizontal node",
+ "style": { "stroke": "#2B78E4", "strokeWidth": 3.75 }
+ },
+ "zIndex": 999,
+ "width": 72,
+ "height": 20,
+ "style": {},
+ "measured": { "width": 72, "height": 20 },
+ "dragging": false,
+ "resizing": false,
+ "focusable": true
+ },
+ {
+ "id": "R18O3kbMoSEicZbLgUP7s",
+ "type": "section",
+ "position": { "x": 264.97614503814657, "y": 2694.92394018722 },
+ "width": 265,
+ "height": 310,
+ "style": { "width": 241, "height": 60 },
+ "selected": true,
+ "data": {
+ "style": {
+ "backgroundColor": "#ffffff",
+ "borderColor": "#000000",
+ "borderRadius": 5
+ }
+ },
+ "measured": { "width": 265, "height": 310 },
+ "resizing": false,
+ "selectable": true,
+ "focusable": true,
+ "dragging": false
+ },
+ {
+ "id": "MeOebqpbLZkPbj0iWRjP2",
+ "type": "section",
+ "position": { "x": 600.30929781038, "y": 2481.0335978441904 },
+ "selected": true,
+ "selectable": true,
+ "draggable": true,
+ "deletable": true,
+ "data": { "label": "", "style": { "fontSize": 17 } },
+ "zIndex": -999,
+ "width": 299,
+ "height": 173,
+ "style": { "width": 150, "height": 100 },
+ "measured": { "width": 299, "height": 173 },
+ "resizing": false,
+ "dragging": false,
+ "focusable": true
+ },
+ {
+ "id": "-MLEtjuRq9y1HpZeKJCts",
+ "type": "section",
+ "position": { "x": 264.97614503814657, "y": 2218.019754844708 },
+ "selected": true,
+ "selectable": true,
+ "draggable": true,
+ "deletable": true,
+ "data": {
+ "label": "",
+ "style": {
+ "fontSize": 17,
+ "backgroundColor": "#ffffff",
+ "borderColor": "#000000"
+ }
+ },
+ "zIndex": -999,
+ "width": 265,
+ "height": 434,
+ "style": { "width": 150, "height": 100 },
+ "measured": { "width": 265, "height": 434 },
+ "resizing": false,
+ "dragging": false,
+ "focusable": true
+ },
+ {
+ "id": "NI3gC3eiPXDkirpD7sk10",
+ "type": "horizontal",
+ "position": { "x": 162.26555040271785, "y": 2023.1355435052951 },
+ "selected": true,
+ "selectable": true,
+ "draggable": true,
+ "deletable": true,
+ "data": {
+ "label": "horizontal node",
+ "style": { "stroke": "#2B78E4", "strokeWidth": 3.75 }
+ },
+ "zIndex": 999,
+ "width": 132,
+ "height": 20,
+ "style": {},
+ "measured": { "width": 132, "height": 20 },
+ "dragging": false,
+ "resizing": false,
+ "focusable": true
+ },
+ {
+ "id": "u8n0Lh3rJrqnRyc0KCjdr",
+ "type": "vertical",
+ "position": { "x": 774.80929781038, "y": 1851.6702232480886 },
+ "selected": true,
+ "selectable": true,
+ "draggable": true,
+ "deletable": true,
+ "data": {
+ "label": "vertical node",
+ "style": { "stroke": "#2B78E4", "strokeWidth": 3.75 }
+ },
+ "zIndex": 999,
+ "width": 20,
+ "height": 138,
+ "style": {},
+ "measured": { "width": 20, "height": 138 },
+ "dragging": false,
+ "resizing": false,
+ "focusable": true
+ },
+ {
+ "id": "0nEbIdUFlhBp7Pn9lzZDG",
+ "type": "vertical",
+ "position": { "x": 709.8290815371215, "y": 1851.6702232480886 },
+ "selected": true,
+ "selectable": true,
+ "draggable": true,
+ "deletable": true,
+ "data": {
+ "label": "vertical node",
+ "style": { "stroke": "#2B78E4", "strokeWidth": 3.75 },
+ "oldId": "u8n0Lh3rJrqnRyc0KCjdr"
+ },
+ "zIndex": 999,
+ "width": 20,
+ "height": 74,
+ "style": {},
+ "measured": { "width": 20, "height": 74 },
+ "dragging": false,
+ "resizing": false,
+ "focusable": true
+ },
+ {
+ "id": "qLO_DcIM2OY_i8njSIt1q",
+ "type": "section",
+ "position": { "x": -103.7455305579661, "y": 1802.5941482842695 },
+ "selected": true,
+ "selectable": true,
+ "draggable": true,
+ "deletable": true,
+ "data": {
+ "label": "",
+ "style": {
+ "fontSize": 17,
+ "backgroundColor": "#ffffff",
+ "borderColor": "#000000"
+ }
+ },
+ "zIndex": -999,
+ "width": 229,
+ "height": 171,
+ "style": { "width": 150, "height": 100 },
+ "measured": { "width": 229, "height": 171 },
+ "dragging": false,
+ "resizing": false,
+ "focusable": true
+ },
+ {
+ "id": "PebDvL0Oyzh9mna-AbiaO",
+ "type": "horizontal",
+ "position": { "x": 118.85088070462893, "y": 1725.7407354438553 },
+ "selected": true,
+ "selectable": true,
+ "draggable": true,
+ "deletable": true,
+ "data": {
+ "label": "horizontal node",
+ "style": { "stroke": "#2B78E4", "strokeWidth": 3.5 }
+ },
+ "zIndex": 999,
+ "width": 115,
+ "height": 20,
+ "style": {},
+ "measured": { "width": 115, "height": 20 },
+ "resizing": false,
+ "dragging": false,
+ "focusable": true
+ },
+ {
+ "id": "K2ueUkBcV5ASMhHUUZH-A",
+ "type": "section",
+ "position": { "x": 233.85088070462893, "y": 1711.2407354438553 },
+ "selected": true,
+ "selectable": true,
+ "draggable": true,
+ "deletable": true,
+ "data": {
+ "label": "",
+ "style": {
+ "fontSize": 17,
+ "backgroundColor": "#ffffff",
+ "borderColor": "#000000"
+ }
+ },
+ "zIndex": -999,
+ "width": 289,
+ "height": 166,
+ "style": { "width": 150, "height": 100 },
+ "measured": { "width": 289, "height": 166 },
+ "resizing": false,
+ "focusable": true,
+ "dragging": false
+ },
+ {
+ "id": "0WHI9bT9SJnNfuBkY1oU1",
+ "type": "section",
+ "position": { "x": 636.0988844716816, "y": 1988.6355435052951 },
+ "selected": true,
+ "selectable": true,
+ "draggable": true,
+ "deletable": true,
+ "data": {
+ "label": "",
+ "style": {
+ "fontSize": 17,
+ "backgroundColor": "#ffffff",
+ "borderColor": "#000000"
+ }
+ },
+ "zIndex": -999,
+ "width": 255,
+ "height": 207,
+ "style": { "width": 150, "height": 100 },
+ "measured": { "width": 255, "height": 207 },
+ "resizing": true,
+ "dragging": false,
+ "focusable": true
+ },
+ {
+ "id": "iw9O2qcCgvICJc6HvpUYf",
+ "type": "section",
+ "position": { "x": 247.76555040271785, "y": 1412.2018556690077 },
+ "selected": true,
+ "selectable": true,
+ "draggable": true,
+ "deletable": true,
+ "data": {
+ "label": "",
+ "style": {
+ "fontSize": 17,
+ "backgroundColor": "#ffffff",
+ "borderColor": "#000000"
+ }
+ },
+ "zIndex": -999,
+ "width": 238,
+ "height": 149,
+ "style": { "width": 150, "height": 100 },
+ "measured": { "width": 238, "height": 149 },
+ "dragging": false,
+ "resizing": true,
+ "focusable": true
+ },
+ {
+ "id": "v-zVQKH6XEMCI4Np-Q3Jo",
+ "type": "section",
+ "position": { "x": -137.2455305579661, "y": 1244.2910027738571 },
+ "selected": true,
+ "selectable": true,
+ "draggable": true,
+ "deletable": true,
+ "data": {
+ "label": "",
+ "style": {
+ "fontSize": 17,
+ "backgroundColor": "#ffffff",
+ "borderColor": "#000000"
+ }
+ },
+ "zIndex": -999,
+ "width": 296,
+ "height": 374,
+ "style": { "width": 150, "height": 100 },
+ "measured": { "width": 296, "height": 374 },
+ "resizing": false,
+ "focusable": true,
+ "dragging": false
+ },
+ {
+ "id": "c58fcsthBlVfzfr-MHdpF",
+ "type": "vertical",
+ "position": { "x": 357.48246683384076, "y": -136.01175492596462 },
+ "selected": true,
+ "data": {
+ "label": "vertical node",
+ "style": {
+ "strokeDasharray": "0.8 8",
+ "strokeLinecap": "round",
+ "strokeWidth": 3.5,
+ "stroke": "#2B78E4"
+ }
+ },
+ "zIndex": 999,
+ "width": 21,
+ "height": 66,
+ "positionAbsolute": { "x": 383.86539064124656, "y": -132.6034020245566 },
+ "dragging": false,
+ "style": { "width": 21, "height": 66 },
+ "resizing": false,
+ "selectable": true,
+ "focusable": true,
+ "measured": { "width": 21, "height": 66 }
+ },
+ {
+ "id": "Ji35JsKgUQXN4DJGEgTAC",
+ "type": "title",
+ "position": { "x": 287.48246683384076, "y": -68.9683088092861 },
+ "selected": true,
+ "data": {
+ "label": "AI Agents",
+ "style": {
+ "fontSize": 28,
+ "justifyContent": "flex-start",
+ "textAlign": "center"
+ }
+ },
+ "zIndex": 999,
+ "positionAbsolute": { "x": 345.36539064124656, "y": -71.10340202455662 },
+ "dragging": false,
+ "selectable": true,
+ "focusable": true,
+ "style": {},
+ "measured": { "width": 161, "height": 68 }
+ },
+ {
+ "id": "kpF15oUmlUmk1qVGEBB7Y",
+ "type": "paragraph",
+ "position": { "x": 517.0942414053277, "y": -136.9615199492601 },
+ "selected": true,
+ "data": {
+ "label": "Find the detailed version of this roadmap along with other similar roadmaps",
+ "style": {
+ "fontSize": 17,
+ "justifyContent": "flex-start",
+ "textAlign": "left",
+ "borderColor": "#000000",
+ "backgroundColor": "#FFFFFf"
+ },
+ "oldId": "yHmHXymPNWwu8p1vvqD3o"
+ },
+ "zIndex": 999,
+ "width": 355,
+ "height": 143,
+ "positionAbsolute": { "x": 548.0942414053277, "y": -133.9615199492601 },
+ "dragging": false,
+ "selectable": true,
+ "focusable": true,
+ "style": { "width": 355, "height": 143 },
+ "resizing": false,
+ "measured": { "width": 355, "height": 143 }
+ },
+ {
+ "id": "if9eTna5NRTMStVwpSwDP",
+ "type": "button",
+ "position": { "x": 529.5942414053277, "y": -55.103402024556615 },
+ "selected": true,
+ "data": {
+ "label": "roadmap.sh",
+ "href": "https://roadmap.sh",
+ "color": "#ffffff",
+ "backgroundColor": "#4136D6",
+ "style": { "fontSize": 17 },
+ "oldId": "2zqZkyVgigifcRS1H7F_b"
+ },
+ "zIndex": 999,
+ "width": 330,
+ "height": 49,
+ "dragging": false,
+ "style": { "width": 330, "height": 49 },
+ "resizing": false,
+ "positionAbsolute": { "x": 560.5942414053277, "y": -52.103402024556615 },
+ "selectable": true,
+ "focusable": true,
+ "measured": { "width": 330, "height": 49 }
+ },
+ {
+ "width": 412,
+ "height": 121,
+ "id": "0vLaVNJaJSHZ_bHli6Qzs",
+ "type": "paragraph",
+ "position": { "x": 39.982758882202006, "y": 3244.0164384242175 },
+ "selected": true,
+ "data": {
+ "label": "Visit the following relevant tracks",
+ "style": {
+ "fontSize": 17,
+ "justifyContent": "flex-start",
+ "textAlign": "center",
+ "borderColor": "#000000",
+ "backgroundColor": "WHITe"
+ },
+ "oldId": "m9eO0jLGuR_9w2JJbe_g2"
+ },
+ "zIndex": 999,
+ "positionAbsolute": { "x": -151.0311490763803, "y": 2838.2842366925815 },
+ "dragging": false,
+ "style": { "width": 412, "height": 121 },
+ "resizing": false,
+ "focusable": true,
+ "selectable": true,
+ "measured": { "width": 412, "height": 121 }
+ },
+ {
+ "width": 21,
+ "height": 85,
+ "id": "xi0QAi4kXm3-IFKgopnOP",
+ "type": "vertical",
+ "position": { "x": 235.48275888220198, "y": 3365.0164384242175 },
+ "selected": true,
+ "data": {
+ "label": "vertical node",
+ "style": {
+ "strokeDasharray": "0.8 8",
+ "strokeLinecap": "round",
+ "strokeWidth": 3.5,
+ "stroke": "#2B78E4"
+ },
+ "oldId": "RLtk1C3gofHnLJ17x3o5b"
+ },
+ "zIndex": 999,
+ "positionAbsolute": { "x": 44.468850923619726, "y": 2959.2842366925815 },
+ "dragging": false,
+ "focusable": true,
+ "style": { "width": 21, "height": 85 },
+ "resizing": false,
+ "selectable": true,
+ "measured": { "width": 21, "height": 85 }
+ },
+ {
+ "width": 150,
+ "height": 49,
+ "id": "NrTAfxHCksgqSkhnrO4kF",
+ "type": "button",
+ "position": { "x": 56.98275888220195, "y": 3300.7409891427583 },
+ "selected": true,
+ "data": {
+ "label": "AI Engineer",
+ "href": "https://roadmap.sh/ai-engineer",
+ "color": "#FFFFFf",
+ "backgroundColor": "#4136D6",
+ "style": { "fontSize": 17 },
+ "borderColor": "#4136D6",
+ "oldId": "-sFboM4eFUMVq1tlPl-fV"
+ },
+ "zIndex": 999,
+ "dragging": false,
+ "positionAbsolute": { "x": -134.0311490763803, "y": 2895.0087874111223 },
+ "style": { "width": 378, "height": 49 },
+ "focusable": true,
+ "resizing": false,
+ "selectable": true,
+ "measured": { "width": 150, "height": 49 }
+ },
+ {
+ "id": "Wm2VPi1Tn_Y7dqPowny69",
+ "type": "linksgroup",
+ "position": { "x": -160.95487988355524, "y": -149.65280636791104 },
+ "selected": true,
+ "data": {
+ "label": "Related Roadmaps",
+ "links": [
+ {
+ "id": "29I4Uf1Z74ihhM4cpfaP7",
+ "label": "AI Engineer Roadmap",
+ "href": "",
+ "url": "https://roadmap.sh/ai-engineer"
+ },
+ {
+ "id": "9IzkW8kJ-4TiqEuoeyteP",
+ "label": "AI and Data Scientist Roadmap",
+ "url": "https://roadmap.sh/ai-data-scientist"
+ },
+ {
+ "id": "tvB9Bt9JTO98FlPqvPZGl",
+ "label": "MLOps Roadmap",
+ "url": "https://roadmap.sh/mlops"
+ },
+ {
+ "id": "usMWqZBoyrbkxGv-YHziv",
+ "label": "AI Red Teaming Roadmap",
+ "url": "https://roadmap.sh/ai-red-teaming"
+ },
+ {
+ "id": "BOm0mlohoZzmcooxNYPhr",
+ "label": "Prompt Engineering Roadmap",
+ "url": "https://roadmap.sh/prompt-engineering"
+ }
+ ]
+ },
+ "zIndex": 999,
+ "width": 332,
+ "height": 227,
+ "positionAbsolute": { "x": -158.2278161929031, "y": 12.440044092122179 },
+ "dragging": false,
+ "selectable": true,
+ "focusable": true,
+ "style": { "width": 352, "height": 96 },
+ "measured": { "width": 332, "height": 227 },
+ "resizing": false
+ },
+ {
+ "id": "VPI89s-m885r2YrXjYxdd",
+ "type": "topic",
+ "position": { "x": 232.98246683384076, "y": 119.8447875361903 },
+ "selected": true,
+ "selectable": true,
+ "draggable": true,
+ "deletable": true,
+ "data": {
+ "label": "Basic Backend Development",
+ "style": {
+ "fontSize": 17,
+ "justifyContent": "flex-start",
+ "textAlign": "center"
+ },
+ "oldId": "QtTwecLdvQa8pgELJ6i80"
+ },
+ "zIndex": 999,
+ "width": 270,
+ "height": 49,
+ "style": { "width": 270 },
+ "measured": { "width": 270, "height": 49 },
+ "focusable": true,
+ "dragging": false,
+ "resizing": false
+ },
+ {
+ "id": "McREk2zHOlIrqbGSKbX-J",
+ "type": "topic",
+ "position": { "x": 232.98246683384076, "y": 172.8447875361903 },
+ "selected": true,
+ "selectable": true,
+ "draggable": true,
+ "deletable": true,
+ "data": {
+ "label": "Git and Terminal Usage",
+ "style": {
+ "fontSize": 17,
+ "justifyContent": "flex-start",
+ "textAlign": "center"
+ },
+ "oldId": "QtTwecLdvQa8pgELJ6i80"
+ },
+ "zIndex": 999,
+ "width": 270,
+ "height": 49,
+ "style": { "width": 270 },
+ "measured": { "width": 270, "height": 49 },
+ "focusable": true,
+ "dragging": false,
+ "resizing": false
+ },
+ {
+ "id": "QtTwecLdvQa8pgELJ6i80",
+ "type": "topic",
+ "position": { "x": 232.98246683384076, "y": 225.8447875361903 },
+ "selected": true,
+ "selectable": true,
+ "draggable": true,
+ "deletable": true,
+ "data": {
+ "label": "REST API Knowledge",
+ "style": {
+ "fontSize": 17,
+ "justifyContent": "flex-start",
+ "textAlign": "center"
+ }
+ },
+ "zIndex": 999,
+ "width": 270,
+ "height": 49,
+ "style": { "width": 270 },
+ "measured": { "width": 270, "height": 49 },
+ "focusable": true,
+ "dragging": false,
+ "resizing": true
+ },
+ {
+ "id": "amfuroaEeP1sqhvPN-jgO",
+ "type": "button",
+ "position": { "x": 592.8266896348252, "y": 119.8447875361903 },
+ "selected": true,
+ "selectable": true,
+ "draggable": true,
+ "deletable": true,
+ "data": {
+ "label": "Backend Beginner Roadmap",
+ "style": { "fontSize": 17 },
+ "href": "https://roadmap.sh/backend?r=backend-beginner",
+ "color": "#ffffff",
+ "backgroundColor": "#4036d6",
+ "oldId": "Ynvi5skgC85lgm96V_p42"
+ },
+ "zIndex": 999,
+ "measured": { "width": 272, "height": 49 },
+ "focusable": true,
+ "dragging": false,
+ "width": 272,
+ "height": 49,
+ "resizing": false
+ },
+ {
+ "id": "kA1ggkT-2KI0cEdd3rIcM",
+ "type": "button",
+ "position": { "x": 592.8266896348252, "y": 172.8447875361903 },
+ "selected": true,
+ "selectable": true,
+ "draggable": true,
+ "deletable": true,
+ "data": {
+ "label": "Git and GitHub Roadmap",
+ "style": { "fontSize": 17 },
+ "href": "https://roadmap.sh/git-github?r=git-github-beginner",
+ "color": "#ffffff",
+ "backgroundColor": "#4036d6",
+ "oldId": "Ynvi5skgC85lgm96V_p42"
+ },
+ "zIndex": 999,
+ "measured": { "width": 272, "height": 49 },
+ "focusable": true,
+ "dragging": false,
+ "width": 272,
+ "height": 49,
+ "resizing": false
+ },
+ {
+ "id": "Ynvi5skgC85lgm96V_p42",
+ "type": "button",
+ "position": { "x": 592.8266896348252, "y": 225.8447875361903 },
+ "selected": true,
+ "selectable": true,
+ "draggable": true,
+ "deletable": true,
+ "data": {
+ "label": "API Design Roadmap",
+ "style": { "fontSize": 17 },
+ "href": "https://roadmap.sh/api-design",
+ "color": "#ffffff",
+ "backgroundColor": "#4036d6"
+ },
+ "zIndex": 999,
+ "measured": { "width": 272, "height": 49 },
+ "focusable": true,
+ "dragging": false,
+ "width": 272,
+ "height": 49,
+ "resizing": false
+ },
+ {
+ "id": "imzXXZPt8wNny1oe3-MeN",
+ "type": "label",
+ "position": { "x": 266.48246683384076, "y": 72.34719363208896 },
+ "selected": true,
+ "selectable": true,
+ "draggable": true,
+ "deletable": true,
+ "data": {
+ "label": "Learn the Pre-requisites",
+ "style": { "fontSize": 17 },
+ "href": "",
+ "color": "#000000"
+ },
+ "zIndex": 999,
+ "style": {},
+ "measured": { "width": 203, "height": 38 },
+ "dragging": false,
+ "focusable": true
+ },
+ {
+ "id": "eeU25xBGXtFFisDckfn31",
+ "type": "paragraph",
+ "position": { "x": 262.48246683384076, "y": 349.6813863708485 },
+ "selected": true,
+ "selectable": true,
+ "draggable": true,
+ "deletable": true,
+ "data": {
+ "label": "LLM Fundamentals",
+ "style": {
+ "fontSize": 20,
+ "borderColor": "transparent",
+ "backgroundColor": "transparent",
+ "color": "#000000",
+ "textAlign": "center",
+ "justifyContent": "center",
+ "padding": 16
+ }
+ },
+ "zIndex": 999,
+ "width": 211,
+ "height": 52,
+ "style": {},
+ "measured": { "width": 211, "height": 52 },
+ "dragging": false,
+ "resizing": false,
+ "focusable": true
+ },
+ {
+ "id": "ZF5_5Y5zqa75Ov22JACX6",
+ "type": "topic",
+ "position": { "x": 582.685294294251, "y": 351.1813863708485 },
+ "selected": true,
+ "selectable": true,
+ "draggable": true,
+ "deletable": true,
+ "data": {
+ "label": "Transformer Models and LLMs",
+ "style": {
+ "fontSize": 17,
+ "justifyContent": "flex-start",
+ "textAlign": "center"
+ },
+ "oldId": "MhdWb-tUnvyWe9sj86Eg0"
+ },
+ "zIndex": 999,
+ "width": 284,
+ "height": 49,
+ "style": { "width": 310 },
+ "measured": { "width": 284, "height": 49 },
+ "focusable": true,
+ "dragging": false,
+ "resizing": false
+ },
+ {
+ "id": "fDFxKOTLw6O41OGVmRuyy",
+ "type": "section",
+ "position": { "x": 582.685294294251, "y": 397.28863122380324 },
+ "width": 284,
+ "height": 219,
+ "style": { "width": 219, "height": 183 },
+ "selected": true,
+ "data": {
+ "style": { "backgroundColor": "#ffffff", "borderColor": "#000000" }
+ },
+ "measured": { "width": 284, "height": 219 },
+ "dragging": false,
+ "resizing": false,
+ "selectable": true,
+ "focusable": true
+ },
+ {
+ "id": "JBorUqfR1T7kFzwHfdJm4",
+ "type": "label",
+ "position": { "x": 653.185294294251, "y": 406.2063076021101 },
+ "selected": true,
+ "selectable": true,
+ "draggable": true,
+ "deletable": true,
+ "data": {
+ "label": "Model Mechanis",
+ "style": { "fontSize": 17 },
+ "href": "",
+ "color": "#000000"
+ },
+ "zIndex": 999,
+ "style": {},
+ "measured": { "width": 143, "height": 38 },
+ "dragging": false,
+ "focusable": true
+ },
+ {
+ "id": "GAjuWyJl9CI1nqXBp6XCf",
+ "type": "subtopic",
+ "position": { "x": 595.185294294251, "y": 449.2063076021101 },
+ "selected": true,
+ "selectable": true,
+ "draggable": true,
+ "deletable": true,
+ "data": {
+ "label": "Tokenization",
+ "style": {
+ "fontSize": 17,
+ "justifyContent": "flex-start",
+ "textAlign": "center"
+ }
+ },
+ "zIndex": 999,
+ "width": 259,
+ "height": 49,
+ "style": { "width": 203, "height": 53 },
+ "measured": { "width": 259, "height": 49 },
+ "dragging": false,
+ "resizing": false,
+ "focusable": true
+ },
+ {
+ "id": "dyn1LSioema-Bf9lLTgUZ",
+ "type": "subtopic",
+ "position": { "x": 595.185294294251, "y": 502.20630760211014 },
+ "selected": true,
+ "selectable": true,
+ "draggable": true,
+ "deletable": true,
+ "data": {
+ "label": "Context Windows",
+ "style": {
+ "fontSize": 17,
+ "justifyContent": "flex-start",
+ "textAlign": "center"
+ }
+ },
+ "zIndex": 999,
+ "width": 259,
+ "height": 49,
+ "style": { "width": 203, "height": 53 },
+ "measured": { "width": 259, "height": 49 },
+ "dragging": false,
+ "resizing": false,
+ "focusable": true
+ },
+ {
+ "id": "1fiWPBV99E2YncqdCgUw2",
+ "type": "subtopic",
+ "position": { "x": 595.185294294251, "y": 555.2063076021101 },
+ "selected": true,
+ "selectable": true,
+ "draggable": true,
+ "deletable": true,
+ "data": {
+ "label": "Token Based Pricing",
+ "style": {
+ "fontSize": 17,
+ "justifyContent": "flex-start",
+ "textAlign": "center"
+ }
+ },
+ "zIndex": 999,
+ "width": 259,
+ "height": 49,
+ "style": { "width": 203, "height": 53 },
+ "measured": { "width": 259, "height": 49 },
+ "dragging": false,
+ "resizing": false,
+ "focusable": true
+ },
+ {
+ "id": "W0402lPcZoaTL1OMTED6o",
+ "type": "section",
+ "position": { "x": 581.685294294251, "y": 613.6969577367049 },
+ "width": 285,
+ "height": 333,
+ "style": { "width": 219, "height": 183 },
+ "selected": true,
+ "data": {
+ "style": { "backgroundColor": "#ffffff", "borderColor": "#000000" },
+ "oldId": "fDFxKOTLw6O41OGVmRuyy"
+ },
+ "measured": { "width": 285, "height": 333 },
+ "dragging": false,
+ "resizing": false,
+ "selectable": true,
+ "focusable": true
+ },
+ {
+ "id": "DUOWFOfqpppC9lZZR2_y2",
+ "type": "label",
+ "position": { "x": 639.185294294251, "y": 622.6146341150118 },
+ "selected": true,
+ "selectable": true,
+ "draggable": true,
+ "deletable": true,
+ "data": {
+ "label": "Generation Controls",
+ "style": { "fontSize": 17 },
+ "href": "",
+ "color": "#000000",
+ "oldId": "JBorUqfR1T7kFzwHfdJm4"
+ },
+ "zIndex": 999,
+ "style": {},
+ "measured": { "width": 171, "height": 38 },
+ "dragging": false,
+ "focusable": true
+ },
+ {
+ "id": "L1zL1GzqjSAjF06pIIXhy",
+ "type": "subtopic",
+ "position": { "x": 595.185294294251, "y": 665.6146341150118 },
+ "selected": true,
+ "selectable": true,
+ "draggable": true,
+ "deletable": true,
+ "data": {
+ "label": "Temperature",
+ "style": {
+ "fontSize": 17,
+ "justifyContent": "flex-start",
+ "textAlign": "center"
+ },
+ "oldId": "icbp1NjurQfdM0dHnz6v2"
+ },
+ "zIndex": 999,
+ "width": 136,
+ "height": 49,
+ "style": { "width": 203, "height": 53 },
+ "measured": { "width": 136, "height": 49 },
+ "dragging": false,
+ "resizing": false,
+ "focusable": true
+ },
+ {
+ "id": "z_N-Y0zGkv8_qHPuVtimL",
+ "type": "subtopic",
+ "position": { "x": 595.185294294251, "y": 718.6146341150118 },
+ "selected": true,
+ "selectable": true,
+ "draggable": true,
+ "deletable": true,
+ "data": {
+ "label": "Frequency Penalty",
+ "style": {
+ "fontSize": 17,
+ "justifyContent": "flex-start",
+ "textAlign": "center"
+ },
+ "oldId": "dyn1LSioema-Bf9lLTgUZ"
+ },
+ "zIndex": 999,
+ "width": 259,
+ "height": 49,
+ "style": { "width": 203, "height": 53 },
+ "measured": { "width": 259, "height": 49 },
+ "dragging": false,
+ "resizing": false,
+ "focusable": true
+ },
+ {
+ "id": "Vd8ycw8pW-ZKvg5WYFtoh",
+ "type": "subtopic",
+ "position": { "x": 595.185294294251, "y": 771.6146341150118 },
+ "selected": true,
+ "selectable": true,
+ "draggable": true,
+ "deletable": true,
+ "data": {
+ "label": "Presence Penalty",
+ "style": {
+ "fontSize": 17,
+ "justifyContent": "flex-start",
+ "textAlign": "center"
+ },
+ "oldId": "Bn_BkthrVX_vOuwQzvPZa"
+ },
+ "zIndex": 999,
+ "width": 259,
+ "height": 49,
+ "style": { "width": 203, "height": 53 },
+ "measured": { "width": 259, "height": 49 },
+ "dragging": false,
+ "resizing": false,
+ "focusable": true
+ },
+ {
+ "id": "icbp1NjurQfdM0dHnz6v2",
+ "type": "subtopic",
+ "position": { "x": 736.185294294251, "y": 665.6146341150118 },
+ "selected": true,
+ "selectable": true,
+ "draggable": true,
+ "deletable": true,
+ "data": {
+ "label": "Top-p",
+ "style": {
+ "fontSize": 17,
+ "justifyContent": "flex-start",
+ "textAlign": "center"
+ },
+ "oldId": "GAjuWyJl9CI1nqXBp6XCf"
+ },
+ "zIndex": 999,
+ "width": 117,
+ "height": 49,
+ "style": { "width": 203, "height": 53 },
+ "measured": { "width": 117, "height": 49 },
+ "dragging": false,
+ "resizing": false,
+ "focusable": true
+ },
+ {
+ "id": "K0G-Lw069jXUJwZqHtybd",
+ "type": "subtopic",
+ "position": { "x": 595.185294294251, "y": 824.6146341150118 },
+ "selected": true,
+ "selectable": true,
+ "draggable": true,
+ "deletable": true,
+ "data": {
+ "label": "Stopping Criteria",
+ "style": {
+ "fontSize": 17,
+ "justifyContent": "flex-start",
+ "textAlign": "center"
+ },
+ "oldId": "Bn_BkthrVX_vOuwQzvPZa"
+ },
+ "zIndex": 999,
+ "width": 260,
+ "height": 49,
+ "style": { "width": 203, "height": 53 },
+ "measured": { "width": 260, "height": 49 },
+ "dragging": false,
+ "resizing": false,
+ "focusable": true
+ },
+ {
+ "id": "DSJAhQhc1dQmBHQ8ZkTau",
+ "type": "topic",
+ "position": { "x": 236.86750909294227, "y": 436.17702805928684 },
+ "selected": true,
+ "selectable": true,
+ "draggable": true,
+ "deletable": true,
+ "data": {
+ "label": "Open Weight Models",
+ "style": {
+ "fontSize": 17,
+ "justifyContent": "flex-start",
+ "textAlign": "center",
+ "colorType": "c"
+ },
+ "oldId": "tJYmEDDwK0LtEux-kwp9B"
+ },
+ "zIndex": 999,
+ "width": 262,
+ "height": 53,
+ "style": { "width": 217 },
+ "measured": { "width": 262, "height": 53 },
+ "dragging": false,
+ "focusable": true
+ },
+ {
+ "id": "tJYmEDDwK0LtEux-kwp9B",
+ "type": "topic",
+ "position": { "x": 236.86750909294227, "y": 493.17702805928684 },
+ "selected": true,
+ "selectable": true,
+ "draggable": true,
+ "deletable": true,
+ "data": {
+ "label": "Closed Weight Models",
+ "style": {
+ "fontSize": 17,
+ "justifyContent": "flex-start",
+ "textAlign": "center",
+ "colorType": "c"
+ }
+ },
+ "zIndex": 999,
+ "width": 262,
+ "height": 53,
+ "style": { "width": 217 },
+ "measured": { "width": 262, "height": 53 },
+ "dragging": false,
+ "focusable": true
+ },
+ {
+ "id": "S1KLwzUZastfV9daGbYTk",
+ "type": "horizontal",
+ "position": { "x": 483.685294294251, "y": 625.2837601979952 },
+ "selected": true,
+ "selectable": true,
+ "draggable": true,
+ "deletable": true,
+ "data": {
+ "label": "horizontal node",
+ "style": { "stroke": "#2B78E4", "strokeWidth": 3.75 }
+ },
+ "zIndex": 999,
+ "width": 100,
+ "height": 20,
+ "style": {},
+ "measured": { "width": 100, "height": 20 },
+ "dragging": false,
+ "resizing": false,
+ "focusable": true
+ },
+ {
+ "id": "X8W7EWSJxYiY50sEs38fo",
+ "type": "paragraph",
+ "position": { "x": 236.86750909294227, "y": 608.7837601979952 },
+ "selected": true,
+ "selectable": true,
+ "draggable": true,
+ "deletable": true,
+ "data": {
+ "label": "Model Families and Licences",
+ "style": {
+ "fontSize": 17,
+ "borderColor": "#000000",
+ "backgroundColor": "#ffffff",
+ "color": "#000000",
+ "textAlign": "center",
+ "justifyContent": "center",
+ "padding": 16
+ }
+ },
+ "zIndex": 999,
+ "width": 262,
+ "height": 53,
+ "style": {},
+ "measured": { "width": 262, "height": 53 },
+ "dragging": false,
+ "resizing": false,
+ "focusable": true
+ },
+ {
+ "id": "i2NE6haX9-7mdoV5LQ3Ah",
+ "type": "topic",
+ "position": { "x": -157.99208093839397, "y": 210.31600089748082 },
+ "selected": true,
+ "selectable": true,
+ "draggable": true,
+ "deletable": true,
+ "data": {
+ "label": "Streamed vs Unstreamed Responses",
+ "style": {
+ "fontSize": 17,
+ "justifyContent": "flex-start",
+ "textAlign": "center",
+ "colorType": "c"
+ },
+ "oldId": "B8dzg61TGaknuruBgkEJd"
+ },
+ "zIndex": 999,
+ "width": 332,
+ "height": 53,
+ "style": { "width": 332 },
+ "measured": { "width": 332, "height": 53 },
+ "dragging": false,
+ "focusable": true
+ },
+ {
+ "id": "N3yZfUxphxjiupqGpyaS9",
+ "type": "topic",
+ "position": { "x": -157.99208093839397, "y": 267.3160008974808 },
+ "selected": true,
+ "selectable": true,
+ "draggable": true,
+ "deletable": true,
+ "data": {
+ "label": "Reasoning vs Standard Models",
+ "style": {
+ "fontSize": 17,
+ "justifyContent": "flex-start",
+ "textAlign": "center",
+ "colorType": "c"
+ },
+ "oldId": "B8dzg61TGaknuruBgkEJd"
+ },
+ "zIndex": 999,
+ "width": 332,
+ "height": 53,
+ "style": { "width": 332 },
+ "measured": { "width": 332, "height": 53 },
+ "dragging": false,
+ "focusable": true
+ },
+ {
+ "id": "5OW_6o286mj470ElFyJ_5",
+ "type": "topic",
+ "position": { "x": -157.99208093839397, "y": 324.3160008974808 },
+ "selected": true,
+ "selectable": true,
+ "draggable": true,
+ "deletable": true,
+ "data": {
+ "label": "Fine-tuning vs Prompt Engineering",
+ "style": {
+ "fontSize": 17,
+ "justifyContent": "flex-start",
+ "textAlign": "center",
+ "colorType": "c"
+ },
+ "oldId": "B8dzg61TGaknuruBgkEJd"
+ },
+ "zIndex": 999,
+ "width": 332,
+ "height": 53,
+ "style": { "width": 332 },
+ "measured": { "width": 332, "height": 53 },
+ "dragging": false,
+ "focusable": true
+ },
+ {
+ "id": "UIm54UmICKgep6s8Itcyv",
+ "type": "topic",
+ "position": { "x": -157.99208093839397, "y": 381.3160008974808 },
+ "selected": true,
+ "selectable": true,
+ "draggable": true,
+ "deletable": true,
+ "data": {
+ "label": "Embeddings and Vector Search",
+ "style": {
+ "fontSize": 17,
+ "justifyContent": "flex-start",
+ "textAlign": "center",
+ "colorType": "c"
+ },
+ "oldId": "B8dzg61TGaknuruBgkEJd"
+ },
+ "zIndex": 999,
+ "width": 332,
+ "height": 53,
+ "style": { "width": 332 },
+ "measured": { "width": 332, "height": 53 },
+ "dragging": false,
+ "focusable": true
+ },
+ {
+ "id": "qwVQOwBTLA2yUgRISzC8k",
+ "type": "topic",
+ "position": { "x": -157.99208093839397, "y": 438.3160008974808 },
+ "selected": true,
+ "selectable": true,
+ "draggable": true,
+ "deletable": true,
+ "data": {
+ "label": "Understand the Basics of RAG",
+ "style": {
+ "fontSize": 17,
+ "justifyContent": "flex-start",
+ "textAlign": "center",
+ "colorType": "c"
+ },
+ "oldId": "B8dzg61TGaknuruBgkEJd"
+ },
+ "zIndex": 999,
+ "width": 332,
+ "height": 53,
+ "style": { "width": 332 },
+ "measured": { "width": 332, "height": 53 },
+ "dragging": false,
+ "focusable": true
+ },
+ {
+ "id": "7-EqPC6VDTiFn8DfM7V63",
+ "type": "paragraph",
+ "position": { "x": -117.99208093839397, "y": 608.7837601979952 },
+ "selected": true,
+ "selectable": true,
+ "draggable": true,
+ "deletable": true,
+ "data": {
+ "label": "Understand the Basics",
+ "style": {
+ "fontSize": 17,
+ "borderColor": "#000000",
+ "backgroundColor": "#ffffff",
+ "color": "#000000",
+ "textAlign": "center",
+ "justifyContent": "center",
+ "padding": 16
+ },
+ "oldId": "X8W7EWSJxYiY50sEs38fo"
+ },
+ "zIndex": 999,
+ "width": 252,
+ "height": 53,
+ "style": {},
+ "measured": { "width": 252, "height": 53 },
+ "dragging": false,
+ "resizing": false,
+ "focusable": true
+ },
+ {
+ "id": "B8dzg61TGaknuruBgkEJd",
+ "type": "topic",
+ "position": { "x": -157.99208093839397, "y": 495.31600089748076 },
+ "selected": true,
+ "selectable": true,
+ "draggable": true,
+ "deletable": true,
+ "data": {
+ "label": "Pricing of Common Models",
+ "style": {
+ "fontSize": 17,
+ "justifyContent": "flex-start",
+ "textAlign": "center",
+ "colorType": "c"
+ }
+ },
+ "zIndex": 999,
+ "width": 332,
+ "height": 53,
+ "style": { "width": 332 },
+ "measured": { "width": 332, "height": 53 },
+ "dragging": false,
+ "focusable": true
+ },
+ {
+ "id": "THJQQuiCmKGayd6EdcX9o",
+ "type": "paragraph",
+ "position": { "x": -119.99208093839397, "y": 785.3948629248711 },
+ "selected": true,
+ "selectable": true,
+ "draggable": true,
+ "deletable": true,
+ "data": {
+ "label": "AI Agents 101",
+ "style": {
+ "fontSize": 20,
+ "borderColor": "transparent",
+ "backgroundColor": "transparent",
+ "color": "#000000",
+ "textAlign": "center",
+ "justifyContent": "center",
+ "padding": 16
+ },
+ "oldId": "eeU25xBGXtFFisDckfn31"
+ },
+ "zIndex": 999,
+ "width": 256,
+ "height": 56,
+ "style": {},
+ "measured": { "width": 256, "height": 56 },
+ "dragging": false,
+ "resizing": false,
+ "focusable": true
+ },
+ {
+ "id": "aFZAm44nP5NefX_9TpT0A",
+ "type": "subtopic",
+ "position": { "x": -123.49208093839397, "y": 949.928186295656 },
+ "selected": true,
+ "selectable": true,
+ "draggable": true,
+ "deletable": true,
+ "data": {
+ "label": "What are AI Agents?",
+ "style": {
+ "fontSize": 17,
+ "justifyContent": "flex-start",
+ "textAlign": "center",
+ "colorType": "b"
+ },
+ "oldId": "2zsOUWJQ8e7wnoHmq1icG"
+ },
+ "zIndex": 999,
+ "width": 263,
+ "height": 51,
+ "style": { "width": 332 },
+ "measured": { "width": 263, "height": 51 },
+ "dragging": false,
+ "focusable": true,
+ "resizing": false
+ },
+ {
+ "id": "2zsOUWJQ8e7wnoHmq1icG",
+ "type": "subtopic",
+ "position": { "x": -123.49208093839397, "y": 1004.928186295656 },
+ "selected": true,
+ "selectable": true,
+ "draggable": true,
+ "deletable": true,
+ "data": {
+ "label": "What are Tools?",
+ "style": {
+ "fontSize": 17,
+ "justifyContent": "flex-start",
+ "textAlign": "center",
+ "colorType": "b"
+ }
+ },
+ "zIndex": 999,
+ "width": 263,
+ "height": 49,
+ "style": { "width": 332 },
+ "measured": { "width": 263, "height": 49 },
+ "dragging": false,
+ "focusable": true,
+ "resizing": false
+ },
+ {
+ "id": "Eih4eybuYB3C2So8K0AT3",
+ "type": "topic",
+ "position": { "x": 250.36750909294227, "y": 1002.928186295656 },
+ "selected": true,
+ "selectable": true,
+ "draggable": true,
+ "deletable": true,
+ "data": {
+ "label": "Agent Loop",
+ "style": {
+ "fontSize": 17,
+ "justifyContent": "flex-start",
+ "textAlign": "center"
+ }
+ },
+ "zIndex": 999,
+ "style": {},
+ "measured": { "width": 235, "height": 53 },
+ "focusable": true,
+ "width": 235,
+ "height": 53,
+ "resizing": false,
+ "dragging": false
+ },
+ {
+ "id": "LU76AhCYDjxdBhpMQ4eMU",
+ "type": "subtopic",
+ "position": { "x": 248.86750909294227, "y": 754.9156776926133 },
+ "selected": true,
+ "selectable": true,
+ "draggable": true,
+ "deletable": true,
+ "data": {
+ "label": "Perception / User Input",
+ "style": {
+ "fontSize": 17,
+ "justifyContent": "flex-start",
+ "textAlign": "center"
+ },
+ "oldId": "ZJTrun3jK3zBGOTm1jdMI"
+ },
+ "zIndex": 999,
+ "width": 238,
+ "height": 49,
+ "style": { "width": 233 },
+ "measured": { "width": 238, "height": 49 },
+ "dragging": false,
+ "resizing": false,
+ "focusable": true
+ },
+ {
+ "id": "ycPRgRYR4lEBQr_xxHKnM",
+ "type": "subtopic",
+ "position": { "x": 248.86750909294227, "y": 807.9156776926133 },
+ "selected": true,
+ "selectable": true,
+ "draggable": true,
+ "deletable": true,
+ "data": {
+ "label": "Reason and Plan",
+ "style": {
+ "fontSize": 17,
+ "justifyContent": "flex-start",
+ "textAlign": "center"
+ },
+ "oldId": "ZJTrun3jK3zBGOTm1jdMI"
+ },
+ "zIndex": 999,
+ "width": 238,
+ "height": 49,
+ "style": { "width": 233 },
+ "measured": { "width": 238, "height": 49 },
+ "dragging": false,
+ "resizing": false,
+ "focusable": true
+ },
+ {
+ "id": "sHYd4KsKlmw5Im3nQ19W8",
+ "type": "subtopic",
+ "position": { "x": 248.86750909294227, "y": 860.9156776926133 },
+ "selected": true,
+ "selectable": true,
+ "draggable": true,
+ "deletable": true,
+ "data": {
+ "label": "Acting / Tool Invocation",
+ "style": {
+ "fontSize": 17,
+ "justifyContent": "flex-start",
+ "textAlign": "center"
+ },
+ "oldId": "ZJTrun3jK3zBGOTm1jdMI"
+ },
+ "zIndex": 999,
+ "width": 238,
+ "height": 49,
+ "style": { "width": 233 },
+ "measured": { "width": 238, "height": 49 },
+ "dragging": false,
+ "resizing": false,
+ "focusable": true
+ },
+ {
+ "id": "ZJTrun3jK3zBGOTm1jdMI",
+ "type": "subtopic",
+ "position": { "x": 248.86750909294227, "y": 913.9156776926133 },
+ "selected": true,
+ "selectable": true,
+ "draggable": true,
+ "deletable": true,
+ "data": {
+ "label": "Observation & Reflection",
+ "style": {
+ "fontSize": 17,
+ "justifyContent": "flex-start",
+ "textAlign": "center"
+ }
+ },
+ "zIndex": 999,
+ "width": 238,
+ "height": 49,
+ "style": { "width": 233 },
+ "measured": { "width": 238, "height": 49 },
+ "dragging": false,
+ "resizing": false,
+ "focusable": true
+ },
+ {
+ "id": "wb8zEmsAX7VyNRPe-DHxw",
+ "type": "label",
+ "position": { "x": 212.99392181540966, "y": 760.4156776926133 },
+ "selected": true,
+ "selectable": true,
+ "draggable": true,
+ "deletable": true,
+ "data": {
+ "label": "1",
+ "style": { "fontSize": 17 },
+ "href": "",
+ "color": "#000000"
+ },
+ "zIndex": 999,
+ "style": {},
+ "measured": { "width": 23, "height": 38 },
+ "dragging": false,
+ "focusable": true
+ },
+ {
+ "id": "BkFgVFOtSkuzO0s9EJ3tc",
+ "type": "label",
+ "position": { "x": 211.49392181540966, "y": 813.4156776926133 },
+ "selected": true,
+ "selectable": true,
+ "draggable": true,
+ "deletable": true,
+ "data": {
+ "label": "2",
+ "style": { "fontSize": 17 },
+ "href": "",
+ "color": "#000000",
+ "oldId": "vVshXAzK203UzQkgk2HrP"
+ },
+ "zIndex": 999,
+ "style": {},
+ "measured": { "width": 26, "height": 38 },
+ "dragging": false,
+ "focusable": true
+ },
+ {
+ "id": "kLZToxQ1iv0m5Po1TyLPw",
+ "type": "label",
+ "position": { "x": 211.49392181540966, "y": 919.4156776926133 },
+ "selected": true,
+ "selectable": true,
+ "draggable": true,
+ "deletable": true,
+ "data": {
+ "label": "4",
+ "style": { "fontSize": 17 },
+ "href": "",
+ "color": "#000000"
+ },
+ "zIndex": 999,
+ "style": {},
+ "measured": { "width": 26, "height": 38 },
+ "dragging": false,
+ "focusable": true
+ },
+ {
+ "id": "fBn8SCyMuWS7fRLMJCgSy",
+ "type": "section",
+ "position": { "x": 582.80929781038, "y": 1002.5676406496057 },
+ "width": 284,
+ "height": 328,
+ "style": { "width": 219, "height": 183 },
+ "selected": true,
+ "data": {
+ "style": { "backgroundColor": "#ffffff", "borderColor": "#000000" },
+ "oldId": "fDFxKOTLw6O41OGVmRuyy"
+ },
+ "measured": { "width": 284, "height": 328 },
+ "dragging": false,
+ "resizing": false,
+ "selectable": true,
+ "focusable": true
+ },
+ {
+ "id": "TehqgcNFmS2Iy2TFrAz_r",
+ "type": "label",
+ "position": { "x": 643.30929781038, "y": 1011.4853170279125 },
+ "selected": true,
+ "selectable": true,
+ "draggable": true,
+ "deletable": true,
+ "data": {
+ "label": "Example Usecases",
+ "style": { "fontSize": 17 },
+ "href": "",
+ "color": "#000000",
+ "oldId": "JBorUqfR1T7kFzwHfdJm4"
+ },
+ "zIndex": 999,
+ "style": {},
+ "measured": { "width": 163, "height": 38 },
+ "dragging": false,
+ "focusable": true
+ },
+ {
+ "id": "PPdAutqJF5G60Eg9lYBND",
+ "type": "subtopic",
+ "position": { "x": 595.30929781038, "y": 1054.4853170279125 },
+ "selected": true,
+ "selectable": true,
+ "draggable": true,
+ "deletable": true,
+ "data": {
+ "label": "Personal assistant",
+ "style": {
+ "fontSize": 17,
+ "justifyContent": "flex-start",
+ "textAlign": "center"
+ },
+ "oldId": "GAjuWyJl9CI1nqXBp6XCf"
+ },
+ "zIndex": 999,
+ "width": 259,
+ "height": 49,
+ "style": { "width": 203, "height": 53 },
+ "measured": { "width": 259, "height": 49 },
+ "dragging": false,
+ "resizing": false,
+ "focusable": true
+ },
+ {
+ "id": "PK8w31GlvtmAuU92sHaqr",
+ "type": "subtopic",
+ "position": { "x": 595.30929781038, "y": 1107.4853170279125 },
+ "selected": true,
+ "selectable": true,
+ "draggable": true,
+ "deletable": true,
+ "data": {
+ "label": "Code generation",
+ "style": {
+ "fontSize": 17,
+ "justifyContent": "flex-start",
+ "textAlign": "center"
+ },
+ "oldId": "dyn1LSioema-Bf9lLTgUZ"
+ },
+ "zIndex": 999,
+ "width": 259,
+ "height": 49,
+ "style": { "width": 203, "height": 53 },
+ "measured": { "width": 259, "height": 49 },
+ "dragging": false,
+ "resizing": false,
+ "focusable": true
+ },
+ {
+ "id": "wKYEaPWNsR30TIpHaxSsq",
+ "type": "subtopic",
+ "position": { "x": 595.30929781038, "y": 1160.4853170279125 },
+ "selected": true,
+ "selectable": true,
+ "draggable": true,
+ "deletable": true,
+ "data": {
+ "label": "Data analysis",
+ "style": {
+ "fontSize": 17,
+ "justifyContent": "flex-start",
+ "textAlign": "center"
+ },
+ "oldId": "ok8vN7VtCgyef5x6aoQaL"
+ },
+ "zIndex": 999,
+ "width": 259,
+ "height": 49,
+ "style": { "width": 203, "height": 53 },
+ "measured": { "width": 259, "height": 49 },
+ "dragging": false,
+ "resizing": false,
+ "focusable": true
+ },
+ {
+ "id": "5oLc-235bvKhApxzYFkEc",
+ "type": "subtopic",
+ "position": { "x": 595.30929781038, "y": 1213.4853170279125 },
+ "selected": true,
+ "selectable": true,
+ "draggable": true,
+ "deletable": true,
+ "data": {
+ "label": "Web Scraping / Crawling",
+ "style": {
+ "fontSize": 17,
+ "justifyContent": "flex-start",
+ "textAlign": "center"
+ },
+ "oldId": "ok8vN7VtCgyef5x6aoQaL"
+ },
+ "zIndex": 999,
+ "width": 259,
+ "height": 49,
+ "style": { "width": 203, "height": 53 },
+ "measured": { "width": 259, "height": 49 },
+ "dragging": false,
+ "resizing": false,
+ "focusable": true
+ },
+ {
+ "id": "ok8vN7VtCgyef5x6aoQaL",
+ "type": "subtopic",
+ "position": { "x": 595.30929781038, "y": 1266.4853170279125 },
+ "selected": true,
+ "selectable": true,
+ "draggable": true,
+ "deletable": true,
+ "data": {
+ "label": "NPC / Game AI",
+ "style": {
+ "fontSize": 17,
+ "justifyContent": "flex-start",
+ "textAlign": "center"
+ },
+ "oldId": "1fiWPBV99E2YncqdCgUw2"
+ },
+ "zIndex": 999,
+ "width": 259,
+ "height": 49,
+ "style": { "width": 203, "height": 53 },
+ "measured": { "width": 259, "height": 49 },
+ "dragging": false,
+ "resizing": false,
+ "focusable": true
+ },
+ {
+ "id": "szfDDmz2gnjR2nL6oQIRT",
+ "type": "horizontal",
+ "position": { "x": 483.48246683384076, "y": 1020.4853170279125 },
+ "selected": true,
+ "selectable": true,
+ "draggable": true,
+ "deletable": true,
+ "data": {
+ "label": "horizontal node",
+ "style": { "stroke": "#2B78E4", "strokeWidth": 3.75 }
+ },
+ "zIndex": 999,
+ "width": 99,
+ "height": 20,
+ "style": {},
+ "measured": { "width": 99, "height": 20 },
+ "dragging": false,
+ "resizing": false,
+ "focusable": true
+ },
+ {
+ "id": "vVshXAzK203UzQkgk2HrP",
+ "type": "label",
+ "position": { "x": 209.99392181540966, "y": 866.4156776926133 },
+ "selected": true,
+ "selectable": true,
+ "draggable": true,
+ "deletable": true,
+ "data": {
+ "label": "3",
+ "style": { "fontSize": 17 },
+ "href": "",
+ "color": "#000000"
+ },
+ "zIndex": 999,
+ "style": {},
+ "measured": { "width": 26, "height": 38 },
+ "dragging": false,
+ "focusable": true
+ },
+ {
+ "id": "Bn_BkthrVX_vOuwQzvPZa",
+ "type": "subtopic",
+ "position": { "x": 595.185294294251, "y": 878.6146341150118 },
+ "selected": true,
+ "selectable": true,
+ "draggable": true,
+ "deletable": true,
+ "data": {
+ "label": "Max Length",
+ "style": {
+ "fontSize": 17,
+ "justifyContent": "flex-start",
+ "textAlign": "center"
+ },
+ "oldId": "1fiWPBV99E2YncqdCgUw2"
+ },
+ "zIndex": 999,
+ "width": 260,
+ "height": 49,
+ "style": { "width": 203, "height": 53 },
+ "measured": { "width": 260, "height": 49 },
+ "dragging": false,
+ "resizing": false,
+ "focusable": true
+ },
+ {
+ "id": "tyjeFUjjTGFVXRLOe1Oh1",
+ "type": "paragraph",
+ "position": { "x": 254.86750909294227, "y": 1138.5676406496057 },
+ "selected": true,
+ "selectable": true,
+ "draggable": true,
+ "deletable": true,
+ "data": {
+ "label": "Prompt Engineering",
+ "style": {
+ "fontSize": 20,
+ "borderColor": "transparent",
+ "backgroundColor": "transparent",
+ "color": "#000000",
+ "textAlign": "center",
+ "justifyContent": "center",
+ "padding": 16
+ },
+ "oldId": "THJQQuiCmKGayd6EdcX9o"
+ },
+ "zIndex": 999,
+ "width": 226,
+ "height": 56,
+ "style": {},
+ "measured": { "width": 226, "height": 56 },
+ "dragging": false,
+ "resizing": false,
+ "focusable": true
+ },
+ {
+ "id": "Y8EqzFx3qxtrSh7bWbbV8",
+ "type": "topic",
+ "position": { "x": -137.2455305579661, "y": 1140.0676406496057 },
+ "selected": true,
+ "selectable": true,
+ "draggable": true,
+ "deletable": true,
+ "data": {
+ "label": "What is Prompt Engineering",
+ "style": {
+ "fontSize": 17,
+ "justifyContent": "flex-start",
+ "textAlign": "center"
+ }
+ },
+ "zIndex": 999,
+ "width": 296,
+ "height": 53,
+ "style": {},
+ "measured": { "width": 296, "height": 53 },
+ "dragging": false,
+ "resizing": false,
+ "focusable": true
+ },
+ {
+ "id": "qFKFM2qNPEN7EoD0V-1SM",
+ "type": "subtopic",
+ "position": { "x": -126.06066608698445, "y": 1292.8505644697545 },
+ "selected": true,
+ "selectable": true,
+ "draggable": true,
+ "deletable": true,
+ "data": {
+ "label": "Be specific in what you want",
+ "style": {
+ "fontSize": 17,
+ "justifyContent": "flex-start",
+ "textAlign": "center"
+ }
+ },
+ "zIndex": 999,
+ "width": 275,
+ "height": 49,
+ "style": {},
+ "measured": { "width": 275, "height": 49 },
+ "dragging": false,
+ "resizing": false,
+ "focusable": true
+ },
+ {
+ "id": "6I42CoeWX-kkFXTKAY7rw",
+ "type": "subtopic",
+ "position": { "x": -126.06066608698445, "y": 1345.8505644697545 },
+ "selected": true,
+ "selectable": true,
+ "draggable": true,
+ "deletable": true,
+ "data": {
+ "label": "Provide additional context",
+ "style": {
+ "fontSize": 17,
+ "justifyContent": "flex-start",
+ "textAlign": "center"
+ }
+ },
+ "zIndex": 999,
+ "width": 275,
+ "height": 49,
+ "style": {},
+ "measured": { "width": 275, "height": 49 },
+ "resizing": false,
+ "dragging": false,
+ "focusable": true
+ },
+ {
+ "id": "sUwdtOX550tSdceaeFPmF",
+ "type": "subtopic",
+ "position": { "x": -126.06066608698445, "y": 1398.8505644697545 },
+ "selected": true,
+ "selectable": true,
+ "draggable": true,
+ "deletable": true,
+ "data": {
+ "label": "Use relevant technical terms",
+ "style": {
+ "fontSize": 17,
+ "justifyContent": "flex-start",
+ "textAlign": "center"
+ }
+ },
+ "zIndex": 999,
+ "width": 275,
+ "height": 49,
+ "style": {},
+ "measured": { "width": 275, "height": 49 },
+ "resizing": false,
+ "dragging": false,
+ "focusable": true
+ },
+ {
+ "id": "yulzE4ZNLhXOgHhG7BtZQ",
+ "type": "subtopic",
+ "position": { "x": -126.06066608698445, "y": 1451.8505644697545 },
+ "selected": true,
+ "selectable": true,
+ "draggable": true,
+ "deletable": true,
+ "data": {
+ "label": "Use Examples in your Prompt",
+ "style": {
+ "fontSize": 17,
+ "justifyContent": "flex-start",
+ "textAlign": "center"
+ }
+ },
+ "zIndex": 999,
+ "width": 275,
+ "height": 49,
+ "style": {},
+ "measured": { "width": 275, "height": 49 },
+ "resizing": false,
+ "dragging": false,
+ "focusable": true
+ },
+ {
+ "id": "noTuUFnHSBzn7GKG9UZEi",
+ "type": "subtopic",
+ "position": { "x": -126.06066608698445, "y": 1504.8505644697545 },
+ "selected": true,
+ "selectable": true,
+ "draggable": true,
+ "deletable": true,
+ "data": {
+ "label": "Iterate and Test your Prompts",
+ "style": {
+ "fontSize": 17,
+ "justifyContent": "flex-start",
+ "textAlign": "center"
+ }
+ },
+ "zIndex": 999,
+ "width": 275,
+ "height": 49,
+ "style": {},
+ "measured": { "width": 275, "height": 49 },
+ "resizing": false,
+ "dragging": false,
+ "focusable": true
+ },
+ {
+ "id": "wwHHlEoPAx0TLxbtY6nMA",
+ "type": "subtopic",
+ "position": { "x": -126.06066608698445, "y": 1557.8505644697545 },
+ "selected": true,
+ "selectable": true,
+ "draggable": true,
+ "deletable": true,
+ "data": {
+ "label": "Specify Length, format etc",
+ "style": {
+ "fontSize": 17,
+ "justifyContent": "flex-start",
+ "textAlign": "center"
+ }
+ },
+ "zIndex": 999,
+ "width": 275,
+ "height": 49,
+ "style": {},
+ "measured": { "width": 275, "height": 49 },
+ "dragging": false,
+ "resizing": false,
+ "focusable": true
+ },
+ {
+ "id": "QWpwDrwySbmdDYJaR3UhQ",
+ "type": "label",
+ "position": { "x": -84.49208093839397, "y": 1254.8505644697545 },
+ "selected": true,
+ "selectable": true,
+ "draggable": true,
+ "deletable": true,
+ "data": {
+ "label": "Writing Good Prompts",
+ "style": { "fontSize": 17 },
+ "href": "",
+ "color": "#000000"
+ },
+ "zIndex": 999,
+ "style": {},
+ "measured": { "width": 185, "height": 38 },
+ "dragging": false,
+ "focusable": true
+ },
+ {
+ "id": "wCOn2Lb_RlEKkVvdulRXj",
+ "type": "button",
+ "position": { "x": -137.2455305579661, "y": 1615.0297261117416 },
+ "selected": true,
+ "selectable": true,
+ "draggable": true,
+ "deletable": true,
+ "data": {
+ "label": "Prompt Engineering Roadmap",
+ "style": { "fontSize": 17 },
+ "href": "https://roadmap.sh/prompt-engineering",
+ "color": "#ffffff",
+ "backgroundColor": "#4036d6",
+ "oldId": "Ynvi5skgC85lgm96V_p42"
+ },
+ "zIndex": 999,
+ "measured": { "width": 296, "height": 49 },
+ "focusable": true,
+ "dragging": false,
+ "width": 296,
+ "height": 49,
+ "resizing": false
+ },
+ {
+ "id": "nlVToD-pmbBV2ikgrCQiO",
+ "type": "paragraph",
+ "position": { "x": 253.26555040271785, "y": 1245.8505644697545 },
+ "selected": true,
+ "selectable": true,
+ "draggable": true,
+ "deletable": true,
+ "data": {
+ "label": "Tools / Actions",
+ "style": {
+ "fontSize": 20,
+ "borderColor": "transparent",
+ "backgroundColor": "transparent",
+ "color": "#000000",
+ "textAlign": "center",
+ "justifyContent": "center",
+ "padding": 16
+ },
+ "oldId": "tyjeFUjjTGFVXRLOe1Oh1"
+ },
+ "zIndex": 999,
+ "width": 227,
+ "height": 56,
+ "style": {},
+ "measured": { "width": 227, "height": 56 },
+ "dragging": false,
+ "resizing": false,
+ "focusable": true
+ },
+ {
+ "id": "R1zdRA3UqlLOjfSw9Swx_",
+ "type": "horizontal",
+ "position": { "x": 158.7544694420339, "y": 1263.8505644697545 },
+ "selected": true,
+ "selectable": true,
+ "draggable": true,
+ "deletable": true,
+ "data": {
+ "label": "horizontal node",
+ "style": { "stroke": "#2B78E4", "strokeWidth": 3.75 }
+ },
+ "zIndex": 999,
+ "width": 106,
+ "height": 20,
+ "style": {},
+ "measured": { "width": 106, "height": 20 },
+ "dragging": false,
+ "resizing": false,
+ "focusable": true
+ },
+ {
+ "id": "qakbxB8xe7Y8gejC5cZnK",
+ "type": "topic",
+ "position": { "x": 247.76555040271785, "y": 1372.6068144540936 },
+ "selected": true,
+ "selectable": true,
+ "draggable": true,
+ "deletable": true,
+ "data": {
+ "label": "Tool Definition",
+ "style": {
+ "fontSize": 17,
+ "justifyContent": "flex-start",
+ "textAlign": "center"
+ },
+ "oldId": "Y8EqzFx3qxtrSh7bWbbV8"
+ },
+ "zIndex": 999,
+ "width": 238,
+ "height": 49,
+ "style": {},
+ "measured": { "width": 238, "height": 49 },
+ "dragging": false,
+ "resizing": false,
+ "focusable": true
+ },
+ {
+ "id": "VpAF2EGz8HtnE-Xt3hzpf",
+ "type": "label",
+ "position": { "x": 266.26555040271785, "y": 1432.5238284556976 },
+ "selected": true,
+ "selectable": true,
+ "draggable": true,
+ "deletable": true,
+ "data": {
+ "label": "Name and Description",
+ "style": { "fontSize": 17 },
+ "href": "",
+ "color": "#000000"
+ },
+ "zIndex": 999,
+ "style": {},
+ "measured": { "width": 189, "height": 38 },
+ "dragging": false,
+ "focusable": true
+ },
+ {
+ "id": "0MUgaZi5vHHnhYYiXsIdX",
+ "type": "label",
+ "position": { "x": 266.26555040271785, "y": 1457.5238284556976 },
+ "selected": true,
+ "selectable": true,
+ "draggable": true,
+ "deletable": true,
+ "data": {
+ "label": "Input / Output Schema",
+ "style": { "fontSize": 17 },
+ "href": "",
+ "color": "#000000"
+ },
+ "zIndex": 999,
+ "style": {},
+ "measured": { "width": 191, "height": 38 },
+ "dragging": false,
+ "focusable": true
+ },
+ {
+ "id": "ehSLDOPK-mndL9CXF60s5",
+ "type": "label",
+ "position": { "x": 266.26555040271785, "y": 1482.5238284556976 },
+ "selected": true,
+ "selectable": true,
+ "draggable": true,
+ "deletable": true,
+ "data": {
+ "label": "Error Handling",
+ "style": { "fontSize": 17 },
+ "href": "",
+ "color": "#000000"
+ },
+ "zIndex": 999,
+ "style": {},
+ "measured": { "width": 128, "height": 38 },
+ "dragging": false,
+ "focusable": true
+ },
+ {
+ "id": "5Tu6zdcNbotuhVAwTYeh_",
+ "type": "label",
+ "position": { "x": 266.26555040271785, "y": 1507.5238284556976 },
+ "selected": true,
+ "selectable": true,
+ "draggable": true,
+ "deletable": true,
+ "data": {
+ "label": "Usage Examples",
+ "style": { "fontSize": 17 },
+ "href": "",
+ "color": "#000000"
+ },
+ "zIndex": 999,
+ "style": {},
+ "measured": { "width": 145, "height": 38 },
+ "dragging": false,
+ "focusable": true
+ },
+ {
+ "id": "gAGw6nEhIY9O5yYmfHTmv",
+ "type": "section",
+ "position": { "x": 587.1975456690336, "y": 1375.1120497334348 },
+ "width": 283,
+ "height": 377,
+ "style": { "width": 219, "height": 183 },
+ "selected": true,
+ "data": {
+ "style": { "backgroundColor": "#ffffff", "borderColor": "#000000" },
+ "oldId": "fBn8SCyMuWS7fRLMJCgSy"
+ },
+ "measured": { "width": 283, "height": 377 },
+ "dragging": false,
+ "resizing": false,
+ "selectable": true,
+ "focusable": true
+ },
+ {
+ "id": "7AhPsyz0KfJkbn5THLOvb",
+ "type": "label",
+ "position": { "x": 651.1975456690336, "y": 1384.0297261117416 },
+ "selected": true,
+ "selectable": true,
+ "draggable": true,
+ "deletable": true,
+ "data": {
+ "label": "Examples of Tools",
+ "style": { "fontSize": 17 },
+ "href": "",
+ "color": "#000000",
+ "oldId": "TehqgcNFmS2Iy2TFrAz_r"
+ },
+ "zIndex": 999,
+ "style": {},
+ "measured": { "width": 154, "height": 38 },
+ "dragging": false,
+ "focusable": true
+ },
+ {
+ "id": "kBtqT8AduLoYDWopj-V9_",
+ "type": "subtopic",
+ "position": { "x": 598.6975456690336, "y": 1427.0297261117416 },
+ "selected": true,
+ "selectable": true,
+ "draggable": true,
+ "deletable": true,
+ "data": {
+ "label": "Web Search",
+ "style": {
+ "fontSize": 17,
+ "justifyContent": "flex-start",
+ "textAlign": "center"
+ },
+ "oldId": "PPdAutqJF5G60Eg9lYBND"
+ },
+ "zIndex": 999,
+ "width": 259,
+ "height": 49,
+ "style": { "width": 203, "height": 53 },
+ "measured": { "width": 259, "height": 49 },
+ "dragging": false,
+ "resizing": false,
+ "focusable": true
+ },
+ {
+ "id": "mS0EVCkWuPN_GkVPng4A2",
+ "type": "subtopic",
+ "position": { "x": 598.6975456690336, "y": 1480.0297261117416 },
+ "selected": true,
+ "selectable": true,
+ "draggable": true,
+ "deletable": true,
+ "data": {
+ "label": "Code Execution / REPL",
+ "style": {
+ "fontSize": 17,
+ "justifyContent": "flex-start",
+ "textAlign": "center"
+ },
+ "oldId": "PK8w31GlvtmAuU92sHaqr"
+ },
+ "zIndex": 999,
+ "width": 259,
+ "height": 49,
+ "style": { "width": 203, "height": 53 },
+ "measured": { "width": 259, "height": 49 },
+ "dragging": false,
+ "resizing": false,
+ "focusable": true
+ },
+ {
+ "id": "sV1BnA2-qBnXoKpUn-8Ub",
+ "type": "subtopic",
+ "position": { "x": 598.6975456690336, "y": 1533.0297261117416 },
+ "selected": true,
+ "selectable": true,
+ "draggable": true,
+ "deletable": true,
+ "data": {
+ "label": "Database Queries",
+ "style": {
+ "fontSize": 17,
+ "justifyContent": "flex-start",
+ "textAlign": "center"
+ },
+ "oldId": "wKYEaPWNsR30TIpHaxSsq"
+ },
+ "zIndex": 999,
+ "width": 259,
+ "height": 49,
+ "style": { "width": 203, "height": 53 },
+ "measured": { "width": 259, "height": 49 },
+ "dragging": false,
+ "resizing": false,
+ "focusable": true
+ },
+ {
+ "id": "52qxjZILV-X1isup6dazC",
+ "type": "subtopic",
+ "position": { "x": 598.6975456690336, "y": 1586.0297261117416 },
+ "selected": true,
+ "selectable": true,
+ "draggable": true,
+ "deletable": true,
+ "data": {
+ "label": "API Requests",
+ "style": {
+ "fontSize": 17,
+ "justifyContent": "flex-start",
+ "textAlign": "center"
+ },
+ "oldId": "5oLc-235bvKhApxzYFkEc"
+ },
+ "zIndex": 999,
+ "width": 259,
+ "height": 49,
+ "style": { "width": 203, "height": 53 },
+ "measured": { "width": 259, "height": 49 },
+ "dragging": false,
+ "resizing": false,
+ "focusable": true
+ },
+ {
+ "id": "qaNr5I-NQPnfrRH7ynGTl",
+ "type": "subtopic",
+ "position": { "x": 598.6975456690336, "y": 1639.0297261117416 },
+ "selected": true,
+ "selectable": true,
+ "draggable": true,
+ "deletable": true,
+ "data": {
+ "label": "Email / Slack / SMS",
+ "style": {
+ "fontSize": 17,
+ "justifyContent": "flex-start",
+ "textAlign": "center"
+ },
+ "oldId": "BoJqZvdGam4cd6G6yK2IV"
+ },
+ "zIndex": 999,
+ "width": 259,
+ "height": 49,
+ "style": { "width": 203, "height": 53 },
+ "measured": { "width": 259, "height": 49 },
+ "dragging": false,
+ "resizing": false,
+ "focusable": true
+ },
+ {
+ "id": "BoJqZvdGam4cd6G6yK2IV",
+ "type": "subtopic",
+ "position": { "x": 598.6975456690336, "y": 1692.0297261117416 },
+ "selected": true,
+ "selectable": true,
+ "draggable": true,
+ "deletable": true,
+ "data": {
+ "label": "File System Access",
+ "style": {
+ "fontSize": 17,
+ "justifyContent": "flex-start",
+ "textAlign": "center"
+ },
+ "oldId": "ok8vN7VtCgyef5x6aoQaL"
+ },
+ "zIndex": 999,
+ "width": 259,
+ "height": 49,
+ "style": { "width": 203, "height": 53 },
+ "measured": { "width": 259, "height": 49 },
+ "dragging": false,
+ "resizing": false,
+ "focusable": true
+ },
+ {
+ "id": "9hKOwIyy5JP5IX_J2a2So",
+ "type": "horizontal",
+ "position": { "x": 483.76555040271785, "y": 1387.1068144540936 },
+ "selected": true,
+ "selectable": true,
+ "draggable": true,
+ "deletable": true,
+ "data": {
+ "label": "horizontal node",
+ "style": { "stroke": "#2B78E4", "strokeWidth": 3.75 }
+ },
+ "zIndex": 999,
+ "width": 104,
+ "height": 20,
+ "style": {},
+ "measured": { "width": 104, "height": 20 },
+ "dragging": false,
+ "resizing": false,
+ "focusable": true
+ },
+ {
+ "id": "uMTuTzTcwMBwttBoHuEtr",
+ "type": "paragraph",
+ "position": { "x": 288.35088070462893, "y": 1897.400354280238 },
+ "selected": true,
+ "selectable": true,
+ "draggable": true,
+ "deletable": true,
+ "data": {
+ "label": "Agent Memory",
+ "style": {
+ "fontSize": 20,
+ "borderColor": "transparent",
+ "backgroundColor": "transparent",
+ "color": "#000000",
+ "textAlign": "center",
+ "justifyContent": "center",
+ "padding": 16
+ },
+ "oldId": "nlVToD-pmbBV2ikgrCQiO"
+ },
+ "zIndex": 999,
+ "width": 180,
+ "height": 53,
+ "style": {},
+ "measured": { "width": 180, "height": 53 },
+ "dragging": false,
+ "resizing": false,
+ "focusable": true
+ },
+ {
+ "id": "Rjuzmgb1AHnm18qNwbRhQ",
+ "type": "horizontal",
+ "position": { "x": 441.1975456690336, "y": 1625.0297261117416 },
+ "selected": true,
+ "selectable": true,
+ "draggable": true,
+ "deletable": true,
+ "data": {
+ "label": "horizontal node",
+ "style": { "stroke": "#2B78E4", "strokeWidth": 3.75 }
+ },
+ "zIndex": 999,
+ "width": 146,
+ "height": 20,
+ "style": {},
+ "measured": { "width": 146, "height": 20 },
+ "dragging": false,
+ "resizing": false,
+ "focusable": true
+ },
+ {
+ "id": "TBH_DZTAfR8Daoh-njNFC",
+ "type": "topic",
+ "position": { "x": 632.80929781038, "y": 1813.1210935853253 },
+ "selected": true,
+ "selectable": true,
+ "draggable": true,
+ "deletable": true,
+ "data": {
+ "label": "What is Agent Memory?",
+ "style": {
+ "fontSize": 17,
+ "justifyContent": "flex-start",
+ "textAlign": "center"
+ },
+ "oldId": "M3U6RfIqaiut2nuOibY8W"
+ },
+ "zIndex": 999,
+ "width": 234,
+ "height": 49,
+ "style": {},
+ "measured": { "width": 234, "height": 49 },
+ "dragging": false,
+ "resizing": false,
+ "focusable": true
+ },
+ {
+ "id": "M3U6RfIqaiut2nuOibY8W",
+ "type": "topic",
+ "position": { "x": 647.0988844716816, "y": 2000.5257670010978 },
+ "selected": true,
+ "selectable": true,
+ "draggable": true,
+ "deletable": true,
+ "data": {
+ "label": "Short Term Memory",
+ "style": {
+ "fontSize": 17,
+ "justifyContent": "flex-start",
+ "textAlign": "center",
+ "colorType": "c"
+ }
+ },
+ "zIndex": 999,
+ "width": 233,
+ "height": 49,
+ "style": {},
+ "measured": { "width": 233, "height": 49 },
+ "dragging": false,
+ "resizing": false,
+ "focusable": true
+ },
+ {
+ "id": "Ue633fz6Xu2wa2-KOAtdP",
+ "type": "topic",
+ "position": { "x": 647.5988844716816, "y": 2092.525767001098 },
+ "selected": true,
+ "selectable": true,
+ "draggable": true,
+ "deletable": true,
+ "data": {
+ "label": "Long Term Memory",
+ "style": {
+ "fontSize": 17,
+ "justifyContent": "flex-start",
+ "textAlign": "center",
+ "colorType": "c"
+ },
+ "oldId": "M3U6RfIqaiut2nuOibY8W"
+ },
+ "zIndex": 999,
+ "width": 232,
+ "height": 54,
+ "style": {},
+ "measured": { "width": 232, "height": 54 },
+ "dragging": false,
+ "resizing": false,
+ "focusable": true
+ },
+ {
+ "id": "UcfPT2eIDT8peU0P8mere",
+ "type": "label",
+ "position": { "x": 702.0988844716816, "y": 2054.525767001098 },
+ "selected": true,
+ "selectable": true,
+ "draggable": true,
+ "deletable": true,
+ "data": {
+ "label": "Within Prompt",
+ "style": { "fontSize": 17 },
+ "href": "",
+ "color": "#000000"
+ },
+ "zIndex": 999,
+ "style": {},
+ "measured": { "width": 123, "height": 38 },
+ "dragging": false,
+ "focusable": true
+ },
+ {
+ "id": "gLACXg46Uxaa1bbL8B8K1",
+ "type": "label",
+ "position": { "x": 654.0988844716816, "y": 2151.525767001098 },
+ "selected": true,
+ "selectable": true,
+ "draggable": true,
+ "deletable": true,
+ "data": {
+ "label": "Vector DB / SQL / Custom",
+ "style": { "fontSize": 17 },
+ "href": "",
+ "color": "#000000",
+ "oldId": "UcfPT2eIDT8peU0P8mere"
+ },
+ "zIndex": 999,
+ "style": {},
+ "measured": { "width": 219, "height": 38 },
+ "dragging": false,
+ "focusable": true
+ },
+ {
+ "id": "zx2EMzU0tWyKo73Ebope9",
+ "type": "horizontal",
+ "position": { "x": 532.0988844716816, "y": 2023.1355435052951 },
+ "selected": true,
+ "selectable": true,
+ "draggable": true,
+ "deletable": true,
+ "data": {
+ "label": "horizontal node",
+ "style": { "stroke": "#2B78E4", "strokeWidth": 3.75 },
+ "oldId": "NI3gC3eiPXDkirpD7sk10"
+ },
+ "zIndex": 999,
+ "width": 104,
+ "height": 20,
+ "style": {},
+ "measured": { "width": 104, "height": 20 },
+ "dragging": false,
+ "resizing": false,
+ "focusable": true
+ },
+ {
+ "id": "EfCCNqLMJpWKKtamUa5gK",
+ "type": "topic",
+ "position": { "x": 279.48246683384076, "y": 2008.6355435052951 },
+ "selected": true,
+ "selectable": true,
+ "draggable": true,
+ "deletable": true,
+ "data": {
+ "label": "Episodic vs Semantic Memory",
+ "style": {
+ "fontSize": 17,
+ "justifyContent": "flex-start",
+ "textAlign": "center"
+ }
+ },
+ "zIndex": 999,
+ "style": {},
+ "measured": { "width": 277, "height": 49 },
+ "focusable": true,
+ "dragging": false,
+ "width": 277,
+ "height": 49,
+ "resizing": false
+ },
+ {
+ "id": "T2vksVGCRajcwy_WRe2Yf",
+ "type": "section",
+ "position": { "x": -136.69306946933528, "y": 2004.4105696858578 },
+ "width": 300,
+ "height": 276,
+ "style": { "width": 219, "height": 183 },
+ "selected": true,
+ "data": {
+ "style": { "backgroundColor": "#ffffff", "borderColor": "#000000" },
+ "oldId": "gAGw6nEhIY9O5yYmfHTmv"
+ },
+ "measured": { "width": 300, "height": 276 },
+ "dragging": false,
+ "resizing": false,
+ "selectable": true,
+ "focusable": true
+ },
+ {
+ "id": "CEZcNlJeX6Gb4F1bZNS_X",
+ "type": "label",
+ "position": { "x": -73.19306946933528, "y": 2013.328246064165 },
+ "selected": true,
+ "selectable": true,
+ "draggable": true,
+ "deletable": true,
+ "data": {
+ "label": "Maintaining Memory",
+ "style": { "fontSize": 17 },
+ "href": "",
+ "color": "#000000",
+ "oldId": "7AhPsyz0KfJkbn5THLOvb"
+ },
+ "zIndex": 999,
+ "style": {},
+ "measured": { "width": 173, "height": 38 },
+ "dragging": false,
+ "focusable": true
+ },
+ {
+ "id": "wkS4yOJ3JdZQE_yBID8K7",
+ "type": "subtopic",
+ "position": { "x": -125.69306946933528, "y": 2056.328246064165 },
+ "selected": true,
+ "selectable": true,
+ "draggable": true,
+ "deletable": true,
+ "data": {
+ "label": "RAG and Vector Databases",
+ "style": {
+ "fontSize": 17,
+ "justifyContent": "flex-start",
+ "textAlign": "center"
+ },
+ "oldId": "kBtqT8AduLoYDWopj-V9_"
+ },
+ "zIndex": 999,
+ "width": 278,
+ "height": 49,
+ "style": { "width": 203, "height": 53 },
+ "measured": { "width": 278, "height": 49 },
+ "dragging": false,
+ "resizing": false,
+ "focusable": true
+ },
+ {
+ "id": "QJqXHV8VHPTnfYfmKPzW7",
+ "type": "subtopic",
+ "position": { "x": -125.69306946933528, "y": 2109.328246064165 },
+ "selected": true,
+ "selectable": true,
+ "draggable": true,
+ "deletable": true,
+ "data": {
+ "label": "User Profile Storage",
+ "style": {
+ "fontSize": 17,
+ "justifyContent": "flex-start",
+ "textAlign": "center"
+ },
+ "oldId": "mS0EVCkWuPN_GkVPng4A2"
+ },
+ "zIndex": 999,
+ "width": 278,
+ "height": 49,
+ "style": { "width": 203, "height": 53 },
+ "measured": { "width": 278, "height": 49 },
+ "dragging": false,
+ "resizing": false,
+ "focusable": true
+ },
+ {
+ "id": "jTDC19BTWCqxqMizrIJHr",
+ "type": "subtopic",
+ "position": { "x": -125.69306946933528, "y": 2162.328246064165 },
+ "selected": true,
+ "selectable": true,
+ "draggable": true,
+ "deletable": true,
+ "data": {
+ "label": "Summarization / Compression",
+ "style": {
+ "fontSize": 17,
+ "justifyContent": "flex-start",
+ "textAlign": "center"
+ },
+ "oldId": "sV1BnA2-qBnXoKpUn-8Ub"
+ },
+ "zIndex": 999,
+ "width": 278,
+ "height": 49,
+ "style": { "width": 203, "height": 53 },
+ "measured": { "width": 278, "height": 49 },
+ "dragging": false,
+ "resizing": false,
+ "focusable": true
+ },
+ {
+ "id": "m-97m7SI0XpBnhEE8-_1S",
+ "type": "subtopic",
+ "position": { "x": -125.69306946933528, "y": 2215.328246064165 },
+ "selected": true,
+ "selectable": true,
+ "draggable": true,
+ "deletable": true,
+ "data": {
+ "label": "Forgetting / Aging Strategies",
+ "style": {
+ "fontSize": 17,
+ "justifyContent": "flex-start",
+ "textAlign": "center"
+ },
+ "oldId": "52qxjZILV-X1isup6dazC"
+ },
+ "zIndex": 999,
+ "width": 278,
+ "height": 49,
+ "style": { "width": 203, "height": 53 },
+ "measured": { "width": 278, "height": 49 },
+ "dragging": false,
+ "resizing": false,
+ "focusable": true
+ },
+ {
+ "id": "SU8HwGaDiRCho5I_pBl3N",
+ "type": "paragraph",
+ "position": { "x": 289.47614503814657, "y": 2118.910569685858 },
+ "selected": true,
+ "selectable": true,
+ "draggable": true,
+ "deletable": true,
+ "data": {
+ "label": "Agent Architectures",
+ "style": {
+ "fontSize": 20,
+ "borderColor": "transparent",
+ "backgroundColor": "transparent",
+ "color": "#000000",
+ "textAlign": "center",
+ "justifyContent": "center",
+ "padding": 16
+ },
+ "oldId": "uMTuTzTcwMBwttBoHuEtr"
+ },
+ "zIndex": 999,
+ "width": 216,
+ "style": {},
+ "measured": { "width": 216, "height": 47 },
+ "dragging": false,
+ "resizing": false,
+ "focusable": true,
+ "height": 47
+ },
+ {
+ "id": "53xDks6JQ33fHMa3XcuCd",
+ "type": "topic",
+ "position": { "x": 281.97614503814657, "y": 2321.4170226331694 },
+ "selected": true,
+ "selectable": true,
+ "draggable": true,
+ "deletable": true,
+ "data": {
+ "label": "ReAct (Reason + Act)",
+ "style": {
+ "fontSize": 17,
+ "justifyContent": "flex-start",
+ "textAlign": "center",
+ "colorType": "c"
+ },
+ "oldId": "hj1adjkG9nalXKZ-Youn0"
+ },
+ "zIndex": 999,
+ "style": { "width": 231 },
+ "measured": { "width": 231, "height": 49 },
+ "focusable": true,
+ "dragging": false,
+ "width": 231,
+ "height": 49,
+ "resizing": false
+ },
+ {
+ "id": "1B0IqRNYdtbHDi1jHSXuI",
+ "type": "topic",
+ "position": { "x": 234.98246683384076, "y": 1610.5297261117416 },
+ "selected": true,
+ "selectable": true,
+ "draggable": true,
+ "deletable": true,
+ "data": {
+ "label": "Model Context Protocol (MCP)",
+ "style": {
+ "fontSize": 17,
+ "justifyContent": "flex-start",
+ "textAlign": "center"
+ },
+ "oldId": "qakbxB8xe7Y8gejC5cZnK"
+ },
+ "zIndex": 999,
+ "width": 286,
+ "height": 49,
+ "style": {},
+ "measured": { "width": 286, "height": 49 },
+ "dragging": false,
+ "resizing": false,
+ "focusable": true
+ },
+ {
+ "id": "9FryAIrWRHh8YlzKX3et5",
+ "type": "subtopic",
+ "position": { "x": 243.97212622056713, "y": 1764.1210935853253 },
+ "selected": true,
+ "selectable": true,
+ "draggable": true,
+ "deletable": true,
+ "data": {
+ "label": "MCP Hosts",
+ "style": {
+ "fontSize": 17,
+ "justifyContent": "flex-start",
+ "textAlign": "center"
+ }
+ },
+ "zIndex": 999,
+ "width": 133,
+ "height": 49,
+ "style": { "width": 146 },
+ "measured": { "width": 133, "height": 49 },
+ "dragging": false,
+ "focusable": true,
+ "resizing": false
+ },
+ {
+ "id": "CGVstUxVXLJcYZrwk3iNQ",
+ "type": "subtopic",
+ "position": { "x": 381.9824668338408, "y": 1764.1210935853253 },
+ "selected": true,
+ "selectable": true,
+ "draggable": true,
+ "deletable": true,
+ "data": {
+ "label": "MCP Client",
+ "style": {
+ "fontSize": 17,
+ "justifyContent": "flex-start",
+ "textAlign": "center"
+ }
+ },
+ "zIndex": 999,
+ "width": 132,
+ "height": 49,
+ "style": { "width": 146 },
+ "measured": { "width": 132, "height": 49 },
+ "dragging": false,
+ "focusable": true,
+ "resizing": false
+ },
+ {
+ "id": "yv_-87FVM7WKn5iv6LW9q",
+ "type": "subtopic",
+ "position": { "x": 242.97212622056713, "y": 1818 },
+ "selected": true,
+ "selectable": true,
+ "draggable": true,
+ "deletable": true,
+ "data": {
+ "label": "MCP Servers",
+ "style": {
+ "fontSize": 17,
+ "justifyContent": "flex-start",
+ "textAlign": "center"
+ }
+ },
+ "zIndex": 999,
+ "width": 271,
+ "height": 49,
+ "style": { "width": 146 },
+ "measured": { "width": 271, "height": 49 },
+ "dragging": false,
+ "focusable": true,
+ "resizing": false
+ },
+ {
+ "id": "gAPRLPQFVHuB9rBW5-IRG",
+ "type": "label",
+ "position": { "x": 300.35088070462893, "y": 1721.2407354438553 },
+ "selected": true,
+ "selectable": true,
+ "draggable": true,
+ "deletable": true,
+ "data": {
+ "label": "Core Components",
+ "style": { "fontSize": 17 },
+ "href": "",
+ "color": "#000000"
+ },
+ "zIndex": 999,
+ "style": {},
+ "measured": { "width": 156, "height": 38 },
+ "dragging": false,
+ "focusable": true
+ },
+ {
+ "id": "1NXIN-Hbjl5rPy_mqxQYW",
+ "type": "topic",
+ "position": { "x": -103.7455305579661, "y": 1711.2407354438553 },
+ "selected": true,
+ "selectable": true,
+ "draggable": true,
+ "deletable": true,
+ "data": {
+ "label": "Creating MCP Servers",
+ "style": {
+ "fontSize": 17,
+ "justifyContent": "flex-start",
+ "textAlign": "center"
+ }
+ },
+ "zIndex": 999,
+ "width": 229,
+ "height": 49,
+ "style": {},
+ "measured": { "width": 229, "height": 49 },
+ "dragging": false,
+ "resizing": false,
+ "focusable": true
+ },
+ {
+ "id": "CppUUpbDy6j0_wjd94qgO",
+ "type": "label",
+ "position": { "x": -71.7455305579661, "y": 1813.6702232480886 },
+ "selected": true,
+ "selectable": true,
+ "draggable": true,
+ "deletable": true,
+ "data": {
+ "label": "Deployment Modes",
+ "style": { "fontSize": 17 },
+ "href": "",
+ "color": "#000000"
+ },
+ "zIndex": 999,
+ "style": {},
+ "measured": { "width": 165, "height": 38 },
+ "focusable": true,
+ "dragging": false
+ },
+ {
+ "id": "iBtJp24F_kJE3YlBsW60s",
+ "type": "subtopic",
+ "position": { "x": -91.2455305579661, "y": 1858.6163326459773 },
+ "selected": true,
+ "selectable": true,
+ "draggable": true,
+ "deletable": true,
+ "data": {
+ "label": "Local Desktop",
+ "style": {
+ "fontSize": 17,
+ "justifyContent": "flex-start",
+ "textAlign": "center"
+ },
+ "oldId": "dHNMX3_t1KSDdAWqgdJXv"
+ },
+ "zIndex": 999,
+ "style": { "width": 183 },
+ "measured": { "width": 204, "height": 49 },
+ "dragging": false,
+ "focusable": true,
+ "width": 204,
+ "height": 49,
+ "resizing": false
+ },
+ {
+ "id": "dHNMX3_t1KSDdAWqgdJXv",
+ "type": "subtopic",
+ "position": { "x": -91.2455305579661, "y": 1911.6163326459773 },
+ "selected": true,
+ "selectable": true,
+ "draggable": true,
+ "deletable": true,
+ "data": {
+ "label": "Remote / Cloud",
+ "style": {
+ "fontSize": 17,
+ "justifyContent": "flex-start",
+ "textAlign": "center"
+ }
+ },
+ "zIndex": 999,
+ "style": { "width": 183 },
+ "measured": { "width": 204, "height": 49 },
+ "dragging": false,
+ "focusable": true,
+ "width": 204,
+ "height": 49,
+ "resizing": false
+ },
+ {
+ "id": "8ym1jwJfLUnj4uimn5HFR",
+ "type": "horizontal",
+ "position": { "x": 125.2544694420339, "y": 1913.900354280238 },
+ "selected": true,
+ "selectable": true,
+ "draggable": true,
+ "deletable": true,
+ "data": {
+ "label": "horizontal node",
+ "style": { "stroke": "#2B78E4", "strokeWidth": 3.75 },
+ "oldId": "t1SqlX1PhIL2cTc0h4fXQ"
+ },
+ "zIndex": 999,
+ "width": 165,
+ "height": 20,
+ "style": {},
+ "measured": { "width": 165, "height": 20 },
+ "dragging": false,
+ "resizing": false,
+ "focusable": true
+ },
+ {
+ "id": "t1SqlX1PhIL2cTc0h4fXQ",
+ "type": "horizontal",
+ "position": { "x": 467.3290815371215, "y": 1913.900354280238 },
+ "selected": true,
+ "selectable": true,
+ "draggable": true,
+ "deletable": true,
+ "data": {
+ "label": "horizontal node",
+ "style": { "stroke": "#2B78E4", "strokeWidth": 3.75 }
+ },
+ "zIndex": 999,
+ "width": 253,
+ "height": 20,
+ "style": {},
+ "measured": { "width": 253, "height": 20 },
+ "dragging": false,
+ "resizing": false,
+ "focusable": true
+ },
+ {
+ "id": "qwdh5pkBbrF8LKPxbZp4F",
+ "type": "topic",
+ "position": { "x": 281.97614503814657, "y": 2374.4170226331694 },
+ "selected": true,
+ "selectable": true,
+ "draggable": true,
+ "deletable": true,
+ "data": {
+ "label": "Chain of Thought (CoT)",
+ "style": {
+ "fontSize": 17,
+ "justifyContent": "flex-start",
+ "textAlign": "center",
+ "colorType": "c"
+ },
+ "oldId": "KcgDVjHRzuaeCs81cnCA_"
+ },
+ "zIndex": 999,
+ "style": { "width": 231 },
+ "measured": { "width": 231, "height": 49 },
+ "focusable": true,
+ "dragging": false,
+ "width": 231,
+ "height": 49,
+ "resizing": false
+ },
+ {
+ "id": "cW8O4vLLKEG-Q0dE8E5Zp",
+ "type": "topic",
+ "position": { "x": 281.97614503814657, "y": 2268.4170226331694 },
+ "selected": true,
+ "selectable": true,
+ "draggable": true,
+ "deletable": true,
+ "data": {
+ "label": "RAG Agent",
+ "style": {
+ "fontSize": 17,
+ "justifyContent": "flex-start",
+ "textAlign": "center",
+ "colorType": "c"
+ },
+ "oldId": "hj1adjkG9nalXKZ-Youn0"
+ },
+ "zIndex": 999,
+ "style": { "width": 231 },
+ "measured": { "width": 231, "height": 49 },
+ "focusable": true,
+ "dragging": false,
+ "width": 231,
+ "height": 49,
+ "resizing": false
+ },
+ {
+ "id": "QKXjaGohaNwhuqqwb-z6b",
+ "type": "label",
+ "position": { "x": 301.97614503814657, "y": 2226.4170226331694 },
+ "selected": true,
+ "selectable": true,
+ "draggable": true,
+ "deletable": true,
+ "data": {
+ "label": "Common Architectures",
+ "style": { "fontSize": 17 },
+ "href": "",
+ "color": "#000000",
+ "oldId": "5KAj1kjfDUY7xSPJIC2T8"
+ },
+ "zIndex": 999,
+ "style": {},
+ "measured": { "width": 191, "height": 38 },
+ "dragging": false,
+ "focusable": true
+ },
+ {
+ "id": "5KAj1kjfDUY7xSPJIC2T8",
+ "type": "label",
+ "position": { "x": 284.47614503814657, "y": 2434.550271236641 },
+ "selected": true,
+ "selectable": true,
+ "draggable": true,
+ "deletable": true,
+ "data": {
+ "label": "Other Architecture Patterns",
+ "style": { "fontSize": 17 },
+ "href": "",
+ "color": "#000000"
+ },
+ "zIndex": 999,
+ "style": {},
+ "measured": { "width": 226, "height": 38 },
+ "dragging": false,
+ "focusable": true
+ },
+ {
+ "id": "6YLCMWzystao6byCYCTPO",
+ "type": "topic",
+ "position": { "x": 281.97614503814657, "y": 2478.4774309459326 },
+ "selected": true,
+ "selectable": true,
+ "draggable": true,
+ "deletable": true,
+ "data": {
+ "label": "Planner Executor",
+ "style": {
+ "fontSize": 17,
+ "justifyContent": "flex-start",
+ "textAlign": "center",
+ "colorType": "c"
+ },
+ "oldId": "hj1adjkG9nalXKZ-Youn0"
+ },
+ "zIndex": 999,
+ "style": { "width": 231 },
+ "measured": { "width": 231, "height": 49 },
+ "focusable": true,
+ "dragging": false,
+ "width": 231,
+ "height": 49,
+ "resizing": false
+ },
+ {
+ "id": "Ep8RoZSy_Iq_zWXlGQLZo",
+ "type": "topic",
+ "position": { "x": 281.97614503814657, "y": 2531.4774309459326 },
+ "selected": true,
+ "selectable": true,
+ "draggable": true,
+ "deletable": true,
+ "data": {
+ "label": "DAG Agents",
+ "style": {
+ "fontSize": 17,
+ "justifyContent": "flex-start",
+ "textAlign": "center",
+ "colorType": "c"
+ },
+ "oldId": "hj1adjkG9nalXKZ-Youn0"
+ },
+ "zIndex": 999,
+ "style": { "width": 231 },
+ "measured": { "width": 231, "height": 49 },
+ "focusable": true,
+ "dragging": false,
+ "width": 231,
+ "height": 49,
+ "resizing": false
+ },
+ {
+ "id": "Nmy1PoB32DcWZnPM8l8jT",
+ "type": "topic",
+ "position": { "x": 280.97614503814657, "y": 2584.4774309459326 },
+ "selected": true,
+ "selectable": true,
+ "draggable": true,
+ "deletable": true,
+ "data": {
+ "label": "Tree-of-Thought",
+ "style": {
+ "fontSize": 17,
+ "justifyContent": "flex-start",
+ "textAlign": "center",
+ "colorType": "c"
+ },
+ "oldId": "hj1adjkG9nalXKZ-Youn0"
+ },
+ "zIndex": 999,
+ "style": { "width": 231 },
+ "measured": { "width": 232, "height": 49 },
+ "focusable": true,
+ "dragging": false,
+ "width": 232,
+ "height": 49,
+ "resizing": false
+ },
+ {
+ "id": "yaxVwWPeb7mHPZrXaNusP",
+ "type": "horizontal",
+ "position": { "x": 527.9761450381466, "y": 2260.410569685858 },
+ "selected": true,
+ "selectable": true,
+ "draggable": true,
+ "deletable": true,
+ "data": {
+ "label": "horizontal node",
+ "style": { "stroke": "#2B78E4", "strokeWidth": 3.75 }
+ },
+ "zIndex": 999,
+ "width": 223,
+ "height": 20,
+ "style": {},
+ "measured": { "width": 223, "height": 20 },
+ "dragging": false,
+ "resizing": false,
+ "focusable": true
+ },
+ {
+ "id": "7c-FMXWsMGv95vxnUydFi",
+ "type": "paragraph",
+ "position": { "x": 641.80929781038, "y": 2341.870720452855 },
+ "selected": true,
+ "selectable": true,
+ "draggable": true,
+ "deletable": true,
+ "data": {
+ "label": "Building Agents",
+ "style": {
+ "fontSize": 20,
+ "borderColor": "transparent",
+ "backgroundColor": "transparent",
+ "color": "#000000",
+ "textAlign": "center",
+ "justifyContent": "center",
+ "padding": 16
+ },
+ "oldId": "SU8HwGaDiRCho5I_pBl3N"
+ },
+ "zIndex": 999,
+ "width": 216,
+ "style": {},
+ "measured": { "width": 216, "height": 47 },
+ "dragging": false,
+ "resizing": false,
+ "focusable": true,
+ "height": 47
+ },
+ {
+ "id": "_w42GbQza-Qu1EDLbA83S",
+ "type": "vertical",
+ "position": { "x": 739.80929781038, "y": 2270.410569685858 },
+ "selected": true,
+ "selectable": true,
+ "draggable": true,
+ "deletable": true,
+ "data": {
+ "label": "vertical node",
+ "style": { "stroke": "#2B78E4", "strokeWidth": 3.75 }
+ },
+ "zIndex": 999,
+ "width": 20,
+ "height": 62,
+ "style": {},
+ "measured": { "width": 20, "height": 62 },
+ "dragging": false,
+ "resizing": false,
+ "focusable": true
+ },
+ {
+ "id": "US6T5dXM8IY9V2qZnTOFW",
+ "type": "topic",
+ "position": { "x": 600.30929781038, "y": 2453.212822960118 },
+ "selected": true,
+ "selectable": true,
+ "draggable": true,
+ "deletable": true,
+ "data": {
+ "label": "Manual (from scratch)",
+ "style": {
+ "fontSize": 17,
+ "justifyContent": "flex-start",
+ "textAlign": "center"
+ }
+ },
+ "zIndex": 999,
+ "width": 299,
+ "height": 49,
+ "style": {},
+ "measured": { "width": 299, "height": 49 },
+ "focusable": true,
+ "resizing": false,
+ "dragging": false
+ },
+ {
+ "id": "nHkXoJFoyDHcO3E4FhsGK",
+ "type": "label",
+ "position": { "x": 624.86544847935, "y": 2514.322480617088 },
+ "selected": true,
+ "selectable": true,
+ "draggable": true,
+ "deletable": true,
+ "data": {
+ "label": "Direct LLM API calls",
+ "style": { "fontSize": 17 },
+ "href": "",
+ "color": "#000000"
+ },
+ "zIndex": 999,
+ "style": {},
+ "measured": { "width": 172, "height": 38 },
+ "dragging": false,
+ "focusable": true
+ },
+ {
+ "id": "Ox0SIl1qDY1MdNEa3Zcdh",
+ "type": "label",
+ "position": { "x": 624.86544847935, "y": 2544.322480617088 },
+ "selected": true,
+ "selectable": true,
+ "draggable": true,
+ "deletable": true,
+ "data": {
+ "label": "Implementing the agent loop",
+ "style": { "fontSize": 17 },
+ "href": "",
+ "color": "#000000"
+ },
+ "zIndex": 999,
+ "style": {},
+ "measured": { "width": 237, "height": 38 },
+ "dragging": false,
+ "focusable": true
+ },
+ {
+ "id": "mVoZRlCcJcGCVRnGHbsWD",
+ "type": "label",
+ "position": { "x": 624.86544847935, "y": 2574.322480617088 },
+ "selected": true,
+ "selectable": true,
+ "draggable": true,
+ "deletable": true,
+ "data": {
+ "label": "Parsing model output",
+ "style": { "fontSize": 17 },
+ "href": "",
+ "color": "#000000"
+ },
+ "zIndex": 999,
+ "style": {},
+ "measured": { "width": 179, "height": 38 },
+ "dragging": false,
+ "focusable": true
+ },
+ {
+ "id": "PUGICZOvB0H0EWwwUlusF",
+ "type": "label",
+ "position": { "x": 624.86544847935, "y": 2604.322480617088 },
+ "selected": true,
+ "selectable": true,
+ "draggable": true,
+ "deletable": true,
+ "data": {
+ "label": "Error & Rate-limit handling",
+ "style": { "fontSize": 17 },
+ "href": "",
+ "color": "#000000"
+ },
+ "zIndex": 999,
+ "style": {},
+ "measured": { "width": 220, "height": 38 },
+ "dragging": false,
+ "focusable": true
+ },
+ {
+ "id": "aafZxtjxiwzJH1lwHBODi",
+ "type": "topic",
+ "position": { "x": 600.30929781038, "y": 2695.92394018722 },
+ "selected": true,
+ "selectable": true,
+ "draggable": true,
+ "deletable": true,
+ "data": {
+ "label": "LLM Native \"Function Calling\"",
+ "style": {
+ "fontSize": 17,
+ "justifyContent": "flex-start",
+ "textAlign": "center"
+ },
+ "oldId": "US6T5dXM8IY9V2qZnTOFW"
+ },
+ "zIndex": 999,
+ "width": 299,
+ "height": 49,
+ "style": {},
+ "measured": { "width": 299, "height": 49 },
+ "focusable": true,
+ "resizing": false,
+ "dragging": false
+ },
+ {
+ "id": "AQtxTTxmBpfl8BMgJbGzc",
+ "type": "subtopic",
+ "position": { "x": 600.30929781038, "y": 2777.8580866298494 },
+ "selected": true,
+ "selectable": true,
+ "draggable": true,
+ "deletable": true,
+ "data": {
+ "label": "OpenAI Functions Calling",
+ "style": {
+ "fontSize": 17,
+ "justifyContent": "flex-start",
+ "textAlign": "center"
+ },
+ "oldId": "37GBFVZ2J2d5r8bd1ViHq"
+ },
+ "zIndex": 999,
+ "width": 299,
+ "height": 53,
+ "style": {},
+ "measured": { "width": 299, "height": 53 },
+ "dragging": false,
+ "focusable": true
+ },
+ {
+ "id": "_iIsBJTVS6OBf_dsdmbVO",
+ "type": "subtopic",
+ "position": { "x": 600.30929781038, "y": 2891.8580866298494 },
+ "selected": true,
+ "selectable": true,
+ "draggable": true,
+ "deletable": true,
+ "data": {
+ "label": "Gemini Function Calling",
+ "style": {
+ "fontSize": 17,
+ "justifyContent": "flex-start",
+ "textAlign": "center"
+ },
+ "oldId": "1EZFbDHA5J5_5BPMLMxXb"
+ },
+ "zIndex": 999,
+ "width": 299,
+ "height": 53,
+ "style": {},
+ "measured": { "width": 299, "height": 53 },
+ "dragging": false,
+ "focusable": true
+ },
+ {
+ "id": "37GBFVZ2J2d5r8bd1ViHq",
+ "type": "subtopic",
+ "position": { "x": 600.30929781038, "y": 2834.8580866298494 },
+ "selected": true,
+ "selectable": true,
+ "draggable": true,
+ "deletable": true,
+ "data": {
+ "label": "OpenAI Assistant API",
+ "style": {
+ "fontSize": 17,
+ "justifyContent": "flex-start",
+ "textAlign": "center"
+ },
+ "oldId": "1EZFbDHA5J5_5BPMLMxXb"
+ },
+ "zIndex": 999,
+ "width": 299,
+ "height": 53,
+ "style": {},
+ "measured": { "width": 299, "height": 53 },
+ "dragging": false,
+ "focusable": true
+ },
+ {
+ "id": "VVFomJWwR-bvPRsiLmbiV",
+ "type": "label",
+ "position": { "x": 283.97614503814657, "y": 2714.92394018722 },
+ "selected": true,
+ "selectable": true,
+ "draggable": true,
+ "deletable": true,
+ "data": {
+ "label": "Building Using Frameworks",
+ "style": { "fontSize": 17 },
+ "href": "",
+ "color": "#000000"
+ },
+ "zIndex": 999,
+ "width": 225,
+ "style": { "width": 225 },
+ "measured": { "width": 225, "height": 38 },
+ "dragging": false,
+ "focusable": true
+ },
+ {
+ "id": "Ka6VpCEnqABvwiF9vba7t",
+ "type": "subtopic",
+ "position": { "x": 276.97614503814657, "y": 2763.92394018722 },
+ "selected": true,
+ "selectable": true,
+ "draggable": true,
+ "deletable": true,
+ "data": {
+ "label": "Langchain",
+ "style": {
+ "fontSize": 17,
+ "justifyContent": "flex-start",
+ "textAlign": "center"
+ },
+ "oldId": "7YtnQ9-KIvGPSpDzEDexl"
+ },
+ "zIndex": 999,
+ "width": 111,
+ "height": 55,
+ "style": {},
+ "measured": { "width": 111, "height": 55 },
+ "resizing": true,
+ "focusable": true,
+ "dragging": false
+ },
+ {
+ "id": "iEHF-Jm3ck-Iu85EbCoDi",
+ "type": "subtopic",
+ "position": { "x": 393.47614503814657, "y": 2763.92394018722 },
+ "selected": true,
+ "selectable": true,
+ "draggable": true,
+ "deletable": true,
+ "data": {
+ "label": "LlamaIndex",
+ "style": {
+ "fontSize": 17,
+ "justifyContent": "flex-start",
+ "textAlign": "center"
+ }
+ },
+ "zIndex": 999,
+ "width": 124,
+ "height": 55,
+ "style": {},
+ "measured": { "width": 124, "height": 55 },
+ "resizing": false,
+ "focusable": true,
+ "dragging": false
+ },
+ {
+ "id": "XS-FsvtrXGZ8DPrwOsnlI",
+ "type": "subtopic",
+ "position": { "x": 276.97614503814657, "y": 2822.92394018722 },
+ "selected": true,
+ "selectable": true,
+ "draggable": true,
+ "deletable": true,
+ "data": {
+ "label": "Haystack",
+ "style": {
+ "fontSize": 17,
+ "justifyContent": "flex-start",
+ "textAlign": "center"
+ },
+ "oldId": "eWxQiBrxIUG2JNcrdfIHS"
+ },
+ "zIndex": 999,
+ "width": 111,
+ "height": 55,
+ "style": {},
+ "measured": { "width": 111, "height": 55 },
+ "resizing": false,
+ "focusable": true,
+ "dragging": false
+ },
+ {
+ "id": "7YtnQ9-KIvGPSpDzEDexl",
+ "type": "subtopic",
+ "position": { "x": 393.47614503814657, "y": 2822.42394018722 },
+ "selected": true,
+ "selectable": true,
+ "draggable": true,
+ "deletable": true,
+ "data": {
+ "label": "AutoGen",
+ "style": {
+ "fontSize": 17,
+ "justifyContent": "flex-start",
+ "textAlign": "center"
+ },
+ "oldId": "iEHF-Jm3ck-Iu85EbCoDi"
+ },
+ "zIndex": 999,
+ "width": 124,
+ "height": 55,
+ "style": {},
+ "measured": { "width": 124, "height": 55 },
+ "resizing": false,
+ "focusable": true,
+ "dragging": false
+ },
+ {
+ "id": "uFPJqgU4qGvZyxTv-osZA",
+ "type": "subtopic",
+ "position": { "x": 276.97614503814657, "y": 2881.92394018722 },
+ "selected": true,
+ "selectable": true,
+ "draggable": true,
+ "deletable": true,
+ "data": {
+ "label": "CrewAI",
+ "style": {
+ "fontSize": 17,
+ "justifyContent": "flex-start",
+ "textAlign": "center"
+ },
+ "oldId": "eWxQiBrxIUG2JNcrdfIHS"
+ },
+ "zIndex": 999,
+ "width": 240,
+ "height": 51,
+ "style": {},
+ "measured": { "width": 240, "height": 51 },
+ "resizing": true,
+ "focusable": true,
+ "dragging": false
+ },
+ {
+ "id": "eWxQiBrxIUG2JNcrdfIHS",
+ "type": "subtopic",
+ "position": { "x": 276.97614503814657, "y": 2937.92394018722 },
+ "selected": true,
+ "selectable": true,
+ "draggable": true,
+ "deletable": true,
+ "data": {
+ "label": "Smol Depot",
+ "style": {
+ "fontSize": 17,
+ "justifyContent": "flex-start",
+ "textAlign": "center"
+ },
+ "oldId": "7YtnQ9-KIvGPSpDzEDexl"
+ },
+ "zIndex": 999,
+ "width": 240,
+ "height": 55,
+ "style": {},
+ "measured": { "width": 240, "height": 55 },
+ "resizing": false,
+ "focusable": true,
+ "dragging": false
+ },
+ {
+ "id": "1EZFbDHA5J5_5BPMLMxXb",
+ "type": "subtopic",
+ "position": { "x": 600.30929781038, "y": 2948.8580866298494 },
+ "selected": true,
+ "selectable": true,
+ "draggable": true,
+ "deletable": true,
+ "data": {
+ "label": "Anthropic Tool Use",
+ "style": {
+ "fontSize": 17,
+ "justifyContent": "flex-start",
+ "textAlign": "center"
+ }
+ },
+ "zIndex": 999,
+ "width": 299,
+ "height": 53,
+ "style": {},
+ "measured": { "width": 299, "height": 53 },
+ "dragging": false,
+ "focusable": true
+ },
+ {
+ "id": "y3Km7Dc3FidoKtF7cnTfR",
+ "type": "label",
+ "position": { "x": -74.7455305579661, "y": 2422.870720452855 },
+ "selected": true,
+ "selectable": true,
+ "draggable": true,
+ "deletable": true,
+ "data": {
+ "label": "Evaluation and Testing",
+ "style": { "fontSize": 17 },
+ "href": "",
+ "color": "#000000",
+ "oldId": "OxRCEi7olEsHcBZ7oVfLl"
+ },
+ "zIndex": 999,
+ "style": {},
+ "measured": { "width": 189, "height": 38 },
+ "dragging": false,
+ "focusable": true
+ },
+ {
+ "id": "v8qLnyFRnEumodBYxQSXQ",
+ "type": "subtopic",
+ "position": { "x": -121.7455305579661, "y": 2463.550271236641 },
+ "selected": true,
+ "selectable": true,
+ "draggable": true,
+ "deletable": true,
+ "data": {
+ "label": "Metrics to Track",
+ "style": {
+ "fontSize": 17,
+ "justifyContent": "flex-start",
+ "textAlign": "center"
+ },
+ "oldId": "rHxdxN97ZcU7MPl8L1jzN"
+ },
+ "zIndex": 999,
+ "style": {},
+ "measured": { "width": 283, "height": 49 },
+ "dragging": false,
+ "focusable": true,
+ "width": 283,
+ "height": 49,
+ "resizing": false
+ },
+ {
+ "id": "qo_O4YAe4-MTP_ZJoXJHR",
+ "type": "subtopic",
+ "position": { "x": -121.7455305579661, "y": 2516.550271236641 },
+ "selected": true,
+ "selectable": true,
+ "draggable": true,
+ "deletable": true,
+ "data": {
+ "label": "Unit Testing for Individual Tools",
+ "style": {
+ "fontSize": 17,
+ "justifyContent": "flex-start",
+ "textAlign": "center"
+ },
+ "oldId": "rHxdxN97ZcU7MPl8L1jzN"
+ },
+ "zIndex": 999,
+ "style": { "width": 283 },
+ "measured": { "width": 283, "height": 49 },
+ "dragging": false,
+ "focusable": true,
+ "width": 283,
+ "height": 49,
+ "resizing": false
+ },
+ {
+ "id": "P9-SiIda3TSjHsfkI5OUV",
+ "type": "subtopic",
+ "position": { "x": -121.7455305579661, "y": 2569.550271236641 },
+ "selected": true,
+ "selectable": true,
+ "draggable": true,
+ "deletable": true,
+ "data": {
+ "label": "Integration Testing for Flows",
+ "style": {
+ "fontSize": 17,
+ "justifyContent": "flex-start",
+ "textAlign": "center"
+ },
+ "oldId": "rHxdxN97ZcU7MPl8L1jzN"
+ },
+ "zIndex": 999,
+ "style": { "width": 283 },
+ "measured": { "width": 283, "height": 49 },
+ "dragging": false,
+ "focusable": true,
+ "width": 283,
+ "height": 49,
+ "resizing": false
+ },
+ {
+ "id": "rHxdxN97ZcU7MPl8L1jzN",
+ "type": "subtopic",
+ "position": { "x": -121.7455305579661, "y": 2622.550271236641 },
+ "selected": true,
+ "selectable": true,
+ "draggable": true,
+ "deletable": true,
+ "data": {
+ "label": "Human in the Loop Evaluation",
+ "style": {
+ "fontSize": 17,
+ "justifyContent": "flex-start",
+ "textAlign": "center"
+ }
+ },
+ "zIndex": 999,
+ "style": { "width": 283 },
+ "measured": { "width": 283, "height": 49 },
+ "dragging": false,
+ "focusable": true,
+ "width": 283,
+ "height": 49,
+ "resizing": false
+ },
+ {
+ "id": "xp7TCTRE9HP60_rGzTUF6",
+ "type": "subtopic",
+ "position": { "x": -124.32279103658766, "y": 2717.42394018722 },
+ "selected": true,
+ "selectable": true,
+ "draggable": true,
+ "deletable": true,
+ "data": {
+ "label": "LangSmith",
+ "style": {
+ "fontSize": 17,
+ "justifyContent": "flex-start",
+ "textAlign": "center"
+ },
+ "oldId": "0924QUH1wV7Mp-Xu0FAhF"
+ },
+ "zIndex": 999,
+ "width": 145,
+ "height": 49,
+ "style": { "width": 126 },
+ "measured": { "width": 145, "height": 49 },
+ "dragging": false,
+ "resizing": false,
+ "focusable": true
+ },
+ {
+ "id": "YzEDtGEaMaMWVt0W03HRt",
+ "type": "subtopic",
+ "position": { "x": -124.32279103658766, "y": 2770.92394018722 },
+ "selected": true,
+ "selectable": true,
+ "draggable": true,
+ "deletable": true,
+ "data": {
+ "label": "Ragas",
+ "style": {
+ "fontSize": 17,
+ "justifyContent": "flex-start",
+ "textAlign": "center"
+ },
+ "oldId": "MLxP5N0Vrmwh-kyvNeGXn"
+ },
+ "zIndex": 999,
+ "width": 285,
+ "height": 49,
+ "style": { "width": 126 },
+ "measured": { "width": 285, "height": 49 },
+ "dragging": false,
+ "resizing": false,
+ "focusable": true
+ },
+ {
+ "id": "0924QUH1wV7Mp-Xu0FAhF",
+ "type": "subtopic",
+ "position": { "x": 26.306930530664715, "y": 2717.42394018722 },
+ "selected": true,
+ "selectable": true,
+ "draggable": true,
+ "deletable": true,
+ "data": {
+ "label": "DeepEval",
+ "style": {
+ "fontSize": 17,
+ "justifyContent": "flex-start",
+ "textAlign": "center"
+ }
+ },
+ "zIndex": 999,
+ "width": 134,
+ "height": 49,
+ "style": { "width": 126 },
+ "measured": { "width": 134, "height": 49 },
+ "dragging": false,
+ "resizing": false,
+ "focusable": true
+ },
+ {
+ "id": "OxRCEi7olEsHcBZ7oVfLl",
+ "type": "label",
+ "position": { "x": -36.32279103658766, "y": 2677.322480617088 },
+ "selected": true,
+ "selectable": true,
+ "draggable": true,
+ "deletable": true,
+ "data": {
+ "label": "Frameworks",
+ "style": { "fontSize": 17 },
+ "href": "",
+ "color": "#000000"
+ },
+ "zIndex": 999,
+ "style": {},
+ "measured": { "width": 110, "height": 38 },
+ "dragging": false,
+ "focusable": true
+ },
+ {
+ "id": "zs6LM8WEnb0ERWpiaQCgc",
+ "type": "subtopic",
+ "position": { "x": -123.5097055754202, "y": 2890.5001335516636 },
+ "selected": true,
+ "selectable": true,
+ "draggable": true,
+ "deletable": true,
+ "data": {
+ "label": "Structured logging & tracing",
+ "style": {
+ "fontSize": 17,
+ "justifyContent": "flex-start",
+ "textAlign": "center"
+ },
+ "oldId": "MLxP5N0Vrmwh-kyvNeGXn"
+ },
+ "zIndex": 999,
+ "width": 285,
+ "height": 49,
+ "style": { "width": 126 },
+ "measured": { "width": 285, "height": 49 },
+ "dragging": false,
+ "resizing": false,
+ "focusable": true
+ },
+ {
+ "id": "P5D6O9GmDjENsvNStJcEC",
+ "type": "label",
+ "position": { "x": -91.5097055754202, "y": 2842.434279994293 },
+ "selected": true,
+ "selectable": true,
+ "draggable": true,
+ "deletable": true,
+ "data": {
+ "label": "Debugging and Monitoring",
+ "style": { "fontSize": 17 },
+ "href": "",
+ "color": "#000000",
+ "oldId": "PsMoyCyhXdYIIgTK4mduG"
+ },
+ "zIndex": 999,
+ "style": {},
+ "measured": { "width": 221, "height": 38 },
+ "dragging": false,
+ "focusable": true
+ },
+ {
+ "id": "PsMoyCyhXdYIIgTK4mduG",
+ "type": "label",
+ "position": { "x": -60.009705575420185, "y": 2945.0001335516636 },
+ "selected": true,
+ "selectable": true,
+ "draggable": true,
+ "deletable": true,
+ "data": {
+ "label": "Observability Tools",
+ "style": { "fontSize": 17 },
+ "href": "",
+ "color": "#000000"
+ },
+ "zIndex": 999,
+ "style": {},
+ "measured": { "width": 158, "height": 38 },
+ "dragging": false,
+ "focusable": true
+ },
+ {
+ "id": "SS8mGqf9wfrNqenIWvN8Z",
+ "type": "subtopic",
+ "position": { "x": -122.73444959728216, "y": 2988.0001335516636 },
+ "selected": true,
+ "selectable": true,
+ "draggable": true,
+ "deletable": true,
+ "data": {
+ "label": "LangSmith",
+ "style": {
+ "fontSize": 17,
+ "justifyContent": "flex-start",
+ "textAlign": "center"
+ },
+ "oldId": "7UqPXUzqKYXklnB3x-tsv"
+ },
+ "zIndex": 999,
+ "width": 138,
+ "height": 49,
+ "style": { "width": 126 },
+ "measured": { "width": 138, "height": 49 },
+ "dragging": false,
+ "resizing": false,
+ "focusable": true
+ },
+ {
+ "id": "MLxP5N0Vrmwh-kyvNeGXn",
+ "type": "subtopic",
+ "position": { "x": 20.507919061606035, "y": 2988.0001335516636 },
+ "selected": true,
+ "selectable": true,
+ "draggable": true,
+ "deletable": true,
+ "data": {
+ "label": "Helicone",
+ "style": {
+ "fontSize": 17,
+ "justifyContent": "flex-start",
+ "textAlign": "center"
+ },
+ "oldId": "0924QUH1wV7Mp-Xu0FAhF"
+ },
+ "zIndex": 999,
+ "width": 141,
+ "height": 49,
+ "style": { "width": 126 },
+ "measured": { "width": 141, "height": 49 },
+ "dragging": false,
+ "resizing": false,
+ "focusable": true
+ },
+ {
+ "id": "UoIheaJlShiceafrWALEH",
+ "type": "subtopic",
+ "position": { "x": -122.73444959728216, "y": 3042.0001335516636 },
+ "selected": true,
+ "selectable": true,
+ "draggable": true,
+ "deletable": true,
+ "data": {
+ "label": "LangFuse",
+ "style": {
+ "fontSize": 17,
+ "justifyContent": "flex-start",
+ "textAlign": "center"
+ },
+ "oldId": "7UqPXUzqKYXklnB3x-tsv"
+ },
+ "zIndex": 999,
+ "width": 138,
+ "height": 49,
+ "style": { "width": 126 },
+ "measured": { "width": 138, "height": 49 },
+ "dragging": false,
+ "resizing": false,
+ "focusable": true
+ },
+ {
+ "id": "7UqPXUzqKYXklnB3x-tsv",
+ "type": "subtopic",
+ "position": { "x": 20.507919061606035, "y": 3042.0001335516636 },
+ "selected": true,
+ "selectable": true,
+ "draggable": true,
+ "deletable": true,
+ "data": {
+ "label": "openllmetry",
+ "style": {
+ "fontSize": 17,
+ "justifyContent": "flex-start",
+ "textAlign": "center"
+ },
+ "oldId": "MLxP5N0Vrmwh-kyvNeGXn"
+ },
+ "zIndex": 999,
+ "width": 141,
+ "height": 49,
+ "style": { "width": 126 },
+ "measured": { "width": 141, "height": 49 },
+ "dragging": false,
+ "resizing": false,
+ "focusable": true
+ },
+ {
+ "id": "ZczxILvJ8ZVlaNd887lS5",
+ "type": "horizontal",
+ "position": { "x": 169.48246683384076, "y": 2710.42394018722 },
+ "selected": true,
+ "selectable": true,
+ "draggable": true,
+ "deletable": true,
+ "data": {
+ "label": "horizontal node",
+ "style": { "stroke": "#2d78e1", "strokeWidth": 3.75 },
+ "oldId": "41n1zuSz7Ur8Zq0GcmQ9y"
+ },
+ "zIndex": 999,
+ "width": 96,
+ "height": 20,
+ "style": {},
+ "measured": { "width": 96, "height": 20 },
+ "dragging": false,
+ "resizing": false,
+ "focusable": true
+ },
+ {
+ "id": "8Fk3qNFO_5UNxJDGDDCc8",
+ "type": "horizontal",
+ "position": { "x": 170.99167975847877, "y": 3046.5001335516636 },
+ "selected": true,
+ "selectable": true,
+ "draggable": true,
+ "deletable": true,
+ "data": {
+ "label": "horizontal node",
+ "style": { "stroke": "#2B78E4", "strokeWidth": 3.5 },
+ "oldId": "41n1zuSz7Ur8Zq0GcmQ9y"
+ },
+ "zIndex": 999,
+ "width": 122,
+ "height": 20,
+ "style": {},
+ "measured": { "width": 122, "height": 20 },
+ "dragging": false,
+ "resizing": false,
+ "focusable": true
+ },
+ {
+ "id": "AZGZKUelTu9A0VbpnsrnN",
+ "type": "paragraph",
+ "position": { "x": 287.47614503814657, "y": 3034.5001335516636 },
+ "selected": true,
+ "selectable": true,
+ "draggable": true,
+ "deletable": true,
+ "data": {
+ "label": "Security & Ethics",
+ "style": {
+ "fontSize": 20,
+ "borderColor": "transparent",
+ "backgroundColor": "transparent",
+ "color": "#000000",
+ "textAlign": "center",
+ "justifyContent": "center",
+ "padding": 16
+ },
+ "oldId": "7c-FMXWsMGv95vxnUydFi"
+ },
+ "zIndex": 999,
+ "width": 219,
+ "style": {},
+ "measured": { "width": 219, "height": 44 },
+ "dragging": false,
+ "resizing": false,
+ "focusable": true,
+ "height": 44
+ },
+ {
+ "id": "41n1zuSz7Ur8Zq0GcmQ9y",
+ "type": "horizontal",
+ "position": { "x": 498.86750909294227, "y": 3046.5001335516636 },
+ "selected": true,
+ "selectable": true,
+ "draggable": true,
+ "deletable": true,
+ "data": {
+ "label": "horizontal node",
+ "style": { "stroke": "#2B78E4", "strokeWidth": 3.5 }
+ },
+ "zIndex": 999,
+ "width": 252,
+ "height": 20,
+ "style": {},
+ "measured": { "width": 252, "height": 20 },
+ "dragging": false,
+ "resizing": false,
+ "focusable": true
+ },
+ {
+ "id": "SU2RuicMUo8tiAsQtDI1k",
+ "type": "topic",
+ "position": { "x": 602.30929781038, "y": 3097.0001335516636 },
+ "selected": true,
+ "selectable": true,
+ "draggable": true,
+ "deletable": true,
+ "data": {
+ "label": "Prompt Injection / Jailbreaks",
+ "style": {
+ "fontSize": 17,
+ "justifyContent": "flex-start",
+ "textAlign": "center"
+ },
+ "oldId": "k8Y_veuqbR0HzVj_Ekltf"
+ },
+ "zIndex": 999,
+ "width": 295,
+ "height": 49,
+ "style": {},
+ "measured": { "width": 295, "height": 49 },
+ "dragging": false,
+ "resizing": false,
+ "focusable": true
+ },
+ {
+ "id": "UVzLGXG6K7HQVHmw8ZAv2",
+ "type": "topic",
+ "position": { "x": 602.30929781038, "y": 3149.7501335516636 },
+ "selected": true,
+ "selectable": true,
+ "draggable": true,
+ "deletable": true,
+ "data": {
+ "label": "Tool sandboxing / Permissioning",
+ "style": {
+ "fontSize": 17,
+ "justifyContent": "flex-start",
+ "textAlign": "center"
+ },
+ "oldId": "k8Y_veuqbR0HzVj_Ekltf"
+ },
+ "zIndex": 999,
+ "width": 295,
+ "height": 49,
+ "style": {},
+ "measured": { "width": 295, "height": 49 },
+ "dragging": false,
+ "resizing": false,
+ "focusable": true
+ },
+ {
+ "id": "rdlYBJNNyZUshzsJawME4",
+ "type": "topic",
+ "position": { "x": 604.30929781038, "y": 3202.5001335516636 },
+ "selected": true,
+ "selectable": true,
+ "draggable": true,
+ "deletable": true,
+ "data": {
+ "label": "Data Privacy + PII Redaction",
+ "style": {
+ "fontSize": 17,
+ "justifyContent": "flex-start",
+ "textAlign": "center"
+ },
+ "oldId": "k8Y_veuqbR0HzVj_Ekltf"
+ },
+ "zIndex": 999,
+ "width": 295,
+ "height": 49,
+ "style": {},
+ "measured": { "width": 295, "height": 49 },
+ "dragging": false,
+ "resizing": false,
+ "focusable": true
+ },
+ {
+ "id": "EyLo2j8IQsIK91SKaXkmK",
+ "type": "topic",
+ "position": { "x": 604.30929781038, "y": 3255.2501335516636 },
+ "selected": true,
+ "selectable": true,
+ "draggable": true,
+ "deletable": true,
+ "data": {
+ "label": "Bias & Toxicity Guardrails",
+ "style": {
+ "fontSize": 17,
+ "justifyContent": "flex-start",
+ "textAlign": "center"
+ },
+ "oldId": "k8Y_veuqbR0HzVj_Ekltf"
+ },
+ "zIndex": 999,
+ "width": 295,
+ "height": 49,
+ "style": {},
+ "measured": { "width": 295, "height": 49 },
+ "dragging": false,
+ "resizing": false,
+ "focusable": true
+ },
+ {
+ "id": "63nsfJFO1BwjLX_ZVaPFC",
+ "type": "topic",
+ "position": { "x": 604.30929781038, "y": 3308.0001335516636 },
+ "selected": true,
+ "selectable": true,
+ "draggable": true,
+ "deletable": true,
+ "data": {
+ "label": "Safety + Red Team Testing",
+ "style": {
+ "fontSize": 17,
+ "justifyContent": "flex-start",
+ "textAlign": "center"
+ },
+ "oldId": "k8Y_veuqbR0HzVj_Ekltf"
+ },
+ "zIndex": 999,
+ "width": 295,
+ "height": 49,
+ "style": {},
+ "measured": { "width": 295, "height": 49 },
+ "dragging": false,
+ "resizing": false,
+ "focusable": true
+ },
+ {
+ "width": 223,
+ "height": 49,
+ "id": "-sFboM4eFUMVq1tlPl-fV",
+ "type": "button",
+ "position": { "x": 212.99392181540966, "y": 3300.7409891427583 },
+ "selected": true,
+ "data": {
+ "label": "AI & Data Scientist",
+ "href": "https://roadmap.sh/ai-data-scientist",
+ "color": "#FFFFFf",
+ "backgroundColor": "#4136D6",
+ "style": { "fontSize": 17 },
+ "borderColor": "#4136D6",
+ "oldId": "qXKNK_IsGS8-JgLK-Q9oU"
+ },
+ "zIndex": 999,
+ "dragging": false,
+ "positionAbsolute": { "x": -134.0311490763803, "y": 2895.0087874111223 },
+ "style": { "width": 378, "height": 49 },
+ "focusable": true,
+ "resizing": false,
+ "selectable": true,
+ "measured": { "width": 223, "height": 49 }
+ }
+ ],
+ "edges": [
+ {
+ "style": {
+ "strokeDasharray": "0.8 8",
+ "strokeLinecap": "round",
+ "strokeWidth": 3.5,
+ "stroke": "#2b78e4"
+ },
+ "source": "VPI89s-m885r2YrXjYxdd",
+ "sourceHandle": "z2",
+ "target": "amfuroaEeP1sqhvPN-jgO",
+ "targetHandle": "y1",
+ "data": { "edgeStyle": "dashed" },
+ "id": "xy-edge__VPI89s-m885r2YrXjYxddz2-Ynvi5skgC85lgm96V_p42y1",
+ "selected": true,
+ "selectable": true,
+ "focusable": true
+ },
+ {
+ "style": {
+ "strokeDasharray": "0.8 8",
+ "strokeLinecap": "round",
+ "strokeWidth": 3.5,
+ "stroke": "#2b78e4"
+ },
+ "source": "McREk2zHOlIrqbGSKbX-J",
+ "sourceHandle": "z2",
+ "target": "kA1ggkT-2KI0cEdd3rIcM",
+ "targetHandle": "y1",
+ "data": { "edgeStyle": "dashed" },
+ "id": "xy-edge__McREk2zHOlIrqbGSKbX-Jz2-Ynvi5skgC85lgm96V_p42y1",
+ "selected": true,
+ "selectable": true,
+ "focusable": true
+ },
+ {
+ "style": {
+ "strokeDasharray": "0.8 8",
+ "strokeLinecap": "round",
+ "strokeWidth": 3.5,
+ "stroke": "#2b78e4"
+ },
+ "source": "QtTwecLdvQa8pgELJ6i80",
+ "sourceHandle": "z2",
+ "target": "Ynvi5skgC85lgm96V_p42",
+ "targetHandle": "y1",
+ "data": { "edgeStyle": "dashed" },
+ "id": "xy-edge__QtTwecLdvQa8pgELJ6i80z2-Ynvi5skgC85lgm96V_p42y1",
+ "selected": true,
+ "selectable": true,
+ "focusable": true
+ },
+ {
+ "style": {
+ "strokeDasharray": "0",
+ "strokeLinecap": "round",
+ "strokeWidth": 3.5,
+ "stroke": "#2b78e4"
+ },
+ "source": "QtTwecLdvQa8pgELJ6i80",
+ "sourceHandle": "x2",
+ "target": "eeU25xBGXtFFisDckfn31",
+ "targetHandle": "w1",
+ "data": { "edgeStyle": "solid" },
+ "id": "xy-edge__QtTwecLdvQa8pgELJ6i80x2-eeU25xBGXtFFisDckfn31w1",
+ "selected": true,
+ "selectable": true,
+ "focusable": true
+ },
+ {
+ "style": {
+ "strokeDasharray": "0",
+ "strokeLinecap": "round",
+ "strokeWidth": 3.5,
+ "stroke": "#2b78e4"
+ },
+ "source": "eeU25xBGXtFFisDckfn31",
+ "sourceHandle": "z2",
+ "target": "ZF5_5Y5zqa75Ov22JACX6",
+ "targetHandle": "y2",
+ "data": { "edgeStyle": "solid" },
+ "id": "xy-edge__eeU25xBGXtFFisDckfn31z2-ZF5_5Y5zqa75Ov22JACX6y2",
+ "selected": true,
+ "selectable": true,
+ "focusable": true
+ },
+ {
+ "style": {
+ "strokeDasharray": "0",
+ "strokeLinecap": "round",
+ "strokeWidth": 3.5,
+ "stroke": "#2b78e4"
+ },
+ "source": "Ji35JsKgUQXN4DJGEgTAC",
+ "sourceHandle": "x2",
+ "target": "imzXXZPt8wNny1oe3-MeN",
+ "targetHandle": "w1",
+ "data": { "edgeStyle": "solid" },
+ "id": "xy-edge__Ji35JsKgUQXN4DJGEgTACx2-imzXXZPt8wNny1oe3-MeNw1",
+ "selected": true,
+ "selectable": true,
+ "focusable": true
+ },
+ {
+ "style": {
+ "strokeDasharray": "0.8 8",
+ "strokeLinecap": "round",
+ "strokeWidth": 3.5,
+ "stroke": "#2b78e4"
+ },
+ "source": "X8W7EWSJxYiY50sEs38fo",
+ "sourceHandle": "w2",
+ "target": "tJYmEDDwK0LtEux-kwp9B",
+ "targetHandle": "x1",
+ "data": { "edgeStyle": "dashed" },
+ "id": "xy-edge__X8W7EWSJxYiY50sEs38fow2-tJYmEDDwK0LtEux-kwp9Bx1",
+ "selected": true,
+ "focusable": true,
+ "selectable": true
+ },
+ {
+ "style": {
+ "strokeDasharray": "0.8 8",
+ "strokeLinecap": "round",
+ "strokeWidth": 3.5,
+ "stroke": "#2b78e4"
+ },
+ "source": "X8W7EWSJxYiY50sEs38fo",
+ "sourceHandle": "y2",
+ "target": "7-EqPC6VDTiFn8DfM7V63",
+ "targetHandle": "z2",
+ "data": { "edgeStyle": "dashed" },
+ "id": "xy-edge__X8W7EWSJxYiY50sEs38foy2-7-EqPC6VDTiFn8DfM7V63z2",
+ "selected": true,
+ "focusable": true,
+ "selectable": true
+ },
+ {
+ "style": {
+ "strokeDasharray": "0.8 8",
+ "strokeLinecap": "round",
+ "strokeWidth": 3.5,
+ "stroke": "#2b78e4"
+ },
+ "source": "7-EqPC6VDTiFn8DfM7V63",
+ "sourceHandle": "w2",
+ "target": "B8dzg61TGaknuruBgkEJd",
+ "targetHandle": "x1",
+ "data": { "edgeStyle": "dashed" },
+ "id": "xy-edge__7-EqPC6VDTiFn8DfM7V63w2-B8dzg61TGaknuruBgkEJdx1",
+ "selected": true,
+ "focusable": true,
+ "selectable": true
+ },
+ {
+ "style": {
+ "strokeDasharray": "0",
+ "strokeLinecap": "round",
+ "strokeWidth": 3.5,
+ "stroke": "#2b78e4"
+ },
+ "source": "7-EqPC6VDTiFn8DfM7V63",
+ "sourceHandle": "x2",
+ "target": "THJQQuiCmKGayd6EdcX9o",
+ "targetHandle": "w1",
+ "data": { "edgeStyle": "solid" },
+ "id": "xy-edge__7-EqPC6VDTiFn8DfM7V63x2-THJQQuiCmKGayd6EdcX9ow1",
+ "selected": true,
+ "focusable": true,
+ "selectable": true
+ },
+ {
+ "style": {
+ "strokeDasharray": "0",
+ "strokeLinecap": "round",
+ "strokeWidth": 3.5,
+ "stroke": "#2b78e4"
+ },
+ "source": "THJQQuiCmKGayd6EdcX9o",
+ "sourceHandle": "x2",
+ "target": "aFZAm44nP5NefX_9TpT0A",
+ "targetHandle": "w1",
+ "data": { "edgeStyle": "solid" },
+ "id": "xy-edge__THJQQuiCmKGayd6EdcX9ox2-aFZAm44nP5NefX_9TpT0Aw1",
+ "selected": true,
+ "selectable": true,
+ "focusable": true
+ },
+ {
+ "style": {
+ "strokeDasharray": "0",
+ "strokeLinecap": "round",
+ "strokeWidth": 3.5,
+ "stroke": "#2b78e4"
+ },
+ "source": "2zsOUWJQ8e7wnoHmq1icG",
+ "sourceHandle": "z2",
+ "target": "Eih4eybuYB3C2So8K0AT3",
+ "targetHandle": "y2",
+ "data": { "edgeStyle": "solid" },
+ "id": "xy-edge__2zsOUWJQ8e7wnoHmq1icGz2-Eih4eybuYB3C2So8K0AT3y2",
+ "selected": true,
+ "selectable": true,
+ "focusable": true
+ },
+ {
+ "style": {
+ "strokeDasharray": "0.8 8",
+ "strokeLinecap": "round",
+ "strokeWidth": 3.5,
+ "stroke": "#2b78e4"
+ },
+ "source": "Eih4eybuYB3C2So8K0AT3",
+ "sourceHandle": "w2",
+ "target": "ZJTrun3jK3zBGOTm1jdMI",
+ "targetHandle": "x2",
+ "data": { "edgeStyle": "dashed" },
+ "id": "xy-edge__Eih4eybuYB3C2So8K0AT3w2-ZJTrun3jK3zBGOTm1jdMIx2",
+ "selected": true,
+ "selectable": true,
+ "focusable": true
+ },
+ {
+ "style": {
+ "strokeDasharray": "0",
+ "strokeLinecap": "round",
+ "strokeWidth": 3.5,
+ "stroke": "#2b78e4"
+ },
+ "source": "fBn8SCyMuWS7fRLMJCgSy",
+ "sourceHandle": "y2",
+ "target": "tyjeFUjjTGFVXRLOe1Oh1",
+ "targetHandle": "z2",
+ "data": { "edgeStyle": "solid" },
+ "id": "xy-edge__fBn8SCyMuWS7fRLMJCgSyy2-tyjeFUjjTGFVXRLOe1Oh1z2",
+ "selected": true,
+ "selectable": true,
+ "focusable": true
+ },
+ {
+ "style": {
+ "strokeDasharray": "0",
+ "strokeLinecap": "round",
+ "strokeWidth": 3.5,
+ "stroke": "#2b78e4"
+ },
+ "source": "tyjeFUjjTGFVXRLOe1Oh1",
+ "sourceHandle": "y2",
+ "target": "Y8EqzFx3qxtrSh7bWbbV8",
+ "targetHandle": "z1",
+ "data": { "edgeStyle": "solid" },
+ "id": "xy-edge__tyjeFUjjTGFVXRLOe1Oh1y2-Y8EqzFx3qxtrSh7bWbbV8z1",
+ "selected": true,
+ "selectable": true,
+ "focusable": true
+ },
+ {
+ "style": {
+ "strokeDasharray": "0.8 8",
+ "strokeLinecap": "round",
+ "strokeWidth": 3.5,
+ "stroke": "#2b78e4"
+ },
+ "source": "Y8EqzFx3qxtrSh7bWbbV8",
+ "sourceHandle": "x2",
+ "target": "v-zVQKH6XEMCI4Np-Q3Jo",
+ "targetHandle": "w1",
+ "data": { "edgeStyle": "dashed" },
+ "id": "xy-edge__Y8EqzFx3qxtrSh7bWbbV8x2-v-zVQKH6XEMCI4Np-Q3Jow1",
+ "selected": true,
+ "focusable": true,
+ "selectable": true
+ },
+ {
+ "style": {
+ "strokeDasharray": "0",
+ "strokeLinecap": "round",
+ "strokeWidth": 3.5,
+ "stroke": "#2b78e4"
+ },
+ "source": "nlVToD-pmbBV2ikgrCQiO",
+ "sourceHandle": "x2",
+ "target": "qakbxB8xe7Y8gejC5cZnK",
+ "targetHandle": "w1",
+ "data": { "edgeStyle": "solid" },
+ "id": "xy-edge__nlVToD-pmbBV2ikgrCQiOx2-qakbxB8xe7Y8gejC5cZnKw1",
+ "selected": true,
+ "focusable": true,
+ "selectable": true
+ },
+ {
+ "style": {
+ "strokeDasharray": "0",
+ "strokeLinecap": "round",
+ "strokeWidth": 3.5,
+ "stroke": "#2b78e4"
+ },
+ "source": "1B0IqRNYdtbHDi1jHSXuI",
+ "sourceHandle": "x2",
+ "target": "K2ueUkBcV5ASMhHUUZH-A",
+ "targetHandle": "w2",
+ "data": { "edgeStyle": "solid" },
+ "id": "xy-edge__1B0IqRNYdtbHDi1jHSXuIx2-K2ueUkBcV5ASMhHUUZH-Aw2",
+ "selected": true,
+ "selectable": true,
+ "focusable": true
+ },
+ {
+ "style": {
+ "strokeDasharray": "0",
+ "strokeLinecap": "round",
+ "strokeWidth": 3.5,
+ "stroke": "#2b78e4"
+ },
+ "source": "1NXIN-Hbjl5rPy_mqxQYW",
+ "sourceHandle": "x2",
+ "target": "qLO_DcIM2OY_i8njSIt1q",
+ "targetHandle": "w1",
+ "data": { "edgeStyle": "solid" },
+ "id": "xy-edge__1NXIN-Hbjl5rPy_mqxQYWx2-qLO_DcIM2OY_i8njSIt1qw1",
+ "selected": true,
+ "selectable": true,
+ "focusable": true
+ },
+ {
+ "style": {
+ "strokeDasharray": "0",
+ "strokeLinecap": "round",
+ "strokeWidth": 3.5,
+ "stroke": "#2b78e4"
+ },
+ "source": "T2vksVGCRajcwy_WRe2Yf",
+ "sourceHandle": "z2",
+ "target": "SU8HwGaDiRCho5I_pBl3N",
+ "targetHandle": "y1",
+ "data": { "edgeStyle": "solid" },
+ "id": "xy-edge__T2vksVGCRajcwy_WRe2Yfz2-SU8HwGaDiRCho5I_pBl3Ny1",
+ "selected": true,
+ "selectable": true,
+ "focusable": true
+ },
+ {
+ "style": {
+ "strokeDasharray": "0",
+ "strokeLinecap": "round",
+ "strokeWidth": 3.5,
+ "stroke": "#2b78e4"
+ },
+ "source": "SU8HwGaDiRCho5I_pBl3N",
+ "sourceHandle": "x2",
+ "target": "-MLEtjuRq9y1HpZeKJCts",
+ "targetHandle": "w1",
+ "data": { "edgeStyle": "solid" },
+ "id": "xy-edge__SU8HwGaDiRCho5I_pBl3Nx2--MLEtjuRq9y1HpZeKJCtsw1",
+ "selected": true,
+ "focusable": true,
+ "selectable": true
+ },
+ {
+ "style": {
+ "strokeDasharray": "0",
+ "strokeLinecap": "round",
+ "strokeWidth": 3.5,
+ "stroke": "#2b78e4"
+ },
+ "source": "7c-FMXWsMGv95vxnUydFi",
+ "sourceHandle": "x2",
+ "target": "US6T5dXM8IY9V2qZnTOFW",
+ "targetHandle": "w1",
+ "data": { "edgeStyle": "solid" },
+ "id": "xy-edge__7c-FMXWsMGv95vxnUydFix2-US6T5dXM8IY9V2qZnTOFWw1",
+ "selected": true,
+ "selectable": true,
+ "focusable": true
+ },
+ {
+ "style": {
+ "strokeDasharray": "0",
+ "strokeLinecap": "round",
+ "strokeWidth": 3.5,
+ "stroke": "#2b78e4"
+ },
+ "source": "MeOebqpbLZkPbj0iWRjP2",
+ "sourceHandle": "x2",
+ "target": "aafZxtjxiwzJH1lwHBODi",
+ "targetHandle": "w1",
+ "data": { "edgeStyle": "solid" },
+ "id": "xy-edge__MeOebqpbLZkPbj0iWRjP2x2-aafZxtjxiwzJH1lwHBODiw1",
+ "selected": true,
+ "selectable": true,
+ "focusable": true
+ },
+ {
+ "style": {
+ "strokeDasharray": "0.8 8",
+ "strokeLinecap": "round",
+ "strokeWidth": 3.5,
+ "stroke": "#2b78e4"
+ },
+ "source": "aafZxtjxiwzJH1lwHBODi",
+ "sourceHandle": "x2",
+ "target": "AQtxTTxmBpfl8BMgJbGzc",
+ "targetHandle": "w1",
+ "data": { "edgeStyle": "dashed" },
+ "id": "xy-edge__aafZxtjxiwzJH1lwHBODix2-1EZFbDHA5J5_5BPMLMxXbw1",
+ "selected": true,
+ "selectable": true,
+ "focusable": true
+ }
+ ]
+}
diff --git a/src/data/roadmaps/ai-agents/ai-agents.md b/src/data/roadmaps/ai-agents/ai-agents.md
new file mode 100644
index 000000000..a0df7e5b0
--- /dev/null
+++ b/src/data/roadmaps/ai-agents/ai-agents.md
@@ -0,0 +1,60 @@
+---
+jsonUrl: '/jsons/roadmaps/ai-agents.json'
+pdfUrl: '/pdfs/roadmaps/ai-agents.pdf'
+order: 22
+briefTitle: 'AI Agents'
+briefDescription: 'Learn to design, build and ship AI agents in 2025'
+title: 'AI Agents'
+description: 'Learn to design, build and ship AI agents in 2025'
+isNew: true
+isHidden: false
+hasTopics: true
+renderer: editor
+dimensions:
+ width: 968
+ height: 3230
+schema:
+ headline: 'AI Agents Roadmap'
+ description: 'Learn how to design, build and ship AI agents with this interactive step by step guide in 2025. We also have resources and short descriptions attached to the roadmap items so you can get everything you want to learn in one place.'
+ imageUrl: 'https://roadmap.sh/roadmaps/ai-agents.png'
+ datePublished: '2025-04-29'
+ dateModified: '2025-04-29'
+seo:
+ title: 'AI Agents Roadmap - roadmap.sh'
+ description: 'Step by step guide to learn AI Agents in 2025. We also have resources and short descriptions attached to the roadmap items so you can get everything you want to learn in one place.'
+ keywords:
+ - 'step by step guide for ai agents'
+ - 'how to learn ai agents'
+ - 'use ai agents in production'
+ - 'guide to learning ai agents'
+ - 'ai agents roadmap 2025'
+ - 'ai agents tutorial'
+ - 'ai agents for beginners'
+ - 'ai agents roadmap'
+ - 'ai agents learning path'
+ - 'ai agents learning roadmap'
+ - 'ai agents learning guide'
+ - 'ai agents skills'
+ - 'ai agents for development'
+ - 'ai agents for development skills'
+ - 'ai agents for development skills test'
+ - 'ai agents quiz'
+ - 'ai agents career path'
+ - 'ai agents interview questions'
+ - 'learn ai agents for development'
+ - 'become an ai agents expert'
+ - 'what is ai agents'
+ - 'what is ai agent'
+relatedRoadmaps:
+ - 'ai-engineer'
+ - 'ai-data-scientist'
+ - 'prompt-engineering'
+ - 'data-analyst'
+sitemap:
+ priority: 1
+ changefreq: 'monthly'
+tags:
+ - 'roadmap'
+ - 'main-sitemap'
+ - 'skill-roadmap'
+---
diff --git a/src/data/roadmaps/ai-agents/content/acting--tool-invocation@sHYd4KsKlmw5Im3nQ19W8.md b/src/data/roadmaps/ai-agents/content/acting--tool-invocation@sHYd4KsKlmw5Im3nQ19W8.md
new file mode 100644
index 000000000..ad6dd25df
--- /dev/null
+++ b/src/data/roadmaps/ai-agents/content/acting--tool-invocation@sHYd4KsKlmw5Im3nQ19W8.md
@@ -0,0 +1,8 @@
+# Acting / Tool Invocation
+
+Acting, also called tool invocation, is the step where the AI chooses a tool and runs it to get real-world data or to change something. The agent looks at its current goal and the plan it just made. It then picks the best tool, such as a web search, a database query, or a calculator. The agent fills in the needed inputs and sends the call. The external system does the heavy work and returns a result. Acting ends when the agent stores that result so it can think about the next move.
+
+Visit the following resources to learn more:
+
+- [@article@What are Tools in AI Agents?](https://huggingface.co/learn/agents-course/en/unit1/tools)
+- [@article@What is Tool Calling in Agents?](https://www.useparagon.com/blog/ai-building-blocks-what-is-tool-calling-a-guide-for-pms)
diff --git a/src/data/roadmaps/ai-agents/content/agent-loop@Eih4eybuYB3C2So8K0AT3.md b/src/data/roadmaps/ai-agents/content/agent-loop@Eih4eybuYB3C2So8K0AT3.md
new file mode 100644
index 000000000..d4778d187
--- /dev/null
+++ b/src/data/roadmaps/ai-agents/content/agent-loop@Eih4eybuYB3C2So8K0AT3.md
@@ -0,0 +1,8 @@
+# Agent Loop
+
+An agent loop is the cycle that lets an AI agent keep working toward a goal. First, the agent gathers fresh data from its tools, sensors, or memory. Next, it updates its internal state and decides what to do, often by running a planning or reasoning step. Then it carries out the chosen action, such as calling an API, writing to a file, or sending a message. After acting, it checks the result and stores new information. The loop starts again with the latest data, so the agent can adjust to changes and improve over time. This fast repeat of observe–decide–act gives the agent its power.
+
+Visit the following resources to learn more:
+
+- [@article@What is an Agent Loop?](https://huggingface.co/learn/agents-course/en/unit1/agent-steps-and-structure)
+- [@article@Let's Build your Own Agentic Loop](https://www.reddit.com/r/AI_Agents/comments/1js1xjz/lets_build_our_own_agentic_loop_running_in_our/)
diff --git a/src/data/roadmaps/ai-agents/content/anthropic-tool-use@1EZFbDHA5J5_5BPMLMxXb.md b/src/data/roadmaps/ai-agents/content/anthropic-tool-use@1EZFbDHA5J5_5BPMLMxXb.md
new file mode 100644
index 000000000..e691713dc
--- /dev/null
+++ b/src/data/roadmaps/ai-agents/content/anthropic-tool-use@1EZFbDHA5J5_5BPMLMxXb.md
@@ -0,0 +1,7 @@
+# Anthropic Tool Use
+
+Anthropic Tool Use lets you connect a Claude model to real software functions so the agent can do useful tasks on its own. You give Claude a list of tools, each with a name, a short description, and a strict JSON schema that shows the allowed input fields. During a chat you send user text plus this tool list. Claude decides if a tool should run, picks one, and returns a JSON block that matches the schema. Your code reads the JSON, calls the matching function, and sends the result back to Claude for the next step. This loop repeats until no more tool calls are needed. Clear schemas, small field sets, and helpful examples make the calls accurate. By keeping the model in charge of choosing tools while your code controls real actions, you gain both flexibility and safety.
+
+Visit the following resources to learn more:
+
+- [@official@Anthropic Tool Use](https://docs.anthropic.com/en/docs/build-with-claude/tool-use/overview)
diff --git a/src/data/roadmaps/ai-agents/content/api-requests@52qxjZILV-X1isup6dazC.md b/src/data/roadmaps/ai-agents/content/api-requests@52qxjZILV-X1isup6dazC.md
new file mode 100644
index 000000000..f1dae1ac7
--- /dev/null
+++ b/src/data/roadmaps/ai-agents/content/api-requests@52qxjZILV-X1isup6dazC.md
@@ -0,0 +1,8 @@
+# API Requests
+
+API requests let an AI agent ask another service for data or for an action. The agent builds a short message that follows the service’s rules, sends it over the internet, and waits for a reply. For example, it can call a weather API to get today’s forecast or a payment API to charge a customer. Each request has a method like GET or POST, a URL, and often a small block of JSON with needed details. The service answers with another JSON block that the agent reads and uses. Because API requests are fast and clear, they are a common tool for connecting the agent to many other systems without extra work.
+
+Visit the following resources to learn more:
+
+- [@article@Introduction to APIs - MDN Web Docs](https://developer.mozilla.org/en-US/docs/Web/API/Introduction_to_APIs)
+- [@article@How APIs Power AI Agents: A Comprehensive Guide](https://blog.treblle.com/api-guide-for-ai-agents/)
diff --git a/src/data/roadmaps/ai-agents/content/autogen@7YtnQ9-KIvGPSpDzEDexl.md b/src/data/roadmaps/ai-agents/content/autogen@7YtnQ9-KIvGPSpDzEDexl.md
new file mode 100644
index 000000000..9a4f21b1f
--- /dev/null
+++ b/src/data/roadmaps/ai-agents/content/autogen@7YtnQ9-KIvGPSpDzEDexl.md
@@ -0,0 +1,8 @@
+# AutoGen
+
+AutoGen is an open-source Python framework that helps you build AI agents without starting from scratch. It lets you define each agent with a role, goals, and tools, then handles the chat flow between them and a large language model such as GPT-4. You can chain several agents so they plan, code, review, and run tasks together. The library includes ready-made modules for memory, task planning, tool calling, and function execution, so you only write the parts that are unique to your app. AutoGen connects to OpenAI, Azure, or local models through a simple settings file. Logs, cost tracking, and step-by-step debugging come built in, which makes testing easy. Because the agents are plain Python objects, you can mix them with other libraries or your own code. AutoGen is still young, so expect fast changes and keep an eye on usage costs, but it is a strong choice when you want to turn a prompt into a working multi-agent system in hours instead of weeks.
+
+Visit the following resources to learn more:
+
+- [@official@AutoGen - Microsoft Research](https://www.microsoft.com/en-us/research/project/autogen/)
+- [@opensource@GitHub - microsoft/autogen](https://github.com/microsoft/autogen)
\ No newline at end of file
diff --git a/src/data/roadmaps/ai-agents/content/basic-backend-development@VPI89s-m885r2YrXjYxdd.md b/src/data/roadmaps/ai-agents/content/basic-backend-development@VPI89s-m885r2YrXjYxdd.md
new file mode 100644
index 000000000..2e7179109
--- /dev/null
+++ b/src/data/roadmaps/ai-agents/content/basic-backend-development@VPI89s-m885r2YrXjYxdd.md
@@ -0,0 +1,9 @@
+# Basic Backend Development
+
+Before you start learning how to build AI agents, we would recommend you to have a basic knowledge of Backend development. This includes, programming language knowledge, interacting with database and basics of APIs at minimum.
+
+Visit the following resources to learn more:
+
+- [@article@Introduction to the server-side](https://developer.mozilla.org/en-US/docs/Learn/Server-side/First_steps/Introduction)
+- [@article@What is a REST API? - Red Hat](https://www.redhat.com/en/topics/api/what-is-a-rest-api)
+- [@article@What is a Database? - Oracle](https://www.oracle.com/database/what-is-database/)
diff --git a/src/data/roadmaps/ai-agents/content/be-specific-in-what-you-want@qFKFM2qNPEN7EoD0V-1SM.md b/src/data/roadmaps/ai-agents/content/be-specific-in-what-you-want@qFKFM2qNPEN7EoD0V-1SM.md
new file mode 100644
index 000000000..402081619
--- /dev/null
+++ b/src/data/roadmaps/ai-agents/content/be-specific-in-what-you-want@qFKFM2qNPEN7EoD0V-1SM.md
@@ -0,0 +1,9 @@
+# Be specific in what you want
+
+When you ask an AI to do something, clear and exact words help it give the answer you want. State the goal, the format, and any limits up front. Say who the answer is for, how long it should be, and what to leave out. If numbers, dates, or sources matter, name them. For example, rather than “Explain World War II,” try “List three key events of World War II with dates and one short fact for each.” Being this precise cuts down on guesswork, avoids unwanted extra detail, and saves time by reducing follow-up questions.
+
+Visit the following resources to learn more:
+
+- [@article@Prompt Engineering Guide](https://www.promptingguide.ai/)
+- [@article@AI Prompting Examples, Templates, and Tips For Educators](https://honorlock.com/blog/education-ai-prompt-writing/)
+- [@article@How to Ask AI for Anything: The Art of Prompting](https://sixtyandme.com/using-ai-prompts/)
\ No newline at end of file
diff --git a/src/data/roadmaps/ai-agents/content/bias--toxicity-guardrails@EyLo2j8IQsIK91SKaXkmK.md b/src/data/roadmaps/ai-agents/content/bias--toxicity-guardrails@EyLo2j8IQsIK91SKaXkmK.md
new file mode 100644
index 000000000..96c25a45d
--- /dev/null
+++ b/src/data/roadmaps/ai-agents/content/bias--toxicity-guardrails@EyLo2j8IQsIK91SKaXkmK.md
@@ -0,0 +1,8 @@
+# Bias & Toxicity Guardrails
+
+Bias and toxicity guardrails keep an AI agent from giving unfair or harmful results. Bias shows up when training data favors certain groups or views. Toxicity is language that is hateful, violent, or rude. To stop this, start with clean and balanced data. Remove slurs, stereotypes, and spam. Add examples from many voices so the model learns fair patterns. During training, test the model often and adjust weights or rules that lean one way. After training, put filters in place that block toxic words or flag unfair answers before users see them. Keep logs, run audits, and ask users for feedback to catch new issues early. Write down every step so builders and users know the limits and risks. These actions protect people, follow laws, and help users trust the AI.
+
+Visit the following resources to learn more:
+
+- [@article@Define the Agent Guardrails](https://trailhead.salesforce.com/content/learn/modules/agentforce-agent-planning/define-the-agent-guardrails)
+- [@article@How to Build Safe AI Agents: Best Practices for Guardrails](https://medium.com/@sahin.samia/how-to-build-safe-ai-agents-best-practices-for-guardrails-and-oversight-a0085b50c022)
\ No newline at end of file
diff --git a/src/data/roadmaps/ai-agents/content/chain-of-thought-cot@qwdh5pkBbrF8LKPxbZp4F.md b/src/data/roadmaps/ai-agents/content/chain-of-thought-cot@qwdh5pkBbrF8LKPxbZp4F.md
new file mode 100644
index 000000000..19d828c8c
--- /dev/null
+++ b/src/data/roadmaps/ai-agents/content/chain-of-thought-cot@qwdh5pkBbrF8LKPxbZp4F.md
@@ -0,0 +1,8 @@
+# Chain of Thought (CoT)
+
+Chain of Thought (CoT) is a way for an AI agent to think out loud. Before giving its final answer, the agent writes short notes that show each step it takes. These notes can list facts, name sub-tasks, or do small bits of math. By seeing the steps, the agent stays organized and is less likely to make a mistake. People who read the answer can also check the logic and spot any weak points. The same written steps can be fed back into the agent so it can plan, reflect, or fix itself. Because it is easy to use and boosts trust, CoT is one of the most common designs for language-based agents today.
+
+Visit the following resources to learn more:
+
+- [@article@Chain-of-Thought Prompting Elicits Reasoning in Large Language Models](https://arxiv.org/abs/2201.11903)
+- [@article@Evoking Chain of Thought Reasoning in LLMs - Prompting Guide](https://www.promptingguide.ai/techniques/cot)
diff --git a/src/data/roadmaps/ai-agents/content/closed-weight-models@tJYmEDDwK0LtEux-kwp9B.md b/src/data/roadmaps/ai-agents/content/closed-weight-models@tJYmEDDwK0LtEux-kwp9B.md
new file mode 100644
index 000000000..d162774c8
--- /dev/null
+++ b/src/data/roadmaps/ai-agents/content/closed-weight-models@tJYmEDDwK0LtEux-kwp9B.md
@@ -0,0 +1,11 @@
+# Closed Weight Models
+
+Closed-weight models are AI systems whose trained parameters—the numbers that hold what the model has learned—are not shared with the public. You can send prompts to these models through an online service or a software kit, but you cannot download the weights, inspect them, or fine-tune them on your own computer. The company that owns the model keeps control and sets the rules for use, often through paid APIs or tight licences. This approach helps the owner protect trade secrets, reduce misuse, and keep a steady income stream. The downside is less freedom for users, higher costs over time, and limited ability to audit or adapt the model. Well-known examples include GPT-4, Claude, and Gemini.
+
+Visit the following resources to learn more:
+
+- [@article@Open-Source LLMs vs Closed LLMs](https://hatchworks.com/blog/gen-ai/open-source-vs-closed-llms-guide/)
+- [@article@2024 Comparison of Open-Source Vs Closed-Source LLMs](https://blog.spheron.network/choosing-the-right-llm-2024-comparison-of-open-source-vs-closed-source-llms)
+- [@official@Open AI's GPT-4](https://openai.com/gpt-4)
+- [@official@Claude](https://www.anthropic.com/claude)
+- [@official@Gemini](https://deepmind.google/technologies/gemini/)
diff --git a/src/data/roadmaps/ai-agents/content/code-execution--repl@mS0EVCkWuPN_GkVPng4A2.md b/src/data/roadmaps/ai-agents/content/code-execution--repl@mS0EVCkWuPN_GkVPng4A2.md
new file mode 100644
index 000000000..947e586eb
--- /dev/null
+++ b/src/data/roadmaps/ai-agents/content/code-execution--repl@mS0EVCkWuPN_GkVPng4A2.md
@@ -0,0 +1,10 @@
+# Code Execution / REPL
+
+Code Execution or REPL (Read-Eval-Print Loop) lets an AI agent run small pieces of code on demand, see the result right away, and use that result to decide what to do next. The agent “reads” the code, “evaluates” it in a safe sandbox, “prints” the output, and then loops back for more input. With this tool the agent can test ideas, perform math, transform text, call APIs, or inspect data without waiting for a full build or deployment. Python, JavaScript, or even shell commands are common choices because they start fast and have many libraries. Quick feedback helps the agent catch errors early and refine its plan step by step. Sandboxing keeps the host system safe by blocking dangerous actions such as deleting files or making forbidden network calls. Overall, a Code Execution / REPL tool gives the agent a fast, flexible workbench for problem-solving.
+
+Visit the following resources to learn more:
+
+- [@article@What is a REPL?](https://docs.replit.com/getting-started/intro-replit)
+- [@article@Code Execution AI Agent](https://docs.praison.ai/features/codeagent)
+- [@article@Building an AI Agent's Code Execution Environment](https://murraycole.com/posts/ai-code-execution-environment)
+- [@article@Python Code Tool](https://python.langchain.com/docs/integrations/tools/python/)
diff --git a/src/data/roadmaps/ai-agents/content/code-generation@PK8w31GlvtmAuU92sHaqr.md b/src/data/roadmaps/ai-agents/content/code-generation@PK8w31GlvtmAuU92sHaqr.md
new file mode 100644
index 000000000..8ad02f421
--- /dev/null
+++ b/src/data/roadmaps/ai-agents/content/code-generation@PK8w31GlvtmAuU92sHaqr.md
@@ -0,0 +1,9 @@
+# Code generation
+
+Code-generation agents take a plain language request, understand the goal, and then write or edit source code to meet it. They can build small apps, add features, fix bugs, refactor old code, write tests, or translate code from one language to another. This saves time for developers, helps beginners learn, and reduces human error. Teams use these agents inside code editors, chat tools, and automated pipelines. By handling routine coding tasks, the agents free people to focus on design, logic, and user needs.
+
+Visit the following resources to learn more:
+
+- [@article@Multi-Agent-based Code Generation](https://arxiv.org/abs/2312.13010)
+- [@article@From Prompt to Production: Github Blog](https://github.blog/ai-and-ml/github-copilot/from-prompt-to-production-building-a-landing-page-with-copilot-agent-mode/)
+- [@official@Github Copilot](https://github.com/features/copilot)
\ No newline at end of file
diff --git a/src/data/roadmaps/ai-agents/content/context-windows@dyn1LSioema-Bf9lLTgUZ.md b/src/data/roadmaps/ai-agents/content/context-windows@dyn1LSioema-Bf9lLTgUZ.md
new file mode 100644
index 000000000..b4dd221ca
--- /dev/null
+++ b/src/data/roadmaps/ai-agents/content/context-windows@dyn1LSioema-Bf9lLTgUZ.md
@@ -0,0 +1,11 @@
+# Context Windows
+
+A context window is the chunk of text a large language model can read at one time. It is measured in tokens, which are pieces of words. If a model has a 4,000-token window, it can only “look at” up to about 3,000 words before it must forget or shorten earlier parts. New tokens push old ones out, like a sliding window moving over text. The window size sets hard limits on how long a prompt, chat history, or document can be. A small window forces you to keep inputs short or split them, while a large window lets the model follow longer stories and hold more facts. Choosing the right window size balances cost, speed, and how much detail the model can keep in mind at once.
+
+New techniques, like retrieval-augmented generation (RAG) and long-context transformers (e.g., Claude 3, Gemini 1.5), aim to extend usable context without hitting model limits directly.
+
+Visit the following resources to learn more:
+
+- [@article@What is a Context Window in AI?](https://www.ibm.com/think/topics/context-window)
+- [@article@Scaling Language Models with Retrieval-Augmented Generation (RAG)](https://arxiv.org/abs/2005.11401)
+- [@article@Long Context in Language Models - Anthropic's Claude 3](https://www.anthropic.com/news/claude-3-family)
diff --git a/src/data/roadmaps/ai-agents/content/creating-mcp-servers@1NXIN-Hbjl5rPy_mqxQYW.md b/src/data/roadmaps/ai-agents/content/creating-mcp-servers@1NXIN-Hbjl5rPy_mqxQYW.md
new file mode 100644
index 000000000..b74900147
--- /dev/null
+++ b/src/data/roadmaps/ai-agents/content/creating-mcp-servers@1NXIN-Hbjl5rPy_mqxQYW.md
@@ -0,0 +1,8 @@
+# Creating MCP Servers
+
+An MCP server stores and shares conversation data for AI agents using the Model Context Protocol (MCP), a standard for agent memory management. Start by picking a language and web framework, then create REST endpoints like `/messages`, `/state`, and `/health`. Each endpoint exchanges JSON following the MCP schema. Store session logs with a session ID, role, and timestamp using a database or in-memory store. Add token-based authentication and filters so agents can fetch only what they need. Set limits on message size and request rates to avoid overload. Finally, write unit tests, add monitoring, and run load tests to ensure stability.
+
+Visit the following resources to learn more:
+
+- [@official@Model Context Protocol (MCP) Specification](https://www.anthropic.com/news/model-context-protocol)
+- [@article@How to Build and Host Your Own MCP Servers in Easy Steps?](https://collabnix.com/how-to-build-and-host-your-own-mcp-servers-in-easy-steps/)
diff --git a/src/data/roadmaps/ai-agents/content/crewai@uFPJqgU4qGvZyxTv-osZA.md b/src/data/roadmaps/ai-agents/content/crewai@uFPJqgU4qGvZyxTv-osZA.md
new file mode 100644
index 000000000..944ef9379
--- /dev/null
+++ b/src/data/roadmaps/ai-agents/content/crewai@uFPJqgU4qGvZyxTv-osZA.md
@@ -0,0 +1,10 @@
+# CrewAI
+
+CrewAI is an open-source Python framework for creating teams of AI agents, called a crew. Each agent is assigned a name, role, and set of tools, and the system manages planning, communication, and execution between them. To use it, install the package, define agents in code, connect them with a `Crew` object, and assign a mission prompt. CrewAI interacts with an LLM like GPT-4 or Claude, passes messages, runs tools, and returns a final output. You can also add web search, custom functions, or memory stores. Logs are built-in to help debug and optimize workflows.
+
+Visit the following resources to learn more:
+
+- [@official@CrewAI](https://crewai.com/)
+- [@official@CrewAI Documentation](https://docs.crewai.com/)
+- [@article@Getting Started with CrewAI: Building AI Agents That Work Together](https://medium.com/@cammilo/getting-started-with-crewai-building-ai-agents-that-work-together-9c1f47f185ca)
+- [@video@Crew AI Full Tutorial For Beginners](https://www.youtube.com/watch?v=q6QLGS306d0)
\ No newline at end of file
diff --git a/src/data/roadmaps/ai-agents/content/dag-agents@Ep8RoZSy_Iq_zWXlGQLZo.md b/src/data/roadmaps/ai-agents/content/dag-agents@Ep8RoZSy_Iq_zWXlGQLZo.md
new file mode 100644
index 000000000..6f0c2c380
--- /dev/null
+++ b/src/data/roadmaps/ai-agents/content/dag-agents@Ep8RoZSy_Iq_zWXlGQLZo.md
@@ -0,0 +1,9 @@
+# DAG Agents
+
+A DAG (Directed Acyclic Graph) agent is made of small parts called nodes that form a one-way graph with no loops. Each node does a task and passes its result to the next. Because there are no cycles, data always moves forward, making workflows easy to follow and debug. Independent nodes can run in parallel, speeding up tasks. If a node fails, you can trace and fix that part without touching the rest. DAG agents are ideal for jobs like data cleaning, multi-step reasoning, or workflows where backtracking isn’t needed.
+
+Visit the following resources to learn more:
+
+- [@official@Airflow: Directed Acyclic Graphs Documentation](https://airflow.apache.org/docs/apache-airflow/stable/concepts/dags.html)
+- [@article@What are DAGs in AI Systems?](https://www.restack.io/p/version-control-for-ai-answer-what-is-dag-in-ai-cat-ai)
+- [@video@DAGs Explained Simply](https://www.youtube.com/watch?v=1Yh5S-S6wsI)
diff --git a/src/data/roadmaps/ai-agents/content/data-analysis@wKYEaPWNsR30TIpHaxSsq.md b/src/data/roadmaps/ai-agents/content/data-analysis@wKYEaPWNsR30TIpHaxSsq.md
new file mode 100644
index 000000000..28d5842cb
--- /dev/null
+++ b/src/data/roadmaps/ai-agents/content/data-analysis@wKYEaPWNsR30TIpHaxSsq.md
@@ -0,0 +1,8 @@
+# Data Analysis
+
+AI agents can automate data analysis by pulling information from files, databases, or live streams. They clean the data by spotting missing values, outliers, and making smart corrections. After cleaning, agents find patterns like sales spikes or sensor drops and can build charts or dashboards. Some run basic statistics, others apply machine learning to predict trends. Agents can also send alerts if numbers go beyond set limits, helping people stay informed without constant monitoring.
+
+Visit the following resources to learn more:
+
+- [@article@How AI Will Transform Data Analysis in 2025](https://www.devfi.com/ai-transform-data-analysis-2025/)
+- [@article@How AI Has Changed The World Of Analytics And Data Science](https://www.forbes.com/councils/forbestechcouncil/2025/01/28/how-ai-has-changed-the-world-of-analytics-and-data-science/k)
diff --git a/src/data/roadmaps/ai-agents/content/data-privacy--pii-redaction@rdlYBJNNyZUshzsJawME4.md b/src/data/roadmaps/ai-agents/content/data-privacy--pii-redaction@rdlYBJNNyZUshzsJawME4.md
new file mode 100644
index 000000000..678517f6b
--- /dev/null
+++ b/src/data/roadmaps/ai-agents/content/data-privacy--pii-redaction@rdlYBJNNyZUshzsJawME4.md
@@ -0,0 +1,9 @@
+# Data Privacy + PII Redaction
+
+AI agents often process text, images, and logs that include personal data like names, phone numbers, or addresses. Leaks can cause fraud, stalking, or other harm, so laws like GDPR and CCPA require strict protections. A key method is PII redaction: scanning inputs and outputs to find and mask any personal details before storage or sharing. Redaction uses pattern rules, machine learning, or both. Teams should also keep audit logs, enforce access controls, and test their redaction flows often to prevent leaks.
+
+Visit the following resources to learn more:
+
+- [@official@GDPR Compliance Overview](https://gdpr.eu/)
+- [@article@Protect Sensitive Data with PII Redaction Software](https://redactor.ai/blog/pii-redaction-software-guide)
+- [@article@A Complete Guide on PII Redaction](https://enthu.ai/blog/what-is-pii-redaction/)
diff --git a/src/data/roadmaps/ai-agents/content/database-queries@sV1BnA2-qBnXoKpUn-8Ub.md b/src/data/roadmaps/ai-agents/content/database-queries@sV1BnA2-qBnXoKpUn-8Ub.md
new file mode 100644
index 000000000..afbdd1c93
--- /dev/null
+++ b/src/data/roadmaps/ai-agents/content/database-queries@sV1BnA2-qBnXoKpUn-8Ub.md
@@ -0,0 +1,7 @@
+# Database Queries
+
+Database queries let an AI agent fetch, add, change, or remove data stored in a database. The agent sends a request written in a query language, most often SQL. The database engine then looks through its tables and returns only the rows and columns that match the rules in the request. With this tool, the agent can answer questions that need up-to-date numbers, user records, or other stored facts. It can also write new entries or adjust old ones to keep the data current. Because queries work in real time and follow clear rules, they give the agent a reliable way to handle large sets of structured information.
+
+Visit the following resources to learn more:
+
+- [@article@Building Your Own Database Agent](https://www.deeplearning.ai/short-courses/building-your-own-database-agent/)
diff --git a/src/data/roadmaps/ai-agents/content/deepeval@0924QUH1wV7Mp-Xu0FAhF.md b/src/data/roadmaps/ai-agents/content/deepeval@0924QUH1wV7Mp-Xu0FAhF.md
new file mode 100644
index 000000000..9e1dc202e
--- /dev/null
+++ b/src/data/roadmaps/ai-agents/content/deepeval@0924QUH1wV7Mp-Xu0FAhF.md
@@ -0,0 +1,10 @@
+# DeepEval
+
+DeepEval is an open-source tool that helps you test and score the answers your AI agent gives. You write small test cases that show an input and the reply you hope to get, or a rule the reply must follow. DeepEval runs the agent, checks the reply with built-in measures such as similarity, accuracy, or safety, and then marks each test as pass or fail. You can add your own checks, store tests in code or YAML files, and run them in a CI pipeline so every new model or prompt version gets the same quick audit. The fast feedback makes it easy to spot errors, cut down on hallucinations, and compare different models before you ship.
+
+Visit the following resources to learn more:
+
+- [@official@DeepEval - The Open-Source LLM Evaluation Framework](https://www.deepeval.com/)
+- [@opensource@DeepEval GitHub Repository](https://github.com/confident-ai/deepeval)
+- [@article@Evaluate LLMs Effectively Using DeepEval: A Pratical Guide](https://www.datacamp.com/tutorial/deepeval)
+- [@video@DeepEval - LLM Evaluation Framework](https://www.youtube.com/watch?v=ZNs2dCXHlfo)
diff --git a/src/data/roadmaps/ai-agents/content/email--slack--sms@qaNr5I-NQPnfrRH7ynGTl.md b/src/data/roadmaps/ai-agents/content/email--slack--sms@qaNr5I-NQPnfrRH7ynGTl.md
new file mode 100644
index 000000000..488120a6c
--- /dev/null
+++ b/src/data/roadmaps/ai-agents/content/email--slack--sms@qaNr5I-NQPnfrRH7ynGTl.md
@@ -0,0 +1,8 @@
+# Email / Slack / SMS
+
+Email, Slack, and SMS are message channels an AI agent can use to act on tasks and share updates. The agent writes and sends emails to give detailed reports or collect files. It posts to Slack to chat with a team, answer questions, or trigger alerts inside a workspace. It sends SMS texts for quick notices such as reminders, confirmations, or warnings when a fast response is needed. By picking the right channel, the agent reaches users where they already communicate, makes sure important information arrives on time, and can even gather replies to keep a task moving forward.
+
+Visit the following resources to learn more:
+
+- [@official@Twilio Messaging API](https://www.twilio.com/docs/usage/api)
+- [@official@Slack AI Agents](https://slack.com/ai-agents)
diff --git a/src/data/roadmaps/ai-agents/content/embeddings-and-vector-search@UIm54UmICKgep6s8Itcyv.md b/src/data/roadmaps/ai-agents/content/embeddings-and-vector-search@UIm54UmICKgep6s8Itcyv.md
new file mode 100644
index 000000000..b39b569e8
--- /dev/null
+++ b/src/data/roadmaps/ai-agents/content/embeddings-and-vector-search@UIm54UmICKgep6s8Itcyv.md
@@ -0,0 +1,8 @@
+# Embeddings and Vector Search
+
+Embeddings turn words, pictures, or other data into lists of numbers called vectors. Each vector keeps the meaning of the original item. Things with similar meaning get vectors that sit close together in this number space. Vector search scans a large set of vectors and finds the ones nearest to a query vector, even if the exact words differ. This lets AI agents match questions with answers, suggest related items, and link ideas quickly.
+
+Visit the following resources to learn more:
+
+- [@official@OpenAI Embeddings API Documentation](https://platform.openai.com/docs/guides/embeddings/what-are-embeddings)
+- [@article@Understanding Embeddings and Vector Search (Pinecone Blog)](https://www.pinecone.io/learn/vector-embeddings/)
diff --git a/src/data/roadmaps/ai-agents/content/episodic-vs-semantic-memory@EfCCNqLMJpWKKtamUa5gK.md b/src/data/roadmaps/ai-agents/content/episodic-vs-semantic-memory@EfCCNqLMJpWKKtamUa5gK.md
new file mode 100644
index 000000000..d7b8dabf3
--- /dev/null
+++ b/src/data/roadmaps/ai-agents/content/episodic-vs-semantic-memory@EfCCNqLMJpWKKtamUa5gK.md
@@ -0,0 +1,9 @@
+# Episodic vs Semantic Memory
+
+Agent memory often has two parts. Episodic memory is relevant to the context of the current conversation and may be lost after the conversation ends. Semantic memory is relevant to the broader knowledge of the agent and is persistent.
+
+Visit the following resources to learn more:
+
+- [@article@What Is AI Agent Memory? - IBM](https://www.ibm.com/think/topics/ai-agent-memory)
+- [@article@Episodic Memory vs. Semantic Memory: The Key Differences](https://www.magneticmemorymethod.com/episodic-vs-semantic-memory/)
+- [@article@Memory Systems in LangChain](https://python.langchain.com/docs/how_to/chatbots_memory/)
diff --git a/src/data/roadmaps/ai-agents/content/file-system-access@BoJqZvdGam4cd6G6yK2IV.md b/src/data/roadmaps/ai-agents/content/file-system-access@BoJqZvdGam4cd6G6yK2IV.md
new file mode 100644
index 000000000..901810e94
--- /dev/null
+++ b/src/data/roadmaps/ai-agents/content/file-system-access@BoJqZvdGam4cd6G6yK2IV.md
@@ -0,0 +1,10 @@
+# File System Access
+
+File system access lets an AI agent read, create, change, or delete files and folders on a computer or server. With this power, the agent can open a text file to pull data, write a new report, save logs, or tidy up old files without human help. It can also move files between folders to keep things organized. This tool is useful for tasks such as data processing, report generation, and backup jobs. Strong safety checks are needed so the agent touches only the right files, avoids private data, and cannot harm the system by mistake.
+
+Visit the following resources to learn more:
+
+- [@article@Filesystem MCP server for AI Agents](https://playbooks.com/mcp/mateicanavra-filesystem)
+- [@article@File System Access API](https://developer.mozilla.org/en-US/docs/Web/API/File_System_Access_API)
+- [@article@Understanding File Permissions and Security](https://linuxize.com/post/understanding-linux-file-permissions/)
+- [@video@How File Systems Work?](https://www.youtube.com/watch?v=KN8YgJnShPM)
diff --git a/src/data/roadmaps/ai-agents/content/fine-tuning-vs-prompt-engineering@5OW_6o286mj470ElFyJ_5.md b/src/data/roadmaps/ai-agents/content/fine-tuning-vs-prompt-engineering@5OW_6o286mj470ElFyJ_5.md
new file mode 100644
index 000000000..3ab0c4209
--- /dev/null
+++ b/src/data/roadmaps/ai-agents/content/fine-tuning-vs-prompt-engineering@5OW_6o286mj470ElFyJ_5.md
@@ -0,0 +1,9 @@
+# Fine-tuning vs Prompt Engineering
+
+Fine-tuning and prompt engineering are two ways to get better outputs from a language model. Fine-tuning means training an existing model further with your own examples so it adapts to specific tasks. It needs extra data, computing power, and time but creates deeply specialized models. Prompt engineering, in contrast, leaves the model unchanged and focuses on crafting better instructions or examples in the prompt itself. It is faster, cheaper, and safer when no custom data is available. Fine-tuning suits deep domain needs; prompt engineering fits quick control and prototyping.
+
+Visit the following resources to learn more:
+
+- [@article@OpenAI Fine Tuning](https://platform.openai.com/docs/guides/fine-tuning)
+- [@article@Prompt Engineering Guide](https://www.promptingguide.ai/)
+- [@article@Prompt Engineering vs Prompt Tuning: A Detailed Explanation](https://medium.com/@aabhi02/prompt-engineering-vs-prompt-tuning-a-detailed-explanation-19ea8ce62ac4)
\ No newline at end of file
diff --git a/src/data/roadmaps/ai-agents/content/forgetting--aging-strategies@m-97m7SI0XpBnhEE8-_1S.md b/src/data/roadmaps/ai-agents/content/forgetting--aging-strategies@m-97m7SI0XpBnhEE8-_1S.md
new file mode 100644
index 000000000..a1555cabb
--- /dev/null
+++ b/src/data/roadmaps/ai-agents/content/forgetting--aging-strategies@m-97m7SI0XpBnhEE8-_1S.md
@@ -0,0 +1,8 @@
+# Forgetting / Aging Strategies
+
+Forgetting or aging strategies help an AI agent keep only the useful parts of its memory and drop the rest over time. The agent may tag each memory with a time stamp and lower its importance as it gets older, or it may remove items that have not been used for a while, much like a “least-recently-used” list. Some systems give each memory a relevance score; when space runs low, they erase the lowest-scoring items first. Others keep a fixed-length sliding window of the most recent events or create short summaries and store those instead of raw details. These methods stop the memory store from growing without limits, cut storage costs, and let the agent focus on current goals. Choosing the right mix of aging rules is a trade-off: forget too fast and the agent loses context, forget too slow and it wastes resources or reacts to outdated facts.
+
+Visit the following resources to learn more:
+
+- [@article@Memory Management](https://python.langchain.com/docs/how_to/chatbots_memory/)
+- [@article@Memory Management for AI Agents](https://techcommunity.microsoft.com/blog/azure-ai-services-blog/memory-management-for-ai-agents/4406359)
\ No newline at end of file
diff --git a/src/data/roadmaps/ai-agents/content/frequency-penalty@z_N-Y0zGkv8_qHPuVtimL.md b/src/data/roadmaps/ai-agents/content/frequency-penalty@z_N-Y0zGkv8_qHPuVtimL.md
new file mode 100644
index 000000000..01db5dd36
--- /dev/null
+++ b/src/data/roadmaps/ai-agents/content/frequency-penalty@z_N-Y0zGkv8_qHPuVtimL.md
@@ -0,0 +1,8 @@
+# Frequency Penalty
+
+Frequency penalty is a setting that tells a language model, “Stop repeating yourself.” As the model writes, it keeps track of how many times it has already used each word. A positive frequency-penalty value lowers the chance of picking a word again if it has been seen many times in the current reply. This helps cut down on loops like “very very very” or long blocks that echo the same phrase. A value of 0 turns the rule off, while higher numbers make the model avoid repeats more strongly. If the penalty is too high, the text may miss common words that are still needed, so you often start low (for example 0.2) and adjust. Frequency penalty works together with other controls such as temperature and top-p to shape output that is clear, varied, and not boring.
+
+Visit the following resources to learn more:
+
+- [@article@Frequency Penalty Explanation](https://docs.aipower.org/docs/ai-engine/openai/frequency-penalty)
+- [@article@Understanding Frequency Penalty and Presence Penalty](https://medium.com/@the_tori_report/understanding-frequency-penalty-and-presence-penalty-how-to-fine-tune-ai-generated-text-e5e4f5e779cd)
\ No newline at end of file
diff --git a/src/data/roadmaps/ai-agents/content/gemini-function-calling@_iIsBJTVS6OBf_dsdmbVO.md b/src/data/roadmaps/ai-agents/content/gemini-function-calling@_iIsBJTVS6OBf_dsdmbVO.md
new file mode 100644
index 000000000..3a3670a89
--- /dev/null
+++ b/src/data/roadmaps/ai-agents/content/gemini-function-calling@_iIsBJTVS6OBf_dsdmbVO.md
@@ -0,0 +1,8 @@
+# Gemini Function Calling
+
+Gemini function calling lets you hook the Gemini language model to real code in a safe and simple way. You first list the functions you want it to use, each with a name, a short note about what it does, and a JSON schema for the needed arguments. When the user speaks, Gemini checks this list and, if a match makes sense, answers with a tiny JSON block that holds the chosen function name and the filled-in arguments. Your program then runs that function, sends the result back, and the chat moves on. Because the reply is strict JSON and not free text, you do not have to guess at what the model means, and you avoid many errors. This flow lets you build agents that pull data, call APIs, or carry out long action chains while keeping control of business logic on your side.
+
+Visit the following resources to learn more:
+
+- [@official@Function Calling with the Gemini API](https://ai.google.dev/gemini-api/docs/function-calling)
+- [@article@Understanding Function Calling in Gemini](https://medium.com/google-cloud/understanding-function-calling-in-gemini-3097937f1905)
\ No newline at end of file
diff --git a/src/data/roadmaps/ai-agents/content/git-and-terminal-usage@McREk2zHOlIrqbGSKbX-J.md b/src/data/roadmaps/ai-agents/content/git-and-terminal-usage@McREk2zHOlIrqbGSKbX-J.md
new file mode 100644
index 000000000..a9190e4ba
--- /dev/null
+++ b/src/data/roadmaps/ai-agents/content/git-and-terminal-usage@McREk2zHOlIrqbGSKbX-J.md
@@ -0,0 +1,9 @@
+# Git and Terminal Usage
+
+Git and the terminal are key tools for AI agents and developers. Git lets you track changes in code, work with branches, and collaborate safely with others. It stores snapshots of your work so you can undo mistakes or merge ideas. The terminal (command line) lets you move around files, run programs, set up servers, and control tools like Git quickly without a GUI.
+
+Visit the following resources to learn more:
+
+- [@official@Git Basics](https://git-scm.com/doc)
+- [@official@Introduction to the Terminal](https://ubuntu.com/tutorials/command-line-for-beginners#1-overview)
+- [@video@Git and Terminal Basics Crash Course (YouTube)](https://www.youtube.com/watch?v=HVsySz-h9r4)
diff --git a/src/data/roadmaps/ai-agents/content/haystack@XS-FsvtrXGZ8DPrwOsnlI.md b/src/data/roadmaps/ai-agents/content/haystack@XS-FsvtrXGZ8DPrwOsnlI.md
new file mode 100644
index 000000000..a57208cbc
--- /dev/null
+++ b/src/data/roadmaps/ai-agents/content/haystack@XS-FsvtrXGZ8DPrwOsnlI.md
@@ -0,0 +1,9 @@
+# Haystack
+
+Haystack is an open-source Python framework that helps you build search and question-answering agents fast. You connect your data sources, pick a language model, and set up pipelines that find the best answer to a user’s query. Haystack handles tasks such as indexing documents, retrieving passages, running the model, and ranking results. It works with many back-ends like Elasticsearch, OpenSearch, FAISS, and Pinecone, so you can scale from a laptop to a cluster. You can add features like summarization, translation, and document chat by dropping extra nodes into the pipeline. The framework also offers REST APIs, a web UI, and clear tutorials, making it easy to test and deploy your agent in production.
+
+Visit the following resources to learn more:
+
+- [@official@Haystack](https://haystack.deepset.ai/)
+- [@official@Haystack Overview](https://docs.haystack.deepset.ai/docs/intro)
+- [@opensource@deepset-ai/haystack](https://github.com/deepset-ai/haystack)
diff --git a/src/data/roadmaps/ai-agents/content/helicone@MLxP5N0Vrmwh-kyvNeGXn.md b/src/data/roadmaps/ai-agents/content/helicone@MLxP5N0Vrmwh-kyvNeGXn.md
new file mode 100644
index 000000000..7ddb3fef6
--- /dev/null
+++ b/src/data/roadmaps/ai-agents/content/helicone@MLxP5N0Vrmwh-kyvNeGXn.md
@@ -0,0 +1,9 @@
+# Helicone
+
+Helicone is an open-source tool that helps you watch and understand how your AI agents talk to large language models. You send your model calls through Helicone’s proxy, and it records each request and response without changing the result. A clear web dashboard then shows logs, latency, token counts, error rates, and cost for every call. You can filter, search, and trace a single user journey, which makes it easy to spot slow prompts or rising costs. Helicone also lets you set alerts and share traces with your team, so problems get fixed fast and future changes are safer.
+
+Visit the following resources to learn more:
+
+- [@official@Helicone](https://www.helicone.ai/)
+- [@official@Helicone OSS LLM Observability](https://docs.helicone.ai/getting-started/quick-start)
+- [@opensource@Helicone/helicone](https://github.com/Helicone/helicone)
diff --git a/src/data/roadmaps/ai-agents/content/human-in-the-loop-evaluation@rHxdxN97ZcU7MPl8L1jzN.md b/src/data/roadmaps/ai-agents/content/human-in-the-loop-evaluation@rHxdxN97ZcU7MPl8L1jzN.md
new file mode 100644
index 000000000..f2ef51002
--- /dev/null
+++ b/src/data/roadmaps/ai-agents/content/human-in-the-loop-evaluation@rHxdxN97ZcU7MPl8L1jzN.md
@@ -0,0 +1,10 @@
+# Human in the Loop Evaluation
+
+Human-in-the-loop evaluation checks an AI agent by letting real people judge its output and behavior. Instead of trusting only automated scores, testers invite users, domain experts, or crowd workers to watch tasks, label answers, flag errors, and rate clarity, fairness, or safety. Their feedback shows problems that numbers alone miss, such as hidden bias, confusing language, or actions that feel wrong to a person. Teams study these notes, adjust the model, and run another round, repeating until the agent meets quality and trust goals. Mixing human judgment with data leads to a system that is more accurate, useful, and safe for everyday use.
+
+Visit the following resources to learn more:
+
+- [@article@Human in the Loop · Cloudflare Agents](https://developers.cloudflare.com/agents/concepts/human-in-the-loop/)
+- [@article@What is Human-in-the-Loop: A Guide](https://logifusion.com/what-is-human-in-the-loop-htil/)
+- [@article@Human-in-the-Loop ML](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-human-review-workflow.html)
+- [@article@The Importance of Human Feedback in AI (Hugging Face Blog)](https://huggingface.co/blog/rlhf)
diff --git a/src/data/roadmaps/ai-agents/content/integration-testing-for-flows@P9-SiIda3TSjHsfkI5OUV.md b/src/data/roadmaps/ai-agents/content/integration-testing-for-flows@P9-SiIda3TSjHsfkI5OUV.md
new file mode 100644
index 000000000..b6cc18dc3
--- /dev/null
+++ b/src/data/roadmaps/ai-agents/content/integration-testing-for-flows@P9-SiIda3TSjHsfkI5OUV.md
@@ -0,0 +1,9 @@
+# Integration Testing for Flows
+
+Integration testing for flows checks that an AI agent works well from the first user input to the final action, across every step in between. It joins all parts of the system—natural-language understanding, planning, memory, tools, and output—and runs them together in real scenarios. Test cases follow common and edge-case paths a user might take. The goal is to catch errors that only appear when parts interact, such as wrong data passed between modules or timing issues. Good practice includes building automated test suites, using real or mock services, and logging each step for easy debugging. When integration tests pass, you gain confidence that the whole flow feels smooth and reliable for users.
+
+Visit the following resources to learn more:
+
+- [@article@Integration Testing for AI-based Features with Humans](https://www.microsoft.com/en-us/research/publication/hint-integration-testing-for-ai-based-features-with-humans-in-the-loop/)
+- [@article@Integration Testing and Unit Testing in AI](https://www.aviator.co/blog/integration-testing-and-unit-testing-in-the-age-of-ai/)
+- [@article@Integration Testing](https://www.guru99.com/integration-testing.html)
\ No newline at end of file
diff --git a/src/data/roadmaps/ai-agents/content/iterate-and-test-your-prompts@noTuUFnHSBzn7GKG9UZEi.md b/src/data/roadmaps/ai-agents/content/iterate-and-test-your-prompts@noTuUFnHSBzn7GKG9UZEi.md
new file mode 100644
index 000000000..ad757837a
--- /dev/null
+++ b/src/data/roadmaps/ai-agents/content/iterate-and-test-your-prompts@noTuUFnHSBzn7GKG9UZEi.md
@@ -0,0 +1,9 @@
+# Iterate and Test your Prompts
+
+After you write a first prompt, treat it as a draft, not the final version. Run it with the AI, check the output, and note what is missing, wrong, or confusing. Change one thing at a time, such as adding an example, a limit on length, or a tone request. Test again and see if the result gets closer to what you want. Keep a record of each change and its effect, so you can learn patterns that work. Stop when the output is clear, correct, and repeatable. This loop of try, observe, adjust, and retry turns a rough prompt into a strong one.
+
+Visit the following resources to learn more:
+
+- [@article@Master Iterative Prompting: A Guide](https://blogs.vreamer.space/master-iterative-prompting-a-guide-to-more-effective-interactions-with-ai-50a736eaec38)
+- [@course@Prompt Engineering Best Practices](https://www.deeplearning.ai/short-courses/chatgpt-prompt-engineering-for-developers/)
+- [@video@Prompt Engineering: The Iterative Process](https://www.youtube.com/watch?v=dOxUroR57xs)
diff --git a/src/data/roadmaps/ai-agents/content/langchain@Ka6VpCEnqABvwiF9vba7t.md b/src/data/roadmaps/ai-agents/content/langchain@Ka6VpCEnqABvwiF9vba7t.md
new file mode 100644
index 000000000..1c595ce75
--- /dev/null
+++ b/src/data/roadmaps/ai-agents/content/langchain@Ka6VpCEnqABvwiF9vba7t.md
@@ -0,0 +1,11 @@
+# LangChain
+
+LangChain is a Python and JavaScript library that helps you put large language models to work in real products. It gives ready-made parts for common agent tasks such as talking to many tools, keeping short-term memory, and calling an external API when the model needs fresh data. You combine these parts like Lego blocks: pick a model, add a prompt template, chain the steps, then wrap the chain in an “agent” that can choose what step to run next. Built-in connectors link to OpenAI, Hugging Face, vector stores, and SQL databases, so you can search documents or pull company data without writing a lot of glue code. This lets you move fast from idea to working bot, while still letting you swap out parts if your needs change.
+
+Visit the following resources to learn more:
+
+- [@official@LangChain Documentation](https://python.langchain.com/docs/introduction/)
+- [@opensource@langchain-ai/langchain](https://github.com/langchain-ai/langchain)
+- [@article@Building Applications with LLMs using LangChain](https://www.pinecone.io/learn/series/langchain/)
+- [@article@AI Agents with LangChain and LangGraph](https://www.udacity.com/course/ai-agents-with-langchain-and-langgraph--cd13764)
+- [@video@LangChain Crash Course - Build LLM Apps Fast (YouTube)](https://www.youtube.com/watch?v=nAmC7SoVLd8)
diff --git a/src/data/roadmaps/ai-agents/content/langfuse@UoIheaJlShiceafrWALEH.md b/src/data/roadmaps/ai-agents/content/langfuse@UoIheaJlShiceafrWALEH.md
new file mode 100644
index 000000000..a20edda17
--- /dev/null
+++ b/src/data/roadmaps/ai-agents/content/langfuse@UoIheaJlShiceafrWALEH.md
@@ -0,0 +1,10 @@
+# LangFuse
+
+LangFuse is a free, open-source tool that lets you watch and debug AI agents while they run. You add a small code snippet to your agent, and LangFuse starts collecting every prompt, model response, and user input. It shows this data as neat timelines, so you can see each step the agent takes, how long the calls cost, and where errors happen. You can tag runs, search through them, and compare different prompt versions to find what works best. The dashboard also tracks token usage and latency, helping you cut cost and improve speed. Because LangFuse stores data in your own database, you keep full control of sensitive text. It works well with popular frameworks like LangChain and can send alerts to Slack or email when something breaks.
+
+Visit the following resources to learn more:
+
+- [@official@LangFuse](https://langfuse.com/)
+- [@official@LangFuse Documentation](https://langfuse.com/docs)
+- [@opensource@langfuse/langfuse](https://github.com/langfuse/langfuse)
+- [@article@Langfuse: Open Source LLM Engineering Platform](https://www.ycombinator.com/companies/langfuse)
diff --git a/src/data/roadmaps/ai-agents/content/langsmith@SS8mGqf9wfrNqenIWvN8Z.md b/src/data/roadmaps/ai-agents/content/langsmith@SS8mGqf9wfrNqenIWvN8Z.md
new file mode 100644
index 000000000..e8b70f440
--- /dev/null
+++ b/src/data/roadmaps/ai-agents/content/langsmith@SS8mGqf9wfrNqenIWvN8Z.md
@@ -0,0 +1,10 @@
+# LangSmith
+
+LangSmith is a web tool that helps you see and fix what your AI agents are doing. It records each call that the agent makes to a language model, the input it used, and the answer it got back. You can replay any step, compare different prompts, measure cost, speed, and error rates, and tag runs for easy search. It also lets you store test sets and run quick checks so you know if new code makes the agent worse. By showing clear traces and charts, LangSmith makes it easier to debug, improve, and trust AI systems built with LangChain or other frameworks.
+
+Visit the following resources to learn more:
+
+- [@official@LangSmith](https://smith.langchain.com/)
+- [@official@LangSmith Documentation](https://docs.smith.langchain.com/)
+- [@official@Harden your application with LangSmith Evaluation](https://www.langchain.com/evaluation)
+- [@article@What is LangSmith and Why should I care as a developer?](https://medium.com/around-the-prompt/what-is-langsmith-and-why-should-i-care-as-a-developer-e5921deb54b5)
diff --git a/src/data/roadmaps/ai-agents/content/langsmith@xp7TCTRE9HP60_rGzTUF6.md b/src/data/roadmaps/ai-agents/content/langsmith@xp7TCTRE9HP60_rGzTUF6.md
new file mode 100644
index 000000000..a2231686f
--- /dev/null
+++ b/src/data/roadmaps/ai-agents/content/langsmith@xp7TCTRE9HP60_rGzTUF6.md
@@ -0,0 +1,10 @@
+# LangSmith
+
+LangSmith is a tool that helps you see how well your AI agents work. It lets you record every step the agent takes, from the first input to the final answer. You can replay these steps to find places where the agent goes wrong. LangSmith also lets you create test sets with real user prompts and compare new model versions against them. It shows clear numbers on speed, cost, and accuracy so you can spot trade-offs. Because LangSmith links to LangChain, you can add it with only a few extra lines of code. The web dashboard then gives charts, error logs, and side-by-side result views. This makes it easy to track progress, fix bugs, and prove that your agent is getting better over time.
+
+Visit the following resources to learn more:
+
+- [@official@LangSmith](https://smith.langchain.com/)
+- [@official@LangSmith Documentation](https://docs.smith.langchain.com/)
+- [@official@Harden your application with LangSmith Evaluation](https://www.langchain.com/evaluation)
+- [@article@What is LangSmith and Why should I care as a developer?](https://medium.com/around-the-prompt/what-is-langsmith-and-why-should-i-care-as-a-developer-e5921deb54b5)
diff --git a/src/data/roadmaps/ai-agents/content/llamaindex@iEHF-Jm3ck-Iu85EbCoDi.md b/src/data/roadmaps/ai-agents/content/llamaindex@iEHF-Jm3ck-Iu85EbCoDi.md
new file mode 100644
index 000000000..ca798d7d1
--- /dev/null
+++ b/src/data/roadmaps/ai-agents/content/llamaindex@iEHF-Jm3ck-Iu85EbCoDi.md
@@ -0,0 +1,12 @@
+# LlamaIndex
+
+LlamaIndex is an open-source Python toolkit that helps you give a language model access to your own data. You load files such as PDFs, web pages, or database rows. The toolkit breaks the text into chunks, turns them into vectors, and stores them in a chosen vector store like FAISS or Pinecone. When a user asks a question, LlamaIndex finds the best chunks, adds them to the prompt, and sends the prompt to the model. This flow is called retrieval-augmented generation and it lets an agent give answers grounded in your content. The library offers simple classes for loading, indexing, querying, and composing tools, so you write less boilerplate code. It also works with other frameworks, including LangChain, and supports models from OpenAI or Hugging Face. With a few lines of code you can build a chatbot, Q&A system, or other agent that knows your documents.
+
+Visit the following resources to learn more:
+
+- [@official@LlamaIndex](https://llamaindex.ai/)
+- [@official@LlamaIndex Documentation](https://docs.smith.langchain.com/)
+- [@official@What is LlamaIndex.TS](https://ts.llamaindex.ai/docs/llamaindex)
+- [@opensource@run-llama/llama_index](https://github.com/run-llama/llama_index)
+- [@article@What is LlamaIndex? - IBM](https://www.ibm.com/think/topics/llamaindex)
+- [@article@LlamaIndex - Hugging Face](https://huggingface.co/llamaindex)
\ No newline at end of file
diff --git a/src/data/roadmaps/ai-agents/content/llm-native-function-calling@aafZxtjxiwzJH1lwHBODi.md b/src/data/roadmaps/ai-agents/content/llm-native-function-calling@aafZxtjxiwzJH1lwHBODi.md
new file mode 100644
index 000000000..6c67855ab
--- /dev/null
+++ b/src/data/roadmaps/ai-agents/content/llm-native-function-calling@aafZxtjxiwzJH1lwHBODi.md
@@ -0,0 +1,9 @@
+# LLM Native "Function Calling"
+
+LLM native “function calling” lets a large language model decide when to run a piece of code and which inputs to pass to it. You first tell the model what functions are available. For each one you give a short name, a short description, and a list of arguments with their types. During a chat, the model can answer in JSON that matches this schema instead of plain text. Your wrapper program reads the JSON, calls the real function, and then feeds the result back to the model so it can keep going. This loop helps an agent search the web, look up data, send an email, or do any other task you expose. Because the output is structured, you get fewer mistakes than when the model tries to write raw code or natural-language commands.
+
+Visit the following resources to learn more:
+
+- [@article@A Comprehensive Guide to Function Calling in LLMs](https://thenewstack.io/a-comprehensive-guide-to-function-calling-in-llms/)
+- [@article@Function Calling with LLMs | Prompt Engineering Guide](https://www.promptingguide.ai/applications/function_calling)
+- [@article@Function Calling with Open-Source LLMs](https://medium.com/@rushing_andrei/function-calling-with-open-source-llms-594aa5b3a304)
\ No newline at end of file
diff --git a/src/data/roadmaps/ai-agents/content/local-desktop@iBtJp24F_kJE3YlBsW60s.md b/src/data/roadmaps/ai-agents/content/local-desktop@iBtJp24F_kJE3YlBsW60s.md
new file mode 100644
index 000000000..385ba32d4
--- /dev/null
+++ b/src/data/roadmaps/ai-agents/content/local-desktop@iBtJp24F_kJE3YlBsW60s.md
@@ -0,0 +1,10 @@
+# Local Desktop
+
+A Local Desktop deployment means running the MCP server directly on your own computer instead of a remote cloud or server. You install the MCP software, needed runtimes, and model files onto your desktop or laptop. The server then listens on a local address like `127.0.0.1:8000`, accessible only from the same machine unless you open ports manually. This setup is great for fast tests, personal demos, or private experiments since you keep full control and avoid cloud costs. However, it's limited by your hardware's speed and memory, and others cannot access it without tunneling tools like ngrok or local port forwarding.
+
+Visit the following resources to learn more:
+
+- [@article@Build a Simple Local MCP Server](https://blog.stackademic.com/build-simple-local-mcp-server-5434d19572a4)
+- [@article@How to Build and Host Your Own MCP Servers in Easy Steps](https://collabnix.com/how-to-build-and-host-your-own-mcp-servers-in-easy-steps/)
+- [@article@Expose localhost to Internet](https://ngrok.com/docs)
+- [@video@Run a Local Server on Your Machine](https://www.youtube.com/watch?v=ldGl6L4Vktk)
diff --git a/src/data/roadmaps/ai-agents/content/long-term-memory@Ue633fz6Xu2wa2-KOAtdP.md b/src/data/roadmaps/ai-agents/content/long-term-memory@Ue633fz6Xu2wa2-KOAtdP.md
new file mode 100644
index 000000000..a5dbbe044
--- /dev/null
+++ b/src/data/roadmaps/ai-agents/content/long-term-memory@Ue633fz6Xu2wa2-KOAtdP.md
@@ -0,0 +1,11 @@
+# Long Term Memory
+
+Long term memory in an AI agent stores important information for future use, like a digital notebook. It saves facts, past events, user preferences, and learned skills so the agent can make smarter and more consistent decisions over time. Unlike short-term memory, this data survives across sessions. When a similar situation comes up, the agent can look back and use what it already knows. Long term memory usually lives in a database, file system, or vector store and may hold text, numbers, embeddings, or past conversation states. Good management of long-term memory is key for building agents that feel personalized and get better with experience.
+
+Visit the following resources to learn more:
+
+- [@article@Long Term Memory in AI Agents](https://medium.com/@alozie_igbokwe/ai-101-long-term-memory-in-ai-agents-35f87f2d0ce0)
+- [@article@Memory Management in AI Agents](https://python.langchain.com/docs/how_to/chatbots_memory/)
+- [@article@Storing and Retrieving Knowledge for Agents](https://www.pinecone.io/learn/langchain-retrieval-augmentation/)
+- [@article@Short-Term vs Long-Term Memory in AI Agents](https://adasci.org/short-term-vs-long-term-memory-in-ai-agents/)
+- [@video@Building Brain-Like Memory for AI Agents](https://www.youtube.com/watch?v=VKPngyO0iKg)
diff --git a/src/data/roadmaps/ai-agents/content/manual-from-scratch@US6T5dXM8IY9V2qZnTOFW.md b/src/data/roadmaps/ai-agents/content/manual-from-scratch@US6T5dXM8IY9V2qZnTOFW.md
new file mode 100644
index 000000000..9e895322e
--- /dev/null
+++ b/src/data/roadmaps/ai-agents/content/manual-from-scratch@US6T5dXM8IY9V2qZnTOFW.md
@@ -0,0 +1,10 @@
+# Manual (from scratch)
+
+Building an AI agent from scratch means writing every part of the system yourself, without ready-made libraries. You define how the agent senses inputs, stores memory, makes decisions, and learns over time. First, you pick a clear goal, like solving puzzles or chatting. Then you code the inputs (keyboard, mouse, text), decision logic (rules or neural networks), and memory (saving facts from past events). Testing is critical: you run the agent, watch its actions, debug, and improve. Though it takes longer, this approach gives deep understanding and full control over how the agent works and evolves.
+
+Visit the following resources to learn more:
+
+- [@article@A Step-by-Step Guide to Building an AI Agent From Scratch](https://www.neurond.com/blog/how-to-build-an-ai-agent)
+- [@article@How to Build AI Agents](https://wotnot.io/blog/build-ai-agents)
+- [@article@Build Your Own AI Agent from Scratch in 30 Minutes](https://medium.com/@gurpartap.sandhu3/build-you-own-ai-agent-from-scratch-in-30-mins-using-simple-python-1458f8099da0)
+- [@video@Building an AI Agent From Scratch](https://www.youtube.com/watch?v=bTMPwUgLZf0)
diff --git a/src/data/roadmaps/ai-agents/content/max-length@Bn_BkthrVX_vOuwQzvPZa.md b/src/data/roadmaps/ai-agents/content/max-length@Bn_BkthrVX_vOuwQzvPZa.md
new file mode 100644
index 000000000..79ad555f2
--- /dev/null
+++ b/src/data/roadmaps/ai-agents/content/max-length@Bn_BkthrVX_vOuwQzvPZa.md
@@ -0,0 +1,12 @@
+# Max Length
+
+Max Length sets the maximum number of tokens a language model can generate in one reply. Tokens are pieces of text—roughly 100 tokens equals a short paragraph. A small limit saves time and cost but risks cutting answers short. A large limit allows full, detailed replies but needs more compute and can lose focus. Choose limits based on the task: short limits for tweets, longer ones for articles. Tuning Max Length carefully helps balance clarity, speed, and cost.
+
+Visit the following resources to learn more:
+
+- [@official@OpenAI Token Usage](https://platform.openai.com/docs/guides/gpt/managing-tokens)
+- [@official@Size and Max Token Limits](https://docs.anthropic.com/claude/docs/size-and-token-limits)
+- [@article@Utilising Max Token Context Window of Anthropic Claude](https://medium.com/@nampreetsingh/utilising-max-token-context-window-of-anthropic-claude-on-amazon-bedrock-7377d94b2dfa)
+- [@article@Controlling the Length of OpenAI Model Responses](https://help.openai.com/en/articles/5072518-controlling-the-length-of-openai-model-responses)
+- [@article@Max Model Length in AI](https://www.restack.io/p/ai-model-answer-max-model-length-cat-ai)
+- [@video@Understanding ChatGPT/OpenAI Tokens](https://youtu.be/Mo3NV5n1yZk)
\ No newline at end of file
diff --git a/src/data/roadmaps/ai-agents/content/mcp-client@CGVstUxVXLJcYZrwk3iNQ.md b/src/data/roadmaps/ai-agents/content/mcp-client@CGVstUxVXLJcYZrwk3iNQ.md
new file mode 100644
index 000000000..5be36321f
--- /dev/null
+++ b/src/data/roadmaps/ai-agents/content/mcp-client@CGVstUxVXLJcYZrwk3iNQ.md
@@ -0,0 +1,10 @@
+# MCP Client
+
+The MCP Client is the part of an AI agent that talks to the language model API. It collects messages, files, and tool signals, packs them using the Model Context Protocol, and sends them to the model. When a reply comes back, it unpacks it, checks the format, and passes the result to other modules. It also tracks token usage, filters private data, retries failed calls, and logs important events for debugging.
+
+Visit the following resources to learn more:
+
+- [@opensource@Model Context Protocol](https://github.com/modelcontextprotocol/modelcontextprotocol)
+- [@official@Model Context Protocol](https://modelcontextprotocol.io/introduction)
+- [@official@OpenAI API Reference](https://platform.openai.com/docs/api-reference)
+- [@official@Anthropic API Documentation](https://docs.anthropic.com/claude/reference)
diff --git a/src/data/roadmaps/ai-agents/content/mcp-hosts@9FryAIrWRHh8YlzKX3et5.md b/src/data/roadmaps/ai-agents/content/mcp-hosts@9FryAIrWRHh8YlzKX3et5.md
new file mode 100644
index 000000000..39854edfa
--- /dev/null
+++ b/src/data/roadmaps/ai-agents/content/mcp-hosts@9FryAIrWRHh8YlzKX3et5.md
@@ -0,0 +1,10 @@
+# MCP Hosts
+
+MCP Hosts are computers or services that run the Model Context Protocol. They handle incoming calls, load the MCP manifest, check requests, and pass data between users, tools, and language models. Hosts may cache recent messages, track token usage, and add safety or billing checks before sending prompts to the model. They expose an API endpoint so apps can connect easily. You can run a host on your laptop for testing or deploy it on cloud platforms for scale. The host acts as the trusted bridge where agents, tools, and data meet.
+
+Visit the following resources to learn more:
+
+- [@official@Vercel Serverless Hosting](https://vercel.com/docs)
+- [@article@The Ultimate Guide to MCP](https://guangzhengli.com/blog/en/model-context-protocol)
+- [@article@AWS MCP Servers for Code Assistants](https://aws.amazon.com/blogs/machine-learning/introducing-aws-mcp-servers-for-code-assistants-part-1/)
+- [@opensource@punkeye/awesome-mcp-servers](https://github.com/punkpeye/awesome-mcp-servers)
\ No newline at end of file
diff --git a/src/data/roadmaps/ai-agents/content/mcp-servers@yv_-87FVM7WKn5iv6LW9q.md b/src/data/roadmaps/ai-agents/content/mcp-servers@yv_-87FVM7WKn5iv6LW9q.md
new file mode 100644
index 000000000..6ac91f9e7
--- /dev/null
+++ b/src/data/roadmaps/ai-agents/content/mcp-servers@yv_-87FVM7WKn5iv6LW9q.md
@@ -0,0 +1,10 @@
+# MCP Servers
+
+An MCP Server is the main machine or cloud service that runs the Model Context Protocol. It keeps the shared “memory” that different AI agents need so they stay on the same page. When an agent sends a request, the server checks who is asking, pulls the right context from its store, and sends it back fast. It also saves new facts and task results so the next agent can use them. An MCP Server must handle many users at once, protect private data with strict access rules, and log every change for easy roll-back. Good servers break work into small tasks, spread them across many computers, and add backups so they never lose data. In short, the MCP Server is the hub that makes sure all agents share fresh, safe, and correct context.
+
+Visit the following resources to learn more:
+
+- [@article@Introducing the Azure MCP Server ](https://devblogs.microsoft.com/azure-sdk/introducing-the-azure-mcp-server/)
+- [@article@The Ultimate Guide to MCP](https://guangzhengli.com/blog/en/model-context-protocol)
+- [@article@AWS MCP Servers for Code Assistants](https://aws.amazon.com/blogs/machine-learning/introducing-aws-mcp-servers-for-code-assistants-part-1/)
+- [@opensource@punkeye/awesome-mcp-servers](https://github.com/punkpeye/awesome-mcp-servers)
\ No newline at end of file
diff --git a/src/data/roadmaps/ai-agents/content/metrics-to-track@v8qLnyFRnEumodBYxQSXQ.md b/src/data/roadmaps/ai-agents/content/metrics-to-track@v8qLnyFRnEumodBYxQSXQ.md
new file mode 100644
index 000000000..c6d0ef6a2
--- /dev/null
+++ b/src/data/roadmaps/ai-agents/content/metrics-to-track@v8qLnyFRnEumodBYxQSXQ.md
@@ -0,0 +1,10 @@
+# Metrics to Track
+
+To judge how well an AI agent works, you need clear numbers. Track accuracy, precision, recall, and F1 score to measure correctness. For ranking tasks, use metrics like mean average precision or ROC-AUC. If users interact with the agent, monitor response time, latency, and failure rates. Safety metrics count toxic or biased outputs, while robustness tests check how the agent handles messy or tricky inputs. Resource metrics—memory, CPU, and energy—show if it can scale. Pick the metrics that match your goal, compare against a baseline, and track trends across versions.
+
+Visit the following resources to learn more:
+
+- [@article@Robustness Testing for AI](https://mitibmwatsonailab.mit.edu/category/robustness/)
+- [@article@Complete Guide to Machine Learning Evaluation Metrics](https://medium.com/analytics-vidhya/complete-guide-to-machine-learning-evaluation-metrics-615c2864d916)
+- [@article@Measuring Model Performance](https://developers.google.com/machine-learning/crash-course/classification/accuracy)
+- [@article@A Practical Framework for (Gen)AI Value Measurement](https://medium.com/google-cloud/a-practical-framework-for-gen-ai-value-measurement-5fccf3b66c43)
diff --git a/src/data/roadmaps/ai-agents/content/model-context-protocol-mcp@1B0IqRNYdtbHDi1jHSXuI.md b/src/data/roadmaps/ai-agents/content/model-context-protocol-mcp@1B0IqRNYdtbHDi1jHSXuI.md
new file mode 100644
index 000000000..67d9b849b
--- /dev/null
+++ b/src/data/roadmaps/ai-agents/content/model-context-protocol-mcp@1B0IqRNYdtbHDi1jHSXuI.md
@@ -0,0 +1,10 @@
+# Model Context Protocol (MCP)
+
+Model Context Protocol (MCP) is a rulebook that tells an AI agent how to pack background information before it sends a prompt to a language model. It lists what pieces go into the prompt—things like the system role, the user’s request, past memory, tool calls, or code snippets—and fixes their order. Clear tags mark each piece, so both humans and machines can see where one part ends and the next begins. Keeping the format steady cuts confusion, lets different tools work together, and makes it easier to test or swap models later. When agents follow MCP, the model gets a clean, complete prompt and can give better answers.
+
+Visit the following resources to learn more:
+
+- [@opensource@Model Context Protocol](https://github.com/modelcontextprotocol/modelcontextprotocol)
+- [@official@Model Context Protocol](https://modelcontextprotocol.io/introduction)
+- [@article@Introducing the Azure MCP Server ](https://devblogs.microsoft.com/azure-sdk/introducing-the-azure-mcp-server/)
+- [@article@The Ultimate Guide to MCP](https://guangzhengli.com/blog/en/model-context-protocol)
\ No newline at end of file
diff --git a/src/data/roadmaps/ai-agents/content/npc--game-ai@ok8vN7VtCgyef5x6aoQaL.md b/src/data/roadmaps/ai-agents/content/npc--game-ai@ok8vN7VtCgyef5x6aoQaL.md
new file mode 100644
index 000000000..166ba7b37
--- /dev/null
+++ b/src/data/roadmaps/ai-agents/content/npc--game-ai@ok8vN7VtCgyef5x6aoQaL.md
@@ -0,0 +1,8 @@
+# NPC / Game AI
+
+Game studios use AI agents to control non-player characters (NPCs). The agent observes the game state and decides actions like moving, speaking, or fighting. It can shift tactics when the player changes strategy, keeping battles fresh instead of predictable. A quest giver might use an agent to offer hints that fit the player’s progress. In open-world games, agents guide crowds to move around obstacles, set new goals, and react to threats, making towns feel alive. Designers save time by writing broad rules and letting agents fill in details instead of hand-coding every scene. Smarter NPC behavior keeps players engaged and boosts replay value.
+
+Visit the following resources to learn more:
+
+- [@official@Unity – AI for NPCs](https://dev.epicgames.com/documentation/en-us/unreal-engine/artificial-intelligence-in-unreal-engine?application_version=5.3)
+- [@article@AI-Driven NPCs: The Future of Gaming Explained](https://www.capermint.com/blog/everything-you-need-to-know-about-non-player-character-npc/)
\ No newline at end of file
diff --git a/src/data/roadmaps/ai-agents/content/observation--reflection@ZJTrun3jK3zBGOTm1jdMI.md b/src/data/roadmaps/ai-agents/content/observation--reflection@ZJTrun3jK3zBGOTm1jdMI.md
new file mode 100644
index 000000000..3ff4c147c
--- /dev/null
+++ b/src/data/roadmaps/ai-agents/content/observation--reflection@ZJTrun3jK3zBGOTm1jdMI.md
@@ -0,0 +1,8 @@
+# Observation & Reflection
+
+Observation and reflection form the thinking pause in an AI agent’s loop. First, the agent looks at the world around it, gathers fresh data, and sees what has changed. It then pauses to ask, “What does this new information mean for my goal?” During this short check, the agent updates its memory, spots errors, and ranks what matters most. These steps guide wiser plans and actions in the next cycle. Without careful observation and reflection, the agent would rely on old or wrong facts and soon drift off course.
+
+Visit the following resources to learn more:
+
+- [@official@Best Practices for Prompting and Self-checking](https://platform.openai.com/docs/guides/prompt-engineering)
+- [@article@Self-Reflective AI: Building Agents That Learn by Observing Themselves](https://arxiv.org/abs/2302.14045)
diff --git a/src/data/roadmaps/ai-agents/content/open-weight-models@DSJAhQhc1dQmBHQ8ZkTau.md b/src/data/roadmaps/ai-agents/content/open-weight-models@DSJAhQhc1dQmBHQ8ZkTau.md
new file mode 100644
index 000000000..e70b9d146
--- /dev/null
+++ b/src/data/roadmaps/ai-agents/content/open-weight-models@DSJAhQhc1dQmBHQ8ZkTau.md
@@ -0,0 +1,11 @@
+# Open Weight Models
+
+Open-weight models are neural networks whose trained parameters, also called weights, are shared with everyone. Anyone can download the files, run the model, fine-tune it, or build tools on top of it. The licence that comes with the model spells out what you are allowed to do. Some licences are very permissive and even let you use the model for commercial work. Others allow only research or personal projects. Because the weights are public, the community can inspect how the model works, check for bias, and suggest fixes. Open weights also lower costs, since teams do not have to train a large model from scratch. Well-known examples include BLOOM, Falcon, and Llama 2.
+
+Visit the following resources to learn more:
+
+- [@official@BLOOM BigScience](https://bigscience.huggingface.co/)
+- [@official@Falcon LLM – Technology Innovation Institute (TII)](https://falconllm.tii.ae/)
+- [@official@Llama 2 – Meta's Official Announcement](https://ai.meta.com/llama/)
+- [@official@Hugging Face – Open LLM Leaderboard (Top Open Models)](https://huggingface.co/spaces/HuggingFaceH4/open_llm_leaderboard)
+- [@official@EleutherAI – Open Research Collective (GPT-Neo, GPT-J, etc.)](https://www.eleuther.ai/)
diff --git a/src/data/roadmaps/ai-agents/content/openai-assistant-api@37GBFVZ2J2d5r8bd1ViHq.md b/src/data/roadmaps/ai-agents/content/openai-assistant-api@37GBFVZ2J2d5r8bd1ViHq.md
new file mode 100644
index 000000000..8568b9405
--- /dev/null
+++ b/src/data/roadmaps/ai-agents/content/openai-assistant-api@37GBFVZ2J2d5r8bd1ViHq.md
@@ -0,0 +1,10 @@
+# OpenAI Assistant API
+
+The OpenAI Assistants API lets you add clear, task-specific actions to a chat with a large language model. You first describe each action you want the model to use, giving it a name, a short purpose, and a list of inputs in JSON form. During the chat, the model may decide that one of these actions will help. It then returns the name of the action and a JSON object with the input values it thinks are right. Your code receives this call, runs real work such as a database query or a web request, and sends the result back to the model. The model reads the result and continues the chat, now armed with fresh facts. This loop lets you keep control of what real work happens while still letting the model plan and talk in natural language.
+
+Visit the following resources to learn more:
+
+- [@official@OpenAI Documentation – Assistants API Overview](https://platform.openai.com/docs/assistants/overview)
+- [@official@OpenAI Blog – Introducing the Assistants API](https://openai.com/blog/assistants-api)
+- [@official@OpenAI Cookbook – Assistants API Example](https://github.com/openai/openai-cookbook/blob/main/examples/Assistants_API_overview_python.ipynb)
+- [@official@OpenAI API Reference – Assistants Endpoints](https://platform.openai.com/docs/api-reference/assistants)
diff --git a/src/data/roadmaps/ai-agents/content/openai-functions-calling@AQtxTTxmBpfl8BMgJbGzc.md b/src/data/roadmaps/ai-agents/content/openai-functions-calling@AQtxTTxmBpfl8BMgJbGzc.md
new file mode 100644
index 000000000..240658a05
--- /dev/null
+++ b/src/data/roadmaps/ai-agents/content/openai-functions-calling@AQtxTTxmBpfl8BMgJbGzc.md
@@ -0,0 +1,11 @@
+# OpenAI Functions Calling
+
+OpenAI Function Calling lets you give a language model a list of tools and have it decide which one to use and with what data. You describe each tool with a short name, what it does, and the shape of its inputs in a small JSON-like schema. You then pass the user message and this tool list to the model. Instead of normal text, the model can reply with a JSON block that names the tool and fills in the needed arguments. Your program reads this block, runs the real function, and can send the result back for the next step. This pattern makes agent actions clear, easy to parse, and hard to abuse, because the model cannot run code on its own and all calls go through your checks. It also cuts down on prompt hacks and wrong formats, so agents work faster and more safely.
+
+Visit the following resources to learn more:
+
+- [@official@OpenAI Documentation – Function Calling](https://platform.openai.com/docs/guides/function-calling)
+- [@official@OpenAI Cookbook – Using Functions with GPT Models](https://github.com/openai/openai-cookbook/blob/main/examples/How_to_call_functions_with_chat_models.ipynb)
+- [@officialOpenAI Blog – Announcing Function Calling and Other Updates](https://openai.com/blog/function-calling-and-other-api-updates)
+- [@officialOpenAI API Reference – Functions Section](https://platform.openai.com/docs/api-reference/chat/create#functions)
+- [@officialOpenAI Community – Discussions and Examples on Function Calling](https://community.openai.com/tag/function-calling)
diff --git a/src/data/roadmaps/ai-agents/content/openllmetry@7UqPXUzqKYXklnB3x-tsv.md b/src/data/roadmaps/ai-agents/content/openllmetry@7UqPXUzqKYXklnB3x-tsv.md
new file mode 100644
index 000000000..0a0a97dee
--- /dev/null
+++ b/src/data/roadmaps/ai-agents/content/openllmetry@7UqPXUzqKYXklnB3x-tsv.md
@@ -0,0 +1,10 @@
+# openllmetry
+
+openllmetry is a small Python library that makes it easy to watch what your AI agent is doing and how well it is working. It wraps calls to large-language-model APIs, vector stores, and other tools, then sends logs, traces, and simple metrics to any backend that speaks the OpenTelemetry standard, such as Jaeger, Zipkin, or Grafana. You add one or two lines of code at start-up, and the library captures prompt text, model name, latency, token counts, and costs each time the agent asks the model for an answer. The data helps you spot slow steps, high spend, or bad answers, and it lets you play back full traces to debug agent chains. Because it follows OpenTelemetry, you can mix these AI traces with normal service traces and see the whole flow in one place.
+
+Visit the following resources to learn more:
+
+- [@official@OpenTelemetry Documentation](https://www.traceloop.com/blog/openllmetry)
+- [@official@What is OpenLLMetry? - traceloop](https://www.traceloop.com/docs/openllmetry/introduction)
+- [@official@Use Traceloop with Python](https://www.traceloop.com/docs/openllmetry/getting-started-python)
+- [@opensource@traceloop/openllmetry](https://github.com/traceloop/openllmetry)
\ No newline at end of file
diff --git a/src/data/roadmaps/ai-agents/content/perception--user-input@LU76AhCYDjxdBhpMQ4eMU.md b/src/data/roadmaps/ai-agents/content/perception--user-input@LU76AhCYDjxdBhpMQ4eMU.md
new file mode 100644
index 000000000..fa5a2c0e7
--- /dev/null
+++ b/src/data/roadmaps/ai-agents/content/perception--user-input@LU76AhCYDjxdBhpMQ4eMU.md
@@ -0,0 +1,8 @@
+# Perception / User Input
+
+Perception, also called user input, is the first step in an agent loop. The agent listens and gathers data from the outside world. This data can be text typed by a user, spoken words, camera images, sensor readings, or web content pulled through an API. The goal is to turn raw signals into a clear, usable form. The agent may clean the text, translate speech to text, resize an image, or drop noise from sensor values. Good perception means the agent starts its loop with facts, not guesses. If the input is wrong or unclear, later steps will also fail. So careful handling of perception keeps the whole agent loop on track.
+
+Visit the following resources to learn more:
+
+- [@article@Perception in AI: Understanding Its Types and Importance](https://marktalks.com/perception-in-ai-understanding-its-types-and-importance/)
+- [@article@What Is AI Agent Perception? - IBM](https://www.ibm.com/think/topics/ai-agent-perception)
diff --git a/src/data/roadmaps/ai-agents/content/personal-assistant@PPdAutqJF5G60Eg9lYBND.md b/src/data/roadmaps/ai-agents/content/personal-assistant@PPdAutqJF5G60Eg9lYBND.md
new file mode 100644
index 000000000..e464e3c1a
--- /dev/null
+++ b/src/data/roadmaps/ai-agents/content/personal-assistant@PPdAutqJF5G60Eg9lYBND.md
@@ -0,0 +1,8 @@
+# Personal assistant
+
+A personal assistant AI agent is a smart program that helps one person manage daily tasks. It can check a calendar, set reminders, and send alerts so you never miss a meeting. It can read emails, highlight key points, and even draft quick replies. If you ask a question, it searches trusted sources and gives a short answer. It can order food, book rides, or shop online when you give simple voice or text commands. Because it learns your habits, it suggests the best time to work, rest, or travel. All these actions run in the background, saving you time and reducing stress.
+
+Visit the following resources to learn more:
+
+- [@article@A Complete Guide on AI-powered Personal Assistants](https://medium.com/@alexander_clifford/a-complete-guide-on-ai-powered-personal-assistants-with-examples-2f5cd894d566)
+- [@article@9 Best AI Personal Assistants for Work, Chat and Home](https://saner.ai/best-ai-personal-assistants/)
diff --git a/src/data/roadmaps/ai-agents/content/planner-executor@6YLCMWzystao6byCYCTPO.md b/src/data/roadmaps/ai-agents/content/planner-executor@6YLCMWzystao6byCYCTPO.md
new file mode 100644
index 000000000..3d51c6d19
--- /dev/null
+++ b/src/data/roadmaps/ai-agents/content/planner-executor@6YLCMWzystao6byCYCTPO.md
@@ -0,0 +1,8 @@
+# Planner Executor
+
+A **planner-executor agent** is a type of AI agent that splits its work into two clear parts: planning and execution. The **planner** thinks ahead, taking a goal and breaking it down into a sequence of steps, ordering them in a logical and efficient manner. The **executor**, on the other hand, takes each planned step and carries it out, monitoring the results and reporting back to the planner. If something fails or the world changes, the planner may update the plan, and the executor follows the new steps. This modular approach allows the agent to handle complex tasks by dividing them into manageable parts, making it easier to debug, reuse plans, and maintain clear and consistent behavior.
+
+Visit the following resources to learn more:
+
+- [@article@Plan-and-Execute Agents](https://blog.langchain.dev/planning-agents/)
+- [@article@Plan and Execute: AI Agents Architecture](https://medium.com/@shubham.ksingh.cer14/plan-and-execute-ai-agents-architecture-f6c60b5b9598)
\ No newline at end of file
diff --git a/src/data/roadmaps/ai-agents/content/presence-penalty@Vd8ycw8pW-ZKvg5WYFtoh.md b/src/data/roadmaps/ai-agents/content/presence-penalty@Vd8ycw8pW-ZKvg5WYFtoh.md
new file mode 100644
index 000000000..de9a6ec45
--- /dev/null
+++ b/src/data/roadmaps/ai-agents/content/presence-penalty@Vd8ycw8pW-ZKvg5WYFtoh.md
@@ -0,0 +1,9 @@
+# Presence Penalty
+
+Presence penalty is a setting you can adjust when you ask a large language model to write. It pushes the model to choose words it has not used yet. Each time a word has already appeared, the model gets a small score cut for picking it again. A higher penalty gives bigger cuts, so the model looks for new words and fresh ideas. A lower penalty lets the model reuse words more often, which can help with repeats like rhymes or bullet lists. Tuning this control helps you steer the output toward either more variety or more consistency.
+
+Visit the following resources to learn more:
+
+- [@article@Understanding Presence Penalty and Frequency Penalty](https://medium.com/@pushparajgenai2025/understanding-presence-penalty-and-frequency-penalty-in-openai-chat-completion-api-calls-2e3a22547b48)
+- [@article@Difference between Frequency and Presence Penalties?](https://community.openai.com/t/difference-between-frequency-and-presence-penalties/2777)
+- [@article@LLM Parameters Explained: A Practical Guide with Examples](https://learnprompting.org/blog/llm-parameters)
\ No newline at end of file
diff --git a/src/data/roadmaps/ai-agents/content/pricing-of-common-models@B8dzg61TGaknuruBgkEJd.md b/src/data/roadmaps/ai-agents/content/pricing-of-common-models@B8dzg61TGaknuruBgkEJd.md
new file mode 100644
index 000000000..2ab11b079
--- /dev/null
+++ b/src/data/roadmaps/ai-agents/content/pricing-of-common-models@B8dzg61TGaknuruBgkEJd.md
@@ -0,0 +1,9 @@
+# Pricing of Common Models
+
+When you use a large language model, you usually pay by the amount of text it reads and writes, counted in “tokens.” A token is about four characters or three-quarters of a word. Providers list a price per 1,000 tokens. For example, GPT-3.5 Turbo may cost around $0.002 per 1,000 tokens, while GPT-4 is much higher, such as $0.03 to $0.06 for prompts and $0.06 to $0.12 for replies. Smaller open-source models like Llama-2 can be free to use if you run them on your own computer, but you still pay for the hardware or cloud time. Vision or audio models often have extra fees because they use more compute. When planning costs, estimate the tokens in each call, multiply by the price, and add any hosting or storage charges.
+
+Visit the following resources to learn more:
+
+- [@official@OpenAI Pricing](https://openai.com/api/pricing/)
+- [@article@Executive Guide To AI Agent Pricing](https://www.forbes.com/councils/forbesbusinesscouncil/2025/01/28/executive-guide-to-ai-agent-pricing-winning-strategies-and-models-to-drive-growth/)
+- [@article@AI Pricing: How Much Does Artificial Intelligence Cost In 2025?](https://www.internetsearchinc.com/ai-pricing-how-much-does-artificial-intelligence-cost/)
diff --git a/src/data/roadmaps/ai-agents/content/prompt-injection--jailbreaks@SU2RuicMUo8tiAsQtDI1k.md b/src/data/roadmaps/ai-agents/content/prompt-injection--jailbreaks@SU2RuicMUo8tiAsQtDI1k.md
new file mode 100644
index 000000000..7889e45bf
--- /dev/null
+++ b/src/data/roadmaps/ai-agents/content/prompt-injection--jailbreaks@SU2RuicMUo8tiAsQtDI1k.md
@@ -0,0 +1,9 @@
+# Prompt Injection / Jailbreaks
+
+Prompt injection, also called a jailbreak, is a trick that makes an AI system break its own rules. An attacker hides special words or symbols inside normal-looking text. When the AI reads this text, it follows the hidden instructions instead of its safety rules. The attacker might force the AI to reveal private data, produce harmful content, or give wrong advice. This risk grows when the AI talks to other software or pulls text from the internet, because harmful prompts can slip in without warning. Good defenses include cleaning user input, setting strong guardrails inside the model, checking outputs for policy breaks, and keeping humans in the loop for high-risk tasks.
+
+Visit the following resources to learn more:
+
+- [@article@Prompt Injection vs. Jailbreaking: What's the Difference?](https://learnprompting.org/blog/injection_jailbreaking)
+- [@article@Prompt Injection vs Prompt Jailbreak](https://codoid.com/ai/prompt-injection-vs-prompt-jailbreak-a-detailed-comparison/)
+- [@article@How Prompt Attacks Exploit GenAI and How to Fight Back](https://unit42.paloaltonetworks.com/new-frontier-of-genai-threats-a-comprehensive-guide-to-prompt-attacks/)
diff --git a/src/data/roadmaps/ai-agents/content/provide-additional-context@6I42CoeWX-kkFXTKAY7rw.md b/src/data/roadmaps/ai-agents/content/provide-additional-context@6I42CoeWX-kkFXTKAY7rw.md
new file mode 100644
index 000000000..d50ff61ed
--- /dev/null
+++ b/src/data/roadmaps/ai-agents/content/provide-additional-context@6I42CoeWX-kkFXTKAY7rw.md
@@ -0,0 +1,9 @@
+# Provide additional context
+
+Provide additional context means giving the AI enough background facts, constraints, and goals so it can reply in the way you need. Start by naming the topic and the purpose of the answer. Add who the answer is for, the tone you want, and any limits such as length, format, or style. List key facts, data, or examples that matter to the task. This extra detail stops the model from guessing and keeps replies on target. Think of it like guiding a new teammate: share the details they need, but keep them short and clear.
+
+Visit the following resources to learn more:
+
+- [@article@What is Context in Prompt Engineering?](https://www.godofprompt.ai/blog/what-is-context-in-prompt-engineering)
+- [@article@The Importance of Context for Reliable AI Systems](https://medium.com/mathco-ai/the-importance-of-context-for-reliable-ai-systems-and-how-to-provide-context-009bd1ac7189/)
+- [@article@Context Engineering: Why Feeding AI the Right Context Matters](https://inspirednonsense.com/context-engineering-why-feeding-ai-the-right-context-matters-353e8f87d6d3)
diff --git a/src/data/roadmaps/ai-agents/content/rag-agent@cW8O4vLLKEG-Q0dE8E5Zp.md b/src/data/roadmaps/ai-agents/content/rag-agent@cW8O4vLLKEG-Q0dE8E5Zp.md
new file mode 100644
index 000000000..239ac0567
--- /dev/null
+++ b/src/data/roadmaps/ai-agents/content/rag-agent@cW8O4vLLKEG-Q0dE8E5Zp.md
@@ -0,0 +1,8 @@
+# RAG Agent
+
+A RAG (Retrieval-Augmented Generation) agent mixes search with language generation so it can answer questions using fresh and reliable facts. When a user sends a query, the agent first turns that query into an embedding—basically a number list that captures its meaning. It then looks up similar embeddings in a vector database that holds passages from web pages, PDFs, or other text. The best-matching passages come back as context. The agent puts the original question and those passages into a large language model. The model writes the final reply, grounding every sentence in the retrieved text. This setup keeps the model smaller, reduces wrong guesses, and lets the system update its knowledge just by adding new documents to the database. Common tools for building a RAG agent include an embedding model, a vector store like FAISS or Pinecone, and an LLM connected through a framework such as LangChain or LlamaIndex.
+
+Visit the following resources to learn more:
+
+- [@article@What is RAG? - Retrieval-Augmented Generation AI Explained](https://aws.amazon.com/what-is/retrieval-augmented-generation/)
+- [@article@What Is Retrieval-Augmented Generation, aka RAG?](https://blogs.nvidia.com/blog/what-is-retrieval-augmented-generation/)
diff --git a/src/data/roadmaps/ai-agents/content/rag-and-vector-databases@wkS4yOJ3JdZQE_yBID8K7.md b/src/data/roadmaps/ai-agents/content/rag-and-vector-databases@wkS4yOJ3JdZQE_yBID8K7.md
new file mode 100644
index 000000000..2c5e6173c
--- /dev/null
+++ b/src/data/roadmaps/ai-agents/content/rag-and-vector-databases@wkS4yOJ3JdZQE_yBID8K7.md
@@ -0,0 +1,9 @@
+# RAG and Vector Databases
+
+RAG, short for Retrieval-Augmented Generation, lets an AI agent pull facts from stored data each time it answers. The data sits in a vector database. In that database, every text chunk is turned into a number list called a vector. Similar ideas create vectors that lie close together, so the agent can find related chunks fast. When the user asks a question, the agent turns the question into its own vector, finds the nearest chunks, and reads them. It then writes a reply that mixes the new prompt with those chunks. Because the data store can hold a lot of past chats, documents, or notes, this process gives the agent a working memory without stuffing everything into the prompt. It lowers token cost, keeps answers on topic, and allows the memory to grow over time.
+
+Visit the following resources to learn more:
+
+- [@article@Understanding Retrieval-Augmented Generation (RAG) and Vector Databases](https://pureai.com/Articles/2025/03/03/Understanding-RAG.aspx)
+- [@article@Build Advanced Retrieval-Augmented Generation Systems](https://learn.microsoft.com/en-us/azure/developer/ai/advanced-retrieval-augmented-generation)
+- [@article@What Is Retrieval-Augmented Generation, aka RAG?](https://blogs.nvidia.com/blog/what-is-retrieval-augmented-generation/)
diff --git a/src/data/roadmaps/ai-agents/content/ragas@YzEDtGEaMaMWVt0W03HRt.md b/src/data/roadmaps/ai-agents/content/ragas@YzEDtGEaMaMWVt0W03HRt.md
new file mode 100644
index 000000000..f072d6577
--- /dev/null
+++ b/src/data/roadmaps/ai-agents/content/ragas@YzEDtGEaMaMWVt0W03HRt.md
@@ -0,0 +1,9 @@
+# Ragas
+
+Ragas is an open-source tool used to check how well a Retrieval-Augmented Generation (RAG) agent works. You give it the user question, the passages the agent pulled from a knowledge base, and the final answer. Ragas then scores the answer for things like correctness, relevance, and whether the cited passages really support the words in the answer. It uses large language models under the hood, so you do not need to write your own scoring rules. Results appear in a clear report that shows strong and weak spots in the pipeline. With this feedback you can change prompts, retriever settings, or model choices and quickly see if quality goes up. This makes testing RAG systems faster, repeatable, and less guess-based.
+
+Visit the following resources to learn more:
+
+- [@official@Ragas Documentation](https://docs.ragas.io/en/latest/)
+- [@article@Evaluating RAG Applications with RAGAs](https://towardsdatascience.com/evaluating-rag-applications-with-ragas-81d67b0ee31a/n)
+- [@opensource@explodinggradients/ragas](https://github.com/explodinggradients/ragas)
diff --git a/src/data/roadmaps/ai-agents/content/react-reason--act@53xDks6JQ33fHMa3XcuCd.md b/src/data/roadmaps/ai-agents/content/react-reason--act@53xDks6JQ33fHMa3XcuCd.md
new file mode 100644
index 000000000..b63fc4447
--- /dev/null
+++ b/src/data/roadmaps/ai-agents/content/react-reason--act@53xDks6JQ33fHMa3XcuCd.md
@@ -0,0 +1,8 @@
+# ReAct (Reason + Act)
+
+ReAct is an agent pattern that makes a model alternate between two simple steps: Reason and Act. First, the agent writes a short thought that sums up what it knows and what it should try next. Then it performs an action such as calling an API, running code, or searching a document. The result of that action is fed back, giving the agent fresh facts to think about. This loop repeats until the task is done. By showing its thoughts in plain text, the agent can be inspected, debugged, and even corrected on the fly. The clear split between thinking and doing also cuts wasted moves and guides the model toward steady progress. ReAct works well with large language models because they can both generate the chain of thoughts and choose the next tool in the very same response.
+
+Visit the following resources to learn more:
+
+- [@official@ReAct: Synergizing Reasoning and Acting in Language Models](https://react-lm.github.io/)
+- [@article@ReAct Systems: Enhancing LLMs with Reasoning and Action](https://learnprompting.org/docs/agents/react)
diff --git a/src/data/roadmaps/ai-agents/content/reason-and-plan@ycPRgRYR4lEBQr_xxHKnM.md b/src/data/roadmaps/ai-agents/content/reason-and-plan@ycPRgRYR4lEBQr_xxHKnM.md
new file mode 100644
index 000000000..17de6661f
--- /dev/null
+++ b/src/data/roadmaps/ai-agents/content/reason-and-plan@ycPRgRYR4lEBQr_xxHKnM.md
@@ -0,0 +1,8 @@
+# Reason and Plan
+
+Reason and Plan is the moment when an AI agent thinks before it acts. The agent starts with a goal and the facts it already knows. It looks at these facts and asks, “What do I need to do next to reach the goal?” It breaks the goal into smaller steps, checks if each step makes sense, and orders them in a clear path. The agent may also guess what could go wrong and prepare backup steps. Once the plan feels solid, the agent is ready to move on and take the first action.
+
+Visit the following resources to learn more:
+
+- [@official@ReAct: Synergizing Reasoning and Acting in Language Models](https://react-lm.github.io/)
+- [@article@ReAct Systems: Enhancing LLMs with Reasoning and Action](https://learnprompting.org/docs/agents/react)
diff --git a/src/data/roadmaps/ai-agents/content/reasoning-vs-standard-models@N3yZfUxphxjiupqGpyaS9.md b/src/data/roadmaps/ai-agents/content/reasoning-vs-standard-models@N3yZfUxphxjiupqGpyaS9.md
new file mode 100644
index 000000000..863f6b276
--- /dev/null
+++ b/src/data/roadmaps/ai-agents/content/reasoning-vs-standard-models@N3yZfUxphxjiupqGpyaS9.md
@@ -0,0 +1,8 @@
+# Reasoning vs Standard Models
+
+Reasoning models break a task into clear steps and follow a line of logic, while standard models give an answer in one quick move. A reasoning model might write down short notes, check each note, and then combine them to reach the final reply. This helps it solve math problems, plan actions, and spot errors that simple pattern matching would miss. A standard model depends on patterns it learned during training and often guesses the most likely next word. That works well for everyday chat, summaries, or common facts, but it can fail on tricky puzzles or tasks with many linked parts. Reasoning takes more time and computer power, yet it brings higher accuracy and makes the agent easier to debug because you can see its thought steps. Many new AI agents mix both styles: they use quick pattern recall for simple parts and switch to step-by-step reasoning when a goal needs deeper thought.
+
+Visit the following resources to learn more:
+
+- [@official@ReAct: Synergizing Reasoning and Acting in Language Models](https://react-lm.github.io/)
+- [@article@ReAct Systems: Enhancing LLMs with Reasoning and Action](https://learnprompting.org/docs/agents/react)
diff --git a/src/data/roadmaps/ai-agents/content/remote--cloud@dHNMX3_t1KSDdAWqgdJXv.md b/src/data/roadmaps/ai-agents/content/remote--cloud@dHNMX3_t1KSDdAWqgdJXv.md
new file mode 100644
index 000000000..fce31491b
--- /dev/null
+++ b/src/data/roadmaps/ai-agents/content/remote--cloud@dHNMX3_t1KSDdAWqgdJXv.md
@@ -0,0 +1,9 @@
+# Remote / Cloud
+
+Remote or cloud deployment places the MCP server on a cloud provider instead of a local machine. You package the server as a container or virtual machine, choose a service like AWS, Azure, or GCP, and give it compute, storage, and a public HTTPS address. A load balancer spreads traffic, while auto-scaling adds or removes copies of the server as demand changes. You secure the endpoint with TLS, API keys, and firewalls, and you send logs and metrics to the provider’s monitoring tools. This setup lets the server handle many users, updates are easier, and you avoid local hardware limits, though you must watch costs and protect sensitive data.
+
+Visit the following resources to learn more:
+
+- [@official@Edge AI vs. Cloud AI: Real-Time Intelligence Models](https://medium.com/@hassaanidrees7/edge-ai-vs-cloud-ai-real-time-intelligence-vs-centralized-processing-df8c6e94fd11)
+- [@article@Cloud AI vs. On-premises AI](https://www.pluralsight.com/resources/blog/ai-and-data/ai-on-premises-vs-in-cloud)
+- [@article@Cloud vs On-Premises AI Deployment](https://toxigon.com/cloud-vs-on-premises-ai-deployment)
\ No newline at end of file
diff --git a/src/data/roadmaps/ai-agents/content/rest-api-knowledge@QtTwecLdvQa8pgELJ6i80.md b/src/data/roadmaps/ai-agents/content/rest-api-knowledge@QtTwecLdvQa8pgELJ6i80.md
new file mode 100644
index 000000000..dfdd00a65
--- /dev/null
+++ b/src/data/roadmaps/ai-agents/content/rest-api-knowledge@QtTwecLdvQa8pgELJ6i80.md
@@ -0,0 +1,8 @@
+# REST API Knowledge
+
+A **REST API** (Representational State Transfer) is an architectural style for designing networked applications. In AI agents, REST APIs enable communication between the agent and external systems, allowing for data exchange and integration. The agent can use REST APIs to retrieve data from external sources, send data to external systems, and interact with other AI agents or services. This provides a flexible and scalable way to integrate with various systems, enabling the agent to access a wide range of data and services. REST APIs in AI agents support a variety of functions, including data retrieval, data sending, and system interaction. They play a crucial role in facilitating communication between AI agents and external systems, making them a fundamental component of AI agent architecture.
+
+Visit the following resources to learn more:
+
+- [@article@What is RESTful API? - RESTful API Explained - AWS](https://aws.amazon.com/what-is/restful-api/)
+- [@article@What Is a REST API? Examples, Uses & Challenges ](https://blog.postman.com/rest-api-examples/)
diff --git a/src/data/roadmaps/ai-agents/content/safety--red-team-testing@63nsfJFO1BwjLX_ZVaPFC.md b/src/data/roadmaps/ai-agents/content/safety--red-team-testing@63nsfJFO1BwjLX_ZVaPFC.md
new file mode 100644
index 000000000..4019905b7
--- /dev/null
+++ b/src/data/roadmaps/ai-agents/content/safety--red-team-testing@63nsfJFO1BwjLX_ZVaPFC.md
@@ -0,0 +1,10 @@
+# Safety + Red Team Testing
+
+Safety + Red Team Testing is the practice of checking an AI agent for harmful or risky behavior before and after release. Safety work sets rules, guardrails, and alarms so the agent follows laws, keeps data private, and treats people fairly. Red team testing sends skilled testers to act like attackers or troublemakers. They type tricky prompts, try to leak private data, force biased outputs, or cause the agent to give dangerous advice. Every weakness they find is logged and fixed by adding filters, better training data, stronger limits, or live monitoring. Running these tests often lowers the chance of real-world harm and builds trust with users and regulators.
+
+Visit the following resources to learn more:
+
+- [@roadmap@Visit Dedicated AI Red Teaming Roadmap](https://roadmap.sh/ai-red-teaming)
+- [@article@Enhancing AI safety: Insights and lessons from red teaming](https://www.microsoft.com/en-us/microsoft-cloud/blog/2025/01/14/enhancing-ai-safety-insights-and-lessons-from-red-teaming/)
+- [@article@AI Safety Testing in the Absence of Regulations](https://aisecuritycentral.com/ai-safety-testing/)
+- [@article@A Guide to AI Red Teaming - HiddenLayer](https://hiddenlayer.com/innovation-hub/a-guide-to-ai-red-teaming/)
\ No newline at end of file
diff --git a/src/data/roadmaps/ai-agents/content/short-term--memory@M3U6RfIqaiut2nuOibY8W.md b/src/data/roadmaps/ai-agents/content/short-term--memory@M3U6RfIqaiut2nuOibY8W.md
new file mode 100644
index 000000000..f179678aa
--- /dev/null
+++ b/src/data/roadmaps/ai-agents/content/short-term--memory@M3U6RfIqaiut2nuOibY8W.md
@@ -0,0 +1,27 @@
+# Short Term Memory
+
+Short term memory are the facts which are passed as a part of the prompt to the LLM e.g. there might be a prompt like below:
+
+```text
+Users Profile:
+- name: {name}
+- age: {age}
+- expertise: {expertise}
+
+User is currently learning about {current_topic}. User has some goals in mind which are:
+- {goal_1}
+- {goal_2}
+- {goal_3}
+
+Help the user achieve the goals.
+```
+
+Notice how we injected the user's profile, current topic and goals in the prompt. These are all short term memories.
+
+Visit the following resources to learn more:
+
+- [@article@Memory Management in AI Agents](https://python.langchain.com/docs/how_to/chatbots_memory/)
+- [@article@Build Smarter AI Agents: Manage Short-term and Long-term Memory](https://redis.io/blog/build-smarter-ai-agents-manage-short-term-and-long-term-memory-with-redis/)
+- [@article@Storing and Retrieving Knowledge for Agents](https://www.pinecone.io/learn/langchain-retrieval-augmentation/)
+- [@article@Short-Term vs Long-Term Memory in AI Agents](https://adasci.org/short-term-vs-long-term-memory-in-ai-agents/)
+- [@video@Building Brain-Like Memory for AI Agents](https://www.youtube.com/watch?v=VKPngyO0iKg)
diff --git a/src/data/roadmaps/ai-agents/content/smol-depot@eWxQiBrxIUG2JNcrdfIHS.md b/src/data/roadmaps/ai-agents/content/smol-depot@eWxQiBrxIUG2JNcrdfIHS.md
new file mode 100644
index 000000000..0a6c2b141
--- /dev/null
+++ b/src/data/roadmaps/ai-agents/content/smol-depot@eWxQiBrxIUG2JNcrdfIHS.md
@@ -0,0 +1,9 @@
+# Smol Depot
+
+Smol Depot is an open-source kit that lets you bundle all the parts of a small AI agent in one place. You keep prompts, settings, and code files together in a single folder, then point the Depot tool at that folder to spin the agent up. The tool handles tasks such as loading models, saving chat history, and calling outside APIs, so you do not have to write that glue code yourself. A simple command can copy a starter template, letting you focus on the logic and prompts that make your agent special. Because everything lives in plain files, you can track changes with Git and share the agent like any other project.
+
+Visit the following resources to learn more:
+
+- [@official@smol.ai - Continuous Fine-tuning Platform for AI Engineers](https://smol.candycode.dev/)
+- [@article@5-min Smol AI Tutorial](https://www.ai-jason.com/learning-ai/smol-ai-tutorial)
+- [@video@Smol AI Full Beginner Course](https://www.youtube.com/watch?v=d7qFVrpLh34)
diff --git a/src/data/roadmaps/ai-agents/content/specify-length-format-etc@wwHHlEoPAx0TLxbtY6nMA.md b/src/data/roadmaps/ai-agents/content/specify-length-format-etc@wwHHlEoPAx0TLxbtY6nMA.md
new file mode 100644
index 000000000..246e3dad7
--- /dev/null
+++ b/src/data/roadmaps/ai-agents/content/specify-length-format-etc@wwHHlEoPAx0TLxbtY6nMA.md
@@ -0,0 +1,8 @@
+# Specify Length & Format
+
+When you give a task to an AI, make clear how long the answer should be and what shape it must take. Say “Write 120 words” or “Give the steps as a numbered list.” If you need a table, state the column names and order. If you want bullet points, mention that. Telling the AI to use plain text, JSON, or markdown stops guesswork and saves time. Clear limits on length keep the reply focused. A fixed format makes it easier for people or other software to read and use the result. Always put these rules near the start of your prompt so the AI sees them as important.
+
+Visit the following resources to learn more:
+
+- [@article@Mastering Prompt Engineering: Format, Length, and Audience](https://techlasi.com/savvy/mastering-prompt-engineering-format-length-and-audience-examples-for-2024/)
+- [@article@Ultimate Guide to Prompt Engineering](https://promptdrive.ai/prompt-engineering/)
diff --git a/src/data/roadmaps/ai-agents/content/stopping-criteria@K0G-Lw069jXUJwZqHtybd.md b/src/data/roadmaps/ai-agents/content/stopping-criteria@K0G-Lw069jXUJwZqHtybd.md
new file mode 100644
index 000000000..714aa40b2
--- /dev/null
+++ b/src/data/roadmaps/ai-agents/content/stopping-criteria@K0G-Lw069jXUJwZqHtybd.md
@@ -0,0 +1,8 @@
+# Stopping Criteria
+
+Stopping criteria tell the language model when to stop writing more text. Without them, the model could keep adding words forever, waste time, or spill past the point we care about. Common rules include a maximum number of tokens, a special end-of-sequence token, or a custom string such as `“\n\n”`. We can also stop when the answer starts to repeat or reaches a score that means it is off topic. Good stopping rules save cost, speed up replies, and avoid nonsense or unsafe content.
+
+Visit the following resources to learn more:
+
+- [@article@Defining Stopping Criteria in Large Language Models](https://www.metriccoders.com/post/defining-stopping-criteria-in-large-language-models-a-practical-guide)
+- [@article@Stopping Criteria for Decision Tree Algorithm and Tree Plots](https://aieagle.in/stopping-criteria-for-decision-tree-algorithm-and-tree-plots/)
diff --git a/src/data/roadmaps/ai-agents/content/streamed-vs-unstreamed-responses@i2NE6haX9-7mdoV5LQ3Ah.md b/src/data/roadmaps/ai-agents/content/streamed-vs-unstreamed-responses@i2NE6haX9-7mdoV5LQ3Ah.md
new file mode 100644
index 000000000..faee5632a
--- /dev/null
+++ b/src/data/roadmaps/ai-agents/content/streamed-vs-unstreamed-responses@i2NE6haX9-7mdoV5LQ3Ah.md
@@ -0,0 +1,11 @@
+# Streamed vs Unstreamed Responses
+
+Streamed and unstreamed responses describe how an AI agent sends its answer to the user. With a streamed response, the agent starts sending words as soon as it generates them. The user sees the text grow on the screen in real time. This feels fast and lets the user stop or change the request early. It is useful for long answers and chat-like apps.
+
+An unstreamed response waits until the whole answer is ready, then sends it all at once. This makes the code on the client side simpler and is easier to cache or log, but the user must wait longer, especially for big outputs. Choosing between the two depends on the need for speed, the length of the answer, and how complex you want the client and server to be.
+
+Visit the following resources to learn more:
+
+- [@article@Streaming Responses in AI: How AI Outputs Are Generated in Real Time](https://dev.to/pranshu_kabra_fe98a73547a/streaming-responses-in-ai-how-ai-outputs-are-generated-in-real-time-18kb)
+- [@article@AI for Web Devs: Faster Responses with HTTP Streaming](https://austingil.com/ai-for-web-devs-streaming/)
+- [@article@Master the OpenAI API: Stream Responses](https://www.toolify.ai/gpts/master-the-openai-api-stream-responses-139447)
\ No newline at end of file
diff --git a/src/data/roadmaps/ai-agents/content/structured-logging--tracing@zs6LM8WEnb0ERWpiaQCgc.md b/src/data/roadmaps/ai-agents/content/structured-logging--tracing@zs6LM8WEnb0ERWpiaQCgc.md
new file mode 100644
index 000000000..3ac29004d
--- /dev/null
+++ b/src/data/roadmaps/ai-agents/content/structured-logging--tracing@zs6LM8WEnb0ERWpiaQCgc.md
@@ -0,0 +1,9 @@
+# Structured Logging & Tracing
+
+Structured logging and tracing are ways to record what an AI agent does so you can find and fix problems fast. Instead of dumping plain text, the agent writes logs in a fixed key-value format, such as time, user_id, step, and message. Because every entry follows the same shape, search tools can filter, sort, and count events with ease. Tracing links those log lines into a chain that follows one request or task across many functions, threads, or microservices. By adding a unique trace ID to each step, you can see how long each part took and where errors happened. Together, structured logs and traces offer clear, machine-readable data that helps developers spot slow code paths, unusual behavior, and hidden bugs without endless manual scans.
+
+Visit the following resources to learn more:
+
+- [@article@Understanding Structured Logging: A Comprehensive Guide](https://www.graphapp.ai/blog/understanding-structured-logging-a-comprehensive-guide)
+- [@article@Structured Logging & Cloud Logging](https://cloud.google.com/logging/docs/structured-logging)
+- [@article@Best Practices for Logging in AI Applications](https://www.restack.io/p/best-ai-practices-software-compliance-answer-logging-best-practices-cat-ai)
\ No newline at end of file
diff --git a/src/data/roadmaps/ai-agents/content/summarization--compression@jTDC19BTWCqxqMizrIJHr.md b/src/data/roadmaps/ai-agents/content/summarization--compression@jTDC19BTWCqxqMizrIJHr.md
new file mode 100644
index 000000000..5fead131d
--- /dev/null
+++ b/src/data/roadmaps/ai-agents/content/summarization--compression@jTDC19BTWCqxqMizrIJHr.md
@@ -0,0 +1,8 @@
+# Summarization / Compression
+
+Summarization or compression lets an AI agent keep the gist of past chats without saving every line. After a talk, the agent runs a small model or rule set that pulls out key facts, goals, and feelings and writes them in a short note. This note goes into long-term memory, while the full chat can be dropped or stored elsewhere. Because the note is short, the agent spends fewer tokens when it loads memory into the next prompt, so costs stay low and speed stays high. Good summaries leave out side jokes and filler but keep names, dates, open tasks, and user preferences. The agent can update the note after each session, overwriting old points that are no longer true. This process lets the agent remember what matters even after hundreds of turns.
+
+Visit the following resources to learn more:
+
+- [@article@Evaluating LLMs for Text Summarization](https://insights.sei.cmu.edu/blog/evaluating-llms-for-text-summarization-introduction/)
+- [@article@The Ultimate Guide to AI Document Summarization](https://www.documentllm.com/blog/ai-document-summarization-guide)
diff --git a/src/data/roadmaps/ai-agents/content/temperature@L1zL1GzqjSAjF06pIIXhy.md b/src/data/roadmaps/ai-agents/content/temperature@L1zL1GzqjSAjF06pIIXhy.md
new file mode 100644
index 000000000..6cc1215e2
--- /dev/null
+++ b/src/data/roadmaps/ai-agents/content/temperature@L1zL1GzqjSAjF06pIIXhy.md
@@ -0,0 +1,10 @@
+# Temperature
+
+Temperature is a setting that changes how random or predictable an AI model’s text output is. The value usually goes from 0 to 1, sometimes higher. A low temperature, close to 0, makes the model pick the most likely next word almost every time, so the answer is steady and safe but can feel dull or repetitive. A high temperature, like 0.9 or 1.0, lets the model explore less-likely word choices, which can give fresh and creative replies, but it may also add mistakes or drift off topic. By adjusting temperature, you balance reliability and creativity to fit the goal of your task.
+
+Visit the following resources to learn more:
+
+- [@roadmap@What Temperature Means in Natural Language Processing and AI](https://thenewstack.io/what-temperature-means-in-natural-language-processing-and-ai/)
+- [@article@LLM Temperature: How It Works and When You Should Use It](https://www.vellum.ai/llm-parameters/temperature)
+- [@article@What is LLM Temperature? - IBM](https://www.ibm.com/think/topics/llm-temperature)
+- [@article@How Temperature Settings Transform Your AI Agent's Responses](https://docsbot.ai/article/how-temperature-settings-transform-your-ai-agents-responses)
\ No newline at end of file
diff --git a/src/data/roadmaps/ai-agents/content/token-based-pricing@1fiWPBV99E2YncqdCgUw2.md b/src/data/roadmaps/ai-agents/content/token-based-pricing@1fiWPBV99E2YncqdCgUw2.md
new file mode 100644
index 000000000..3d399af06
--- /dev/null
+++ b/src/data/roadmaps/ai-agents/content/token-based-pricing@1fiWPBV99E2YncqdCgUw2.md
@@ -0,0 +1,9 @@
+# Token Based Pricing
+
+Token-based pricing is how many language-model services charge for use. A token is a small chunk of text, roughly four characters or part of a word. The service counts every token that goes into the model (your prompt) and every token that comes out (the reply). It then multiplies this total by a listed price per thousand tokens. Some plans set one price for input tokens and a higher or lower price for output tokens. Because the bill grows with each token, users often shorten prompts, trim extra words, or cap response length to spend less.
+
+Visit the following resources to learn more:
+
+- [@article@Explaining Tokens — the Language and Currency of AI](https://blogs.nvidia.com/blog/ai-tokens-explained/)
+- [@article@What Are AI Tokens?](https://methodshop.com/what-are-ai-tokens/)
+- [@article@Pricing - OpenAI](https://openai.com/api/pricing/)
\ No newline at end of file
diff --git a/src/data/roadmaps/ai-agents/content/tokenization@GAjuWyJl9CI1nqXBp6XCf.md b/src/data/roadmaps/ai-agents/content/tokenization@GAjuWyJl9CI1nqXBp6XCf.md
new file mode 100644
index 000000000..d42a680e8
--- /dev/null
+++ b/src/data/roadmaps/ai-agents/content/tokenization@GAjuWyJl9CI1nqXBp6XCf.md
@@ -0,0 +1,8 @@
+# Tokenization
+
+Tokenization is the step where raw text is broken into small pieces called tokens, and each token is given a unique number. A token can be a whole word, part of a word, a punctuation mark, or even a space. The list of all possible tokens is the model’s vocabulary. Once text is turned into these numbered tokens, the model can look up an embedding for each number and start its math. By working with tokens instead of full sentences, the model keeps the input size steady and can handle new or rare words by slicing them into familiar sub-pieces. After the model finishes its work, the numbered tokens are turned back into text through the same vocabulary map, letting the user read the result.
+
+Visit the following resources to learn more:
+
+- [@article@Explaining Tokens — the Language and Currency of AI](https://blogs.nvidia.com/blog/ai-tokens-explained/)
+- [@article@What is Tokenization? Types, Use Cases, Implementation](https://www.datacamp.com/blog/what-is-tokenization)
diff --git a/src/data/roadmaps/ai-agents/content/tool-definition@qakbxB8xe7Y8gejC5cZnK.md b/src/data/roadmaps/ai-agents/content/tool-definition@qakbxB8xe7Y8gejC5cZnK.md
new file mode 100644
index 000000000..2e893538e
--- /dev/null
+++ b/src/data/roadmaps/ai-agents/content/tool-definition@qakbxB8xe7Y8gejC5cZnK.md
@@ -0,0 +1,8 @@
+# Tool Definition
+
+A tool is any skill or function that an AI agent can call to get a job done. It can be as simple as a calculator for math or as complex as an API that fetches live weather data. Each tool has a name, a short description of what it does, and a clear list of the inputs it needs and the outputs it returns. The agent’s planner reads this definition to decide when to use the tool. Good tool definitions are precise and leave no room for doubt, so the agent will not guess or misuse them. They also set limits, like how many times a tool can be called or how much data can be pulled, which helps control cost and errors. Think of a tool definition as a recipe card the agent follows every time it needs that skill.
+
+Visit the following resources to learn more:
+
+- [@article@Understanding the Agent Function in AI: Key Roles and Responsibilities](https://pingax.com/ai/agent/function/understanding-the-agent-function-in-ai-key-roles-and-responsibilities/)
+- [@article@What is an AI Tool?](https://www.synthesia.io/glossary/ai-tool)
diff --git a/src/data/roadmaps/ai-agents/content/tool-sandboxing--permissioning@UVzLGXG6K7HQVHmw8ZAv2.md b/src/data/roadmaps/ai-agents/content/tool-sandboxing--permissioning@UVzLGXG6K7HQVHmw8ZAv2.md
new file mode 100644
index 000000000..fb4fab3a5
--- /dev/null
+++ b/src/data/roadmaps/ai-agents/content/tool-sandboxing--permissioning@UVzLGXG6K7HQVHmw8ZAv2.md
@@ -0,0 +1,9 @@
+# Tool sandboxing / Permissioning
+
+Tool sandboxing keeps the AI agent inside a safe zone where it can only run approved actions and cannot touch the wider system. Permissioning sets clear rules that say which files, networks, or commands the agent may use. Together they stop errors, leaks, or abuse by limiting what the agent can reach and do. Developers grant the smallest set of rights, watch activity, and block anything outside the plan. If the agent needs new access, it must ask and get a fresh permit. This simple fence protects user data, reduces harm, and builds trust in the agent’s work.
+
+Visit the following resources to learn more:
+
+- [@article@AI Sandbox | Harvard University Information Technology](https://www.huit.harvard.edu/ai-sandbox)
+- [@article@How to Set Up AI Sandboxes to Maximize Adoption](https://medium.com/@emilholmegaard/how-to-set-up-ai-sandboxes-to-maximize-adoption-without-compromising-ethics-and-values-637c70626130)
+- [@article@Sandboxes for AI - The Datasphere Initiative](https://www.thedatasphere.org/datasphere-publish/sandboxes-for-ai/)
diff --git a/src/data/roadmaps/ai-agents/content/top-p@icbp1NjurQfdM0dHnz6v2.md b/src/data/roadmaps/ai-agents/content/top-p@icbp1NjurQfdM0dHnz6v2.md
new file mode 100644
index 000000000..c4e154bef
--- /dev/null
+++ b/src/data/roadmaps/ai-agents/content/top-p@icbp1NjurQfdM0dHnz6v2.md
@@ -0,0 +1,9 @@
+# Top-p
+
+Top-p, also called nucleus sampling, is a setting that guides how an LLM picks its next word. The model lists many possible words and sorts them by probability. It then finds the smallest group of top words whose combined chance adds up to the chosen p value, such as 0.9. Only words inside this group stay in the running; the rest are dropped. The model picks one word from the kept group at random, weighted by their original chances. A lower p keeps only the very likely words, so output is safer and more focused. A higher p lets in less likely words, adding surprise and creativity but also more risk of error.
+
+Visit the following resources to learn more:
+
+- [@article@Nucleus Sampling](https://nn.labml.ai/sampling/nucleus.html)
+- [@article@Sampling Techniques in Large Language Models (LLMs)](https://medium.com/@shashankag14/understanding-sampling-techniques-in-large-language-models-llms-dfc28b93f518)
+- [@article@Temperature, top_p and top_k for chatbot responses](https://community.openai.com/t/temperature-top-p-and-top-k-for-chatbot-responses/295542)
diff --git a/src/data/roadmaps/ai-agents/content/transformer-models-and-llms@ZF5_5Y5zqa75Ov22JACX6.md b/src/data/roadmaps/ai-agents/content/transformer-models-and-llms@ZF5_5Y5zqa75Ov22JACX6.md
new file mode 100644
index 000000000..083a96934
--- /dev/null
+++ b/src/data/roadmaps/ai-agents/content/transformer-models-and-llms@ZF5_5Y5zqa75Ov22JACX6.md
@@ -0,0 +1,9 @@
+# Transformer Models and LLMs
+
+Transformer models are a type of neural network that read input data—like words in a sentence—all at once instead of one piece at a time. They use “attention” to find which parts of the input matter most for each other part. This lets them learn patterns in language very well. When a transformer has been trained on a very large set of text, we call it a Large Language Model (LLM). An LLM can answer questions, write text, translate languages, and code because it has seen many examples during training. AI agents use these models as their “brains.” They feed tasks or prompts to the LLM, get back text or plans, and then act on those results. This structure helps agents understand goals, break them into steps, and adjust based on feedback, making them useful for chatbots, research helpers, and automation tools.
+
+Visit the following resources to learn more:
+
+- [@article@Exploring Open Source AI Models: LLMs and Transformer Architectures](https://llmmodels.org/blog/exploring-open-source-ai-models-llms-and-transformer-architectures/)
+- [@article@Transformer Models Vs Llm Comparison](https://www.restack.io/p/transformer-models-answer-vs-llm-cat-ai)
+- [@article@How Transformer LLMs Work](https://www.deeplearning.ai/short-courses/how-transformer-llms-work/)
diff --git a/src/data/roadmaps/ai-agents/content/tree-of-thought@Nmy1PoB32DcWZnPM8l8jT.md b/src/data/roadmaps/ai-agents/content/tree-of-thought@Nmy1PoB32DcWZnPM8l8jT.md
new file mode 100644
index 000000000..6ec56c8a3
--- /dev/null
+++ b/src/data/roadmaps/ai-agents/content/tree-of-thought@Nmy1PoB32DcWZnPM8l8jT.md
@@ -0,0 +1,9 @@
+# Tree-of-Thought
+
+Tree-of-Thought is a way to organize an AI agent’s reasoning as a branching tree. At the root, the agent states the main problem. Each branch is a small idea, step, or guess that could lead to a solution. The agent expands the most promising branches, checks if they make sense, and prunes paths that look wrong or unhelpful. This setup helps the agent explore many possible answers while staying focused on the best ones. Because the agent can compare different branches side by side, it is less likely to get stuck on a bad line of thought. The result is more reliable and creative problem solving.
+
+Visit the following resources to learn more:
+
+- [@article@Tree of Thoughts (ToT) | Prompt Engineering Guide](https://www.promptingguide.ai/techniques/tot)
+- [@article@What is tree-of-thoughts? - IBM](https://www.ibm.com/think/topics/tree-of-thoughts)
+- [@article@The Revolutionary Approach of Tree-of-Thought Prompting in AI](https://medium.com/@WeavePlatform/the-revolutionary-approach-of-tree-of-thought-prompting-in-ai-eb7c0872247b)
diff --git a/src/data/roadmaps/ai-agents/content/tree-of-thought@hj1adjkG9nalXKZ-Youn0.md b/src/data/roadmaps/ai-agents/content/tree-of-thought@hj1adjkG9nalXKZ-Youn0.md
new file mode 100644
index 000000000..ce092e07e
--- /dev/null
+++ b/src/data/roadmaps/ai-agents/content/tree-of-thought@hj1adjkG9nalXKZ-Youn0.md
@@ -0,0 +1,9 @@
+# Tree-of-Thought
+
+Tree-of-Thought is a way to let an AI agent plan its steps like branches on a tree. The agent writes down one “thought” at a time, then splits into several follow-up thoughts, each leading to new branches. It can look ahead, compare branches, and drop weak paths while keeping strong ones. This helps the agent explore many ideas without getting stuck on the first answer. The method is useful for tasks that need careful reasoning, such as solving puzzles, coding, or writing. Because the agent can backtrack and revise earlier thoughts, it often finds better solutions than a straight, single-line chain of steps.
+
+Visit the following resources to learn more:
+
+- [@article@Tree of Thoughts (ToT) | Prompt Engineering Guide](https://www.promptingguide.ai/techniques/tot)
+- [@article@What is tree-of-thoughts? - IBM](https://www.ibm.com/think/topics/tree-of-thoughts)
+- [@article@The Revolutionary Approach of Tree-of-Thought Prompting in AI](https://medium.com/@WeavePlatform/the-revolutionary-approach-of-tree-of-thought-prompting-in-ai-eb7c0872247b)
diff --git a/src/data/roadmaps/ai-agents/content/understand-the-basics-of-rag@qwVQOwBTLA2yUgRISzC8k.md b/src/data/roadmaps/ai-agents/content/understand-the-basics-of-rag@qwVQOwBTLA2yUgRISzC8k.md
new file mode 100644
index 000000000..031c70499
--- /dev/null
+++ b/src/data/roadmaps/ai-agents/content/understand-the-basics-of-rag@qwVQOwBTLA2yUgRISzC8k.md
@@ -0,0 +1,9 @@
+# Understand the Basics of RAG
+
+RAG, short for Retrieval-Augmented Generation, is a way to make language models give better answers by letting them look things up before they reply. First, the system turns the user’s question into a search query and scans a knowledge source, such as a set of documents or a database. It then pulls back the most relevant passages, called “retrievals.” Next, the language model reads those passages and uses them, plus its own trained knowledge, to write the final answer. This mix of search and generation helps the model stay up to date, reduce guesswork, and cite real facts. Because it adds outside information on demand, RAG often needs less fine-tuning and can handle topics the base model never saw during training.
+
+Visit the following resources to learn more:
+
+- [@article@What Is RAG in AI and How to Use It?](https://www.v7labs.com/blog/what-is-rag)
+- [@article@An Introduction to RAG and Simple & Complex RAG](https://medium.com/enterprise-rag/an-introduction-to-rag-and-simple-complex-rag-9c3aa9bd017b)
+- [@video@Learn RAG From Scratch](https://www.youtube.com/watch?v=sVcwVQRHIc8)
diff --git a/src/data/roadmaps/ai-agents/content/unit-testing-for-individual-tools@qo_O4YAe4-MTP_ZJoXJHR.md b/src/data/roadmaps/ai-agents/content/unit-testing-for-individual-tools@qo_O4YAe4-MTP_ZJoXJHR.md
new file mode 100644
index 000000000..2d2b4487f
--- /dev/null
+++ b/src/data/roadmaps/ai-agents/content/unit-testing-for-individual-tools@qo_O4YAe4-MTP_ZJoXJHR.md
@@ -0,0 +1,9 @@
+# Unit Testing for Individual Tools
+
+Unit testing checks that each tool an AI agent uses works as expected when it stands alone. You write small tests that feed the tool clear input and then compare its output to a known correct answer. If the tool is a function that parses dates, you test many date strings and see if the function gives the right results. Good tests cover normal cases, edge cases, and error cases. Run the tests every time you change the code. When a test fails, fix the tool before moving on. This habit keeps bugs from spreading into larger agent workflows and makes later debugging faster.
+
+Visit the following resources to learn more:
+
+- [@article@Unit Testing Agents](https://docs.patronus.ai/docs/agent_evals/unit_testing)
+- [@article@Best AI Tools for Unit Testing: A Look at Top 14 AI Tools](https://thetrendchaser.com/best-ai-tools-for-unit-testing/)
+- [@article@AI for Unit Testing: Revolutionizing Developer Productivity](https://www.diffblue.com/resources/ai-for-unit-testing-revolutionizing-developer-productivity/)
\ No newline at end of file
diff --git a/src/data/roadmaps/ai-agents/content/use-examples-in-your-prompt@yulzE4ZNLhXOgHhG7BtZQ.md b/src/data/roadmaps/ai-agents/content/use-examples-in-your-prompt@yulzE4ZNLhXOgHhG7BtZQ.md
new file mode 100644
index 000000000..4e49e8d33
--- /dev/null
+++ b/src/data/roadmaps/ai-agents/content/use-examples-in-your-prompt@yulzE4ZNLhXOgHhG7BtZQ.md
@@ -0,0 +1,9 @@
+# Use Examples in your Prompt
+
+A clear way to guide an AI is to place one or two short samples inside your prompt. Show a small input and the exact output you expect. The AI studies these pairs and copies their pattern. Use plain words in the sample, keep the format steady, and label each part so the model knows which is which. If you need a list, show a list; if you need a table, include a small table. Good examples cut guesswork, reduce errors, and save you from writing long rules.
+
+Visit the following resources to learn more:
+
+- [@article@10 Real-World AI Agent Examples in 2025](https://www.chatbase.co/blog/ai-agent-examples)
+- [@article@GPT-4.1 Prompting Guide](https://cookbook.openai.com/examples/gpt4-1_prompting_guide)
+- [@article@AI Agent Examples & Use Cases: Real Applications in 2025](https://eastgate-software.com/ai-agent-examples-use-cases-real-applications-in-2025/)
\ No newline at end of file
diff --git a/src/data/roadmaps/ai-agents/content/use-relevant-technical-terms@sUwdtOX550tSdceaeFPmF.md b/src/data/roadmaps/ai-agents/content/use-relevant-technical-terms@sUwdtOX550tSdceaeFPmF.md
new file mode 100644
index 000000000..e4ca54e28
--- /dev/null
+++ b/src/data/roadmaps/ai-agents/content/use-relevant-technical-terms@sUwdtOX550tSdceaeFPmF.md
@@ -0,0 +1,9 @@
+# Use relevant technical terms
+
+When a task involves a special field such as law, medicine, or computer science, include the correct domain words in your prompt so the AI knows exactly what you mean. Ask for “O(n log n) sorting algorithms” instead of just “fast sorts,” or “HTTP status code 404” instead of “page not found error.” The right term narrows the topic, removes guesswork, and points the model toward the knowledge base you need. It also keeps the answer at the right level, because the model sees you understand the field and will reply with matching depth. Check spelling and letter case; “SQL” and “sql” are seen the same, but “Sequel” is not. Do not overload the prompt with buzzwords—add only the words that truly matter. The goal is clear language plus the exact technical labels the subject uses.
+
+Visit the following resources to learn more:
+
+- [@article@AI Terms Glossary: AI Terms To Know In 2024](https://www.moveworks.com/us/en/resources/ai-terms-glossary)
+- [@article@15 Essential AI Agent Terms You Must Know](https://shivammore.medium.com/15-essential-ai-agent-terms-you-must-know-6bfc2f332f6d)
+- [@article@AI Agent Examples & Use Cases: Real Applications in 2025](https://eastgate-software.com/ai-agent-examples-use-cases-real-applications-in-2025/)
\ No newline at end of file
diff --git a/src/data/roadmaps/ai-agents/content/user-profile-storage@QJqXHV8VHPTnfYfmKPzW7.md b/src/data/roadmaps/ai-agents/content/user-profile-storage@QJqXHV8VHPTnfYfmKPzW7.md
new file mode 100644
index 000000000..1a6944f66
--- /dev/null
+++ b/src/data/roadmaps/ai-agents/content/user-profile-storage@QJqXHV8VHPTnfYfmKPzW7.md
@@ -0,0 +1,8 @@
+# User Profile Storage
+
+User profile storage is the part of an AI agent’s memory that holds stable facts about each user, such as name, age group, language, past choices, and long-term goals. The agent saves this data in a file or small database so it can load it each time the same user returns. By keeping the profile separate from short-term conversation logs, the agent can remember preferences without mixing them with temporary chat history. The profile is updated only when the user states a new lasting preference or when old information changes, which helps prevent drift or bloat.
+
+Visit the following resources to learn more:
+
+- [@article@Storage Technology Explained: AI and Data Storage](https://www.computerweekly.com/feature/Storage-technology-explained-AI-and-the-data-storage-it-needs)
+- [@partner@The Architect's Guide to Storage for AI - The New Stack](https://thenewstack.io/the-architects-guide-to-storage-for-ai/)
\ No newline at end of file
diff --git a/src/data/roadmaps/ai-agents/content/web-scraping--crawling@5oLc-235bvKhApxzYFkEc.md b/src/data/roadmaps/ai-agents/content/web-scraping--crawling@5oLc-235bvKhApxzYFkEc.md
new file mode 100644
index 000000000..c8c11dd95
--- /dev/null
+++ b/src/data/roadmaps/ai-agents/content/web-scraping--crawling@5oLc-235bvKhApxzYFkEc.md
@@ -0,0 +1,10 @@
+# Web Scraping / Crawling
+
+Web scraping and crawling let an AI agent collect data from many web pages without human help. The agent sends a request to a page, reads the HTML, and pulls out parts you ask for, such as prices, news headlines, or product details. It can then follow links on the page to reach more pages and repeat the same steps. This loop builds a large, up-to-date dataset in minutes or hours instead of days. Companies use it to track market prices, researchers use it to gather facts or trends, and developers use it to feed fresh data into other AI models. Good scraping code also respects site rules like robots.txt and avoids hitting servers too fast, so it works smoothly and fairly.
+
+Visit the following resources to learn more:
+
+- [@article@Crawl AI - Build Your AI With One Prompt](https://www.crawlai.org/)
+- [@article@AI-Powered Web Scraper with Crawl4AI and DeepSeek](https://brightdata.com/blog/web-data/crawl4ai-and-deepseek-web-scraping)
+- [@article@Best Web Scraping Tools for AI Applications](https://www.thetoolnerd.com/p/best-web-scraping-tools-for-ai-applications)
+- [@article@8 Best AI Web Scraping Tools I Tried - HubSpot Blog](https://blog.hubspot.com/website/ai-web-scraping)
\ No newline at end of file
diff --git a/src/data/roadmaps/ai-agents/content/web-search@kBtqT8AduLoYDWopj-V9_.md b/src/data/roadmaps/ai-agents/content/web-search@kBtqT8AduLoYDWopj-V9_.md
new file mode 100644
index 000000000..1c7f6b114
--- /dev/null
+++ b/src/data/roadmaps/ai-agents/content/web-search@kBtqT8AduLoYDWopj-V9_.md
@@ -0,0 +1,8 @@
+# Web Search
+
+Web search lets an AI agent pull fresh facts, news, and examples from the internet while it is working. The agent turns a user request into search words, sends them to a search engine, and reads the list of results. It then follows the most promising links, grabs the page text, and picks out the parts that answer the task. This helps the agent handle topics that were not in its training data, update old knowledge, or double-check details. Web search covers almost any subject and is much faster than manual research, but the agent must watch for ads, bias, or wrong pages and cross-check sources to stay accurate.
+
+Visit the following resources to learn more:
+
+- [@article@8 Best AI Search Engines for 2025](https://usefulai.com/tools/ai-search-engines)
+- [@article@Web Search Agent - PraisonAI Documentation](https://docs.praison.ai/agents/websearch)
\ No newline at end of file
diff --git a/src/data/roadmaps/ai-agents/content/what-are-ai-agents@aFZAm44nP5NefX_9TpT0A.md b/src/data/roadmaps/ai-agents/content/what-are-ai-agents@aFZAm44nP5NefX_9TpT0A.md
new file mode 100644
index 000000000..e7c23c382
--- /dev/null
+++ b/src/data/roadmaps/ai-agents/content/what-are-ai-agents@aFZAm44nP5NefX_9TpT0A.md
@@ -0,0 +1,9 @@
+# What are AI Agents?
+
+An AI agent is a computer program or robot that can sense its surroundings, think about what it senses, and then act to reach a goal. It gathers data through cameras, microphones, or software inputs, decides what the data means using rules or learned patterns, and picks the best action to move closer to its goal. After acting, it checks the results and learns from them, so it can do better next time. Chatbots, self-driving cars, and game characters are all examples.
+
+Visit the following resources to learn more:
+
+- [@article@What are AI Agents? - Agents in Artificial Intelligence Explained](https://aws.amazon.com/what-is/ai-agents/)
+- [@article@AI Agents Explained in Simple Terms for Beginners](https://www.geeky-gadgets.com/ai-agents-explained-for-beginners/)
+- [@video@What are AI Agents?](https://www.youtube.com/watch?v=F8NKVhkZZWI)
\ No newline at end of file
diff --git a/src/data/roadmaps/ai-agents/content/what-are-tools@2zsOUWJQ8e7wnoHmq1icG.md b/src/data/roadmaps/ai-agents/content/what-are-tools@2zsOUWJQ8e7wnoHmq1icG.md
new file mode 100644
index 000000000..ff795036a
--- /dev/null
+++ b/src/data/roadmaps/ai-agents/content/what-are-tools@2zsOUWJQ8e7wnoHmq1icG.md
@@ -0,0 +1,8 @@
+# What are Tools?
+
+Tools are extra skills or resources that an AI agent can call on to finish a job. A tool can be anything from a web search API to a calculator, a database, or a language-translation engine. The agent sends a request to the tool, gets the result, and then uses that result to move forward. Tools let a small core model handle tasks that would be hard or slow on its own. They also help keep answers current, accurate, and grounded in real data. Choosing the right tool and knowing when to use it are key parts of building a smart agent.
+
+Visit the following resources to learn more:
+
+- [@article@Compare 50+ AI Agent Tools in 2025 - AIMultiple](https://research.aimultiple.com/ai-agent-tools/)
+- [@article@AI Agents Explained in Simple Terms for Beginners](https://www.geeky-gadgets.com/ai-agents-explained-for-beginners/)
diff --git a/src/data/roadmaps/ai-agents/content/what-is-agent-memory@TBH_DZTAfR8Daoh-njNFC.md b/src/data/roadmaps/ai-agents/content/what-is-agent-memory@TBH_DZTAfR8Daoh-njNFC.md
new file mode 100644
index 000000000..d25238633
--- /dev/null
+++ b/src/data/roadmaps/ai-agents/content/what-is-agent-memory@TBH_DZTAfR8Daoh-njNFC.md
@@ -0,0 +1,11 @@
+# What is Agent Memory?
+
+Agent memory is the part of an AI agent that keeps track of what has already happened. It stores past user messages, facts the agent has learned, and its own previous steps. This helps the agent remember goals, user likes and dislikes, and important details across turns or sessions. Memory can be short-term, lasting only for one conversation, or long-term, lasting across many. With a good memory the agent avoids repeating questions, stays consistent, and plans better actions. Without it, the agent would forget everything each time and feel unfocused.
+
+Visit the following resources to learn more:
+
+- [@article@Agentic Memory for LLM Agents](https://arxiv.org/abs/2502.12110)
+- [@article@Memory Management in AI Agents](https://python.langchain.com/docs/how_to/chatbots_memory/)
+- [@article@Storing and Retrieving Knowledge for Agents](https://www.pinecone.io/learn/langchain-retrieval-augmentation/)
+- [@article@Short-Term vs Long-Term Memory in AI Agents](https://adasci.org/short-term-vs-long-term-memory-in-ai-agents/)
+- [@video@Building Brain-Like Memory for AI Agents](https://www.youtube.com/watch?v=VKPngyO0iKg)
diff --git a/src/data/roadmaps/ai-agents/content/what-is-prompt-engineering@Y8EqzFx3qxtrSh7bWbbV8.md b/src/data/roadmaps/ai-agents/content/what-is-prompt-engineering@Y8EqzFx3qxtrSh7bWbbV8.md
new file mode 100644
index 000000000..9e217c8d4
--- /dev/null
+++ b/src/data/roadmaps/ai-agents/content/what-is-prompt-engineering@Y8EqzFx3qxtrSh7bWbbV8.md
@@ -0,0 +1,9 @@
+# What is Prompt Engineering
+
+Prompt engineering is the skill of writing clear questions or instructions so that an AI system gives the answer you want. It means choosing the right words, adding enough detail, and giving examples when needed. A good prompt tells the AI what role to play, what style to use, and what facts to include or avoid. By testing and refining the prompt, you can improve the quality, accuracy, and usefulness of the AI’s response. In short, prompt engineering is guiding the AI with well-designed text so it can help you better.
+
+Visit the following resources to learn more:
+
+- [@roadmap@Visit Dedicated Prompt Engineering Roadmap](https://roadmap.sh/prompt-engineering)
+- [@article@What is Prompt Engineering? - AI Prompt Engineering Explained - AWS](https://aws.amazon.com/what-is/prompt-engineering/)
+- [@article@What is Prompt Engineering? A Detailed Guide For 2025](https://www.datacamp.com/blog/what-is-prompt-engineering-the-future-of-ai-communication)
diff --git a/src/data/roadmaps/ai-agents/faqs.astro b/src/data/roadmaps/ai-agents/faqs.astro
new file mode 100644
index 000000000..e69de29bb
diff --git a/src/data/roadmaps/ai-data-scientist/content/ab-testing@mJq9b50MJM9o9dLhx40iN.md b/src/data/roadmaps/ai-data-scientist/content/ab-testing@mJq9b50MJM9o9dLhx40iN.md
index 66895204d..7ce59617d 100644
--- a/src/data/roadmaps/ai-data-scientist/content/ab-testing@mJq9b50MJM9o9dLhx40iN.md
+++ b/src/data/roadmaps/ai-data-scientist/content/ab-testing@mJq9b50MJM9o9dLhx40iN.md
@@ -1,5 +1,5 @@
# AB Testing
- [@article@Practitioner’s Guide to Statistical Tests](https://vkteam.medium.com/practitioners-guide-to-statistical-tests-ed2d580ef04f#1e3b)
-- [@article@Step by Step Process for Planning an A/B Test](https://towardsdatascience.com/step-by-step-for-planning-an-a-b-test-ef3c93143c0b)
+- [@article@Step by Step Process for Planning an A/B Test](https://medium.com/data-science/step-by-step-for-planning-an-a-b-test-ef3c93143c0b)
- [@feed@Explore top posts about A/B Testing](https://app.daily.dev/tags/ab-testing?ref=roadmapsh)
diff --git a/src/data/roadmaps/ai-red-teaming/ai-red-teaming.md b/src/data/roadmaps/ai-red-teaming/ai-red-teaming.md
index c631d753a..b4e35bda4 100644
--- a/src/data/roadmaps/ai-red-teaming/ai-red-teaming.md
+++ b/src/data/roadmaps/ai-red-teaming/ai-red-teaming.md
@@ -7,7 +7,7 @@ briefDescription: 'Learn to become a red teaming expert in AI'
title: 'AI Red Teaming'
description: 'Learn to become a red teaming expert in AI'
isNew: true
-isHidden: true
+isHidden: false
hasTopics: true
renderer: editor
dimensions:
diff --git a/src/data/roadmaps/ai-red-teaming/content/advanced-techniques@soC-kcem1ISbnCQMa6BIB.md b/src/data/roadmaps/ai-red-teaming/content/advanced-techniques@soC-kcem1ISbnCQMa6BIB.md
index d9fa0be71..2e7cda865 100644
--- a/src/data/roadmaps/ai-red-teaming/content/advanced-techniques@soC-kcem1ISbnCQMa6BIB.md
+++ b/src/data/roadmaps/ai-red-teaming/content/advanced-techniques@soC-kcem1ISbnCQMa6BIB.md
@@ -1 +1,9 @@
-# Advanced Techniques
\ No newline at end of file
+# Advanced Techniques
+
+The practice of AI Red Teaming itself will evolve. Future techniques may involve using AI adversaries to automatically discover complex vulnerabilities, developing more sophisticated methods for testing AI alignment and safety properties, simulating multi-agent system failures, and creating novel metrics for evaluating AI robustness against unknown future attacks.
+
+Learn more from the following resources:
+
+- [@article@AI red-teaming in critical infrastructure: Boosting security and trust in AI systems](https://www.dnv.com/article/ai-red-teaming-for-critical-infrastructure-industries/)
+- [@article@Advanced Techniques in AI Red Teaming for LLMs](https://neuraltrust.ai/blog/advanced-techniques-in-ai-red-teaming)
+- [@paper@Diverse and Effective Red Teaming with Auto-generated Rewards and Multi-step Reinforcement Learning](https://arxiv.org/html/2412.18693v1)
diff --git a/src/data/roadmaps/ai-red-teaming/content/adversarial-examples@xjlttOti-_laPRn8a2fVy.md b/src/data/roadmaps/ai-red-teaming/content/adversarial-examples@xjlttOti-_laPRn8a2fVy.md
index c05804125..4cc1c5f78 100644
--- a/src/data/roadmaps/ai-red-teaming/content/adversarial-examples@xjlttOti-_laPRn8a2fVy.md
+++ b/src/data/roadmaps/ai-red-teaming/content/adversarial-examples@xjlttOti-_laPRn8a2fVy.md
@@ -1 +1,9 @@
-# Adversarial Examples
\ No newline at end of file
+# Adversarial Examples
+
+A core AI Red Teaming activity involves generating adversarial examples – inputs slightly perturbed to cause misclassification or bypass safety filters – to test model robustness. Red teamers use various techniques (gradient-based, optimization-based, or black-box methods) to find inputs that exploit model weaknesses, informing developers on how to harden the model.
+
+Learn more from the following resources:
+
+- [@guide@Adversarial Examples – Interpretable Machine Learning Book](https://christophm.github.io/interpretable-ml-book/adversarial.html)
+- [@guide@Adversarial Testing for Generative AI](https://developers.google.com/machine-learning/guides/adv-testing)
+- [@video@How AI Can Be Tricked With Adversarial Attacks](https://www.youtube.com/watch?v=J3X_JWQkvo8?v=MPcfoQBDY0w)
diff --git a/src/data/roadmaps/ai-red-teaming/content/adversarial-training@2Y0ZO-etpv3XIvunDLu-W.md b/src/data/roadmaps/ai-red-teaming/content/adversarial-training@2Y0ZO-etpv3XIvunDLu-W.md
index d90b3d4fa..31de5b0b8 100644
--- a/src/data/roadmaps/ai-red-teaming/content/adversarial-training@2Y0ZO-etpv3XIvunDLu-W.md
+++ b/src/data/roadmaps/ai-red-teaming/content/adversarial-training@2Y0ZO-etpv3XIvunDLu-W.md
@@ -1 +1,9 @@
-# Adversarial Training
\ No newline at end of file
+# Adversarial Training
+
+AI Red Teamers evaluate the effectiveness of adversarial training as a defense. They test if models trained on adversarial examples are truly robust or if new, unseen adversarial attacks can still bypass the hardened defenses. This helps refine the adversarial training process itself.
+
+Learn more from the following resources:
+
+- [@article@Model Robustness: Building Reliable AI Models](https://encord.com/blog/model-robustness-machine-learning-strategies/)
+- [@guide@Adversarial Testing for Generative AI](https://developers.google.com/machine-learning/guides/adv-testing)
+- [@paper@Detecting and Preventing Data Poisoning Attacks on AI Models](https://arxiv.org/abs/2503.09302)
diff --git a/src/data/roadmaps/ai-red-teaming/content/agentic-ai-security@FVsKivsJrIb82B0lpPmgw.md b/src/data/roadmaps/ai-red-teaming/content/agentic-ai-security@FVsKivsJrIb82B0lpPmgw.md
index 9b7c40449..a6a86529d 100644
--- a/src/data/roadmaps/ai-red-teaming/content/agentic-ai-security@FVsKivsJrIb82B0lpPmgw.md
+++ b/src/data/roadmaps/ai-red-teaming/content/agentic-ai-security@FVsKivsJrIb82B0lpPmgw.md
@@ -1 +1,8 @@
-# Agentic AI Security
\ No newline at end of file
+# Agentic AI Security
+
+As AI agents capable of autonomous action become more common, AI Red Teamers must test their unique security implications. This involves assessing risks related to goal hijacking, unintended actions through tool use, exploitation of planning mechanisms, and ensuring agents operate safely within their designated boundaries.
+
+Learn more from the following resources:
+
+- [@article@AI Agents - Learn Prompting](https://learnprompting.org/docs/intermediate/ai_agents)
+- [@article@EmbraceTheRed](https://embracethered.com/)
diff --git a/src/data/roadmaps/ai-red-teaming/content/ai-security-fundamentals@R9DQNc0AyAQ2HLpP4HOk6.md b/src/data/roadmaps/ai-red-teaming/content/ai-security-fundamentals@R9DQNc0AyAQ2HLpP4HOk6.md
index 364370c2f..05662691e 100644
--- a/src/data/roadmaps/ai-red-teaming/content/ai-security-fundamentals@R9DQNc0AyAQ2HLpP4HOk6.md
+++ b/src/data/roadmaps/ai-red-teaming/content/ai-security-fundamentals@R9DQNc0AyAQ2HLpP4HOk6.md
@@ -1 +1,9 @@
-# AI Security Fundamentals
\ No newline at end of file
+# AI Security Fundamentals
+
+This covers the foundational concepts essential for AI Red Teaming, bridging traditional cybersecurity with AI-specific threats. An AI Red Teamer must understand common vulnerabilities in ML models (like evasion or poisoning), security risks in the AI lifecycle (from data collection to deployment), and how AI capabilities can be misused. This knowledge forms the basis for designing effective tests against AI systems.
+
+Learn more from the following resources:
+
+- [@article@Building Trustworthy AI: Contending with Data Poisoning](https://nisos.com/research/building-trustworthy-ai/)
+- [@article@What Is Adversarial AI in Machine Learning?](https://www.paloaltonetworks.co.uk/cyberpedia/what-are-adversarial-attacks-on-AI-Machine-Learning)
+- [@course@AI Security | Coursera](https://www.coursera.org/learn/ai-security)
diff --git a/src/data/roadmaps/ai-red-teaming/content/api-protection@Tszl26iNBnQBdBEWOueDA.md b/src/data/roadmaps/ai-red-teaming/content/api-protection@Tszl26iNBnQBdBEWOueDA.md
index 97999a018..3dffaa0ee 100644
--- a/src/data/roadmaps/ai-red-teaming/content/api-protection@Tszl26iNBnQBdBEWOueDA.md
+++ b/src/data/roadmaps/ai-red-teaming/content/api-protection@Tszl26iNBnQBdBEWOueDA.md
@@ -1 +1,9 @@
-# API Protection
\ No newline at end of file
+# API Protection
+
+AI Red Teamers rigorously test the security of APIs providing access to AI models. They probe for OWASP API Top 10 vulnerabilities like broken authentication/authorization, injection flaws, security misconfigurations, and lack of rate limiting, specifically evaluating how these could lead to misuse or compromise of the AI model itself.
+
+Learn more from the following resources:
+
+- [@article@Securing APIs with AI for Advanced Threat Protection](https://adevait.com/artificial-intelligence/securing-apis-with-ai)
+- [@article@Securing Machine Learning APIs (IBM)](https://developer.ibm.com/articles/se-securing-machine-learning-apis/)
+- [@guide@OWASP API Security Project (Top 10 2023)](https://owasp.org/www-project-api-security/)
diff --git a/src/data/roadmaps/ai-red-teaming/content/authentication@J7gjlt2MBx7lOkOnfGvPF.md b/src/data/roadmaps/ai-red-teaming/content/authentication@J7gjlt2MBx7lOkOnfGvPF.md
index 66a783b30..fe9fab550 100644
--- a/src/data/roadmaps/ai-red-teaming/content/authentication@J7gjlt2MBx7lOkOnfGvPF.md
+++ b/src/data/roadmaps/ai-red-teaming/content/authentication@J7gjlt2MBx7lOkOnfGvPF.md
@@ -1 +1,9 @@
-# Authentication
\ No newline at end of file
+# Authentication
+
+AI Red Teamers test the authentication mechanisms controlling access to AI systems and APIs. They attempt to bypass logins, steal or replay API keys/tokens, exploit weak password policies, or find flaws in MFA implementations to gain unauthorized access to the AI model or its management interfaces.
+
+Learn more from the following resources:
+
+- [@article@Red-Teaming in AI Testing: Stress Testing](https://www.labelvisor.com/red-teaming-abstract-competitive-testing-data-selection/)
+- [@article@What is Authentication vs Authorization?](https://auth0.com/intro-to-iam/authentication-vs-authorization)
+- [@article@JWT Attacks](https://portswigger.net/web-security/jwt)
diff --git a/src/data/roadmaps/ai-red-teaming/content/authentication@JQ3bR8odXJfd-1RCEf3-Q.md b/src/data/roadmaps/ai-red-teaming/content/authentication@JQ3bR8odXJfd-1RCEf3-Q.md
index 66a783b30..3a0c5edfc 100644
--- a/src/data/roadmaps/ai-red-teaming/content/authentication@JQ3bR8odXJfd-1RCEf3-Q.md
+++ b/src/data/roadmaps/ai-red-teaming/content/authentication@JQ3bR8odXJfd-1RCEf3-Q.md
@@ -1 +1,9 @@
-# Authentication
\ No newline at end of file
+# Authorization
+
+AI Red Teamers test authorization controls to ensure that authenticated users can only access the AI features and data permitted by their roles/permissions. They attempt privilege escalation, try to access other users' data via the AI, or manipulate the AI to perform actions beyond its authorized scope.
+
+Learn more from the following resources:
+
+- [@article@What is Authentication vs Authorization?](https://auth0.com/intro-to-iam/authentication-vs-authorization)
+- [@guide@Identity and access management (IAM) fundamental concepts](https://learn.microsoft.com/en-us/entra/fundamentals/identity-fundamental-concepts)
+- [@guide@OWASP API Security Project](https://owasp.org/www-project-api-security/)
diff --git a/src/data/roadmaps/ai-red-teaming/content/automated-vs-manual@LVdYN9hyCyNPYn2Lz1y9b.md b/src/data/roadmaps/ai-red-teaming/content/automated-vs-manual@LVdYN9hyCyNPYn2Lz1y9b.md
index 5dd1cbdc4..790d8d4d1 100644
--- a/src/data/roadmaps/ai-red-teaming/content/automated-vs-manual@LVdYN9hyCyNPYn2Lz1y9b.md
+++ b/src/data/roadmaps/ai-red-teaming/content/automated-vs-manual@LVdYN9hyCyNPYn2Lz1y9b.md
@@ -1 +1,9 @@
-# Automated vs Manual
\ No newline at end of file
+# Automated vs Manual Testing
+
+AI Red Teaming typically employs a blend of automated tools (for large-scale scanning, fuzzing prompts, generating basic adversarial examples) and manual human testing (for creative jailbreaking, complex multi-stage attacks, evaluating nuanced safety issues like bias). Automation provides scale, while manual testing provides depth and creativity needed to find novel vulnerabilities.
+
+Learn more from the following resources:
+
+- [@article@Automation Testing vs. Manual Testing: Which is the better approach?](https://www.opkey.com/blog/automation-testing-vs-manual-testing-which-is-better)
+- [@article@Manual Testing vs Automated Testing: What's the Difference?](https://www.leapwork.com/blog/manual-vs-automated-testing)
+- [@tool@Spikee](https://spikee.ai)
diff --git a/src/data/roadmaps/ai-red-teaming/content/benchmark-datasets@et1Xrr8ez-fmB0mAq8W_a.md b/src/data/roadmaps/ai-red-teaming/content/benchmark-datasets@et1Xrr8ez-fmB0mAq8W_a.md
index f71b33c88..b4ede08a6 100644
--- a/src/data/roadmaps/ai-red-teaming/content/benchmark-datasets@et1Xrr8ez-fmB0mAq8W_a.md
+++ b/src/data/roadmaps/ai-red-teaming/content/benchmark-datasets@et1Xrr8ez-fmB0mAq8W_a.md
@@ -1 +1,10 @@
-# Benchmark Datasets
\ No newline at end of file
+# Benchmark Datasets
+
+AI Red Teamers may use or contribute to benchmark datasets specifically designed to evaluate AI security. These datasets (like HackAprompt, SecBench, NYU CTF Bench, CySecBench) contain prompts or scenarios targeting vulnerabilities, safety issues, or specific cybersecurity capabilities, allowing for standardized testing of models.
+
+Learn more from the following resources:
+
+- [@dataset@HackAPrompt Dataset](https://huggingface.co/datasets/hackaprompt/hackaprompt-dataset)
+- [@dataset@CySecBench: Generative AI-based CyberSecurity-focused Prompt Dataset](https://github.com/cysecbench/dataset)
+- [@dataset@NYU CTF Bench: A Scalable Open-Source Benchmark Dataset for Evaluating LLMs in Offensive Security](https://proceedings.neurips.cc/paper_files/paper/2024/hash/69d97a6493fbf016fff0a751f253ad18-Abstract-Datasets_and_Benchmarks_Track.html)
+- [@dataset@SecBench: A Comprehensive Multi-Dimensional Benchmarking Dataset for LLMs in Cybersecurity](https://arxiv.org/abs/2412.20787)
diff --git a/src/data/roadmaps/ai-red-teaming/content/black-box-testing@0bApnJTt-Z2IUf0X3OCYf.md b/src/data/roadmaps/ai-red-teaming/content/black-box-testing@0bApnJTt-Z2IUf0X3OCYf.md
index 46dc68bec..02466564a 100644
--- a/src/data/roadmaps/ai-red-teaming/content/black-box-testing@0bApnJTt-Z2IUf0X3OCYf.md
+++ b/src/data/roadmaps/ai-red-teaming/content/black-box-testing@0bApnJTt-Z2IUf0X3OCYf.md
@@ -1 +1,9 @@
-# Black Box Testing
\ No newline at end of file
+# Black Box Testing
+
+In AI Red Teaming, black-box testing involves probing the AI system with inputs and observing outputs without any knowledge of the model's architecture, training data, or internal logic. This simulates an external attacker and is crucial for finding vulnerabilities exploitable through publicly accessible interfaces, such as prompt injection or safety bypasses discoverable via API interaction.
+
+Learn more from the following resources:
+
+- [@article@Black-Box, Gray Box, and White-Box Penetration Testing](https://www.eccouncil.org/cybersecurity-exchange/penetration-testing/black-box-gray-box-and-white-box-penetration-testing-importance-and-uses/)
+- [@article@What is Black Box Testing](https://www.imperva.com/learn/application-security/black-box-testing/)
+- [@guide@LLM red teaming guide (open source)](https://www.promptfoo.dev/docs/red-team/)
diff --git a/src/data/roadmaps/ai-red-teaming/content/code-injection@vhBu5x8INTtqvx6vcYAhE.md b/src/data/roadmaps/ai-red-teaming/content/code-injection@vhBu5x8INTtqvx6vcYAhE.md
index 8127d97ea..16f13a0cc 100644
--- a/src/data/roadmaps/ai-red-teaming/content/code-injection@vhBu5x8INTtqvx6vcYAhE.md
+++ b/src/data/roadmaps/ai-red-teaming/content/code-injection@vhBu5x8INTtqvx6vcYAhE.md
@@ -1 +1,9 @@
-# Code Injection
\ No newline at end of file
+# Code Injection
+
+AI Red Teamers test for code injection vulnerabilities specifically in the context of AI applications. This involves probing whether user input, potentially manipulated via prompts, can lead to the execution of unintended code (e.g., SQL, OS commands, or script execution via generated code) within the application layer or connected systems, using the AI as a potential vector.
+
+Learn more from the following resources:
+
+- [@article@Code Injection in LLM Applications](https://neuraltrust.ai/blog/code-injection-in-llms)
+- [@article@Code Injection](https://learnprompting.org/docs/prompt_hacking/offensive_measures/code_injection)
+- [@guide@Code Injection](https://owasp.org/www-community/attacks/Code_Injection)
diff --git a/src/data/roadmaps/ai-red-teaming/content/conferences@LuKnmd9nSz9yLbTU_5Yp2.md b/src/data/roadmaps/ai-red-teaming/content/conferences@LuKnmd9nSz9yLbTU_5Yp2.md
index 142b54db9..313bc1865 100644
--- a/src/data/roadmaps/ai-red-teaming/content/conferences@LuKnmd9nSz9yLbTU_5Yp2.md
+++ b/src/data/roadmaps/ai-red-teaming/content/conferences@LuKnmd9nSz9yLbTU_5Yp2.md
@@ -1 +1,10 @@
-# Conferences
\ No newline at end of file
+# Conferences
+
+Attending major cybersecurity conferences (DEF CON, Black Hat, RSA) and increasingly specialized AI Safety/Security conferences allows AI Red Teamers to learn about cutting-edge research, network with peers, and discover new tools and attack/defense techniques.
+
+Learn more from the following resources:
+
+- [@conference@Black Hat Events](https://www.blackhat.com/)
+- [@conference@DEF CON Hacking Conference](https://defcon.org/)
+- [@conference@Global Conference on AI, Security and Ethics 2025](https://unidir.org/event/global-conference-on-ai-security-and-ethics-2025/)
+- [@conference@RSA Conference](https://www.rsaconference.com/)
diff --git a/src/data/roadmaps/ai-red-teaming/content/confidentiality-integrity-availability@WZkIHZkV2qDYbYF9KBBRi.md b/src/data/roadmaps/ai-red-teaming/content/confidentiality-integrity-availability@WZkIHZkV2qDYbYF9KBBRi.md
index 7f87208ca..33f391acb 100644
--- a/src/data/roadmaps/ai-red-teaming/content/confidentiality-integrity-availability@WZkIHZkV2qDYbYF9KBBRi.md
+++ b/src/data/roadmaps/ai-red-teaming/content/confidentiality-integrity-availability@WZkIHZkV2qDYbYF9KBBRi.md
@@ -1 +1,9 @@
-# Confidentiality, Integrity, Availability
\ No newline at end of file
+# Confidentiality, Integrity, Availability
+
+The CIA Triad is directly applicable in AI Red Teaming. Confidentiality tests focus on preventing leakage of training data or proprietary model details. Integrity tests probe for susceptibility to data poisoning or model manipulation. Availability tests assess resilience against denial-of-service attacks targeting the AI model or its supporting infrastructure.
+
+Learn more from the following resources:
+
+- [@article@Confidentiality, Integrity, Availability: Key Examples](https://www.datasunrise.com/knowledge-center/confidentiality-integrity-availability-examples/)
+- [@article@The CIA Triad: Confidentiality, Integrity, Availability](https://www.veeam.com/blog/cybersecurity-cia-triad-explained.html)
+- [@article@What's The CIA Triad? Confidentiality, Integrity, & Availability, Explained](https://www.splunk.com/en_us/blog/learn/cia-triad-confidentiality-integrity-availability.html)
diff --git a/src/data/roadmaps/ai-red-teaming/content/continuous-monitoring@7Km0mFpHguHYPs5UhHTsM.md b/src/data/roadmaps/ai-red-teaming/content/continuous-monitoring@7Km0mFpHguHYPs5UhHTsM.md
index c8ee07c2f..525c36b3b 100644
--- a/src/data/roadmaps/ai-red-teaming/content/continuous-monitoring@7Km0mFpHguHYPs5UhHTsM.md
+++ b/src/data/roadmaps/ai-red-teaming/content/continuous-monitoring@7Km0mFpHguHYPs5UhHTsM.md
@@ -1 +1,9 @@
-# Continuous Monitoring
\ No newline at end of file
+# Continuous Monitoring
+
+AI Red Teamers assess the effectiveness of continuous monitoring systems by attempting attacks and observing if detection mechanisms trigger appropriate alerts and responses. They test if monitoring covers AI-specific anomalies (like sudden shifts in output toxicity or unexpected resource consumption by the model) in addition to standard infrastructure monitoring.
+
+Learn more from the following resources:
+
+- [@article@Cyber Security Monitoring: 5 Key Components](https://www.bitsight.com/blog/5-things-to-consider-building-continuous-security-monitoring-strategy)
+- [@article@Cyber Security Monitoring: Definition and Best Practices](https://www.sentinelone.com/cybersecurity-101/cybersecurity/cyber-security-monitoring/)
+- [@article@Cybersecurity Monitoring: Definition, Tools & Best Practices](https://nordlayer.com/blog/cybersecurity-monitoring/)
diff --git a/src/data/roadmaps/ai-red-teaming/content/continuous-testing@65Lo60JQS5YlvvQ6KevXt.md b/src/data/roadmaps/ai-red-teaming/content/continuous-testing@65Lo60JQS5YlvvQ6KevXt.md
index 5a6bdbd23..68d3230d2 100644
--- a/src/data/roadmaps/ai-red-teaming/content/continuous-testing@65Lo60JQS5YlvvQ6KevXt.md
+++ b/src/data/roadmaps/ai-red-teaming/content/continuous-testing@65Lo60JQS5YlvvQ6KevXt.md
@@ -1 +1,9 @@
-# Continuous Testing
\ No newline at end of file
+# Continuous Testing
+
+Applying continuous testing principles to AI security involves integrating automated red teaming checks into the development pipeline (CI/CD). This allows for regular, automated assessment of model safety, robustness, and alignment as the model or application code evolves, catching regressions or new vulnerabilities early. Tools facilitating Continuous Automated Red Teaming (CART) are emerging.
+
+Learn more from the following resources:
+
+- [@article@Continuous Automated Red Teaming (CART)](https://www.firecompass.com/continuous-automated-red-teaming/)
+- [@article@What is Continuous Penetration Testing? Process and Benefits](https://qualysec.com/continuous-penetration-testing/)
+- [@guide@What is Continuous Testing and How Does it Work?](https://www.blackduck.com/glossary/what-is-continuous-testing.html)
diff --git a/src/data/roadmaps/ai-red-teaming/content/countermeasures@G1u_Kq4NeUsGX2qnUTuJU.md b/src/data/roadmaps/ai-red-teaming/content/countermeasures@G1u_Kq4NeUsGX2qnUTuJU.md
index 78a297b0c..907fbbe79 100644
--- a/src/data/roadmaps/ai-red-teaming/content/countermeasures@G1u_Kq4NeUsGX2qnUTuJU.md
+++ b/src/data/roadmaps/ai-red-teaming/content/countermeasures@G1u_Kq4NeUsGX2qnUTuJU.md
@@ -1 +1,11 @@
-# Countermeasures
\ No newline at end of file
+# Countermeasures
+
+AI Red Teamers must also understand and test defenses against prompt hacking. This includes evaluating the effectiveness of input sanitization, output filtering, instruction demarcation (e.g., XML tagging), contextual awareness checks, model fine-tuning for resistance, and applying the principle of least privilege to LLM capabilities and tool access.
+
+Learn more from the following resources:
+
+- [@article@Prompt Hacking Defensive Measures](https://learnprompting.org/docs/prompt_hacking/defensive_measures/introduction)
+- [@article@Mitigating Prompt Injection Attacks (NCC Group Research)](https://research.nccgroup.com/2023/12/01/mitigating-prompt-injection-attacks/)
+- [@article@Prompt Injection & the Rise of Prompt Attacks](https://www.lakera.ai/blog/guide-to-prompt-injection)
+- [@article@Prompt Injection: Impact, How It Works & 4 Defense Measures](https://www.tigera.io/learn/guides/llm-security/prompt-injection/)
+- [@guide@OpenAI Best Practices for Prompt Security](https://platform.openai.com/docs/guides/prompt-engineering/strategy-write-clear-instructions)
diff --git a/src/data/roadmaps/ai-red-teaming/content/ctf-challenges@2Imb64Px3ZQcBpSQjdc_G.md b/src/data/roadmaps/ai-red-teaming/content/ctf-challenges@2Imb64Px3ZQcBpSQjdc_G.md
index f46349f5e..4785638b4 100644
--- a/src/data/roadmaps/ai-red-teaming/content/ctf-challenges@2Imb64Px3ZQcBpSQjdc_G.md
+++ b/src/data/roadmaps/ai-red-teaming/content/ctf-challenges@2Imb64Px3ZQcBpSQjdc_G.md
@@ -1 +1,9 @@
-# CTF Challenges
\ No newline at end of file
+# CTF Challenges
+
+Capture The Flag competitions increasingly include AI/ML security challenges. Participating in CTFs (tracked on CTFtime) or platforms like picoCTF helps AI Red Teamers hone skills in reverse engineering, web exploitation, and cryptography applied to AI systems, including specialized AI safety CTFs.
+
+Learn more from the following resources:
+
+- [@platform@HackAPrompt](https://www.hackaprompt.com/)
+- [@article@Progress from our Frontier Red Team](https://www.anthropic.com/news/strategic-warning-for-ai-risk-progress-and-insights-from-our-frontier-red-team)
+- [@platform@CTFtime.org](https://ctftime.org/)
diff --git a/src/data/roadmaps/ai-red-teaming/content/custom-testing-scripts@C1zO2xC0AqyV53p2YEPWg.md b/src/data/roadmaps/ai-red-teaming/content/custom-testing-scripts@C1zO2xC0AqyV53p2YEPWg.md
index 8bab7b373..8a8181543 100644
--- a/src/data/roadmaps/ai-red-teaming/content/custom-testing-scripts@C1zO2xC0AqyV53p2YEPWg.md
+++ b/src/data/roadmaps/ai-red-teaming/content/custom-testing-scripts@C1zO2xC0AqyV53p2YEPWg.md
@@ -1 +1,9 @@
-# Custom Testing Scripts
\ No newline at end of file
+# Custom Testing Scripts
+
+AI Red Teamers frequently write custom scripts (often in Python) to automate bespoke attacks, interact with specific AI APIs, generate complex prompt sequences, parse model outputs at scale, or implement novel exploit techniques not found in standard tools. Proficiency in scripting is essential for advanced AI red teaming.
+
+Learn more from the following resources:
+
+- [@guide@Python for Cybersecurity: Key Use Cases and Tools](https://panther.com/blog/python-for-cybersecurity-key-use-cases-and-tools)
+- [@guide@Python for cybersecurity: use cases, tools and best practices](https://softteco.com/blog/python-for-cybersecurity)
+- [@tool@Scapy](https://scapy.net/)
diff --git a/src/data/roadmaps/ai-red-teaming/content/data-poisoning@nD0_64ELEeJSN-0aZiR7i.md b/src/data/roadmaps/ai-red-teaming/content/data-poisoning@nD0_64ELEeJSN-0aZiR7i.md
index 1121c2850..8b0389524 100644
--- a/src/data/roadmaps/ai-red-teaming/content/data-poisoning@nD0_64ELEeJSN-0aZiR7i.md
+++ b/src/data/roadmaps/ai-red-teaming/content/data-poisoning@nD0_64ELEeJSN-0aZiR7i.md
@@ -1 +1,9 @@
-# Data Poisoning
\ No newline at end of file
+# Data Poisoning
+
+AI Red Teamers simulate data poisoning attacks by evaluating how introducing manipulated or mislabeled data into potential training or fine-tuning datasets could compromise the model. They assess the impact on model accuracy, fairness, or the potential creation of exploitable backdoors, informing defenses around data validation and provenance.
+
+Learn more from the following resources:
+
+- [@article@AI Poisoning](https://www.aiblade.net/p/ai-poisoning-is-it-really-a-threat)
+- [@paper@Detecting and Preventing Data Poisoning Attacks on AI Models](https://arxiv.org/abs/2503.09302)
+- [@paper@Poisoning Web-Scale Training Data (arXiv)](https://arxiv.org/abs/2310.12818)
diff --git a/src/data/roadmaps/ai-red-teaming/content/direct@5zHow4KZVpfhch5Aabeft.md b/src/data/roadmaps/ai-red-teaming/content/direct@5zHow4KZVpfhch5Aabeft.md
index ed0419d8a..9dd8801cf 100644
--- a/src/data/roadmaps/ai-red-teaming/content/direct@5zHow4KZVpfhch5Aabeft.md
+++ b/src/data/roadmaps/ai-red-teaming/content/direct@5zHow4KZVpfhch5Aabeft.md
@@ -1 +1,9 @@
-# Direct
\ No newline at end of file
+# Direct Injection
+
+Direct injection attacks occur when malicious instructions are inserted directly into the prompt input field by the user interacting with the LLM. AI Red Teamers use this technique to assess if basic instructions like "Ignore previous prompt" can immediately compromise the model's safety or intended function, testing the robustness of the system prompt's influence.
+
+Learn more from the following resources:
+
+- [@article@Prompt Injection](https://learnprompting.org/docs/prompt_hacking/injection?srsltid=AfmBOooOKRzLT0Hn2PNdAa69Fietniztfds6Fo1PO8WuIyyXjbLb6XgI)
+- [@article@Prompt Injection & the Rise of Prompt Attacks](https://www.lakera.ai/blog/guide-to-prompt-injection)
+- [@article@Prompt Injection Cheat Sheet (FlowGPT)](https://flowgpt.com/p/prompt-injection-cheat-sheet)
diff --git a/src/data/roadmaps/ai-red-teaming/content/emerging-threats@-G8v_CNa8wO_g-46_RFQo.md b/src/data/roadmaps/ai-red-teaming/content/emerging-threats@-G8v_CNa8wO_g-46_RFQo.md
index 9502b7803..5db8b650d 100644
--- a/src/data/roadmaps/ai-red-teaming/content/emerging-threats@-G8v_CNa8wO_g-46_RFQo.md
+++ b/src/data/roadmaps/ai-red-teaming/content/emerging-threats@-G8v_CNa8wO_g-46_RFQo.md
@@ -1 +1,9 @@
-# Emerging Threats
\ No newline at end of file
+# Emerging Threats
+
+AI Red Teamers must stay informed about potential future threats enabled by more advanced AI, such as highly autonomous attack agents, AI-generated malware that evades detection, sophisticated deepfakes for social engineering, or large-scale exploitation of interconnected AI systems. Anticipating these helps shape current testing priorities.
+
+Learn more from the following resources:
+
+- [@article@AI Security Risks Uncovered: What You Must Know in 2025](https://ttms.com/uk/ai-security-risks-explained-what-you-need-to-know-in-2025/)
+- [@article@Why Artificial Intelligence is the Future of Cybersecurity](https://www.darktrace.com/blog/why-artificial-intelligence-is-the-future-of-cybersecurity)
+- [@report@AI Index 2024](https://aiindex.stanford.edu/report/)
diff --git a/src/data/roadmaps/ai-red-teaming/content/ethical-considerations@1gyuEV519LjN-KpROoVwv.md b/src/data/roadmaps/ai-red-teaming/content/ethical-considerations@1gyuEV519LjN-KpROoVwv.md
index 6cd4aeeb8..28c06c27e 100644
--- a/src/data/roadmaps/ai-red-teaming/content/ethical-considerations@1gyuEV519LjN-KpROoVwv.md
+++ b/src/data/roadmaps/ai-red-teaming/content/ethical-considerations@1gyuEV519LjN-KpROoVwv.md
@@ -1 +1,9 @@
-# Ethical Considerations
\ No newline at end of file
+# Ethical Considerations
+
+Ethical conduct is crucial for AI Red Teamers. While simulating attacks, they must operate within strict legal and ethical boundaries defined by rules of engagement, focusing on improving safety without causing real harm or enabling misuse. This includes respecting data privacy, obtaining consent where necessary, responsibly disclosing vulnerabilities, and carefully considering the potential negative impacts of both the testing process and the AI capabilities being tested. The goal is discovery for defense, not exploitation.
+
+Learn more from the following resources:
+
+- [@article@Red-Teaming in AI Testing: Stress Testing](https://www.labelvisor.com/red-teaming-abstract-competitive-testing-data-selection/)
+- [@article@Responsible AI assessment - Responsible AI | Coursera](https://www.coursera.org/learn/ai-security)
+- [@guide@Responsible AI Principles (Microsoft)](https://www.microsoft.com/en-us/ai/responsible-ai)
diff --git a/src/data/roadmaps/ai-red-teaming/content/forums@Smncq-n1OlnLAY27AFQOO.md b/src/data/roadmaps/ai-red-teaming/content/forums@Smncq-n1OlnLAY27AFQOO.md
index 34b48047f..6b117d95c 100644
--- a/src/data/roadmaps/ai-red-teaming/content/forums@Smncq-n1OlnLAY27AFQOO.md
+++ b/src/data/roadmaps/ai-red-teaming/content/forums@Smncq-n1OlnLAY27AFQOO.md
@@ -1 +1,10 @@
-# Forums
\ No newline at end of file
+# Forums
+
+Engaging in online forums, mailing lists, Discord servers, or subreddits dedicated to AI security, adversarial ML, prompt engineering, or general cybersecurity helps AI Red Teamers exchange knowledge, ask questions, learn about new tools/techniques, and find collaboration opportunities.
+
+Learn more from the following resources:
+
+- [@community@LearnPrompting Prompt Hacking Discord](https://discord.com/channels/1046228027434086460/1349689482651369492)
+- [@community@Reddit - r/ChatGPTJailbreak](https://www.reddit.com/r/ChatGPTJailbreak/)
+- [@community@Reddit - r/artificial](https://www.reddit.com/r/artificial/)
+- [@community@Reddit - r/cybersecurity](https://www.reddit.com/r/cybersecurity/)
diff --git a/src/data/roadmaps/ai-red-teaming/content/generative-models@3XJ-g0KvHP75U18mxCqgw.md b/src/data/roadmaps/ai-red-teaming/content/generative-models@3XJ-g0KvHP75U18mxCqgw.md
index 71b3bf5c6..57f7be1a6 100644
--- a/src/data/roadmaps/ai-red-teaming/content/generative-models@3XJ-g0KvHP75U18mxCqgw.md
+++ b/src/data/roadmaps/ai-red-teaming/content/generative-models@3XJ-g0KvHP75U18mxCqgw.md
@@ -1 +1,9 @@
-# Generative Models
\ No newline at end of file
+# Generative Models
+
+AI Red Teamers focus heavily on generative models (like GANs and LLMs) due to their widespread use and unique risks. Understanding how they generate content is key to testing for issues like generating harmful/biased outputs, deepfakes, prompt injection vulnerabilities, or leaking sensitive information from their vast training data.
+
+Learn more from the following resources:
+
+- [@article@What is Generative AI?](https://learnprompting.org/docs/basics/generative_ai)
+- [@course@Introduction to Generative AI](https://learnprompting.org/courses/intro-to-gen-ai)
+- [@guide@Generative AI beginner's guide](https://cloud.google.com/vertex-ai/generative-ai/docs/learn/overview)
diff --git a/src/data/roadmaps/ai-red-teaming/content/grey-box-testing@ZVNAMCP68XKRXVxF2-hBc.md b/src/data/roadmaps/ai-red-teaming/content/grey-box-testing@ZVNAMCP68XKRXVxF2-hBc.md
index 665f0f3ea..5b9585430 100644
--- a/src/data/roadmaps/ai-red-teaming/content/grey-box-testing@ZVNAMCP68XKRXVxF2-hBc.md
+++ b/src/data/roadmaps/ai-red-teaming/content/grey-box-testing@ZVNAMCP68XKRXVxF2-hBc.md
@@ -1 +1,9 @@
-# Grey Box Testing
\ No newline at end of file
+# Grey Box Testing
+
+Grey-box AI Red Teaming involves testing with partial knowledge of the system, such as knowing the model type (e.g., GPT-4), having access to some documentation, or understanding the general system architecture but not having full model weights or source code. This allows for more targeted testing than black-box while still simulating realistic external attacker scenarios where some information might be gleaned.
+
+Learn more from the following resources:
+
+- [@article@AI Transparency: Connecting AI Red Teaming and Compliance](https://splx.ai/blog/ai-transparency-connecting-ai-red-teaming-and-compliance)
+- [@article@Black-Box, Gray Box, and White-Box Penetration Testing](https://www.eccouncil.org/cybersecurity-exchange/penetration-testing/black-box-gray-box-and-white-box-penetration-testing-importance-and-uses/)
+- [@article@Understanding Black Box, White Box, and Grey Box Testing](https://www.frugaltesting.com/blog/understanding-black-box-white-box-and-grey-box-testing-in-software-testing)
diff --git a/src/data/roadmaps/ai-red-teaming/content/indirect@3_gJRtJSdm2iAfkwmcv0e.md b/src/data/roadmaps/ai-red-teaming/content/indirect@3_gJRtJSdm2iAfkwmcv0e.md
index 6e9982d2e..7d6d375ab 100644
--- a/src/data/roadmaps/ai-red-teaming/content/indirect@3_gJRtJSdm2iAfkwmcv0e.md
+++ b/src/data/roadmaps/ai-red-teaming/content/indirect@3_gJRtJSdm2iAfkwmcv0e.md
@@ -1 +1,9 @@
-# Indirect
\ No newline at end of file
+# Indirect Injection
+
+Indirect injection involves embedding malicious prompts within external data sources that the LLM processes, such as websites, documents, or emails. AI Red Teamers test this by poisoning data sources the AI might interact with (e.g., adding hidden instructions to a webpage summarized by the AI) to see if the AI executes unintended commands or leaks data when processing that source.
+
+Learn more from the following resources:
+
+- [@paper@The Practical Application of Indirect Prompt Injection Attacks](https://www.researchgate.net/publication/382692833_The_Practical_Application_of_Indirect_Prompt_Injection_Attacks_From_Academia_to_Industry)
+- [@article@How to Prevent Indirect Prompt Injection Attacks](https://www.cobalt.io/blog/how-to-prevent-indirect-prompt-injection-attacks)
+- [@article@Indirect Prompt Injection Data Exfiltration](https://embracethered.com/blog/posts/2024/chatgpt-macos-app-persistent-data-exfiltration/)
diff --git a/src/data/roadmaps/ai-red-teaming/content/industry-credentials@HHjsFR6wRDqUd66PMDE_7.md b/src/data/roadmaps/ai-red-teaming/content/industry-credentials@HHjsFR6wRDqUd66PMDE_7.md
index 94e989f67..171e262c0 100644
--- a/src/data/roadmaps/ai-red-teaming/content/industry-credentials@HHjsFR6wRDqUd66PMDE_7.md
+++ b/src/data/roadmaps/ai-red-teaming/content/industry-credentials@HHjsFR6wRDqUd66PMDE_7.md
@@ -1 +1,8 @@
-# Industry Credentials
\ No newline at end of file
+# Industry Credentials
+
+Beyond formal certifications, recognition in the AI Red Teaming field comes from practical achievements like finding significant vulnerabilities (responsible disclosure), winning AI-focused CTFs or hackathons (like HackAPrompt), contributing to AI security research, or building open-source testing tools.
+
+Learn more from the following resources:
+
+- [@platform@HackAPrompt](https://hackaprompt.com)
+- [@platform@RedTeam Arena](https://redarena.ai)
diff --git a/src/data/roadmaps/ai-red-teaming/content/industry-standards@WePO66_4-gNcSdE00WKmw.md b/src/data/roadmaps/ai-red-teaming/content/industry-standards@WePO66_4-gNcSdE00WKmw.md
index 318ae5c74..76312a744 100644
--- a/src/data/roadmaps/ai-red-teaming/content/industry-standards@WePO66_4-gNcSdE00WKmw.md
+++ b/src/data/roadmaps/ai-red-teaming/content/industry-standards@WePO66_4-gNcSdE00WKmw.md
@@ -1 +1,10 @@
-# Industry Standards
\ No newline at end of file
+# Industry Standards
+
+As AI matures, AI Red Teamers will increasingly need to understand and test against emerging industry standards and regulations for AI safety, security, and risk management, such as the NIST AI RMF, ISO/IEC 42001, and sector-specific guidelines, ensuring AI systems meet compliance requirements.
+
+Learn more from the following resources:
+
+- [@article@ISO 42001: The New Compliance Standard for AI Management Systems](https://www.brightdefense.com/resources/iso-42001-compliance/)
+- [@article@ISO 42001: What it is & why it matters for AI management](https://www.itgovernance.co.uk/iso-42001)
+- [@framework@NIST AI Risk Management Framework (AI RMF)](https://www.nist.gov/itl/ai-risk-management-framework)
+- [@standard@ISO/IEC 42001: Information technology — Artificial intelligence — Management system](https://www.iso.org/standard/81230.html)
diff --git a/src/data/roadmaps/ai-red-teaming/content/infrastructure-security@nhUKKWyBH80nyKfGT8ErC.md b/src/data/roadmaps/ai-red-teaming/content/infrastructure-security@nhUKKWyBH80nyKfGT8ErC.md
index 3fcdd05d1..02b418c51 100644
--- a/src/data/roadmaps/ai-red-teaming/content/infrastructure-security@nhUKKWyBH80nyKfGT8ErC.md
+++ b/src/data/roadmaps/ai-red-teaming/content/infrastructure-security@nhUKKWyBH80nyKfGT8ErC.md
@@ -1 +1,9 @@
-# Infrastructure Security
\ No newline at end of file
+# Infrastructure Security
+
+AI Red Teamers assess the security posture of the infrastructure hosting AI models (cloud environments, servers, containers). They look for misconfigurations, unpatched systems, insecure network setups, or inadequate access controls that could allow compromise of the AI system or leakage of sensitive data/models.
+
+Learn more from the following resources:
+
+- [@article@AI Infrastructure Attacks (VentureBeat)](https://venturebeat.com/ai/understanding-ai-infrastructure-attacks/)
+- [@guide@Network Infrastructure Security - Best Practices and Strategies](https://www.dataguard.com/blog/network-infrastructure-security-best-practices-and-strategies/)
+- [@guide@Secure Deployment of ML Systems (NIST)](https://csrc.nist.gov/publications/detail/sp/800-218/final)
diff --git a/src/data/roadmaps/ai-red-teaming/content/insecure-deserialization@aKzai0A8J55-OBXTnQih1.md b/src/data/roadmaps/ai-red-teaming/content/insecure-deserialization@aKzai0A8J55-OBXTnQih1.md
index ccabbd585..1be1b2a22 100644
--- a/src/data/roadmaps/ai-red-teaming/content/insecure-deserialization@aKzai0A8J55-OBXTnQih1.md
+++ b/src/data/roadmaps/ai-red-teaming/content/insecure-deserialization@aKzai0A8J55-OBXTnQih1.md
@@ -1 +1,10 @@
-# Insecure Deserialization
\ No newline at end of file
+# Insecure Deserialization
+
+AI Red Teamers investigate if serialized objects used by the AI system (e.g., for saving model states, configurations, or transmitting data) can be manipulated by an attacker. They test if crafting malicious serialized objects could lead to remote code execution or other exploits when the application deserializes the untrusted data.
+
+Learn more from the following resources:
+
+- [@article@Lightboard Lessons: OWASP Top 10 - Insecure Deserialization](https://community.f5.com/kb/technicalarticles/lightboard-lessons-owasp-top-10---insecure-deserialization/281509)
+- [@article@How Hugging Face Was Ethically Hacked](https://www.aiblade.net/p/how-hugging-face-was-ethically-hacked)
+- [@article@OWASP TOP 10: Insecure Deserialization](https://blog.detectify.com/best-practices/owasp-top-10-insecure-deserialization/)
+- [@guide@Insecure Deserialization](https://owasp.org/www-community/vulnerabilities/Insecure_Deserialization)
diff --git a/src/data/roadmaps/ai-red-teaming/content/introduction@HFJIYcI16OMyM77fAw9af.md b/src/data/roadmaps/ai-red-teaming/content/introduction@HFJIYcI16OMyM77fAw9af.md
index f6ecaa676..6e6b0d49a 100644
--- a/src/data/roadmaps/ai-red-teaming/content/introduction@HFJIYcI16OMyM77fAw9af.md
+++ b/src/data/roadmaps/ai-red-teaming/content/introduction@HFJIYcI16OMyM77fAw9af.md
@@ -1 +1,9 @@
-# Introduction
\ No newline at end of file
+# Introduction
+
+AI Red Teaming is the practice of simulating adversarial attacks against AI systems to proactively identify vulnerabilities, potential misuse scenarios, and failure modes before malicious actors do. Distinct from traditional cybersecurity red teaming, it focuses on the unique attack surfaces of AI models, such as prompt manipulation, data poisoning, model extraction, and evasion techniques. The primary goal for an AI Red Teamer is to test the robustness, safety, alignment, and fairness of AI systems, particularly complex ones like LLMs, by adopting an attacker's mindset to uncover hidden flaws and provide actionable feedback for improvement.
+
+Learn more from the following resources:
+
+- [@article@A Guide to AI Red Teaming](https://hiddenlayer.com/innovation-hub/a-guide-to-ai-red-teaming/)
+- [@article@What is AI Red Teaming? (Learn Prompting)](https://learnprompting.org/blog/what-is-ai-red-teaming)
+- [@article@What is AI Red Teaming? The Complete Guide](https://mindgard.ai/blog/what-is-ai-red-teaming)
diff --git a/src/data/roadmaps/ai-red-teaming/content/jailbreak-techniques@Ds8pqn4y9Npo7z6ubunvc.md b/src/data/roadmaps/ai-red-teaming/content/jailbreak-techniques@Ds8pqn4y9Npo7z6ubunvc.md
index 6cd93ca54..245444010 100644
--- a/src/data/roadmaps/ai-red-teaming/content/jailbreak-techniques@Ds8pqn4y9Npo7z6ubunvc.md
+++ b/src/data/roadmaps/ai-red-teaming/content/jailbreak-techniques@Ds8pqn4y9Npo7z6ubunvc.md
@@ -1 +1,9 @@
-# Jailbreak Techniques
\ No newline at end of file
+# Jailbreak Techniques
+
+Jailbreaking is a specific category of prompt hacking where the AI Red Teamer aims to bypass the LLM's safety and alignment training. They use techniques like creating fictional scenarios, asking the model to simulate an unrestricted AI, or using complex instructions to trick the model into generating content that violates its own policies (e.g., generating harmful code, hate speech, or illegal instructions).
+
+Learn more from the following resources:
+
+- [@guide@InjectPrompt](https://injectprompt.com)
+- [@guide@Jailbreaking Guide - Learn Prompting](https://learnprompting.org/docs/prompt_hacking/jailbreaking)
+- [@paper@Jailbroken: How Does LLM Safety Training Fail? (arXiv)](https://arxiv.org/abs/2307.02483)
diff --git a/src/data/roadmaps/ai-red-teaming/content/lab-environments@MmwwRK4I9aRH_ha7duPqf.md b/src/data/roadmaps/ai-red-teaming/content/lab-environments@MmwwRK4I9aRH_ha7duPqf.md
index dfa68396a..d4db85a36 100644
--- a/src/data/roadmaps/ai-red-teaming/content/lab-environments@MmwwRK4I9aRH_ha7duPqf.md
+++ b/src/data/roadmaps/ai-red-teaming/content/lab-environments@MmwwRK4I9aRH_ha7duPqf.md
@@ -1 +1,11 @@
-# Lab Environments
\ No newline at end of file
+# Lab Environments
+
+AI Red Teamers need environments to practice attacking vulnerable systems safely. While traditional labs (HTB, THM, VulnHub) build general pentesting skills, platforms are emerging with labs specifically focused on AI/LLM vulnerabilities, prompt injection, or adversarial ML challenges.
+
+Learn more from the following resources:
+
+- [@platform@HackAPrompt Playground](https://learnprompting.org/hackaprompt-playground)
+- [@platform@InjectPrompt Playground](https://playground.injectprompt.com/)
+- [@platform@Gandalf AI Prompt Injection Lab](https://gandalf.lakera.ai/)
+- [@platform@Hack The Box: Hacking Labs](https://www.hackthebox.com/hacker/hacking-labs)
+- [@platform@TryHackMe: Learn Cyber Security](https://tryhackme.com/)
diff --git a/src/data/roadmaps/ai-red-teaming/content/large-language-models@8K-wCn2cLc7Vs_V4sC3sE.md b/src/data/roadmaps/ai-red-teaming/content/large-language-models@8K-wCn2cLc7Vs_V4sC3sE.md
index da3ae161d..2498e557c 100644
--- a/src/data/roadmaps/ai-red-teaming/content/large-language-models@8K-wCn2cLc7Vs_V4sC3sE.md
+++ b/src/data/roadmaps/ai-red-teaming/content/large-language-models@8K-wCn2cLc7Vs_V4sC3sE.md
@@ -1 +1,9 @@
-# Large Language Models
\ No newline at end of file
+# Large Language Models
+
+LLMs are a primary target for AI Red Teaming. Understanding their architecture (often Transformer-based), training processes (pre-training, fine-tuning), and capabilities (text generation, summarization, Q&A) is essential for identifying vulnerabilities like prompt injection, jailbreaking, data regurgitation, and emergent harmful behaviors specific to these large-scale models.
+
+Learn more from the following resources:
+
+- [@article@What is an LLM (large language model)?](https://www.cloudflare.com/learning/ai/what-is-large-language-model/)
+- [@guide@ChatGPT For Everyone](https://learnprompting.org/courses/chatgpt-for-everyone)
+- [@guide@What Are Large Language Models? A Beginner's Guide for 2025](https://www.kdnuggets.com/large-language-models-beginners-guide-2025)
diff --git a/src/data/roadmaps/ai-red-teaming/content/llm-security-testing@xJYTRbPxMn0Xs5ea0Ygn6.md b/src/data/roadmaps/ai-red-teaming/content/llm-security-testing@xJYTRbPxMn0Xs5ea0Ygn6.md
index ccd9745dd..bc55ca486 100644
--- a/src/data/roadmaps/ai-red-teaming/content/llm-security-testing@xJYTRbPxMn0Xs5ea0Ygn6.md
+++ b/src/data/roadmaps/ai-red-teaming/content/llm-security-testing@xJYTRbPxMn0Xs5ea0Ygn6.md
@@ -1 +1,9 @@
-# LLM Security Testing
\ No newline at end of file
+# LLM Security Testing
+
+The core application area for many AI Red Teamers today involves specifically testing Large Language Models for vulnerabilities like prompt injection, jailbreaking, harmful content generation, bias, and data privacy issues using specialized prompts and evaluation frameworks.
+
+Learn more from the following resources:
+
+- [@course@AI Red Teaming Courses - Learn Prompting](https://learnprompting.org/blog/ai-red-teaming-courses)
+- [@dataset@SecBench: A Comprehensive Multi-Dimensional Benchmarking Dataset for LLMs in Cybersecurity](https://arxiv.org/abs/2412.20787)
+- [@guide@The Ultimate Guide to Red Teaming LLMs and Adversarial Prompts (Kili Technology)](https://kili-technology.com/large-language-models-llms/red-teaming-llms-and-adversarial-prompts)
diff --git a/src/data/roadmaps/ai-red-teaming/content/model-inversion@iE5PcswBHnu_EBFIacib0.md b/src/data/roadmaps/ai-red-teaming/content/model-inversion@iE5PcswBHnu_EBFIacib0.md
index db2599d89..b7102eade 100644
--- a/src/data/roadmaps/ai-red-teaming/content/model-inversion@iE5PcswBHnu_EBFIacib0.md
+++ b/src/data/roadmaps/ai-red-teaming/content/model-inversion@iE5PcswBHnu_EBFIacib0.md
@@ -1 +1,9 @@
-# Model Inversion
\ No newline at end of file
+# Model Inversion
+
+AI Red Teamers perform model inversion tests to assess if an attacker can reconstruct sensitive training data (like images, text snippets, or personal attributes) by repeatedly querying the model and analyzing its outputs. Success indicates privacy risks due to data memorization, requiring mitigation techniques like differential privacy or output filtering.
+
+Learn more from the following resources:
+
+- [@article@Model inversion and membership inference: Understanding new AI security risks](https://www.hoganlovells.com/en/publications/model-inversion-and-membership-inference-understanding-new-ai-security-risks-and-mitigating-vulnerabilities)
+- [@paper@Extracting Training Data from LLMs (arXiv)](https://arxiv.org/abs/2012.07805)
+- [@paper@Model Inversion Attacks: A Survey of Approaches and Countermeasures](https://arxiv.org/html/2411.10023v1)
diff --git a/src/data/roadmaps/ai-red-teaming/content/model-vulnerabilities@uBXrri2bXVsNiM8fIHHOv.md b/src/data/roadmaps/ai-red-teaming/content/model-vulnerabilities@uBXrri2bXVsNiM8fIHHOv.md
index c9532891c..9836d240d 100644
--- a/src/data/roadmaps/ai-red-teaming/content/model-vulnerabilities@uBXrri2bXVsNiM8fIHHOv.md
+++ b/src/data/roadmaps/ai-red-teaming/content/model-vulnerabilities@uBXrri2bXVsNiM8fIHHOv.md
@@ -1 +1,9 @@
-# Model Vulnerabilities
\ No newline at end of file
+# Model Vulnerabilities
+
+This category covers attacks and tests targeting the AI model itself, beyond the prompt interface. AI Red Teamers investigate inherent weaknesses in the model's architecture, training data artifacts, or prediction mechanisms, such as susceptibility to data extraction, poisoning, or adversarial manipulation.
+
+Learn more from the following resources:
+
+- [@article@AI Security Risks Uncovered: What You Must Know in 2025](https://ttms.com/uk/ai-security-risks-explained-what-you-need-to-know-in-2025/)
+- [@article@Weaknesses in Modern AI](https://insights.sei.cmu.edu/blog/weaknesses-and-vulnerabilities-in-modern-ai-why-security-and-safety-are-so-challenging/)
+- [@report@AI and ML Vulnerabilities (CNAS Report)](https://www.cnas.org/publications/reports/understanding-and-mitigating-ai-vulnerabilities)
diff --git a/src/data/roadmaps/ai-red-teaming/content/model-weight-stealing@QFzLx5nc4rCCD8WVc20mo.md b/src/data/roadmaps/ai-red-teaming/content/model-weight-stealing@QFzLx5nc4rCCD8WVc20mo.md
index 69009be05..1317cd00d 100644
--- a/src/data/roadmaps/ai-red-teaming/content/model-weight-stealing@QFzLx5nc4rCCD8WVc20mo.md
+++ b/src/data/roadmaps/ai-red-teaming/content/model-weight-stealing@QFzLx5nc4rCCD8WVc20mo.md
@@ -1 +1,9 @@
-# Model Weight Stealing
\ No newline at end of file
+# Model Weight Stealing
+
+AI Red Teamers assess the risk of attackers reconstructing or stealing the proprietary weights of a trained model, often through API query-based attacks. Testing involves simulating such attacks to understand how easily the model's functionality can be replicated, which informs defenses like query rate limiting, watermarking, or differential privacy.
+
+Learn more from the following resources:
+
+- [@article@A Playbook for Securing AI Model Weights](https://www.rand.org/pubs/research_briefs/RBA2849-1.html)
+- [@article@How to Steal a Machine Learning Model (SkyCryptor)](https://skycryptor.com/blog/how-to-steal-a-machine-learning-model)
+- [@paper@On the Limitations of Model Stealing with Uncertainty Quantification Models](https://openreview.net/pdf?id=ONRFHoUzNk)
diff --git a/src/data/roadmaps/ai-red-teaming/content/monitoring-solutions@59lkLcoqV4gq7f8Zm0X2p.md b/src/data/roadmaps/ai-red-teaming/content/monitoring-solutions@59lkLcoqV4gq7f8Zm0X2p.md
index 9c7be42ca..1b7586c4c 100644
--- a/src/data/roadmaps/ai-red-teaming/content/monitoring-solutions@59lkLcoqV4gq7f8Zm0X2p.md
+++ b/src/data/roadmaps/ai-red-teaming/content/monitoring-solutions@59lkLcoqV4gq7f8Zm0X2p.md
@@ -1 +1,11 @@
-# Monitoring Solutions
\ No newline at end of file
+# Monitoring Solutions
+
+AI Red Teamers interact with monitoring tools primarily to test their effectiveness (evasion) or potentially exploit vulnerabilities within them. Understanding tools like IDS (Snort, Suricata), network analyzers (Wireshark), and SIEMs helps red teamers simulate attacks that might bypass or target these defensive systems.
+
+Learn more from the following resources:
+
+- [@article@Open Source IDS Tools: Comparing Suricata, Snort, Bro (Zeek), Linux](https://levelblue.com/blogs/security-essentials/open-source-intrusion-detection-tools-a-quick-overview)
+- [@tool@Snort](https://www.snort.org/)
+- [@tool@Suricata](https://suricata.io/)
+- [@tool@Wireshark](https://www.wireshark.org/)
+- [@tool@Zeek (formerly Bro)](https://zeek.org/)
diff --git a/src/data/roadmaps/ai-red-teaming/content/neural-networks@RuKzVhd1nZphCrlW1wZGL.md b/src/data/roadmaps/ai-red-teaming/content/neural-networks@RuKzVhd1nZphCrlW1wZGL.md
index e9fcdbc74..d2632d0e2 100644
--- a/src/data/roadmaps/ai-red-teaming/content/neural-networks@RuKzVhd1nZphCrlW1wZGL.md
+++ b/src/data/roadmaps/ai-red-teaming/content/neural-networks@RuKzVhd1nZphCrlW1wZGL.md
@@ -1 +1,9 @@
-# Neural Networks
\ No newline at end of file
+# Neural Networks
+
+Understanding neural network architectures (layers, nodes, activation functions) is vital for AI Red Teamers. This knowledge allows for targeted testing, such as crafting adversarial examples that exploit specific activation functions or identifying potential vulnerabilities related to network depth or connectivity. It provides insight into the 'black box' for more effective white/grey-box testing.
+
+Learn more from the following resources:
+
+- [@guide@Neural Networks Explained: A Beginner's Guide](https://www.skillcamper.com/blog/neural-networks-explained-a-beginners-guide)
+- [@guide@Neural networks | Machine Learning](https://developers.google.com/machine-learning/crash-course/neural-networks)
+- [@paper@Red Teaming with Artificial Intelligence-Driven Cyberattacks: A Scoping Review](https://arxiv.org/html/2503.19626)
diff --git a/src/data/roadmaps/ai-red-teaming/content/prompt-engineering@gx4KaFqKgJX9n9_ZGMqlZ.md b/src/data/roadmaps/ai-red-teaming/content/prompt-engineering@gx4KaFqKgJX9n9_ZGMqlZ.md
index 2d10f0367..3a19fa087 100644
--- a/src/data/roadmaps/ai-red-teaming/content/prompt-engineering@gx4KaFqKgJX9n9_ZGMqlZ.md
+++ b/src/data/roadmaps/ai-red-teaming/content/prompt-engineering@gx4KaFqKgJX9n9_ZGMqlZ.md
@@ -1 +1,9 @@
-# Prompt Engineering
\ No newline at end of file
+# Prompt Engineering
+
+For AI Red Teamers, prompt engineering is both a tool and a target. It's a tool for crafting inputs to test model boundaries and vulnerabilities (e.g., creating jailbreak prompts). It's a target because understanding how prompts influence LLMs is key to identifying prompt injection vulnerabilities and designing defenses. Mastering prompt design is fundamental to effective LLM red teaming.
+
+Learn more from the following resources:
+
+- [@article@System Prompts - InjectPrompt](https://www.injectprompt.com/t/system-prompts)
+- [@course@Introduction to Prompt Engineering](https://learnprompting.org/courses/intro-to-prompt-engineering)
+- [@guide@The Ultimate Guide to Red Teaming LLMs and Adversarial Prompts (Kili Technology)](https://kili-technology.com/large-language-models-llms/red-teaming-llms-and-adversarial-prompts)
diff --git a/src/data/roadmaps/ai-red-teaming/content/prompt-hacking@1Xr7mxVekeAHzTL7G4eAZ.md b/src/data/roadmaps/ai-red-teaming/content/prompt-hacking@1Xr7mxVekeAHzTL7G4eAZ.md
index 1d4b5e7fa..457fb580b 100644
--- a/src/data/roadmaps/ai-red-teaming/content/prompt-hacking@1Xr7mxVekeAHzTL7G4eAZ.md
+++ b/src/data/roadmaps/ai-red-teaming/content/prompt-hacking@1Xr7mxVekeAHzTL7G4eAZ.md
@@ -1 +1,9 @@
-# Prompt Hacking
\ No newline at end of file
+# Prompt Hacking
+
+Prompt hacking is a core technique for AI Red Teamers targeting LLMs. It involves crafting inputs (prompts) to manipulate the model into bypassing safety controls, revealing hidden information, or performing unintended actions. Red teamers systematically test various prompt hacking methods (like jailbreaking, role-playing, or instruction manipulation) to assess the LLM's resilience against adversarial user input.
+
+Learn more from the following resources:
+
+- [@course@Introduction to Prompt Hacking](https://learnprompting.org/courses/intro-to-prompt-hacking)
+- [@guide@Prompt Hacking Guide](https://learnprompting.org/docs/prompt_hacking/introduction)
+- [@paper@SoK: Prompt Hacking of LLMs (arXiv 2023)](https://arxiv.org/abs/2311.05544)
diff --git a/src/data/roadmaps/ai-red-teaming/content/prompt-injection@XOrAPDRhBvde9R-znEipH.md b/src/data/roadmaps/ai-red-teaming/content/prompt-injection@XOrAPDRhBvde9R-znEipH.md
index 7227af039..ba8ca854d 100644
--- a/src/data/roadmaps/ai-red-teaming/content/prompt-injection@XOrAPDRhBvde9R-znEipH.md
+++ b/src/data/roadmaps/ai-red-teaming/content/prompt-injection@XOrAPDRhBvde9R-znEipH.md
@@ -1 +1,11 @@
-# Prompt Injection
\ No newline at end of file
+# Prompt Injection
+
+Prompt injection is a critical vulnerability tested by AI Red Teamers. They attempt to insert instructions into the LLM's input that override its intended system prompt or task, causing it to perform unauthorized actions, leak data, or generate malicious output. This tests the model's ability to distinguish trusted instructions from potentially harmful user/external input.
+
+Learn more from the following resources:
+
+- [@article@Prompt Injection & the Rise of Prompt Attacks](https://www.lakera.ai/blog/guide-to-prompt-injection)
+- [@article@Prompt Injection (Learn Prompting)](https://learnprompting.org/docs/prompt_hacking/injection)
+- [@article@Prompt Injection Attack Explanation (IBM)](https://research.ibm.com/blog/prompt-injection-attacks-against-llms)
+- [@article@Prompt Injection: Impact, How It Works & 4 Defense Measures](https://www.tigera.io/learn/guides/llm-security/prompt-injection/)
+- [@course@Advanced Prompt Hacking - Learn Prompting](https://learnprompting.org/courses/advanced-prompt-hacking)
diff --git a/src/data/roadmaps/ai-red-teaming/content/red-team-simulations@DpYsL0du37n40toH33fIr.md b/src/data/roadmaps/ai-red-teaming/content/red-team-simulations@DpYsL0du37n40toH33fIr.md
index fd3d564b7..b2e1884f0 100644
--- a/src/data/roadmaps/ai-red-teaming/content/red-team-simulations@DpYsL0du37n40toH33fIr.md
+++ b/src/data/roadmaps/ai-red-teaming/content/red-team-simulations@DpYsL0du37n40toH33fIr.md
@@ -1 +1,9 @@
-# Red Team Simulations
\ No newline at end of file
+# Red Team Simulations
+
+Participating in or conducting structured red team simulations against AI systems (or components) provides the most realistic practice. This involves applying methodologies, TTPs (Tactics, Techniques, and Procedures), reconnaissance, exploitation, and reporting within a defined scope and objective, specifically targeting AI vulnerabilities.
+
+Learn more from the following resources:
+
+- [@guide@A Simple Guide to Successful Red Teaming](https://www.cobaltstrike.com/resources/guides/a-simple-guide-to-successful-red-teaming)
+- [@guide@The Complete Guide to Red Teaming: Process, Benefits & More](https://mindgard.ai/blog/red-teaming)
+- [@guide@The Complete Red Teaming Checklist [PDF]: 5 Key Steps - Mindgard AI](https://mindgard.ai/blog/red-teaming-checklist)
diff --git a/src/data/roadmaps/ai-red-teaming/content/reinforcement-learning@Xqzc4mOKsVzwaUxLGjHya.md b/src/data/roadmaps/ai-red-teaming/content/reinforcement-learning@Xqzc4mOKsVzwaUxLGjHya.md
index 998d9bd63..7e2efd36d 100644
--- a/src/data/roadmaps/ai-red-teaming/content/reinforcement-learning@Xqzc4mOKsVzwaUxLGjHya.md
+++ b/src/data/roadmaps/ai-red-teaming/content/reinforcement-learning@Xqzc4mOKsVzwaUxLGjHya.md
@@ -1 +1,10 @@
-# Reinforcement Learning
\ No newline at end of file
+# Reinforcement Learning
+
+Red teaming RL-based AI systems involves testing for vulnerabilities such as reward hacking (exploiting the reward function to induce unintended behavior), unsafe exploration (agent takes harmful actions during learning), or susceptibility to adversarial perturbations in the environment's state. Understanding the agent's policy and value functions is crucial for designing effective tests against RL agents.
+
+Learn more from the following resources:
+
+- [@article@Resources to Learn Reinforcement Learning](https://towardsdatascience.com/best-free-courses-and-resources-to-learn-reinforcement-learning-ed6633608cb2/)
+- [@article@What is reinforcement learning?](https://online.york.ac.uk/resources/what-is-reinforcement-learning/)
+- [@course@Deep Reinforcement Learning Course by HuggingFace](https://huggingface.co/learn/deep-rl-course/unit0/introduction)
+- [@paper@Diverse and Effective Red Teaming with Auto-generated Rewards and Multi-step Reinforcement Learning](https://arxiv.org/html/2412.18693v1)
diff --git a/src/data/roadmaps/ai-red-teaming/content/remote-code-execution@kgDsDlBk8W2aM6LyWpFY8.md b/src/data/roadmaps/ai-red-teaming/content/remote-code-execution@kgDsDlBk8W2aM6LyWpFY8.md
index 10a5f3987..74ab32839 100644
--- a/src/data/roadmaps/ai-red-teaming/content/remote-code-execution@kgDsDlBk8W2aM6LyWpFY8.md
+++ b/src/data/roadmaps/ai-red-teaming/content/remote-code-execution@kgDsDlBk8W2aM6LyWpFY8.md
@@ -1 +1,9 @@
-# Remote Code Execution
\ No newline at end of file
+# Remote Code Execution
+
+AI Red Teamers attempt to achieve RCE on systems hosting or interacting with AI models. This could involve exploiting vulnerabilities in the AI framework itself, the web server, connected APIs, or tricking an AI agent with code execution capabilities into running malicious commands provided via prompts. RCE is often the ultimate goal of exploiting other vulnerabilities like code injection or insecure deserialization.
+
+Learn more from the following resources:
+
+- [@article@Exploiting LLMs with Code Execution (GitHub Gist)](https://gist.github.com/coolaj86/6f4f7b30129b0251f61fa7baaa881516)
+- [@article@What is remote code execution?](https://www.cloudflare.com/learning/security/what-is-remote-code-execution/)
+
diff --git a/src/data/roadmaps/ai-red-teaming/content/reporting-tools@BLnfNlA0C4yzy1dvifjwx.md b/src/data/roadmaps/ai-red-teaming/content/reporting-tools@BLnfNlA0C4yzy1dvifjwx.md
index b4885e59a..a8869bb6f 100644
--- a/src/data/roadmaps/ai-red-teaming/content/reporting-tools@BLnfNlA0C4yzy1dvifjwx.md
+++ b/src/data/roadmaps/ai-red-teaming/content/reporting-tools@BLnfNlA0C4yzy1dvifjwx.md
@@ -1 +1,9 @@
-# Reporting Tools
\ No newline at end of file
+# Reporting Tools
+
+AI Red Teamers use reporting techniques and potentially tools to clearly document their findings, including discovered vulnerabilities, successful exploit steps (e.g., effective prompts), assessed impact, and actionable recommendations tailored to AI systems. Good reporting translates technical findings into understandable risks for stakeholders.
+
+Learn more from the following resources:
+
+- [@article@The Complete Red Teaming Checklist [PDF]: 5 Key Steps - Mindgard AI](https://mindgard.ai/blog/red-teaming-checklist)
+- [@guide@Penetration Testing Report: 6 Key Sections and 4 Best Practices](https://brightsec.com/blog/penetration-testing-report/)
+- [@guide@Penetration testing best practices: Strategies for all test types](https://www.strikegraph.com/blog/pen-testing-best-practices)
diff --git a/src/data/roadmaps/ai-red-teaming/content/research-groups@ZlR03pM-sqVFZNhD1gMSJ.md b/src/data/roadmaps/ai-red-teaming/content/research-groups@ZlR03pM-sqVFZNhD1gMSJ.md
index 8a1fbf925..e33851b0a 100644
--- a/src/data/roadmaps/ai-red-teaming/content/research-groups@ZlR03pM-sqVFZNhD1gMSJ.md
+++ b/src/data/roadmaps/ai-red-teaming/content/research-groups@ZlR03pM-sqVFZNhD1gMSJ.md
@@ -1 +1,10 @@
-# Research Groups
\ No newline at end of file
+# Research Groups
+
+Following and potentially contributing to research groups at universities (like CMU, Stanford, Oxford), non-profits (like OpenAI, Anthropic), or government bodies (like UK's AISI) focused on AI safety, security, and alignment provides deep insights into emerging threats and mitigation strategies relevant to AI Red Teaming.
+
+Learn more from the following resources:
+
+- [@group@AI Cybersecurity | Global Cyber Security Capacity Centre (Oxford)](https://gcscc.ox.ac.uk/ai-security)
+- [@group@Anthropic Research](https://www.anthropic.com/research)
+- [@group@Center for AI Safety](https://www.safe.ai/)
+- [@group@The AI Security Institute (AISI)](https://www.aisi.gov.uk/)
diff --git a/src/data/roadmaps/ai-red-teaming/content/research-opportunities@VmaIHVsCpq2um_0cA33V3.md b/src/data/roadmaps/ai-red-teaming/content/research-opportunities@VmaIHVsCpq2um_0cA33V3.md
index 5841ae1c3..75a8f71ee 100644
--- a/src/data/roadmaps/ai-red-teaming/content/research-opportunities@VmaIHVsCpq2um_0cA33V3.md
+++ b/src/data/roadmaps/ai-red-teaming/content/research-opportunities@VmaIHVsCpq2um_0cA33V3.md
@@ -1 +1,9 @@
-# Research Opportunities
\ No newline at end of file
+# Research Opportunities
+
+AI Red Teaming relies on ongoing research. Key areas needing further investigation include scalable methods for finding elusive vulnerabilities, understanding emergent behaviors in complex models, developing provable safety guarantees, creating better benchmarks for AI security, and exploring the socio-technical aspects of AI misuse and defense.
+
+Learn more from the following resources:
+
+- [@article@Cutting-Edge Research on AI Security bolstered with new Challenge Fund](https://www.gov.uk/government/news/cutting-edge-research-on-ai-security-bolstered-with-new-challenge-fund-to-ramp-up-public-trust-and-adoption)
+- [@research@Careers | The AI Security Institute (AISI)](https://www.aisi.gov.uk/careers)
+- [@research@Research - Anthropic](https://www.anthropic.com/research)
diff --git a/src/data/roadmaps/ai-red-teaming/content/responsible-disclosure@KAcCZ3zcv25R6HwzAsfUG.md b/src/data/roadmaps/ai-red-teaming/content/responsible-disclosure@KAcCZ3zcv25R6HwzAsfUG.md
index f9e2753fc..f0600d498 100644
--- a/src/data/roadmaps/ai-red-teaming/content/responsible-disclosure@KAcCZ3zcv25R6HwzAsfUG.md
+++ b/src/data/roadmaps/ai-red-teaming/content/responsible-disclosure@KAcCZ3zcv25R6HwzAsfUG.md
@@ -1 +1,9 @@
-# Responsible Disclosure
\ No newline at end of file
+# Responsible Disclosure
+
+A critical practice for AI Red Teamers is responsible disclosure: privately reporting discovered AI vulnerabilities (e.g., a successful jailbreak, data leak method, or severe bias) to the model developers or system owners, allowing them time to remediate before any public discussion, thus preventing malicious exploitation.
+
+Learn more from the following resources:
+
+- [@guide@0din.ai Policy](https://0din.ai/policy)
+- [@guide@Huntr Guidelines](https://huntr.com/guidelines)
+- [@policy@Google Vulnerability Reward Program (VRP)](https://bughunters.google.com/)
diff --git a/src/data/roadmaps/ai-red-teaming/content/risk-management@MupRvk_8Io2Hn7yEvU663.md b/src/data/roadmaps/ai-red-teaming/content/risk-management@MupRvk_8Io2Hn7yEvU663.md
index bc1aa5e0e..2979300b8 100644
--- a/src/data/roadmaps/ai-red-teaming/content/risk-management@MupRvk_8Io2Hn7yEvU663.md
+++ b/src/data/roadmaps/ai-red-teaming/content/risk-management@MupRvk_8Io2Hn7yEvU663.md
@@ -1 +1,9 @@
-# Risk Management
\ No newline at end of file
+# Risk Management
+
+AI Red Teamers contribute to the AI risk management process by identifying and demonstrating concrete vulnerabilities. Findings from red team exercises inform risk assessments, helping organizations understand the likelihood and potential impact of specific AI threats and prioritize resources for mitigation based on demonstrated exploitability.
+
+Learn more from the following resources:
+
+- [@framework@NIST AI Risk Management Framework](https://www.nist.gov/itl/ai-risk-management-framework)
+- [@guide@A Beginner's Guide to Cybersecurity Risks and Vulnerabilities](https://online.champlain.edu/blog/beginners-guide-cybersecurity-risk-management)
+- [@guide@Cybersecurity Risk Management: Frameworks, Plans, and Best Practices](https://hyperproof.io/resource/cybersecurity-risk-management-process/)
diff --git a/src/data/roadmaps/ai-red-teaming/content/robust-model-design@6gEHMhh6BGJI-ZYN27YPW.md b/src/data/roadmaps/ai-red-teaming/content/robust-model-design@6gEHMhh6BGJI-ZYN27YPW.md
index 793ae2fd1..9f63171f4 100644
--- a/src/data/roadmaps/ai-red-teaming/content/robust-model-design@6gEHMhh6BGJI-ZYN27YPW.md
+++ b/src/data/roadmaps/ai-red-teaming/content/robust-model-design@6gEHMhh6BGJI-ZYN27YPW.md
@@ -1 +1,9 @@
-# Robust Model Design
\ No newline at end of file
+# Robust Model Design
+
+AI Red Teamers assess whether choices made during model design (architecture selection, regularization techniques, ensemble methods) effectively contribute to robustness against anticipated attacks. They test if these design choices actually prevent common failure modes identified during threat modeling.
+
+Learn more from the following resources:
+
+- [@article@Model Robustness: Building Reliable AI Models](https://encord.com/blog/model-robustness-machine-learning-strategies/)
+- [@article@Understanding Robustness in Machine Learning](https://www.alooba.com/skills/concepts/machine-learning/robustness/)
+- [@paper@Towards Evaluating the Robustness of Neural Networks (arXiv by Goodfellow et al.)](https://arxiv.org/abs/1608.04644)
diff --git a/src/data/roadmaps/ai-red-teaming/content/role-of-red-teams@Irkc9DgBfqSn72WaJqXEt.md b/src/data/roadmaps/ai-red-teaming/content/role-of-red-teams@Irkc9DgBfqSn72WaJqXEt.md
index 92742bd3b..0452708a9 100644
--- a/src/data/roadmaps/ai-red-teaming/content/role-of-red-teams@Irkc9DgBfqSn72WaJqXEt.md
+++ b/src/data/roadmaps/ai-red-teaming/content/role-of-red-teams@Irkc9DgBfqSn72WaJqXEt.md
@@ -1 +1,9 @@
-# Role of Red Teams
\ No newline at end of file
+# Role of Red Teams
+
+The role of an AI Red Team is to rigorously challenge AI systems from an adversarial perspective. They design and execute tests to uncover vulnerabilities related to the model's logic, data dependencies, prompt interfaces, safety alignments, and interactions with surrounding infrastructure. They provide detailed reports on findings, potential impacts, and remediation advice, acting as a critical feedback loop for AI developers and stakeholders to improve system security and trustworthiness before and after deployment.
+
+Learn more from the following resources:
+
+- [@article@The Complete Guide to Red Teaming: Process, Benefits & More](https://mindgard.ai/blog/red-teaming)
+- [@article@The Complete Red Teaming Checklist [PDF]: 5 Key Steps - Mindgard AI](https://mindgard.ai/blog/red-teaming-checklist)
+- [@article@Red Teaming in Defending AI Systems](https://protectai.com/blog/expanding-role-red-teaming-defending-ai-systems)
diff --git a/src/data/roadmaps/ai-red-teaming/content/safety-filter-bypasses@j7uLLpt8MkZ1rqM7UBPW4.md b/src/data/roadmaps/ai-red-teaming/content/safety-filter-bypasses@j7uLLpt8MkZ1rqM7UBPW4.md
index 3b20ce7e0..21641b928 100644
--- a/src/data/roadmaps/ai-red-teaming/content/safety-filter-bypasses@j7uLLpt8MkZ1rqM7UBPW4.md
+++ b/src/data/roadmaps/ai-red-teaming/content/safety-filter-bypasses@j7uLLpt8MkZ1rqM7UBPW4.md
@@ -1 +1,9 @@
-# Safety Filter Bypasses
\ No newline at end of file
+# Safety Filter Bypasses
+
+AI Red Teamers specifically target the safety mechanisms (filters, guardrails) implemented within or around an AI model. They test techniques like using synonyms for blocked words, employing different languages, embedding harmful requests within harmless text, or using character-level obfuscation to evade detection and induce the model to generate prohibited content, thereby assessing the robustness of the safety controls.
+
+Learn more from the following resources:
+
+- [@article@Bypassing AI Content Filters](https://www.restack.io/p/ai-driven-content-moderation-answer-bypass-filters-cat-ai)
+- [@article@How to Bypass Azure AI Content Safety Guardrails](https://mindgard.ai/blog/bypassing-azure-ai-content-safety-guardrails)
+- [@article@The Best Methods to Bypass AI Detection: Tips and Techniques](https://www.popai.pro/resources/the-best-methods-to-bypass-ai-detection-tips-and-techniques/)
diff --git a/src/data/roadmaps/ai-red-teaming/content/specialized-courses@s1xKK8HL5-QGZpcutiuvj.md b/src/data/roadmaps/ai-red-teaming/content/specialized-courses@s1xKK8HL5-QGZpcutiuvj.md
index aa116eb04..710bfd5bd 100644
--- a/src/data/roadmaps/ai-red-teaming/content/specialized-courses@s1xKK8HL5-QGZpcutiuvj.md
+++ b/src/data/roadmaps/ai-red-teaming/content/specialized-courses@s1xKK8HL5-QGZpcutiuvj.md
@@ -1 +1,9 @@
-# Specialized Courses
\ No newline at end of file
+# Specialized Courses
+
+Targeted training is crucial for mastering AI Red Teaming. Look for courses covering adversarial ML, prompt hacking, LLM security, ethical hacking for AI, and specific red teaming methodologies applied to AI systems offered by platforms like Learn Prompting, Coursera, or security training providers.
+
+Learn more from the following resources:
+
+- [@course@AI Red Teaming Courses - Learn Prompting](https://learnprompting.org/blog/ai-red-teaming-courses)
+- [@course@AI Security | Coursera](https://www.coursera.org/learn/ai-security)
+- [@course@Free Online Cyber Security Courses with Certificates in 2025](https://www.eccouncil.org/cybersecurity-exchange/cyber-novice/free-cybersecurity-courses-beginners/)
diff --git a/src/data/roadmaps/ai-red-teaming/content/supervised-learning@NvOJIv36Utpm7_kOZyr79.md b/src/data/roadmaps/ai-red-teaming/content/supervised-learning@NvOJIv36Utpm7_kOZyr79.md
index cc80ec827..bc1d74208 100644
--- a/src/data/roadmaps/ai-red-teaming/content/supervised-learning@NvOJIv36Utpm7_kOZyr79.md
+++ b/src/data/roadmaps/ai-red-teaming/content/supervised-learning@NvOJIv36Utpm7_kOZyr79.md
@@ -1 +1,9 @@
-# Supervised Learning
\ No newline at end of file
+# Supervised Learning
+
+AI Red Teamers analyze systems built using supervised learning to probe for vulnerabilities like susceptibility to adversarial examples designed to cause misclassification, sensitivity to data distribution shifts, or potential for data leakage related to the labeled training data. Understanding how these models learn input-output mappings is key to devising tests that challenge their learned boundaries.
+
+Learn more from the following resources:
+
+- [@article@AI and cybersecurity: a love-hate revolution](https://www.alter-solutions.com/en-us/articles/ai-cybersecurity-love-hate-revolution)
+- [@article@What Is Supervised Learning?](https://www.ibm.com/think/topics/supervised-learning)
+- [@article@What is Supervised Learning?](https://cloud.google.com/discover/what-is-supervised-learning)
diff --git a/src/data/roadmaps/ai-red-teaming/content/testing-platforms@c8n8FcYKDOgPLQvV9xF5J.md b/src/data/roadmaps/ai-red-teaming/content/testing-platforms@c8n8FcYKDOgPLQvV9xF5J.md
index 1138bca53..328b5fe5a 100644
--- a/src/data/roadmaps/ai-red-teaming/content/testing-platforms@c8n8FcYKDOgPLQvV9xF5J.md
+++ b/src/data/roadmaps/ai-red-teaming/content/testing-platforms@c8n8FcYKDOgPLQvV9xF5J.md
@@ -1 +1,11 @@
-# Testing Platforms
\ No newline at end of file
+# Testing Platforms
+
+Platforms used by AI Red Teamers range from general penetration testing OS distributions like Kali Linux to specific AI red teaming tools/frameworks like Microsoft's PyRIT or Promptfoo, and vulnerability scanners like OWASP ZAP adapted for API testing of AI services. These platforms provide the toolsets needed to conduct assessments.
+
+Learn more from the following resources:
+
+- [@tool@AI Red Teaming Agent - Azure AI Foundry | Microsoft Learn](https://learn.microsoft.com/en-us/azure/ai-foundry/concepts/ai-red-teaming-agent)
+- [@tool@Kali Linux](https://www.kali.org/)
+- [@tool@OWASP Zed Attack Proxy (ZAP)](https://owasp.org/www-project-zap/)
+- [@tool@Promptfoo](https://www.promptfoo.dev/)
+- [@tool@PyRIT (Python Risk Identification Tool for generative AI)](https://github.com/Azure/PyRIT)
diff --git a/src/data/roadmaps/ai-red-teaming/content/threat-modeling@RDOaTBWP3aIJPUp_kcafm.md b/src/data/roadmaps/ai-red-teaming/content/threat-modeling@RDOaTBWP3aIJPUp_kcafm.md
index 4d4e54d40..e34af4c83 100644
--- a/src/data/roadmaps/ai-red-teaming/content/threat-modeling@RDOaTBWP3aIJPUp_kcafm.md
+++ b/src/data/roadmaps/ai-red-teaming/content/threat-modeling@RDOaTBWP3aIJPUp_kcafm.md
@@ -1 +1,9 @@
-# Threat Modeling
\ No newline at end of file
+# Threat Modeling
+
+AI Red Teams apply threat modeling to identify unique attack surfaces in AI systems, such as manipulating training data, exploiting prompt interfaces, attacking the model inference process, or compromising connected tools/APIs. Before attacking an AI system, red teamers perform threat modeling to map out possible adversaries (from curious users to state actors) and attack vectors, prioritizing tests based on likely impact and adversary capability.
+
+Learn more from the following resources:
+
+- [@article@Core Components of AI Red Team Exercises (Learn Prompting)](https://learnprompting.org/blog/what-is-ai-red-teaming)
+- [@guide@Threat Modeling Process](https://owasp.org/www-community/Threat_Modeling_Process)
+- [@guide@Threat Modeling](https://owasp.org/www-community/Threat_Modeling)
diff --git a/src/data/roadmaps/ai-red-teaming/content/unauthorized-access@DQeOavZCoXpF3k_qRDABs.md b/src/data/roadmaps/ai-red-teaming/content/unauthorized-access@DQeOavZCoXpF3k_qRDABs.md
index f589e9da8..95ed651b1 100644
--- a/src/data/roadmaps/ai-red-teaming/content/unauthorized-access@DQeOavZCoXpF3k_qRDABs.md
+++ b/src/data/roadmaps/ai-red-teaming/content/unauthorized-access@DQeOavZCoXpF3k_qRDABs.md
@@ -1 +1,9 @@
-# Unauthorized Access
\ No newline at end of file
+# Unauthorized Access
+
+AI Red Teamers test if vulnerabilities in the AI system or its interfaces allow attackers to gain unauthorized access to data, functionalities, or underlying infrastructure. This includes attempting privilege escalation via prompts, exploiting insecure API endpoints connected to the AI, or manipulating the AI to access restricted system resources.
+
+Learn more from the following resources:
+
+- [@article@Defending Model Files from Unauthorized Access](https://developer.nvidia.com/blog/defending-ai-model-files-from-unauthorized-access-with-canaries/)
+- [@guide@OWASP API Security Project](https://owasp.org/www-project-api-security/)
+- [@article@Detecting Unauthorized Usage](https://www.unr.edu/digital-learning/instructional-strategies/understanding-and-integrating-generative-ai-in-teaching/how-can-i-detect-unauthorized-ai-usage)
diff --git a/src/data/roadmaps/ai-red-teaming/content/unsupervised-learning@ZC0yKsu-CJC-LZKKo2pLD.md b/src/data/roadmaps/ai-red-teaming/content/unsupervised-learning@ZC0yKsu-CJC-LZKKo2pLD.md
index a0216c8b4..1cbb43e75 100644
--- a/src/data/roadmaps/ai-red-teaming/content/unsupervised-learning@ZC0yKsu-CJC-LZKKo2pLD.md
+++ b/src/data/roadmaps/ai-red-teaming/content/unsupervised-learning@ZC0yKsu-CJC-LZKKo2pLD.md
@@ -1 +1,8 @@
-# Unsupervised Learning
\ No newline at end of file
+# Unsupervised Learning
+
+When red teaming AI systems using unsupervised learning (e.g., clustering algorithms), focus areas include assessing whether the discovered patterns reveal sensitive information, if the model can be manipulated to group data incorrectly, or if dimensionality reduction techniques obscure security-relevant features. Understanding these models helps identify risks associated with pattern discovery on unlabeled data.
+
+Learn more from the following resources:
+
+- [@article@How Unsupervised Learning Works with Examples](https://www.coursera.org/articles/unsupervised-learning)
+- [@article@Supervised vs. Unsupervised Learning: Which Approach is Best?](https://www.digitalocean.com/resources/articles/supervised-vs-unsupervised-learning)
diff --git a/src/data/roadmaps/ai-red-teaming/content/vulnerability-assessment@887lc3tWCRH-sOHSxWgWJ.md b/src/data/roadmaps/ai-red-teaming/content/vulnerability-assessment@887lc3tWCRH-sOHSxWgWJ.md
index 5666706cd..aa723865c 100644
--- a/src/data/roadmaps/ai-red-teaming/content/vulnerability-assessment@887lc3tWCRH-sOHSxWgWJ.md
+++ b/src/data/roadmaps/ai-red-teaming/content/vulnerability-assessment@887lc3tWCRH-sOHSxWgWJ.md
@@ -1 +1,9 @@
-# Vulnerability Assessment
\ No newline at end of file
+# Vulnerability Assessment
+
+While general vulnerability assessment scans infrastructure, AI Red Teaming extends this to assess vulnerabilities specific to the AI model and its unique interactions. This includes probing for prompt injection flaws, testing for adversarial example robustness, checking for data privacy leaks, and evaluating safety alignment failures – weaknesses not typically found by standard IT vulnerability scanners.
+
+Learn more from the following resources:
+
+- [@article@AI red-teaming in critical infrastructure: Boosting security and trust in AI systems](https://www.dnv.com/article/ai-red-teaming-for-critical-infrastructure-industries/)
+- [@guide@The Ultimate Guide to Vulnerability Assessment](https://strobes.co/blog/guide-vulnerability-assessment/)
+- [@guide@Vulnerability Scanning Tools](https://owasp.org/www-community/Vulnerability_Scanning_Tools)
diff --git a/src/data/roadmaps/ai-red-teaming/content/white-box-testing@Mrk_js5UVn4dRDw-Yco3Y.md b/src/data/roadmaps/ai-red-teaming/content/white-box-testing@Mrk_js5UVn4dRDw-Yco3Y.md
index d0cc507ce..0f3190703 100644
--- a/src/data/roadmaps/ai-red-teaming/content/white-box-testing@Mrk_js5UVn4dRDw-Yco3Y.md
+++ b/src/data/roadmaps/ai-red-teaming/content/white-box-testing@Mrk_js5UVn4dRDw-Yco3Y.md
@@ -1 +1,9 @@
-# White Box Testing
\ No newline at end of file
+# White Box Testing
+
+White-box testing in AI Red Teaming grants the tester full access to the model's internals (architecture, weights, training data, source code). This allows for highly targeted attacks, such as crafting precise adversarial examples using gradients, analyzing code for vulnerabilities, or directly examining training data for biases or PII leakage. It simulates insider threats or deep analysis scenarios.
+
+Learn more from the following resources:
+
+- [@article@Black-Box, Gray Box, and White-Box Penetration Testing](https://www.eccouncil.org/cybersecurity-exchange/penetration-testing/black-box-gray-box-and-white-box-penetration-testing-importance-and-uses/)
+- [@article@What is White Box Penetration Testing](https://www.getastra.com/blog/security-audit/white-box-penetration-testing/)
+- [@article@The Art of White Box Pentesting](https://infosecwriteups.com/cracking-the-code-the-art-of-white-box-pentesting-de296bc22c67)
diff --git a/src/data/roadmaps/ai-red-teaming/content/why-red-team-ai-systems@fNTb9y3zs1HPYclAmu_Wv.md b/src/data/roadmaps/ai-red-teaming/content/why-red-team-ai-systems@fNTb9y3zs1HPYclAmu_Wv.md
index a127864b7..3f124aedf 100644
--- a/src/data/roadmaps/ai-red-teaming/content/why-red-team-ai-systems@fNTb9y3zs1HPYclAmu_Wv.md
+++ b/src/data/roadmaps/ai-red-teaming/content/why-red-team-ai-systems@fNTb9y3zs1HPYclAmu_Wv.md
@@ -1 +1,8 @@
-# Why Red Team AI Systems?
\ No newline at end of file
+# Why Red Team AI Systems?
+
+AI systems introduce novel risks beyond traditional software, such as emergent unintended capabilities, complex failure modes, susceptibility to subtle data manipulations, and potential for large-scale misuse (e.g., generating disinformation). AI Red Teaming is necessary because standard testing methods often fail to uncover these unique AI vulnerabilities. It provides critical, adversary-focused insights needed to build genuinely safe, reliable, and secure AI before deployment.
+
+Learn more from the following resources:
+
+- [@course@Introduction to Prompt Hacking](https://learnprompting.org/courses/intro-to-prompt-hacking)
+- [@article@Prompt Hacking Offensive Measures](https://learnprompting.org/docs/prompt_hacking/offensive_measures/introduction)
diff --git a/src/data/roadmaps/computer-science/computer-science.md b/src/data/roadmaps/computer-science/computer-science.md
index 47644a4ef..949f0edc8 100644
--- a/src/data/roadmaps/computer-science/computer-science.md
+++ b/src/data/roadmaps/computer-science/computer-science.md
@@ -22,12 +22,14 @@ seo:
title: 'Computer Science Roadmap: Curriculum for the self taught developer'
description: 'Computer Science study plan with free resources for the self-taught and bootcamp grads wanting to learn Computer Science.'
keywords:
- - 'computer science roadmap'
- 'computer science'
+ - 'computer science roadmap'
- 'computer science roadmap 2024'
+ - 'computer science roadmap 2025'
- 'guide to computer science'
- 'software engineer roadmap'
- 'software engineer roadmap 2024'
+ - 'software engineer roadmap 2025'
- 'self-taught computer science roadmap'
- 'computer science skills'
- 'computer science skills test'
diff --git a/src/data/roadmaps/computer-science/content/architectural-styles@X1wv7xV69IEzepg8bF8oZ.md b/src/data/roadmaps/computer-science/content/architectural-styles@X1wv7xV69IEzepg8bF8oZ.md
index 7af58e120..7f7499730 100644
--- a/src/data/roadmaps/computer-science/content/architectural-styles@X1wv7xV69IEzepg8bF8oZ.md
+++ b/src/data/roadmaps/computer-science/content/architectural-styles@X1wv7xV69IEzepg8bF8oZ.md
@@ -4,4 +4,4 @@ Architectural patterns are the fundamental organization of a system, defining ho
Visit the following resources to learn more:
-- [@article@List of software architecture styles and patterns](https://en.wikipedia.org/wiki/List_of_software_architecture_styles_and_patterns)
+- [@article@List of Software Architecture Styles and Patterns](https://en.wikipedia.org/wiki/List_of_software_architecture_styles_and_patterns)
diff --git a/src/data/roadmaps/computer-science/content/array@TwW6SO2IXqkxJXVjLzdwU.md b/src/data/roadmaps/computer-science/content/array@TwW6SO2IXqkxJXVjLzdwU.md
index 04d85c576..c7bd34938 100644
--- a/src/data/roadmaps/computer-science/content/array@TwW6SO2IXqkxJXVjLzdwU.md
+++ b/src/data/roadmaps/computer-science/content/array@TwW6SO2IXqkxJXVjLzdwU.md
@@ -4,10 +4,10 @@ Arrays store elements in contiguous memory locations, resulting in easily calcul
Visit the following resources to learn more:
+- [@article@What is Array in Data Structure? Types & Syntax](https://www.simplilearn.com/tutorials/data-structure-tutorial/arrays-in-data-structure)
- [@video@Array Data Structure | Illustrated Data Structures](https://www.youtube.com/watch?v=QJNwK2uJyGs)
-- [@course@Array Data Structure - Coursera](https://www.coursera.org/lecture/data-structures/arrays-OsBSF)
-- [@course@Dynamic Arrays - Coursera](https://www.coursera.org/lecture/data-structures/dynamic-arrays-EwbnV)
-- [@video@UC Berkeley CS61B - Linear and Multi-Dim Arrays (Start watching from 15m 32s)](https://archive.org/details/ucberkeley_webcast_Wp8oiO_CZZE)
+- [@video@Jagged Arrays](https://www.youtube.com/watch?v=1jtrQqYpt7g)
- [@video@Dynamic and Static Arrays](https://www.youtube.com/watch?v=PEnFFiQe1pM&list=PLDV1Zeh2NRsB6SWUrDFW2RmDotAfPbeHu&index=6)
- [@video@Dynamic Array Code](https://www.youtube.com/watch?v=tvw4v7FEF1w&list=PLDV1Zeh2NRsB6SWUrDFW2RmDotAfPbeHu&index=5)
-- [@video@Jagged Arrays](https://www.youtube.com/watch?v=1jtrQqYpt7g)
+- [@video@UC Berkeley CS61B - Linear and Multi-Dim Arrays (Start watching from 15m 32s)](https://archive.org/details/ucberkeley_webcast_Wp8oiO_CZZE)
+- [@course@Array Data Structure - Coursera](https://www.coursera.org/lecture/data-structures/arrays-OsBSF)
diff --git a/src/data/roadmaps/computer-science/content/avl-trees@OUistS7H7hQQxVV-lOg39.md b/src/data/roadmaps/computer-science/content/avl-trees@OUistS7H7hQQxVV-lOg39.md
index 219f7d13d..dd527b435 100644
--- a/src/data/roadmaps/computer-science/content/avl-trees@OUistS7H7hQQxVV-lOg39.md
+++ b/src/data/roadmaps/computer-science/content/avl-trees@OUistS7H7hQQxVV-lOg39.md
@@ -6,6 +6,7 @@ In practice: From what I can tell, these aren't used much in practice, but I cou
Visit the following resources to learn more:
+- [@article@AVL Tree - Programiz](https://www.programiz.com/dsa/avl-tree)
- [@video@MIT AVL Trees / AVL Sort](https://www.youtube.com/watch?v=FNeL18KsWPc&list=PLUl4u3cNGP61Oq3tWYp6V_F-5jb5L2iHb&index=6)
- [@course@AVL Trees](https://www.coursera.org/learn/data-structures/lecture/Qq5E0/avl-trees)
- [@course@AVL Tree Implementation](https://www.coursera.org/learn/data-structures/lecture/PKEBC/avl-tree-implementation)
diff --git a/src/data/roadmaps/computer-science/content/balanced-search-trees@7DF3UhefOSqqTuccH8c8X.md b/src/data/roadmaps/computer-science/content/balanced-search-trees@7DF3UhefOSqqTuccH8c8X.md
index 179daf56f..a05329b4a 100644
--- a/src/data/roadmaps/computer-science/content/balanced-search-trees@7DF3UhefOSqqTuccH8c8X.md
+++ b/src/data/roadmaps/computer-science/content/balanced-search-trees@7DF3UhefOSqqTuccH8c8X.md
@@ -4,6 +4,6 @@ Balanced search trees are a type of data structure that allow for fast insertion
Visit the following resources to learn more:
-- [@article@Self-balancing binary search tree - Wikipedia](https://en.wikipedia.org/wiki/Self-balancing_binary_search_tree)
+- [@article@Self-balancing Binary Search Tree - Wikipedia](https://en.wikipedia.org/wiki/Self-balancing_binary_search_tree)
- [@video@Balanced Search Trees Operations and Applications 11 min](https://www.youtube.com/watch?v=IbNZ-x1I2IM)
- [@video@Balanced binary search tree rotations](https://www.youtube.com/watch?v=q4fnJZr8ztY)
diff --git a/src/data/roadmaps/computer-science/content/base@q3nRhTYS5wg9tYnQe2sCF.md b/src/data/roadmaps/computer-science/content/base@q3nRhTYS5wg9tYnQe2sCF.md
index 2ebe4eed3..7f869e8b6 100644
--- a/src/data/roadmaps/computer-science/content/base@q3nRhTYS5wg9tYnQe2sCF.md
+++ b/src/data/roadmaps/computer-science/content/base@q3nRhTYS5wg9tYnQe2sCF.md
@@ -5,3 +5,8 @@ The rise in popularity of NoSQL databases provided a flexible and fluidity with
- **B**asically **A**vailable
- **S**oft state
- **E**ventual consistency
+
+Visit the following resources to learn more:
+
+- [@article@ACID vs. BASE Database Model](https://phoenixnap.com/kb/acid-vs-base)
+- [@article@What Is BASE in Database Engineering?](https://www.lifewire.com/abandoning-acid-in-favor-of-base-1019674)
\ No newline at end of file
diff --git a/src/data/roadmaps/computer-science/content/big-o@c-NrTtJuNihbHzyPEOKTW.md b/src/data/roadmaps/computer-science/content/big-o@c-NrTtJuNihbHzyPEOKTW.md
index 110914c36..4fa321a1c 100644
--- a/src/data/roadmaps/computer-science/content/big-o@c-NrTtJuNihbHzyPEOKTW.md
+++ b/src/data/roadmaps/computer-science/content/big-o@c-NrTtJuNihbHzyPEOKTW.md
@@ -4,8 +4,9 @@ The Big O notation can be used to describe how the running time of an algorithm
Visit the following resources to learn more:
+- [@article@Big-O Notation: A Simple Explanation with Examples](https://medium.com/better-programming/big-o-notation-a-simple-explanation-with-examples-a56347d1daca)
+- [@article@CS 61B Lecture 19: Asymptotic Analysis](https://archive.org/details/ucberkeley_webcast_VIS4YDpuP98)
+- [@article@Big O Notation | Brilliant Math & Science Wiki](https://brilliant.org/wiki/big-o-notation/)
- [@video@Big O Notation — Calculating Time Complexity](https://www.youtube.com/watch?v=Z0bH0cMY0E8)
- [@video@Big O Notations](https://www.youtube.com/watch?v=V6mKVRU1evU)
-- [@article@moviesCS 61B Lecture 19: Asymptotic Analysis](https://archive.org/details/ucberkeley_webcast_VIS4YDpuP98)
- [@video@Big Oh Notation (and Omega and Theta)](https://www.youtube.com/watch?v=ei-A_wy5Yxw&list=PL1BaGV1cIH4UhkL8a9bJGG356covJ76qN&index=3)
-- [@article@Big O Notation | Brilliant Math & Science Wiki](https://brilliant.org/wiki/big-o-notation/)
diff --git a/src/data/roadmaps/computer-science/content/binary-search@8kTg4O9MrTHRUrp6U-ctA.md b/src/data/roadmaps/computer-science/content/binary-search@8kTg4O9MrTHRUrp6U-ctA.md
index 00dfca5d7..377ef44e0 100644
--- a/src/data/roadmaps/computer-science/content/binary-search@8kTg4O9MrTHRUrp6U-ctA.md
+++ b/src/data/roadmaps/computer-science/content/binary-search@8kTg4O9MrTHRUrp6U-ctA.md
@@ -4,8 +4,8 @@ Binary search is a search algorithm that finds the position of a target value wi
Visit the following resources to learn more:
-- [@video@Binary Search in 4 Minutes](https://www.youtube.com/watch?v=fDKIpRe8GW4\&feature=youtu.be)
-- [@video@Binary Search - CS50](https://www.youtube.com/watch?v=D5SrAga1pno)
- [@article@Binary Search - Khan Academy](https://www.khanacademy.org/computing/computer-science/algorithms/binary-search/a/binary-search)
- [@article@Binary Search](https://www.topcoder.com/thrive/articles/Binary%20Search)
+- [@video@Binary Search in 4 Minutes](https://www.youtube.com/watch?v=fDKIpRe8GW4\&feature=youtu.be)
+- [@video@Binary Search - CS50](https://www.youtube.com/watch?v=D5SrAga1pno)
- [@feed@Explore top posts about Binary Search](https://app.daily.dev/tags/binary-search?ref=roadmapsh)
diff --git a/src/data/roadmaps/computer-science/content/boyer-moore@p6qub32jcaGloHXUDUrlG.md b/src/data/roadmaps/computer-science/content/boyer-moore@p6qub32jcaGloHXUDUrlG.md
index d1f4d3b65..491dcf49e 100644
--- a/src/data/roadmaps/computer-science/content/boyer-moore@p6qub32jcaGloHXUDUrlG.md
+++ b/src/data/roadmaps/computer-science/content/boyer-moore@p6qub32jcaGloHXUDUrlG.md
@@ -4,4 +4,5 @@ Boyer Moore algorithm is a string searching algorithm that is used to find the i
Visit the following resources to learn more:
+- [@article@Boyer-Moore String-search Algorithm](https://en.wikipedia.org/wiki/Boyer%E2%80%93Moore_string-search_algorithm)
- [@course@Boyer Moore Algorithm](https://www.coursera.org/learn/algorithms-part2/lecture/CYxOT/boyer-moore)
diff --git a/src/data/roadmaps/computer-science/content/brute-force-search@g3b0kt1fCAjjYyS2WelWi.md b/src/data/roadmaps/computer-science/content/brute-force-search@g3b0kt1fCAjjYyS2WelWi.md
index af3e6fda6..08f786106 100644
--- a/src/data/roadmaps/computer-science/content/brute-force-search@g3b0kt1fCAjjYyS2WelWi.md
+++ b/src/data/roadmaps/computer-science/content/brute-force-search@g3b0kt1fCAjjYyS2WelWi.md
@@ -4,6 +4,6 @@ Brute force search is a simple algorithm that checks for a pattern in a string b
Visit the following resources to learn more:
-- [@article@A beginner guide to Brute Force Algorithm for substring search](https://nulpointerexception.com/2019/02/10/a-beginner-guide-to-brute-force-algorithm-for-substring-search/)
+- [@article@A Beginner Guide to Brute Force Algorithm for Substring Search](https://nulpointerexception.com/2019/02/10/a-beginner-guide-to-brute-force-algorithm-for-substring-search/)
- [@article@Brute Force Algorithm in Cybersecurity and String Search](https://www.baeldung.com/cs/brute-force-cybersecurity-string-search)
- [@course@Brute-Force Substring Search](https://www.coursera.org/learn/algorithms-part2/lecture/2Kn5i/brute-force-substring-search)
diff --git a/src/data/roadmaps/computer-science/content/c@1kQJs-3Aw8Bi7d_Xh67zS.md b/src/data/roadmaps/computer-science/content/c@1kQJs-3Aw8Bi7d_Xh67zS.md
index 61fe1d913..ef65aa619 100644
--- a/src/data/roadmaps/computer-science/content/c@1kQJs-3Aw8Bi7d_Xh67zS.md
+++ b/src/data/roadmaps/computer-science/content/c@1kQJs-3Aw8Bi7d_Xh67zS.md
@@ -4,7 +4,7 @@ C++ is a powerful general-purpose programming language. It can be used to develo
Visit the following resources to learn more:
-- [@roadmap@C++ Roadmap](https://roadmap.sh/cpp)
+- [@roadmap@Visit Dedicated C++ Roadmap](https://roadmap.sh/cpp)
- [@article@Learn C++](https://learncpp.com/)
- [@article@Cpp Reference](https://en.cppreference.com/)
- [@article@CPlusPlus](https://cplusplus.com/)
diff --git a/src/data/roadmaps/computer-science/content/cap-theorem@GZI8EsEqiMJX3fSbO_E-7.md b/src/data/roadmaps/computer-science/content/cap-theorem@GZI8EsEqiMJX3fSbO_E-7.md
index 8f1e14221..fda63011c 100644
--- a/src/data/roadmaps/computer-science/content/cap-theorem@GZI8EsEqiMJX3fSbO_E-7.md
+++ b/src/data/roadmaps/computer-science/content/cap-theorem@GZI8EsEqiMJX3fSbO_E-7.md
@@ -4,5 +4,5 @@ The CAP theorem states that it is impossible for a distributed data store to sim
Visit the following resources to learn more:
+- [@article@CAP Theorem](https://en.wikipedia.org/wiki/CAP_theorem)
- [@video@What is CAP Theorem?](https://www.youtube.com/watch?v=_RbsFXWRZ10)
-- [@article@CAP Theorem - Wikipedia](https://en.wikipedia.org/wiki/CAP_theorem)
diff --git a/src/data/roadmaps/computer-science/content/co-np@pLBfkzi0qfgVRqi_4AmMI.md b/src/data/roadmaps/computer-science/content/co-np@pLBfkzi0qfgVRqi_4AmMI.md
index 1d0824f6c..4a5f04b31 100644
--- a/src/data/roadmaps/computer-science/content/co-np@pLBfkzi0qfgVRqi_4AmMI.md
+++ b/src/data/roadmaps/computer-science/content/co-np@pLBfkzi0qfgVRqi_4AmMI.md
@@ -10,6 +10,3 @@ Visit the following resources to learn more:
- [@video@Complexity: Fixed-Parameter Algorithms](https://www.youtube.com/watch?v=4q-jmGrmxKs&index=25&list=PLUl4u3cNGP6317WaSNfmCvGym2ucw3oGp)
- [@video@Lecture 23: Computational Complexity](https://www.youtube.com/watch?v=moPtwq_cVH8&list=PLUl4u3cNGP61Oq3tWYp6V_F-5jb5L2iHb&index=24)
- [@video@Greedy Algs. II & Intro to NP Completeness](https://youtu.be/qcGnJ47Smlo?list=PLFDnELG9dpVxQCxuD-9BSy2E7BWY3t5Sm&t=2939)
-- [@video@NP Completeness II & Reductions](https://www.youtube.com/watch?v=e0tGC6ZQdQE&index=16&list=PLFDnELG9dpVxQCxuD-9BSy2E7BWY3t5Sm)
-- [@video@NP Completeness III](https://www.youtube.com/watch?v=fCX1BGT3wjE&index=17&list=PLFDnELG9dpVxQCxuD-9BSy2E7BWY3t5Sm)
-- [@video@NP Completeness IV](https://www.youtube.com/watch?v=NKLDp3Rch3M&list=PLFDnELG9dpVxQCxuD-9BSy2E7BWY3t5Sm&index=18)
diff --git a/src/data/roadmaps/computer-science/content/combinatorics@lWnAY0DgrUOmT6yqnxeBN.md b/src/data/roadmaps/computer-science/content/combinatorics@lWnAY0DgrUOmT6yqnxeBN.md
index f3dd598d4..3b11e505d 100644
--- a/src/data/roadmaps/computer-science/content/combinatorics@lWnAY0DgrUOmT6yqnxeBN.md
+++ b/src/data/roadmaps/computer-science/content/combinatorics@lWnAY0DgrUOmT6yqnxeBN.md
@@ -4,7 +4,7 @@ Combinatorics is the study of counting. It is a branch of mathematics that is us
Visit the following resources to learn more:
+- [@article@Probability and Combinatorics](https://www.khanacademy.org/math/probability/probability-and-combinatorics-topic)
- [@video@Math Skills: How to find Factorial, Permutation and Combination](https://www.youtube.com/watch?v=8RRo6Ti9d0U)
- [@video@Make School: Probability](https://www.youtube.com/watch?v=sZkAAk9Wwa4)
- [@video@Make School: More Probability and Markov Chains](https://www.youtube.com/watch?v=dNaJg-mLobQ)
-- [@article@Probability and Combinatorics Topic](https://www.khanacademy.org/math/probability/probability-and-combinatorics-topic)
diff --git a/src/data/roadmaps/computer-science/content/common-uml-diagrams@DMuMsEowpevTCALtziwTB.md b/src/data/roadmaps/computer-science/content/common-uml-diagrams@DMuMsEowpevTCALtziwTB.md
index aebfb3e02..2dbe2015d 100644
--- a/src/data/roadmaps/computer-science/content/common-uml-diagrams@DMuMsEowpevTCALtziwTB.md
+++ b/src/data/roadmaps/computer-science/content/common-uml-diagrams@DMuMsEowpevTCALtziwTB.md
@@ -4,4 +4,5 @@ UML is a standard way of visualizing a software system. It is a general-purpose,
Visit the following resources to learn more:
+- [@article@Unified Modeling Language (UML) Description](https://www.uml-diagrams.org/)
- [@video@UML Diagrams Full Course (Unified Modeling Language)](https://www.youtube.com/watch?v=WnMQ8HlmeXc)
diff --git a/src/data/roadmaps/computer-science/content/complexity-classes@YLCmZvoLkhOk9wlgYW2Ms.md b/src/data/roadmaps/computer-science/content/complexity-classes@YLCmZvoLkhOk9wlgYW2Ms.md
index 0d33cd275..d13ce1107 100644
--- a/src/data/roadmaps/computer-science/content/complexity-classes@YLCmZvoLkhOk9wlgYW2Ms.md
+++ b/src/data/roadmaps/computer-science/content/complexity-classes@YLCmZvoLkhOk9wlgYW2Ms.md
@@ -10,6 +10,3 @@ Visit the following resources to learn more:
- [@video@Complexity: Fixed-Parameter Algorithms](https://www.youtube.com/watch?v=4q-jmGrmxKs&index=25&list=PLUl4u3cNGP6317WaSNfmCvGym2ucw3oGp)
- [@video@Lecture 23: Computational Complexity](https://www.youtube.com/watch?v=moPtwq_cVH8&list=PLUl4u3cNGP61Oq3tWYp6V_F-5jb5L2iHb&index=24)
- [@video@Greedy Algs. II & Intro to NP Completeness](https://youtu.be/qcGnJ47Smlo?list=PLFDnELG9dpVxQCxuD-9BSy2E7BWY3t5Sm&t=2939)
-- [@video@NP Completeness II & Reductions](https://www.youtube.com/watch?v=e0tGC6ZQdQE&index=16&list=PLFDnELG9dpVxQCxuD-9BSy2E7BWY3t5Sm)
-- [@video@NP Completeness III](https://www.youtube.com/watch?v=fCX1BGT3wjE&index=17&list=PLFDnELG9dpVxQCxuD-9BSy2E7BWY3t5Sm)
-- [@video@NP Completeness IV](https://www.youtube.com/watch?v=NKLDp3Rch3M&list=PLFDnELG9dpVxQCxuD-9BSy2E7BWY3t5Sm&index=18)
diff --git a/src/data/roadmaps/computer-science/content/cpu-interrupts@cpQvB0qMDL3-NWret7oeA.md b/src/data/roadmaps/computer-science/content/cpu-interrupts@cpQvB0qMDL3-NWret7oeA.md
index 01245d850..1ec5f6fca 100644
--- a/src/data/roadmaps/computer-science/content/cpu-interrupts@cpQvB0qMDL3-NWret7oeA.md
+++ b/src/data/roadmaps/computer-science/content/cpu-interrupts@cpQvB0qMDL3-NWret7oeA.md
@@ -4,5 +4,6 @@ CPU Interrupts are a way for the CPU to communicate with the rest of the compute
Visit the following resources to learn more:
+- [@article@System Interrupts 100% CPU](https://www.wikihow.com/System-Interrupts-100-Cpu)
- [@video@Interrupts](https://youtu.be/iKlAWIKEyuw)
- [@feed@Explore top posts about Computing](https://app.daily.dev/tags/computing?ref=roadmapsh)
diff --git a/src/data/roadmaps/computer-science/content/depth-first-search@chzP5_t2gMi6MstxEzCi5.md b/src/data/roadmaps/computer-science/content/depth-first-search@chzP5_t2gMi6MstxEzCi5.md
index 442b7dd72..ddf02a411 100644
--- a/src/data/roadmaps/computer-science/content/depth-first-search@chzP5_t2gMi6MstxEzCi5.md
+++ b/src/data/roadmaps/computer-science/content/depth-first-search@chzP5_t2gMi6MstxEzCi5.md
@@ -4,6 +4,6 @@ Depth first search is a graph traversal algorithm that starts at a root node and
Visit the following resources to learn more:
-- [@video@BFS and DFS in a Binary Tree](https://www.youtube.com/watch?v=uWL6FJhq5fM)
- [@article@Breadth-First Search (BFS) and Depth-First Search (DFS) for Binary Trees in Java](https://www.digitalocean.com/community/tutorials/breadth-first-search-depth-first-search-bfs-dfs)
+- [@video@BFS and DFS in a Binary Tree](https://www.youtube.com/watch?v=uWL6FJhq5fM)
- [@video@Depth First Search in 4 Minutes](https://www.youtube.com/watch?v=Urx87-NMm6c)
diff --git a/src/data/roadmaps/computer-science/content/design-patterns@-De1hU2ONGwhQmUpsyrCO.md b/src/data/roadmaps/computer-science/content/design-patterns@-De1hU2ONGwhQmUpsyrCO.md
index 2a3c2dcdf..922e39bd2 100644
--- a/src/data/roadmaps/computer-science/content/design-patterns@-De1hU2ONGwhQmUpsyrCO.md
+++ b/src/data/roadmaps/computer-science/content/design-patterns@-De1hU2ONGwhQmUpsyrCO.md
@@ -4,7 +4,7 @@ Design patterns are solutions to common problems in software design. They are fo
Visit the following resources to learn more:
-- [@article@Design Patterns - Wikipedia](https://en.wikipedia.org/wiki/Software_design_pattern)
+- [@article@Design Patterns](https://en.wikipedia.org/wiki/Software_design_pattern)
- [@opensource@Design Patterns for Humans](https://github.com/kamranahmedse/design-patterns-for-humans)
- [@article@Refactoring Guru - Design Patterns](https://refactoring.guru/design-patterns/)
- [@feed@Explore top posts about Design Patterns](https://app.daily.dev/tags/design-patterns?ref=roadmapsh)
diff --git a/src/data/roadmaps/computer-science/content/factorial@m0umGQNdvg95UiNpQZsQN.md b/src/data/roadmaps/computer-science/content/factorial@m0umGQNdvg95UiNpQZsQN.md
index afd691f80..16097522f 100644
--- a/src/data/roadmaps/computer-science/content/factorial@m0umGQNdvg95UiNpQZsQN.md
+++ b/src/data/roadmaps/computer-science/content/factorial@m0umGQNdvg95UiNpQZsQN.md
@@ -24,3 +24,8 @@ def generate_permutations(s):
return permutations
```
+
+Visit the following resources to learn more:
+
+- [@article@Big O Cheat Sheet - Time Complexity Chart](https://www.freecodecamp.org/news/big-o-cheat-sheet-time-complexity-chart/)
+- [@video@Factorial Explained](https://www.youtube.com/watch?v=pxh__ugRKz8)
diff --git a/src/data/roadmaps/computer-science/content/ford-fulkerson-algorithm@Hqw2eGtgfbVggqXBnIOdI.md b/src/data/roadmaps/computer-science/content/ford-fulkerson-algorithm@Hqw2eGtgfbVggqXBnIOdI.md
index d6ba4268e..e53f63fc4 100644
--- a/src/data/roadmaps/computer-science/content/ford-fulkerson-algorithm@Hqw2eGtgfbVggqXBnIOdI.md
+++ b/src/data/roadmaps/computer-science/content/ford-fulkerson-algorithm@Hqw2eGtgfbVggqXBnIOdI.md
@@ -4,6 +4,6 @@ Ford Fulkerson Algorithm is a greedy algorithm that is used to find the maximum
Visit the following resources to learn more:
-- [@video@Ford-Fulkerson in 5 minutes](https://www.youtube.com/watch?v=Tl90tNtKvxs)
- [@article@Ford-Fulkerson Algorithm](https://www.programiz.com/dsa/ford-fulkerson-algorithm)
+- [@video@Ford-Fulkerson in 5 minutes](https://www.youtube.com/watch?v=Tl90tNtKvxs)
- [@feed@Explore top posts about Data Science](https://app.daily.dev/tags/data-science?ref=roadmapsh)
diff --git a/src/data/roadmaps/computer-science/content/go@mWW88VnkqWgDz02qw5zU-.md b/src/data/roadmaps/computer-science/content/go@mWW88VnkqWgDz02qw5zU-.md
index af338149e..364c541ba 100644
--- a/src/data/roadmaps/computer-science/content/go@mWW88VnkqWgDz02qw5zU-.md
+++ b/src/data/roadmaps/computer-science/content/go@mWW88VnkqWgDz02qw5zU-.md
@@ -8,7 +8,7 @@ Visit the following resources to learn more:
- [@official@A Tour of Go – Go Basics](https://go.dev/tour/welcome/1)
- [@official@Go Reference Documentation](https://go.dev/doc/)
- [@article@Go by Example - annotated example programs](https://gobyexample.com/)
-- [@article@W3Schools Go Tutorial ](https://www.w3schools.com/go/)
+- [@article@W3Schools Go Tutorial](https://www.w3schools.com/go/)
- [@article@Making a RESTful JSON API in Go](https://thenewstack.io/make-a-restful-json-api-go/)
- [@article@Go, the Programming Language of the Cloud](https://thenewstack.io/go-the-programming-language-of-the-cloud/)
- [@feed@Explore top posts about Golang](https://app.daily.dev/tags/golang?ref=roadmapsh)
diff --git a/src/data/roadmaps/computer-science/content/graphql@DeE_dZecLmKCjePovTfFS.md b/src/data/roadmaps/computer-science/content/graphql@DeE_dZecLmKCjePovTfFS.md
index 69abb658e..ac3186b68 100644
--- a/src/data/roadmaps/computer-science/content/graphql@DeE_dZecLmKCjePovTfFS.md
+++ b/src/data/roadmaps/computer-science/content/graphql@DeE_dZecLmKCjePovTfFS.md
@@ -5,5 +5,7 @@ GraphQL is a query language for APIs and a runtime for fulfilling those queries
Visit the following resources to learn more:
- [@roadmap@Visit Dedicated GraphQL Roadmap](https://roadmap.sh/graphql)
+- [@official@GraphQL](https://graphql.org/)
+- [@official@GraphQL Documentation](https://graphql.org/learn/)
- [@article@Apollo GraphQL Tutorials](https://www.apollographql.com/tutorials/)
- [@feed@Explore top posts about GraphQL](https://app.daily.dev/tags/graphql?ref=roadmapsh)
diff --git a/src/data/roadmaps/computer-science/content/hash-table@G2dN2FO0SN_I-5AhO_EUk.md b/src/data/roadmaps/computer-science/content/hash-table@G2dN2FO0SN_I-5AhO_EUk.md
index d37f438a3..ad4f9593a 100644
--- a/src/data/roadmaps/computer-science/content/hash-table@G2dN2FO0SN_I-5AhO_EUk.md
+++ b/src/data/roadmaps/computer-science/content/hash-table@G2dN2FO0SN_I-5AhO_EUk.md
@@ -4,12 +4,9 @@ Hash Table, Map, HashMap, Dictionary or Associative are all the names of the sam
Visit the following resources to learn more:
+- [@article@Hash Tables - Princeton University](https://algs4.cs.princeton.edu/34hash/)
- [@video@Hash Table | Illustrated Data Structures](https://www.youtube.com/watch?v=jalSiaIi8j4)
- [@video@Hash Table in 4 Minutes](https://youtu.be/knV86FlSXJ8)
- [@video@Hashing with Chaining](https://www.youtube.com/watch?v=0M_kIqhwbFo&list=PLUl4u3cNGP61Oq3tWYp6V_F-5jb5L2iHb&index=9)
-- [@video@Table Doubling, Karp-Rabin](https://www.youtube.com/watch?v=BRO7mVIFt08&list=PLUl4u3cNGP61Oq3tWYp6V_F-5jb5L2iHb&index=10)
-- [@video@Open Addressing, Cryptographic Hashing](https://www.youtube.com/watch?v=rvdJDijO2Ro&list=PLUl4u3cNGP61Oq3tWYp6V_F-5jb5L2iHb&index=11)
-- [@video@PyCon 2010: The Mighty Dictionary](https://www.youtube.com/watch?v=C4Kc8xzcA68)
-- [@video@PyCon 2017: The Dictionary Even Mightier](https://www.youtube.com/watch?v=66P5FMkWoVU)
- [@video@(Advanced) Randomization: Universal & Perfect Hashing](https://www.youtube.com/watch?v=z0lJ2k0sl1g&list=PLUl4u3cNGP6317WaSNfmCvGym2ucw3oGp&index=11)
- [@video@(Advanced) Perfect hashing](https://www.youtube.com/watch?v=N0COwN14gt0&list=PL2B4EEwhKD-NbwZ4ezj7gyc_3yNrojKM9&index=4)
diff --git a/src/data/roadmaps/computer-science/content/hashing-algorithms@EX_e4B6G07zTb4JjJ7482.md b/src/data/roadmaps/computer-science/content/hashing-algorithms@EX_e4B6G07zTb4JjJ7482.md
index ff2bf13a0..afb1b8581 100644
--- a/src/data/roadmaps/computer-science/content/hashing-algorithms@EX_e4B6G07zTb4JjJ7482.md
+++ b/src/data/roadmaps/computer-science/content/hashing-algorithms@EX_e4B6G07zTb4JjJ7482.md
@@ -4,6 +4,7 @@ Hashing algorithms are used to generate a unique value for a given input. This v
Visit the following resources to learn more:
+- [@article@Hashing Algorithm Overview:](https://www.okta.com/identity-101/hashing-algorithms/)
- [@video@Hashing Algorithms and Security - Computerphile](https://www.youtube.com/watch?v=b4b8ktEV4Bg)
- [@video@Top Hashing Algorithms In Cryptography | MD5 and SHA 256 Algorithms Expalined | Simplilearn](https://www.youtube.com/watch?v=Plp4F3ZfC7A)
- [@video@SHA: Secure Hashing Algorithm - Computerphile](https://www.youtube.com/watch?v=DMtFhACPnTY)
diff --git a/src/data/roadmaps/computer-science/content/heap@pw3ZCC3HKU7D5SQwte4vE.md b/src/data/roadmaps/computer-science/content/heap@pw3ZCC3HKU7D5SQwte4vE.md
index 3dd8fca96..f78a19961 100644
--- a/src/data/roadmaps/computer-science/content/heap@pw3ZCC3HKU7D5SQwte4vE.md
+++ b/src/data/roadmaps/computer-science/content/heap@pw3ZCC3HKU7D5SQwte4vE.md
@@ -4,7 +4,8 @@ Heap is a tree-based data structure that follows the properties of a complete bi
Visit the following resources to learn more:
+- [@article@Heap Data Structure](https://www.programiz.com/dsa/heap-data-structure)
+- [@article@CS 61B Lecture 24: Priority Queues](https://archive.org/details/ucberkeley_webcast_yIUFT6AKBGE)
- [@video@Heap | Illustrated Data Structures](https://www.youtube.com/watch?v=F_r0sJ1RqWk)
-- [@course@Priority Queue - Introduction](https://www.coursera.org/lecture/data-structures/introduction-2OpTs)
- [@video@Heaps and Heap Sort](https://www.youtube.com/watch?v=B7hVxCmfPtM&list=PLUl4u3cNGP61Oq3tWYp6V_F-5jb5L2iHb&index=5)
-- [@article@CS 61B Lecture 24: Priority Queues](https://archive.org/details/ucberkeley_webcast_yIUFT6AKBGE)
+- [@course@Priority Queue - Introduction](https://www.coursera.org/lecture/data-structures/introduction-2OpTs)
diff --git a/src/data/roadmaps/computer-science/content/how-computers-calculate@GDLKJkKgB-i7n0YcV2NDa.md b/src/data/roadmaps/computer-science/content/how-computers-calculate@GDLKJkKgB-i7n0YcV2NDa.md
index d8e41f626..97b9a4990 100644
--- a/src/data/roadmaps/computer-science/content/how-computers-calculate@GDLKJkKgB-i7n0YcV2NDa.md
+++ b/src/data/roadmaps/computer-science/content/how-computers-calculate@GDLKJkKgB-i7n0YcV2NDa.md
@@ -4,4 +4,5 @@ Computers calculate using the binary system, where all data is represented as 0s
Visit the following resources to learn more:
-- [@video@How computers calculate - ALU](https://youtu.be/1I5ZMmrOfnA)
+- [@article@How Does A Computer Calculate Numbers?](https://www.sciencing.com/computer-calculate-numbers-4705975/)
+- [@video@How Computers Calculate - ALU](https://youtu.be/1I5ZMmrOfnA)
diff --git a/src/data/roadmaps/computer-science/content/how-computers-work@-emdKpD5uRNuvem5rbFXJ.md b/src/data/roadmaps/computer-science/content/how-computers-work@-emdKpD5uRNuvem5rbFXJ.md
index a41843c9f..ba1d52da9 100644
--- a/src/data/roadmaps/computer-science/content/how-computers-work@-emdKpD5uRNuvem5rbFXJ.md
+++ b/src/data/roadmaps/computer-science/content/how-computers-work@-emdKpD5uRNuvem5rbFXJ.md
@@ -4,8 +4,8 @@ Computers are everywhere. They are in our phones, our cars, our homes, and even
Visit the following resources to learn more:
-- [@video@How CPU executes a program](https://www.youtube.com/watch?v=XM4lGflQFvA)
-- [@video@How computers calculate - ALU](https://youtu.be/1I5ZMmrOfnA)
+- [@video@How CPU Executes A Program](https://www.youtube.com/watch?v=XM4lGflQFvA)
+- [@video@How Computers Calculate - ALU](https://youtu.be/1I5ZMmrOfnA)
- [@video@Registers and RAM](https://youtu.be/fpnE6UAfbtU)
- [@video@The Central Processing Unit (CPU)](https://youtu.be/FZGugFqdr60)
- [@video@Instructions and Programs](https://youtu.be/zltgXvg6r3k)
diff --git a/src/data/roadmaps/computer-science/content/in-order-traversal@KTrgf14Q6rg2f0v4dqq2s.md b/src/data/roadmaps/computer-science/content/in-order-traversal@KTrgf14Q6rg2f0v4dqq2s.md
index 26bc73b90..6cd678114 100644
--- a/src/data/roadmaps/computer-science/content/in-order-traversal@KTrgf14Q6rg2f0v4dqq2s.md
+++ b/src/data/roadmaps/computer-science/content/in-order-traversal@KTrgf14Q6rg2f0v4dqq2s.md
@@ -4,4 +4,5 @@ In-order traversal is a tree traversal algorithm that visits the left subtree, t
Visit the following resources to learn more:
+- [@article@Tree Traversal Techniques](https://www.geeksforgeeks.org/tree-traversals-inorder-preorder-and-postorder/)
- [@video@Tree | Illustrated Data Structures](https://www.youtube.com/watch?v=S2W3SXGPVyU)
diff --git a/src/data/roadmaps/computer-science/content/indexes@BEbsUA39kZ5itqCwD585f.md b/src/data/roadmaps/computer-science/content/indexes@BEbsUA39kZ5itqCwD585f.md
index efd30cac9..12d0421f2 100644
--- a/src/data/roadmaps/computer-science/content/indexes@BEbsUA39kZ5itqCwD585f.md
+++ b/src/data/roadmaps/computer-science/content/indexes@BEbsUA39kZ5itqCwD585f.md
@@ -4,4 +4,5 @@ An index is a data structure that you build and assign on top of an existing tab
Visit the following resources to learn more:
-- [@video@Database Indexing Explained](https://www.youtube.com/watch?v=-qNSXK7s7_w)
+- [@article@Database Indexes Explained](https://www.essentialsql.com/what-is-a-database-index/)
+- [@video@Database Indexing Explained](https://www.youtube.com/watch?v=-qNSXK7s7_w)
\ No newline at end of file
diff --git a/src/data/roadmaps/computer-science/content/insertion-sort@ujDCW6zZE8dV_fpNf-oIl.md b/src/data/roadmaps/computer-science/content/insertion-sort@ujDCW6zZE8dV_fpNf-oIl.md
index aa99affac..11c4b08a6 100644
--- a/src/data/roadmaps/computer-science/content/insertion-sort@ujDCW6zZE8dV_fpNf-oIl.md
+++ b/src/data/roadmaps/computer-science/content/insertion-sort@ujDCW6zZE8dV_fpNf-oIl.md
@@ -4,6 +4,6 @@ Insertion sort is a simple sorting algorithm that builds the final sorted array
Visit the following resources to learn more:
+- [@article@Insertion Sort](https://www.programiz.com/dsa/insertion-sort)
- [@video@Insertion Sort — MIT](https://www.youtube.com/watch?v=Kg4bqzAqRBM&list=PLUl4u3cNGP61Oq3tWYp6V_F-5jb5L2iHb&index=4)
- [@video@Insertion Sort in 3 Minutes](https://www.youtube.com/watch?v=JU767SDMDvA)
-- [@article@Insertion Sort Algorithm](https://www.programiz.com/dsa/insertion-sort)
diff --git a/src/data/roadmaps/computer-science/content/java@1lQSUFrrIGq19nUnM92-I.md b/src/data/roadmaps/computer-science/content/java@1lQSUFrrIGq19nUnM92-I.md
index fabf09755..f2bec6c83 100644
--- a/src/data/roadmaps/computer-science/content/java@1lQSUFrrIGq19nUnM92-I.md
+++ b/src/data/roadmaps/computer-science/content/java@1lQSUFrrIGq19nUnM92-I.md
@@ -6,7 +6,7 @@ It was created in 1995 by James Gosling at Sun Microsystems and is one of the mo
Visit the following resources to learn more:
- [@roadmap@Visit Dedicated Java Roadmap](https://roadmap.sh/java)
-- [@official@Java Website](https://www.java.com/)
+- [@official@Java](https://www.java.com/)
- [@article@W3 Schools Tutorials](https://www.w3schools.com/java/)
- [@video@Java Crash Course](https://www.youtube.com/watch?v=eIrMbAQSU34)
- [@feed@Explore top posts about Java](https://app.daily.dev/tags/java?ref=roadmapsh)
diff --git a/src/data/roadmaps/computer-science/content/lfu-cache@n11ujPI3of-52l2KW2CDQ.md b/src/data/roadmaps/computer-science/content/lfu-cache@n11ujPI3of-52l2KW2CDQ.md
index a8b7120c1..ca17bb9ed 100644
--- a/src/data/roadmaps/computer-science/content/lfu-cache@n11ujPI3of-52l2KW2CDQ.md
+++ b/src/data/roadmaps/computer-science/content/lfu-cache@n11ujPI3of-52l2KW2CDQ.md
@@ -4,4 +4,5 @@ LFU Cache is a data structure that stores key-value pairs. It has a fixed size a
Visit the following resources to learn more:
+- [@article@Least Frequently Used (LFU) Cache Implementation](https://www.geeksforgeeks.org/least-frequently-used-lfu-cache-implementation/)
- [@article@1117. Data Structure - LFU Cache](https://jojozhuang.github.io/algorithm/data-structure-lfu-cache/)
diff --git a/src/data/roadmaps/computer-science/content/linear@jymhjv8GiFALQpox6aZeu.md b/src/data/roadmaps/computer-science/content/linear@jymhjv8GiFALQpox6aZeu.md
index 481f30045..d43646ff1 100644
--- a/src/data/roadmaps/computer-science/content/linear@jymhjv8GiFALQpox6aZeu.md
+++ b/src/data/roadmaps/computer-science/content/linear@jymhjv8GiFALQpox6aZeu.md
@@ -4,5 +4,6 @@ Linear algorithms are algorithms that have a runtime that is directly proportion
Visit the following resources to learn more:
+- [@article@Linear Search Algorithm](https://www.geeksforgeeks.org/linear-search/)
- [@video@Big O Notation — Calculating Time Complexity](https://www.youtube.com/watch?v=Z0bH0cMY0E8)
- [@video@Big O Notations](https://www.youtube.com/watch?v=V6mKVRU1evU)
diff --git a/src/data/roadmaps/computer-science/content/little-endian@rD_5n5bjiNMVC0cPhEVyG.md b/src/data/roadmaps/computer-science/content/little-endian@rD_5n5bjiNMVC0cPhEVyG.md
index e55a54e11..f6fef937e 100644
--- a/src/data/roadmaps/computer-science/content/little-endian@rD_5n5bjiNMVC0cPhEVyG.md
+++ b/src/data/roadmaps/computer-science/content/little-endian@rD_5n5bjiNMVC0cPhEVyG.md
@@ -4,5 +4,5 @@ Little Endian is a way of storing data in memory. It is the opposite of Big Endi
Visit the following resources to learn more:
-- [@video@Big Endian vs Little Endian.mp4](https://www.youtube.com/watch?v=JrNF0KRAlyo)
+- [@video@Big Endian vs Little Endian](https://www.youtube.com/watch?v=JrNF0KRAlyo)
- [@video@Endianness Explained With an Egg - Computerphile](https://www.youtube.com/watch?v=NcaiHcBvDR4)
diff --git a/src/data/roadmaps/computer-science/content/load-balancing@xDiS0HmrEoPjkQg9x2O3o.md b/src/data/roadmaps/computer-science/content/load-balancing@xDiS0HmrEoPjkQg9x2O3o.md
index d1d40bc51..0d38adaeb 100644
--- a/src/data/roadmaps/computer-science/content/load-balancing@xDiS0HmrEoPjkQg9x2O3o.md
+++ b/src/data/roadmaps/computer-science/content/load-balancing@xDiS0HmrEoPjkQg9x2O3o.md
@@ -4,5 +4,6 @@ Load balancing is the process of distributing network or application traffic acr
Visit the following resources to learn more:
+- [@article@What is Load Balancing? | How load balancers work](https://www.cloudflare.com/learning/performance/what-is-load-balancing/)
- [@video@Load Balancers 101](https://www.youtube.com/watch?v=galcDRNd5Ow)
- [@video@What is Load Balancing?](https://www.youtube.com/watch?v=gGLophKzJs8)
diff --git a/src/data/roadmaps/computer-science/content/np-complete@Lwkz7qozXRlVNA20zJbSw.md b/src/data/roadmaps/computer-science/content/np-complete@Lwkz7qozXRlVNA20zJbSw.md
index e1ef4851c..0f4bc832d 100644
--- a/src/data/roadmaps/computer-science/content/np-complete@Lwkz7qozXRlVNA20zJbSw.md
+++ b/src/data/roadmaps/computer-science/content/np-complete@Lwkz7qozXRlVNA20zJbSw.md
@@ -7,9 +7,6 @@ Visit the following resources to learn more:
- [@article@Trying to understand P vs NP vs NP Complete vs NP Hard](https://softwareengineering.stackexchange.com/questions/308178/trying-to-understand-p-vs-np-vs-np-complete-vs-np-hard)
- [@video@Complexity: P, NP, NP-completeness, Reductions](https://www.youtube.com/watch?v=eHZifpgyH_4&list=PLUl4u3cNGP6317WaSNfmCvGym2ucw3oGp&index=22)
- [@video@P vs. NP and the Computational Complexity Zoo](https://www.youtube.com/watch?v=YX40hbAHx3s)
-- [@video@Complexity: Approximation Algorithms](https://www.youtube.com/watch?v=MEz1J9wY2iM&list=PLUl4u3cNGP6317WaSNfmCvGym2ucw3oGp&index=24)
-- [@video@Complexity: Fixed-Parameter Algorithms](https://www.youtube.com/watch?v=4q-jmGrmxKs&index=25&list=PLUl4u3cNGP6317WaSNfmCvGym2ucw3oGp)
-- [@video@Lecture 23: Computational Complexity](https://www.youtube.com/watch?v=moPtwq_cVH8&list=PLUl4u3cNGP61Oq3tWYp6V_F-5jb5L2iHb&index=24)
- [@video@Greedy Algs. II & Intro to NP Completeness](https://youtu.be/qcGnJ47Smlo?list=PLFDnELG9dpVxQCxuD-9BSy2E7BWY3t5Sm&t=2939)
- [@video@NP Completeness II & Reductions](https://www.youtube.com/watch?v=e0tGC6ZQdQE&index=16&list=PLFDnELG9dpVxQCxuD-9BSy2E7BWY3t5Sm)
- [@video@NP Completeness III](https://www.youtube.com/watch?v=fCX1BGT3wjE&index=17&list=PLFDnELG9dpVxQCxuD-9BSy2E7BWY3t5Sm)
diff --git a/src/data/roadmaps/computer-science/content/p@3aM17dPKNi8tRJsW8lesI.md b/src/data/roadmaps/computer-science/content/p@3aM17dPKNi8tRJsW8lesI.md
index b74cc70dc..65f895aa8 100644
--- a/src/data/roadmaps/computer-science/content/p@3aM17dPKNi8tRJsW8lesI.md
+++ b/src/data/roadmaps/computer-science/content/p@3aM17dPKNi8tRJsW8lesI.md
@@ -10,6 +10,3 @@ Visit the following resources to learn more:
- [@video@Complexity: Fixed-Parameter Algorithms](https://www.youtube.com/watch?v=4q-jmGrmxKs&index=25&list=PLUl4u3cNGP6317WaSNfmCvGym2ucw3oGp)
- [@video@Lecture 23: Computational Complexity](https://www.youtube.com/watch?v=moPtwq_cVH8&list=PLUl4u3cNGP61Oq3tWYp6V_F-5jb5L2iHb&index=24)
- [@video@Greedy Algs. II & Intro to NP Completeness](https://youtu.be/qcGnJ47Smlo?list=PLFDnELG9dpVxQCxuD-9BSy2E7BWY3t5Sm&t=2939)
-- [@video@NP Completeness II & Reductions](https://www.youtube.com/watch?v=e0tGC6ZQdQE&index=16&list=PLFDnELG9dpVxQCxuD-9BSy2E7BWY3t5Sm)
-- [@video@NP Completeness III](https://www.youtube.com/watch?v=fCX1BGT3wjE&index=17&list=PLFDnELG9dpVxQCxuD-9BSy2E7BWY3t5Sm)
-- [@video@NP Completeness IV](https://www.youtube.com/watch?v=NKLDp3Rch3M&list=PLFDnELG9dpVxQCxuD-9BSy2E7BWY3t5Sm&index=18)
diff --git a/src/data/roadmaps/computer-science/content/pick-a-language@tU4Umtnfu01t9gLlnlK6b.md b/src/data/roadmaps/computer-science/content/pick-a-language@tU4Umtnfu01t9gLlnlK6b.md
index d78c44888..5dc67553e 100644
--- a/src/data/roadmaps/computer-science/content/pick-a-language@tU4Umtnfu01t9gLlnlK6b.md
+++ b/src/data/roadmaps/computer-science/content/pick-a-language@tU4Umtnfu01t9gLlnlK6b.md
@@ -9,6 +9,7 @@ Given below is the list of resources; pick ones relevant to the language of your
Visit the following resources to learn more:
+- [@roadmap@Visit Dedicated C++ Roadmap](https://roadmap.sh/cpp)
- [@article@Learn C++ - W3Schools](https://www.w3schools.com/cpp/)
- [@article@Learn C++ - Tutorials Point](https://www.tutorialspoint.com/cplusplus/index.htm)
- [@video@C++ Programming Course - Beginner to Advanced](https://www.youtube.com/watch?v=8jLOx1hD3_o)
diff --git a/src/data/roadmaps/computer-science/content/post-order-traversal@4_oGXwjzSY5cX9n7L4iAA.md b/src/data/roadmaps/computer-science/content/post-order-traversal@4_oGXwjzSY5cX9n7L4iAA.md
index 13f83bf69..267335c03 100644
--- a/src/data/roadmaps/computer-science/content/post-order-traversal@4_oGXwjzSY5cX9n7L4iAA.md
+++ b/src/data/roadmaps/computer-science/content/post-order-traversal@4_oGXwjzSY5cX9n7L4iAA.md
@@ -4,4 +4,5 @@ Post-order traversal is a type of tree traversal that visits the left subtree, t
Visit the following resources to learn more:
+- [@article@Postorder Traversal of Binary Tree](https://www.geeksforgeeks.org/postorder-traversal-of-binary-tree/)
- [@video@Tree | Illustrated Data Structures](https://www.youtube.com/watch?v=S2W3SXGPVyU)
diff --git a/src/data/roadmaps/computer-science/content/process-forking@RbdT5MOE4L-E7PPWKRITX.md b/src/data/roadmaps/computer-science/content/process-forking@RbdT5MOE4L-E7PPWKRITX.md
index e5ac26f79..f5e2577d2 100644
--- a/src/data/roadmaps/computer-science/content/process-forking@RbdT5MOE4L-E7PPWKRITX.md
+++ b/src/data/roadmaps/computer-science/content/process-forking@RbdT5MOE4L-E7PPWKRITX.md
@@ -4,6 +4,7 @@ Process forking is a way to create a new process from an existing process. The n
Visit the following resources to learn more:
+- [@article@Fork System Call in Operating System](https://www.geeksforgeeks.org/fork-system-call-in-operating-system/)
- [@video@Understanding fork() system call for new process creation](https://www.youtube.com/watch?v=PwxTbksJ2fo)
- [@video@fork() and exec() System Calls](https://www.youtube.com/watch?v=IFEFVXvjiHY)
- [@video@The fork() function in C](https://www.youtube.com/watch?v=cex9XrZCU14)
diff --git a/src/data/roadmaps/computer-science/content/proxy@qLLJ_ehC8tSRfXsorYMQz.md b/src/data/roadmaps/computer-science/content/proxy@qLLJ_ehC8tSRfXsorYMQz.md
index 96303d8ca..c97708919 100644
--- a/src/data/roadmaps/computer-science/content/proxy@qLLJ_ehC8tSRfXsorYMQz.md
+++ b/src/data/roadmaps/computer-science/content/proxy@qLLJ_ehC8tSRfXsorYMQz.md
@@ -4,5 +4,5 @@ A proxy server is an intermediary piece of hardware/software sitting between the
Visit the following resources to learn more:
-- [@article@Proxy - System Design](https://dev.to/karanpratapsingh/system-design-the-complete-course-10fo#proxy)
- [@roadmap.sh@Proxy Servers](https://roadmap.sh/guides/proxy-servers)
+- [@article@Proxy - System Design](https://dev.to/karanpratapsingh/system-design-the-complete-course-10fo#proxy)
diff --git a/src/data/roadmaps/computer-science/content/queue@JI990pDX2jjNe6IH_Y_t0.md b/src/data/roadmaps/computer-science/content/queue@JI990pDX2jjNe6IH_Y_t0.md
index 427f28809..21f38545e 100644
--- a/src/data/roadmaps/computer-science/content/queue@JI990pDX2jjNe6IH_Y_t0.md
+++ b/src/data/roadmaps/computer-science/content/queue@JI990pDX2jjNe6IH_Y_t0.md
@@ -4,7 +4,7 @@ Queue is a linear collection of items where items are inserted and removed in a
Visit the following resources to learn more:
+- [@article@Circular Buffer - Wikipedia](https://en.wikipedia.org/wiki/Circular_buffer)
- [@video@Queue Data Structure | Illustrated Data Structures](https://www.youtube.com/watch?v=mDCi1lXd9hc)
- [@video@Queue in 3 Minutes](https://www.youtube.com/watch?v=D6gu-_tmEpQ)
- [@course@Queues - Coursera](https://www.coursera.org/lecture/data-structures/queues-EShpq)
-- [@article@Circular Buffer - Wikipedia](https://en.wikipedia.org/wiki/Circular_buffer)
diff --git a/src/data/roadmaps/computer-science/content/registers-and-ram@U3379F4AO1KSmGtVmPr27.md b/src/data/roadmaps/computer-science/content/registers-and-ram@U3379F4AO1KSmGtVmPr27.md
index cc100f12e..8d17e9ac7 100644
--- a/src/data/roadmaps/computer-science/content/registers-and-ram@U3379F4AO1KSmGtVmPr27.md
+++ b/src/data/roadmaps/computer-science/content/registers-and-ram@U3379F4AO1KSmGtVmPr27.md
@@ -5,8 +5,8 @@
Registers are the high-speed accessible storage elements. The processor accesses the registers within one CPU clock cycle. The processor can decode the instructions and perform operations on the register contents at more than one operation per CPU clock cycle.
**_Memory_** is a hardware device that stores computer programs, instructions, and data. The memory that is internal to the processor is primary memory (RAM), and the memory that is external to the processor is secondary (**Hard Drive**).
-Primary memory or RAM is a volatile memory, meaning the primary memory data exist when the system's power is on, and the data vanishes as the system is switched off. The primary memory contains the data required by the currently executing program in the CPU. If the data required by the processor is not in primary memory, then the data is transferred from secondary storage to primary memory, and then it is fetched by the processor.
Visit the following resources to learn more:
+- [@article@RAM vs. Registers - What's the Difference?](https://thisvsthat.io/ram-vs-registers)
- [@video@Registers and RAM](https://youtu.be/fpnE6UAfbtU)
diff --git a/src/data/roadmaps/computer-science/content/rust@1bDjg-KBDKRmE6f1MWY8l.md b/src/data/roadmaps/computer-science/content/rust@1bDjg-KBDKRmE6f1MWY8l.md
index b3a9e16b3..df733f8ad 100644
--- a/src/data/roadmaps/computer-science/content/rust@1bDjg-KBDKRmE6f1MWY8l.md
+++ b/src/data/roadmaps/computer-science/content/rust@1bDjg-KBDKRmE6f1MWY8l.md
@@ -5,8 +5,8 @@ Rust is a modern systems programming language focusing on safety, speed, and con
Visit the following resources to learn more:
- [@roadmap@Visit Dedicated Rust Roadmap](https://roadmap.sh/rust)
-- [@article@The Rust Programming Language - online book](https://doc.rust-lang.org/book/)
-- [@article@Rust by Example - collection of runnable examples](https://doc.rust-lang.org/stable/rust-by-example/index.html)
+- [@official@The Rust Programming Language - online book](https://doc.rust-lang.org/book/)
+- [@official@Rust by Example - collection of runnable examples](https://doc.rust-lang.org/stable/rust-by-example/index.html)
- [@article@Rust vs. Go: Why They’re Better Together](https://thenewstack.io/rust-vs-go-why-theyre-better-together/)
- [@article@Rust by the Numbers: The Rust Programming Language in 2021](https://thenewstack.io/rust-by-the-numbers-the-rust-programming-language-in-2021/)
- [@feed@Explore top posts about Rust](https://app.daily.dev/tags/rust?ref=roadmapsh)
diff --git a/src/data/roadmaps/computer-science/content/scheduling-algorithms@Ge2nagN86ofa2y-yYR1lv.md b/src/data/roadmaps/computer-science/content/scheduling-algorithms@Ge2nagN86ofa2y-yYR1lv.md
index 35a026358..82e991ebf 100644
--- a/src/data/roadmaps/computer-science/content/scheduling-algorithms@Ge2nagN86ofa2y-yYR1lv.md
+++ b/src/data/roadmaps/computer-science/content/scheduling-algorithms@Ge2nagN86ofa2y-yYR1lv.md
@@ -13,3 +13,7 @@ Here is the list of some of the most commonly used scheduling algorithms:
- **Multi-level Feedback Queue Scheduling:** The processes are divided into different queues based on their priority. The process with the highest priority is allocated the CPU first. If a process is preempted, it is moved to the next queue. It is a preemptive algorithm.
- **Highest Response Ratio Next(HRRN):** CPU is allotted to the next process which has the highest response ratio and not to the process having less burst time. It is a Non-Preemptive algorithm.
- **Lottery Scheduling:** The process is allocated the CPU based on a lottery system. It is a preemptive algorithm.
+
+Visit the following resources to learn more:
+
+- [@article@CPU Scheduling in Operating System](https://www.scaler.com/topics/operating-system/cpu-scheduling/)
\ No newline at end of file
diff --git a/src/data/roadmaps/computer-science/content/search-pattern-in-text@L4M5yFRKKR2axKXGcIA7d.md b/src/data/roadmaps/computer-science/content/search-pattern-in-text@L4M5yFRKKR2axKXGcIA7d.md
index 3b017c9fc..52687f2c9 100644
--- a/src/data/roadmaps/computer-science/content/search-pattern-in-text@L4M5yFRKKR2axKXGcIA7d.md
+++ b/src/data/roadmaps/computer-science/content/search-pattern-in-text@L4M5yFRKKR2axKXGcIA7d.md
@@ -4,4 +4,5 @@ Searching pattern in text is a very common task in computer science. It is used
Visit the following resources to learn more:
+- [@article@Pattern Searching](https://www.geeksforgeeks.org/pattern-searching/)
- [@course@Search Pattern in Text](https://www.coursera.org/learn/data-structures/lecture/tAfHI/search-pattern-in-text)
diff --git a/src/data/roadmaps/computer-science/content/selection-sort@rOsHFXQm5jNz0RyZQ5ZGs.md b/src/data/roadmaps/computer-science/content/selection-sort@rOsHFXQm5jNz0RyZQ5ZGs.md
index 441964d9f..1fd353bf3 100644
--- a/src/data/roadmaps/computer-science/content/selection-sort@rOsHFXQm5jNz0RyZQ5ZGs.md
+++ b/src/data/roadmaps/computer-science/content/selection-sort@rOsHFXQm5jNz0RyZQ5ZGs.md
@@ -4,5 +4,6 @@ Selection sort is a sorting algorithm that selects the smallest unsorted item in
Visit the following resources to learn more:
+- [@article@Selection Sort](https://en.wikipedia.org/wiki/Selection_sort)
- [@video@Selection Sort in 3 Minutes](https://www.youtube.com/watch?v=g-PGLbMth_g)
- [@course@Selection Sort](https://www.coursera.org/lecture/algorithms-part1/selection-UQxFT)
diff --git a/src/data/roadmaps/computer-science/content/skip-lists@K96ggeWqd5OwoNnkL04pc.md b/src/data/roadmaps/computer-science/content/skip-lists@K96ggeWqd5OwoNnkL04pc.md
index e948c7f0d..4e88ed43a 100644
--- a/src/data/roadmaps/computer-science/content/skip-lists@K96ggeWqd5OwoNnkL04pc.md
+++ b/src/data/roadmaps/computer-science/content/skip-lists@K96ggeWqd5OwoNnkL04pc.md
@@ -4,5 +4,5 @@ Skip lists are a data structure that allows you to perform operations on a sorte
Visit the following resources to learn more:
+- [@article@Skip Lists](https://en.wikipedia.org/wiki/Skip_list)
- [@video@Randomization: Skip Lists](https://www.youtube.com/watch?v=2g9OSRKJuzM&index=10&list=PLUl4u3cNGP6317WaSNfmCvGym2ucw3oGp)
-- [@article@Skip Lists - Wikipedia](https://en.wikipedia.org/wiki/Skip_list)
diff --git a/src/data/roadmaps/computer-science/content/string-search--manipulations@NUWk-7IXmMU-4TT-oS8fF.md b/src/data/roadmaps/computer-science/content/string-search--manipulations@NUWk-7IXmMU-4TT-oS8fF.md
index 820604858..531d5ab74 100644
--- a/src/data/roadmaps/computer-science/content/string-search--manipulations@NUWk-7IXmMU-4TT-oS8fF.md
+++ b/src/data/roadmaps/computer-science/content/string-search--manipulations@NUWk-7IXmMU-4TT-oS8fF.md
@@ -4,4 +4,4 @@ String search and manipulation is a very important topic in computer science. It
Visit the following resources to learn more:
-- [@article@String-searching algorithm](https://en.wikipedia.org/wiki/String-searching_algorithm)
+- [@article@String-searching Algorithm](https://en.wikipedia.org/wiki/String-searching_algorithm)
diff --git a/src/data/roadmaps/computer-science/content/suffix-arrays@Ld1TUNS8713coMNvwhNIJ.md b/src/data/roadmaps/computer-science/content/suffix-arrays@Ld1TUNS8713coMNvwhNIJ.md
index 2f1a526dd..f4eddd96c 100644
--- a/src/data/roadmaps/computer-science/content/suffix-arrays@Ld1TUNS8713coMNvwhNIJ.md
+++ b/src/data/roadmaps/computer-science/content/suffix-arrays@Ld1TUNS8713coMNvwhNIJ.md
@@ -4,7 +4,8 @@ Suffix arrays are a data structure that allows us to quickly find all the suffix
Visit the following resources to learn more:
-- [@video@Suffix array introduction](https://www.youtube.com/watch?v=zqKlL3ZpTqs)
+- [@article@Suffix Arrays - Princeton University](https://algs4.cs.princeton.edu/63suffix/)
+- [@video@Suffix Array Introduction](https://www.youtube.com/watch?v=zqKlL3ZpTqs)
- [@video@Advanced Data Structures: Suffix Arrays](https://www.youtube.com/watch?v=IzMxbboPcqQ)
-- [@video@Suffix arrays: building](https://www.youtube.com/watch?v=ZWlbhBjjwyA)
+- [@video@Suffix Arrays: building](https://www.youtube.com/watch?v=ZWlbhBjjwyA)
- [@course@Suffix Arrays - Coursera](https://www.coursera.org/learn/algorithms-part2/lecture/TH18W/suffix-arrays)
diff --git a/src/data/roadmaps/computer-science/content/system-design@w-fvEiSJysywR3AOAB0ve.md b/src/data/roadmaps/computer-science/content/system-design@w-fvEiSJysywR3AOAB0ve.md
index 89e52aba7..51110c2a4 100644
--- a/src/data/roadmaps/computer-science/content/system-design@w-fvEiSJysywR3AOAB0ve.md
+++ b/src/data/roadmaps/computer-science/content/system-design@w-fvEiSJysywR3AOAB0ve.md
@@ -5,8 +5,8 @@ System design is the process of defining the architecture, modules, interfaces,
Visit the following resources to learn more:
- [@opensource@System Design Primer](https://github.com/donnemartin/system-design-primer)
-- [@article@System Design: The complete course](https://dev.to/karanpratapsingh/system-design-the-complete-course-10fo)
+- [@article@System Design: The Complete Course](https://dev.to/karanpratapsingh/system-design-the-complete-course-10fo)
- [@video@System Design 101](https://www.youtube.com/watch?v=Y-Gl4HEyeUQ)
- [@video@Scaling the Unscalable](https://www.youtube.com/watch?v=a2rcgzludDU)
-- [@video@System design interview: Scale to 1 million users](https://www.youtube.com/watch?v=YkGHxOg9d3M)
+- [@video@System Design interview: Scale to 1 million users](https://www.youtube.com/watch?v=YkGHxOg9d3M)
- [@feed@Explore top posts about Career](https://app.daily.dev/tags/career?ref=roadmapsh)
diff --git a/src/data/roadmaps/computer-science/content/the-knights-tour-problem@NcKW_3vJWL_rVlDBB_Qjs.md b/src/data/roadmaps/computer-science/content/the-knights-tour-problem@NcKW_3vJWL_rVlDBB_Qjs.md
index a0c7c5f5c..9d4bf08f5 100644
--- a/src/data/roadmaps/computer-science/content/the-knights-tour-problem@NcKW_3vJWL_rVlDBB_Qjs.md
+++ b/src/data/roadmaps/computer-science/content/the-knights-tour-problem@NcKW_3vJWL_rVlDBB_Qjs.md
@@ -5,5 +5,5 @@ Knight's Tour Problem is a problem where we have to find a path for a knight to
Visit the following resources to learn more:
- [@article@Knights Tour](https://bradfieldcs.com/algos/graphs/knights-tour/)
-- [@article@Knights Tour Proble](https://www.codesdope.com/course/algorithms-knights-tour-problem/)
+- [@article@Knights Tour Problem](https://www.codesdope.com/course/algorithms-knights-tour-problem/)
- [@article@Backtracking: The Knight’s Tour Problem](https://www.codingninjas.com/codestudio/library/backtracking-the-knights-tour-problem)
diff --git a/src/data/roadmaps/computer-science/content/tls--https@3pu2bGhoCLFIs6kNanwtz.md b/src/data/roadmaps/computer-science/content/tls--https@3pu2bGhoCLFIs6kNanwtz.md
index 37362b58a..9d5f3cdcf 100644
--- a/src/data/roadmaps/computer-science/content/tls--https@3pu2bGhoCLFIs6kNanwtz.md
+++ b/src/data/roadmaps/computer-science/content/tls--https@3pu2bGhoCLFIs6kNanwtz.md
@@ -4,5 +4,7 @@ TLS (Transport Layer Security) is a cryptographic protocol that provides privacy
Visit the following resources to learn more:
+- [@article@What is TLS & How Does it Work? - Internet Society](https://www.internetsociety.org/deploy360/tls/basics/)
+- [@article@What is TLS (Transport Layer Security)? - Cloudflare](https://www.cloudflare.com/learning/ssl/transport-layer-security-tls/)
- [@video@SSL and HTTPS](https://www.youtube.com/watch?v=S2iBR2ZlZf0)
- [@video@SSL/TLS - Cristina Formaini](https://www.youtube.com/watch?v=Rp3iZUvXWlM)
diff --git a/src/data/roadmaps/computer-science/content/transactions@KhvYJtSCUBOpEZXjHpQde.md b/src/data/roadmaps/computer-science/content/transactions@KhvYJtSCUBOpEZXjHpQde.md
index b7868df1a..ed0453f85 100644
--- a/src/data/roadmaps/computer-science/content/transactions@KhvYJtSCUBOpEZXjHpQde.md
+++ b/src/data/roadmaps/computer-science/content/transactions@KhvYJtSCUBOpEZXjHpQde.md
@@ -5,3 +5,4 @@ In short, a database transaction is a sequence of multiple operations performed
Visit the following resources to learn more:
- [@article@What are Transactions?](https://fauna.com/blog/database-transaction)
+- [@article@Database Transaction](https://en.wikipedia.org/wiki/Database_transaction)
\ No newline at end of file
diff --git a/src/data/roadmaps/computer-science/content/travelling-salesman-problem@ZG-hWjVoS3p9XfrtBL0sD.md b/src/data/roadmaps/computer-science/content/travelling-salesman-problem@ZG-hWjVoS3p9XfrtBL0sD.md
index b285e580c..1534aef62 100644
--- a/src/data/roadmaps/computer-science/content/travelling-salesman-problem@ZG-hWjVoS3p9XfrtBL0sD.md
+++ b/src/data/roadmaps/computer-science/content/travelling-salesman-problem@ZG-hWjVoS3p9XfrtBL0sD.md
@@ -4,6 +4,7 @@ The Travelling Salesman Problem (TSP) is a classic problem in computer science.
Visit the following resources to learn more:
+- [@article@Traveling Salesman Problem](https://en.wikipedia.org/wiki/Travelling_salesman_problem)
- [@video@What is the Traveling Salesman Problem?](https://www.youtube.com/watch?v=1pmBjIZ20pE)
- [@video@4.7 Traveling Salesperson Problem - Dynamic Programming](https://www.youtube.com/watch?v=XaXsJJh-Q5Y)
- [@video@Traveling Salesman Problem | Dynamic Programming | Graph Theory](https://www.youtube.com/watch?v=cY4HiiFHO1o)
diff --git a/src/data/roadmaps/computer-science/content/tree@_eWqiWUmOj0zUo_Ix3j1O.md b/src/data/roadmaps/computer-science/content/tree@_eWqiWUmOj0zUo_Ix3j1O.md
index 225cca4a5..8684a4809 100644
--- a/src/data/roadmaps/computer-science/content/tree@_eWqiWUmOj0zUo_Ix3j1O.md
+++ b/src/data/roadmaps/computer-science/content/tree@_eWqiWUmOj0zUo_Ix3j1O.md
@@ -4,4 +4,5 @@ A tree is non-linear and a hierarchical data structure consisting of a collectio
Visit the following resources to learn more:
+- [@article@Tree Data Structure](https://www.programiz.com/dsa/trees)
- [@video@Tree | Illustrated Data Structures](https://www.youtube.com/watch?v=S2W3SXGPVyU)
diff --git a/src/data/roadmaps/computer-science/content/unbalanced-tree@w4sxmZR1BjX6wlrZmuOlf.md b/src/data/roadmaps/computer-science/content/unbalanced-tree@w4sxmZR1BjX6wlrZmuOlf.md
index 8604ea7ed..29c888f55 100644
--- a/src/data/roadmaps/computer-science/content/unbalanced-tree@w4sxmZR1BjX6wlrZmuOlf.md
+++ b/src/data/roadmaps/computer-science/content/unbalanced-tree@w4sxmZR1BjX6wlrZmuOlf.md
@@ -4,4 +4,5 @@ An unbalanced binary tree is one that is not balanced.
Visit the following resources to learn more:
-- [@article@Balanced Binary Tree](https://www.programiz.com/dsa/balanced-binary-tree)
+- [@article@Balanced vs Unbalanced Binary Tree](https://stackoverflow.com/questions/59206128/balanced-vs-unbalanced-binary-tree-clarification-needed)
+- [@article@Unbalanced Binary Tree](https://eng.libretexts.org/Bookshelves/Computer_Science/Databases_and_Data_Structures/Open_Data_Structures_-_An_Introduction_(Morin)/06%3A_Binary_Trees/6.02%3A_BinarySearchTree_-_An_Unbalanced_Binary_Search_Treee)
diff --git a/src/data/roadmaps/cyber-security/content/antimalware@9QtY1hMJ7NKLFztYK-mHY.md b/src/data/roadmaps/cyber-security/content/antimalware@9QtY1hMJ7NKLFztYK-mHY.md
index 5b9347344..b9c2abb9e 100644
--- a/src/data/roadmaps/cyber-security/content/antimalware@9QtY1hMJ7NKLFztYK-mHY.md
+++ b/src/data/roadmaps/cyber-security/content/antimalware@9QtY1hMJ7NKLFztYK-mHY.md
@@ -4,5 +4,6 @@ Anti-malware is a type of software designed to detect, prevent, and remove malic
Learn more from the following resources:
+- [@article@Anti-malware Definition](https://www.computertechreviews.com/definition/anti-malware/)
- [@video@How Does Antivirus and Antimalware Software Work?](https://www.youtube.com/watch?v=bTU1jbVXlmM)
-- [@article@What is antimalware?](https://riskxchange.co/1006974/cybersecurity-what-is-anti-malware/)
\ No newline at end of file
+- [@article@What is Antimalware?](https://riskxchange.co/1006974/cybersecurity-what-is-anti-malware/)
diff --git a/src/data/roadmaps/cyber-security/content/antivirus@3140n5prZYySsuBHjqGOJ.md b/src/data/roadmaps/cyber-security/content/antivirus@3140n5prZYySsuBHjqGOJ.md
index 128933e1d..fb8ee32b3 100644
--- a/src/data/roadmaps/cyber-security/content/antivirus@3140n5prZYySsuBHjqGOJ.md
+++ b/src/data/roadmaps/cyber-security/content/antivirus@3140n5prZYySsuBHjqGOJ.md
@@ -4,5 +4,5 @@ Antivirus software is a specialized program designed to detect, prevent, and rem
Learn more from the following resources:
-- [@video@What is an antivirus and how does it keep us safe?](https://www.youtube.com/watch?v=jW626WMWNAE)
-- [@article@What is antivirus software?](https://www.webroot.com/gb/en/resources/tips-articles/what-is-anti-virus-software)
\ No newline at end of file
+- [@video@What is an Antivirus and how does it keep us safe?](https://www.youtube.com/watch?v=jW626WMWNAE)
+- [@article@What is Antivirus Software?](https://www.webroot.com/gb/en/resources/tips-articles/what-is-anti-virus-software)
\ No newline at end of file
diff --git a/src/data/roadmaps/cyber-security/content/anyrun@GZHFR43UzN0WIIxGKZOdX.md b/src/data/roadmaps/cyber-security/content/anyrun@GZHFR43UzN0WIIxGKZOdX.md
index f43c75583..8166e32b0 100644
--- a/src/data/roadmaps/cyber-security/content/anyrun@GZHFR43UzN0WIIxGKZOdX.md
+++ b/src/data/roadmaps/cyber-security/content/anyrun@GZHFR43UzN0WIIxGKZOdX.md
@@ -4,5 +4,5 @@ ANY.RUN is an interactive online malware analysis platform that allows users to
Learn more from the following resources:
-- [@official@ANY.RUN Website](https://any.run/)
+- [@official@Any.run](https://any.run/)
- [@video@Malware analysis with ANY.RUN](https://www.youtube.com/watch?v=QH_u7DHKzzI)
\ No newline at end of file
diff --git a/src/data/roadmaps/cyber-security/content/arp@M52V7hmG4ORf4TIVw3W3J.md b/src/data/roadmaps/cyber-security/content/arp@M52V7hmG4ORf4TIVw3W3J.md
index 250418c9c..42a51e4f0 100644
--- a/src/data/roadmaps/cyber-security/content/arp@M52V7hmG4ORf4TIVw3W3J.md
+++ b/src/data/roadmaps/cyber-security/content/arp@M52V7hmG4ORf4TIVw3W3J.md
@@ -6,8 +6,8 @@ When one device on a LAN wants to communicate with another, it needs to know the
Once the requesting device receives the MAC address, it updates its ARP cache—a table that stores IP-to-MAC address mappings—allowing it to send data directly to the correct hardware address.
+Learn more from the following resources:
-Learn more from the following resources:
-
+- [@article@ARP - Wikipedia](https://en.wikipedia.org/wiki/Address_Resolution_Protocol)
- [@video@ARP Explained](https://www.youtube.com/watch?v=cn8Zxh9bPio)
-- [@article@What is Address Resolution Protocol?](https://www.fortinet.com/resources/cyberglossary/what-is-arp)
+- [@article@What is Address Resolution Protocol?](https://www.fortinet.com/resources/cyberglossary/what-is-arp)
\ No newline at end of file
diff --git a/src/data/roadmaps/cyber-security/content/arp@fzdZF-nzIL69kaA7kwOCn.md b/src/data/roadmaps/cyber-security/content/arp@fzdZF-nzIL69kaA7kwOCn.md
index 331fdb03c..7e2610bf2 100644
--- a/src/data/roadmaps/cyber-security/content/arp@fzdZF-nzIL69kaA7kwOCn.md
+++ b/src/data/roadmaps/cyber-security/content/arp@fzdZF-nzIL69kaA7kwOCn.md
@@ -2,7 +2,8 @@
ARP is a protocol used by the Internet Protocol (IP) to map an IP address to a physical address, also known as a Media Access Control (MAC) address. ARP is essential for routing data between devices in a Local Area Network (LAN) as it allows for the translation of IP addresses to specific hardware on the network. When a device wants to communicate with another device on the same LAN, it needs to determine the corresponding MAC address for the target IP address. ARP helps in this process by broadcasting an ARP request containing the target IP address. All devices within the broadcast domain receive this ARP request and compare the target IP address with their own IP address. If a match is found, the device with the matching IP address sends an ARP reply which contains its MAC address. The device that initiated the ARP request can now update its ARP cache (a table that stores IP-to-MAC mappings) with the new information, and then proceed to send data to the target's MAC address.
-Learn more from the following resources:
+Learn more from the following resources:
+- [@article@ARP - Wikipedia](https://en.wikipedia.org/wiki/Address_Resolution_Protocol)
- [@video@ARP Explained](https://www.youtube.com/watch?v=cn8Zxh9bPio)
- [@article@What is Address Resolution Protocol?](https://www.fortinet.com/resources/cyberglossary/what-is-arp)
\ No newline at end of file
diff --git a/src/data/roadmaps/cyber-security/content/arp@hkO3Ga6KctKODr4gos6qX.md b/src/data/roadmaps/cyber-security/content/arp@hkO3Ga6KctKODr4gos6qX.md
index 331fdb03c..7e2610bf2 100644
--- a/src/data/roadmaps/cyber-security/content/arp@hkO3Ga6KctKODr4gos6qX.md
+++ b/src/data/roadmaps/cyber-security/content/arp@hkO3Ga6KctKODr4gos6qX.md
@@ -2,7 +2,8 @@
ARP is a protocol used by the Internet Protocol (IP) to map an IP address to a physical address, also known as a Media Access Control (MAC) address. ARP is essential for routing data between devices in a Local Area Network (LAN) as it allows for the translation of IP addresses to specific hardware on the network. When a device wants to communicate with another device on the same LAN, it needs to determine the corresponding MAC address for the target IP address. ARP helps in this process by broadcasting an ARP request containing the target IP address. All devices within the broadcast domain receive this ARP request and compare the target IP address with their own IP address. If a match is found, the device with the matching IP address sends an ARP reply which contains its MAC address. The device that initiated the ARP request can now update its ARP cache (a table that stores IP-to-MAC mappings) with the new information, and then proceed to send data to the target's MAC address.
-Learn more from the following resources:
+Learn more from the following resources:
+- [@article@ARP - Wikipedia](https://en.wikipedia.org/wiki/Address_Resolution_Protocol)
- [@video@ARP Explained](https://www.youtube.com/watch?v=cn8Zxh9bPio)
- [@article@What is Address Resolution Protocol?](https://www.fortinet.com/resources/cyberglossary/what-is-arp)
\ No newline at end of file
diff --git a/src/data/roadmaps/cyber-security/content/authentication-vs-authorization@WG7DdsxESm31VcLFfkVTz.md b/src/data/roadmaps/cyber-security/content/authentication-vs-authorization@WG7DdsxESm31VcLFfkVTz.md
index d9ea8deed..12c24017f 100644
--- a/src/data/roadmaps/cyber-security/content/authentication-vs-authorization@WG7DdsxESm31VcLFfkVTz.md
+++ b/src/data/roadmaps/cyber-security/content/authentication-vs-authorization@WG7DdsxESm31VcLFfkVTz.md
@@ -1,9 +1,11 @@
-## Authentication vs Authorization
+# Authentication vs Authorization
**Authentication** is the process of validating the identity of a user, device, or system. It confirms that the entity attempting to access the resource is who or what they claim to be. The most common form of authentication is the use of usernames and passwords. Other methods include:
**Authorization** comes into play after the authentication process is complete. It involves granting or denying access to a resource, based on the authenticated user's privileges. Authorization determines what actions the authenticated user or entity is allowed to perform within a system or application.
+Learn more from the following resources:
+
- [@article@Two-factor authentication (2FA)](https://authy.com/what-is-2fa/)
- [@article@Biometrics (fingerprint, facial recognition, etc.)](https://me-en.kaspersky.com/resource-center/definitions/biometrics)
- [@article@Security tokens or certificates](https://www.comodo.com/e-commerce/ssl-certificates/certificate.php)
diff --git a/src/data/roadmaps/cyber-security/content/autopsy@bIwpjIoxSUZloxDuQNpMu.md b/src/data/roadmaps/cyber-security/content/autopsy@bIwpjIoxSUZloxDuQNpMu.md
index 81ab2af47..845a9419b 100644
--- a/src/data/roadmaps/cyber-security/content/autopsy@bIwpjIoxSUZloxDuQNpMu.md
+++ b/src/data/roadmaps/cyber-security/content/autopsy@bIwpjIoxSUZloxDuQNpMu.md
@@ -4,5 +4,5 @@ Autopsy is a versatile and powerful open-source digital forensics platform that
Learn more from the following resources:
-- [@official@Autopsy Website](https://www.autopsy.com/)
+- [@official@Autopsy](https://www.autopsy.com/)
- [@video@Disk analysis with Autopsy](https://www.youtube.com/watch?v=o6boK9dG-Lc&t=236s)
\ No newline at end of file
diff --git a/src/data/roadmaps/cyber-security/content/aws@0LztOTc3NG3OujCVwlcVU.md b/src/data/roadmaps/cyber-security/content/aws@0LztOTc3NG3OujCVwlcVU.md
index 702f106f6..fb5d5a631 100644
--- a/src/data/roadmaps/cyber-security/content/aws@0LztOTc3NG3OujCVwlcVU.md
+++ b/src/data/roadmaps/cyber-security/content/aws@0LztOTc3NG3OujCVwlcVU.md
@@ -4,8 +4,8 @@ Amazon Web Services (AWS) is a leading cloud computing platform provided by Amaz
Learn more from the following resources:
-- [@roadmap@AWS Roadmap](https://roadmap.sh/aws)
-- [@official@AWS Website](https://aws.amazon.com)
+- [@roadmap@Visit Dedicated AWS Roadmap](https://roadmap.sh/aws)
+- [@official@AWS](https://aws.amazon.com)
- [@article@How to create an AWS account](https://grapplingdev.com/tutorials/how-to-create-aws-account)
- [@video@AWS Overview](https://www.youtube.com/watch?v=a9__D53WsUs)
- [@course@AWS Complete Tutorial](https://www.youtube.com/watch?v=B8i49C8fC3E)
diff --git a/src/data/roadmaps/cyber-security/content/azure@GklBi7Qx1akN_cS9UMrha.md b/src/data/roadmaps/cyber-security/content/azure@GklBi7Qx1akN_cS9UMrha.md
index c1b8bbd4a..74e9b7d25 100644
--- a/src/data/roadmaps/cyber-security/content/azure@GklBi7Qx1akN_cS9UMrha.md
+++ b/src/data/roadmaps/cyber-security/content/azure@GklBi7Qx1akN_cS9UMrha.md
@@ -4,6 +4,6 @@ Azure is Microsoft's comprehensive cloud computing platform that offers a wide r
Learn more from the following resources:
-- [@official@Azure Website](https://azure.microsoft.com)
+- [@official@Azure](https://azure.microsoft.com)
- [@video@Azure DevOps Tutorial for Beginners](https://www.youtube.com/watch?v=4BibQ69MD8c)
- [@feed@daily.dev Azure Feed](https://app.daily.dev/tags/azure)
\ No newline at end of file
diff --git a/src/data/roadmaps/cyber-security/content/default-gateway@5rKaFtjYx0n2iF8uTLs8X.md b/src/data/roadmaps/cyber-security/content/default-gateway@5rKaFtjYx0n2iF8uTLs8X.md
index 1e93ca9bf..3513e71e9 100644
--- a/src/data/roadmaps/cyber-security/content/default-gateway@5rKaFtjYx0n2iF8uTLs8X.md
+++ b/src/data/roadmaps/cyber-security/content/default-gateway@5rKaFtjYx0n2iF8uTLs8X.md
@@ -4,5 +4,5 @@ A default gateway is a network node, typically a router or a firewall, that serv
Learn more from the following resources:
-- [@article@What is a default gateway?](https://nordvpn.com/blog/what-is-a-default-gateway/?srsltid=AfmBOoosi5g4acnT9Gv_B86FMGr72hWDhk8J-4jr1HvxPCSu96FikCyw)
+- [@article@What is a Default Gateway?](https://nordvpn.com/blog/what-is-a-default-gateway/?srsltid=AfmBOoosi5g4acnT9Gv_B86FMGr72hWDhk8J-4jr1HvxPCSu96FikCyw)
- [@video@Routers and Default Gateways](https://www.youtube.com/watch?v=JOomC1wFrbU)
\ No newline at end of file
diff --git a/src/data/roadmaps/cyber-security/content/dig@D2YYv1iTRGken75sHO0Gt.md b/src/data/roadmaps/cyber-security/content/dig@D2YYv1iTRGken75sHO0Gt.md
index ef43082f7..935d08569 100644
--- a/src/data/roadmaps/cyber-security/content/dig@D2YYv1iTRGken75sHO0Gt.md
+++ b/src/data/roadmaps/cyber-security/content/dig@D2YYv1iTRGken75sHO0Gt.md
@@ -4,5 +4,4 @@
Learn more from the following resources:
-- [@video@How to look up DNS records with dig](https://www.youtube.com/watch?v=3AOKomsmeUY)
-- [@article@How to use Linux dig command](https://www.google.com/search?client=firefox-b-d&q=linux+dig+command)
\ No newline at end of file
+- [@video@How to look up DNS records with dig](https://www.youtube.com/watch?v=3AOKomsmeUY)
\ No newline at end of file
diff --git a/src/data/roadmaps/cyber-security/content/dlp@iolsTC-63d_1wzKGul-cT.md b/src/data/roadmaps/cyber-security/content/dlp@iolsTC-63d_1wzKGul-cT.md
index 23cf1237f..7b19d0434 100644
--- a/src/data/roadmaps/cyber-security/content/dlp@iolsTC-63d_1wzKGul-cT.md
+++ b/src/data/roadmaps/cyber-security/content/dlp@iolsTC-63d_1wzKGul-cT.md
@@ -3,5 +3,6 @@
Data Loss Prevention (DLP) refers to a set of strategies, tools, and processes used by organizations to ensure that sensitive data is not lost, accessed, or misused by unauthorized users. DLP solutions monitor, detect, and block the movement of critical information outside an organization’s network, helping to prevent data breaches, leaks, and other security incidents.
Visit the following resources to learn more:
-- [@article@What is data loss prevention (DLP)?](https://www.techtarget.com/whatis/definition/data-loss-prevention-DLP)
+
- [@article@What is DLP (data loss prevention)?](https://www.cloudflare.com/es-es/learning/access-management/what-is-dlp/)
+- [@article@What is Data Loss Prevention (DLP)?](https://www.techtarget.com/whatis/definition/data-loss-prevention-DLP)
diff --git a/src/data/roadmaps/cyber-security/content/dmz@gfpvDQz61I3zTB7tGu7vp.md b/src/data/roadmaps/cyber-security/content/dmz@gfpvDQz61I3zTB7tGu7vp.md
index 433e4629d..aaa4c902e 100644
--- a/src/data/roadmaps/cyber-security/content/dmz@gfpvDQz61I3zTB7tGu7vp.md
+++ b/src/data/roadmaps/cyber-security/content/dmz@gfpvDQz61I3zTB7tGu7vp.md
@@ -4,5 +4,5 @@ A **DMZ**, also known as a **Demilitarized Zone**, is a specific part of a netwo
Learn more from the following resources:
-- [@article@What is a DMZ network?](https://www.fortinet.com/resources/cyberglossary/what-is-dmz)
+- [@article@What is a DMZ Network?](https://www.fortinet.com/resources/cyberglossary/what-is-dmz)
- [@video@DMZ explained](https://www.youtube.com/watch?v=48QZfBeU4ps)
\ No newline at end of file
diff --git a/src/data/roadmaps/cyber-security/content/dns-poisoning@urtsyYWViEzbqYLoNfQAh.md b/src/data/roadmaps/cyber-security/content/dns-poisoning@urtsyYWViEzbqYLoNfQAh.md
index f46313fe9..61b897e54 100644
--- a/src/data/roadmaps/cyber-security/content/dns-poisoning@urtsyYWViEzbqYLoNfQAh.md
+++ b/src/data/roadmaps/cyber-security/content/dns-poisoning@urtsyYWViEzbqYLoNfQAh.md
@@ -1,10 +1,9 @@
-# DNS(Domain Name System) Poisoning/DNS Spoofing/DNS Cache Poisoning
+# DNS Poisoning/DNS Spoofing/DNS Cache Poisoning
DNS spoofing or DNS cache poisoning, occurs when fake information is inserted into a DNS server’s cache.This causes DNS queries to return incorrect IP addresses, directing users to the wrong websites. Hackers exploit this to reroute traffic to malicious sites. The issue persists until the cached information is corrected.When the cache is poisoned, it misdirects traffic until the incorrect information is fixed. This technique exploits vulnerabilities in the DNS system and can spread to other servers, causing widespread issues.
Visit the following resources to learn more:
-- [@article@What is DNS cache poisoning? | DNS spoofing](https://www.cloudflare.com/learning/dns/dns-cache-poisoning/)
-
+- [@article@What is DNS Cache Poisoning? | DNS spoofing](https://www.cloudflare.com/learning/dns/dns-cache-poisoning/)
- [@article@What Is DNS Poisoning?](https://www.fortinet.com/resources/cyberglossary/dns-poisoning)
- [@article@DNS Poisoning (DNS Spoofing): Definition, Technique & Defense](https://www.okta.com/identity-101/dns-poisoning/)
diff --git a/src/data/roadmaps/cyber-security/content/dns@ORIdKG8H97VkBUYpiDtXf.md b/src/data/roadmaps/cyber-security/content/dns@ORIdKG8H97VkBUYpiDtXf.md
index 2cdc9d0ff..d11ec548e 100644
--- a/src/data/roadmaps/cyber-security/content/dns@ORIdKG8H97VkBUYpiDtXf.md
+++ b/src/data/roadmaps/cyber-security/content/dns@ORIdKG8H97VkBUYpiDtXf.md
@@ -4,6 +4,6 @@ The Domain Name System (DNS) is a fundamental protocol of the internet that tran
Learn more from the following resources:
+- [@article@What is DNS?](https://www.cloudflare.com/en-gb/learning/dns/what-is-dns/)
- [@video@DNS Explained in 100 Seconds](https://www.youtube.com/watch?v=UVR9lhUGAyU)
-- [@video@What is DNS?](https://www.youtube.com/watch?v=nyH0nYhMW9M)
-- [@article@What is DNS?](https://www.cloudflare.com/en-gb/learning/dns/what-is-dns/)
\ No newline at end of file
+- [@video@What is DNS?](https://www.youtube.com/watch?v=nyH0nYhMW9M)
\ No newline at end of file
diff --git a/src/data/roadmaps/cyber-security/content/dropbox@9OastXVfiG1YRMm68ecnn.md b/src/data/roadmaps/cyber-security/content/dropbox@9OastXVfiG1YRMm68ecnn.md
index 935ef8b95..001684479 100644
--- a/src/data/roadmaps/cyber-security/content/dropbox@9OastXVfiG1YRMm68ecnn.md
+++ b/src/data/roadmaps/cyber-security/content/dropbox@9OastXVfiG1YRMm68ecnn.md
@@ -4,4 +4,6 @@ Dropbox is a widely used cloud storage service that allows you to store, access,
Learn more from the following resources:
-- [@official@Dropbox Website](https://dropbox.com)
\ No newline at end of file
+- [@official@Dropbox](https://dropbox.com)
+- [@official@How to Use Dropbox - a guide to your account](https://learn.dropbox.com/self-guided-learning/dropbox-fundamentals-course/how-to-use-dropbox)
+- [@video@Dropbox Tutorial for Beginners](https://www.youtube.com/watch?v=b0Nk9muiUcQ)
\ No newline at end of file
diff --git a/src/data/roadmaps/cyber-security/content/dumpster-diving@Iu0Qtk13RjrhHpSlm0uyh.md b/src/data/roadmaps/cyber-security/content/dumpster-diving@Iu0Qtk13RjrhHpSlm0uyh.md
index d3223c981..3081ee36a 100644
--- a/src/data/roadmaps/cyber-security/content/dumpster-diving@Iu0Qtk13RjrhHpSlm0uyh.md
+++ b/src/data/roadmaps/cyber-security/content/dumpster-diving@Iu0Qtk13RjrhHpSlm0uyh.md
@@ -4,5 +4,6 @@ Dumpster Diving in the context of cybersecurity refers to the practice of search
Visit the following resources to learn more:
+- [@article@Dumpster Diving](https://www.techtarget.com/searchsecurity/definition/dumpster-diving)
- [@article@What is Dumpster Diving](https://powerdmarc.com/dumpster-diving-in-cybersecurity/)
-- [@video@Dumpster diving for sensitive information](https://www.youtube.com/watch?v=Pom86gq4mk4)
\ No newline at end of file
+- [@video@Dumpster Diving for Sensitive Information](https://www.youtube.com/watch?v=Pom86gq4mk4)
\ No newline at end of file
diff --git a/src/data/roadmaps/cyber-security/content/endpoint-security@LEgJtu1GZKOtoAXyOGWLE.md b/src/data/roadmaps/cyber-security/content/endpoint-security@LEgJtu1GZKOtoAXyOGWLE.md
index a28e64011..d79ef60eb 100644
--- a/src/data/roadmaps/cyber-security/content/endpoint-security@LEgJtu1GZKOtoAXyOGWLE.md
+++ b/src/data/roadmaps/cyber-security/content/endpoint-security@LEgJtu1GZKOtoAXyOGWLE.md
@@ -5,4 +5,4 @@ Endpoint security focuses on protecting individual devices that connect to a net
Learn more from the following resources:
- [@article@What is Endpoint Security?](https://www.crowdstrike.com/cybersecurity-101/endpoint-security/)
-- [@video@Endpoints are the IT frontdoor - Gaurd them!](https://www.youtube.com/watch?v=Njqid_JpqTs)
\ No newline at end of file
+- [@video@Endpoints are the IT Frontdoor - Guard them!](https://www.youtube.com/watch?v=Njqid_JpqTs)
\ No newline at end of file
diff --git a/src/data/roadmaps/cyber-security/content/esxi@BisNooct1vJDKaBKsGR7_.md b/src/data/roadmaps/cyber-security/content/esxi@BisNooct1vJDKaBKsGR7_.md
index de4466dcb..0fbae7227 100644
--- a/src/data/roadmaps/cyber-security/content/esxi@BisNooct1vJDKaBKsGR7_.md
+++ b/src/data/roadmaps/cyber-security/content/esxi@BisNooct1vJDKaBKsGR7_.md
@@ -1,4 +1,4 @@
-# esxi
+# ESXi
VMware ESXi is a Type 1 hypervisor and the core building block for VMware's virtualization technology. It represents a bare-metal hypervisor, which means it is installed directly onto your physical server's hardware, without the need for a supporting operating system. This results in elevated performance, reduced overhead, and efficient resource allocation.
diff --git a/src/data/roadmaps/cyber-security/content/event-logs@KbFwL--xF-eYjGy8PZdrM.md b/src/data/roadmaps/cyber-security/content/event-logs@KbFwL--xF-eYjGy8PZdrM.md
index 55a99a41b..f5228f106 100644
--- a/src/data/roadmaps/cyber-security/content/event-logs@KbFwL--xF-eYjGy8PZdrM.md
+++ b/src/data/roadmaps/cyber-security/content/event-logs@KbFwL--xF-eYjGy8PZdrM.md
@@ -4,5 +4,5 @@ Event logs are digital records that document activities and occurrences within c
Learn more from the following resources:
-- [@article@What is an event log?](https://www.crowdstrike.com/cybersecurity-101/observability/event-log/)
+- [@article@What is an Event Log?](https://www.crowdstrike.com/cybersecurity-101/observability/event-log/)
- [@article@What are event logs and why do they matter?](https://www.blumira.com/blog/what-are-event-logs-and-why-do-they-matter)
\ No newline at end of file
diff --git a/src/data/roadmaps/cyber-security/content/false-negative--false-positive@XwRCZf-yHJsXVjaRfb3R4.md b/src/data/roadmaps/cyber-security/content/false-negative--false-positive@XwRCZf-yHJsXVjaRfb3R4.md
index 3104cb163..5d91b885a 100644
--- a/src/data/roadmaps/cyber-security/content/false-negative--false-positive@XwRCZf-yHJsXVjaRfb3R4.md
+++ b/src/data/roadmaps/cyber-security/content/false-negative--false-positive@XwRCZf-yHJsXVjaRfb3R4.md
@@ -8,5 +8,6 @@ To have an effective cybersecurity system, security professionals aim to maximiz
Learn more from the following resources:
+- [@article@Difference Between False Positive and False Negative](https://www.differencebetween.net/science/difference-between-false-positive-and-false-negative/)
- [@video@What is a false positive virus?](https://www.youtube.com/watch?v=WrcAGBvIT14)
- [@video@False positives and false negatives](https://www.youtube.com/watch?v=bUNBzMnfHLw)
\ No newline at end of file
diff --git a/src/data/roadmaps/cyber-security/content/firewall--nextgen-firewall@tWDo5R3KU5KOjDdtv801x.md b/src/data/roadmaps/cyber-security/content/firewall--nextgen-firewall@tWDo5R3KU5KOjDdtv801x.md
index 33b45b658..3e1a989ae 100644
--- a/src/data/roadmaps/cyber-security/content/firewall--nextgen-firewall@tWDo5R3KU5KOjDdtv801x.md
+++ b/src/data/roadmaps/cyber-security/content/firewall--nextgen-firewall@tWDo5R3KU5KOjDdtv801x.md
@@ -6,5 +6,5 @@ Next-generation firewalls (NGFWs) build upon this foundation, offering more adva
Learn more from the following resources:
-- [@article@What is a firewall?](https://www.kaspersky.com/resource-center/definitions/firewall)
+- [@article@What is a Firewall?](https://www.kaspersky.com/resource-center/definitions/firewall)
- [@article@What is a next-generation firewall (NGFW)?](https://www.cloudflare.com/en-gb/learning/security/what-is-next-generation-firewall-ngfw/)
diff --git a/src/data/roadmaps/cyber-security/content/firewall-logs@np0PwKy-EvIa_f_LC6Eem.md b/src/data/roadmaps/cyber-security/content/firewall-logs@np0PwKy-EvIa_f_LC6Eem.md
index 6b3b158dd..dfdf8a0cb 100644
--- a/src/data/roadmaps/cyber-security/content/firewall-logs@np0PwKy-EvIa_f_LC6Eem.md
+++ b/src/data/roadmaps/cyber-security/content/firewall-logs@np0PwKy-EvIa_f_LC6Eem.md
@@ -4,5 +4,5 @@ Firewall logs are detailed records of network traffic and security events captur
Learn more from the following resources:
-- [@article@What is firewall logging and why is it important?](https://cybriant.com/what-is-firewall-logging-and-why-is-it-important/)
-- [@video@Reviewing firewall logs](https://www.youtube.com/watch?v=XiJ30f8V_T4)
\ No newline at end of file
+- [@article@What is Firewall Logging and Why is it Important?](https://cybriant.com/what-is-firewall-logging-and-why-is-it-important/)
+- [@video@Reviewing Firewall Logs](https://www.youtube.com/watch?v=XiJ30f8V_T4)
\ No newline at end of file
diff --git a/src/data/roadmaps/cyber-security/content/ftp@ftYYMxRpVer-jgSswHLNa.md b/src/data/roadmaps/cyber-security/content/ftp@ftYYMxRpVer-jgSswHLNa.md
index 7a93e5958..b8d5eb939 100644
--- a/src/data/roadmaps/cyber-security/content/ftp@ftYYMxRpVer-jgSswHLNa.md
+++ b/src/data/roadmaps/cyber-security/content/ftp@ftYYMxRpVer-jgSswHLNa.md
@@ -6,5 +6,6 @@ FTP operates on a client-server model, where one computer acts as the client (th
Learn more from the following resources:
+- [@article@File Transfer Protocol](https://en.wikipedia.org/wiki/File_Transfer_Protocol)
- [@video@What is FTP?](https://www.youtube.com/watch?v=HI0Oh4NJqcI)
- [@article@FTP meaning and uses](https://www.investopedia.com/terms/f/ftp-file-transfer-protocol.asp)
\ No newline at end of file
diff --git a/src/data/roadmaps/cyber-security/content/fundamental-it-skills@oimYzZYFXKjgvc7D4c-2u.md b/src/data/roadmaps/cyber-security/content/fundamental-it-skills@oimYzZYFXKjgvc7D4c-2u.md
index eef744c73..e3cf7e071 100644
--- a/src/data/roadmaps/cyber-security/content/fundamental-it-skills@oimYzZYFXKjgvc7D4c-2u.md
+++ b/src/data/roadmaps/cyber-security/content/fundamental-it-skills@oimYzZYFXKjgvc7D4c-2u.md
@@ -4,4 +4,6 @@ Fundamental IT skills form the backbone of cybersecurity proficiency and encompa
Learn more from the following resources:
-- [@article@Top 10 in demand IT skills](https://www.comptia.org/blog/top-it-skills-in-demand)
+- [@article@7 In-Demand IT Skills to Boost Your Resume in 2025](https://www.coursera.org/articles/key-it-skills-for-your-career)
+- [@article@Top 10 in Demand IT Skills](https://www.comptia.org/blog/top-it-skills-in-demand)
+- [@article@IT Skills: Definition and Examples](https://www.indeed.com/career-advice/finding-a-job/it-skills)
\ No newline at end of file
diff --git a/src/data/roadmaps/cyber-security/content/gcp@tOLA5QPKi6LHl1ljsOMwX.md b/src/data/roadmaps/cyber-security/content/gcp@tOLA5QPKi6LHl1ljsOMwX.md
index ad4759dc6..38f418ad4 100644
--- a/src/data/roadmaps/cyber-security/content/gcp@tOLA5QPKi6LHl1ljsOMwX.md
+++ b/src/data/roadmaps/cyber-security/content/gcp@tOLA5QPKi6LHl1ljsOMwX.md
@@ -5,4 +5,5 @@ Google Cloud Platform (GCP) is a collection of cloud computing services offered
Learn more from the following resources:
- [@official@Google Cloud Platform](https://cloud.google.com)
-- [@course@Google Cloud Platform Video Course](https://www.youtube.com/watch?v=fZOz13joN0o)
\ No newline at end of file
+- [@official@Cloud Computing, Hosting Services, and APIs](https://cloud.google.com/gcp)
+- [@video@Google Cloud Platform Video Course](https://www.youtube.com/watch?v=fZOz13joN0o)
\ No newline at end of file
diff --git a/src/data/roadmaps/cyber-security/content/giac@ZiUT-lyIBfHTzG-dwSy96.md b/src/data/roadmaps/cyber-security/content/giac@ZiUT-lyIBfHTzG-dwSy96.md
index 794fcd297..91eddeec1 100644
--- a/src/data/roadmaps/cyber-security/content/giac@ZiUT-lyIBfHTzG-dwSy96.md
+++ b/src/data/roadmaps/cyber-security/content/giac@ZiUT-lyIBfHTzG-dwSy96.md
@@ -4,4 +4,5 @@ GIAC is a globally recognized organization that provides certifications for info
Learn more from the following resources:
-- [@official@GIAC Website](https://www.giac.org/)
\ No newline at end of file
+- [@official@GIAC](https://www.giac.org/)
+- [@official@Get Certified - GIAC](https://www.giac.org/get-certified/?msc=main-nav)
diff --git a/src/data/roadmaps/cyber-security/content/go@jehVvdz8BnruKjqHMKu5v.md b/src/data/roadmaps/cyber-security/content/go@jehVvdz8BnruKjqHMKu5v.md
index 8cc70c763..1f9c88563 100644
--- a/src/data/roadmaps/cyber-security/content/go@jehVvdz8BnruKjqHMKu5v.md
+++ b/src/data/roadmaps/cyber-security/content/go@jehVvdz8BnruKjqHMKu5v.md
@@ -4,6 +4,6 @@ Go, also known as Golang, is an open-source programming language created by Goog
Learn more from the following resources:
-- [@roadmap@Go Roadmap](https://roadmap.sh/golang)
+- [@roadmap@Visit Dedicated Go Roadmap](https://roadmap.sh/golang)
- [@video@Go in 100 seconds](https://www.youtube.com/watch?v=446E-r0rXHI)
-- [@course@Go tutorial for beginners](https://www.youtube.com/watch?v=yyUHQIec83I)
+- [@video@Go Tutorial for beginners](https://www.youtube.com/watch?v=yyUHQIec83I)
diff --git a/src/data/roadmaps/cyber-security/content/google-drive@fTZ4PqH-AMhYA_65w4wFO.md b/src/data/roadmaps/cyber-security/content/google-drive@fTZ4PqH-AMhYA_65w4wFO.md
index 09dcb091c..08fea7184 100644
--- a/src/data/roadmaps/cyber-security/content/google-drive@fTZ4PqH-AMhYA_65w4wFO.md
+++ b/src/data/roadmaps/cyber-security/content/google-drive@fTZ4PqH-AMhYA_65w4wFO.md
@@ -4,4 +4,4 @@ Google Drive is a cloud-based storage solution provided by Google, which offers
Learn more from the following resources:
-- [@official@Google Drive Website](https://drive.google.com)
\ No newline at end of file
+- [@official@Google Drive](https://drive.google.com)
\ No newline at end of file
diff --git a/src/data/roadmaps/cyber-security/content/google-suite@IOK_FluAv34j3Tj_NvwdO.md b/src/data/roadmaps/cyber-security/content/google-suite@IOK_FluAv34j3Tj_NvwdO.md
index af45a9046..ee116848f 100644
--- a/src/data/roadmaps/cyber-security/content/google-suite@IOK_FluAv34j3Tj_NvwdO.md
+++ b/src/data/roadmaps/cyber-security/content/google-suite@IOK_FluAv34j3Tj_NvwdO.md
@@ -4,4 +4,4 @@ Google Workspace, formerly known as G Suite, is a collection of cloud-based prod
Learn more from the following resources:
-- [@official@Google Workspace Website](https://workspace.google.com/intl/en_uk/)
\ No newline at end of file
+- [@official@Google Workspace](https://workspace.google.com/intl/en_uk/)
\ No newline at end of file
diff --git a/src/data/roadmaps/cyber-security/content/gpen@t4h9rEKWz5Us0qJKXhxlX.md b/src/data/roadmaps/cyber-security/content/gpen@t4h9rEKWz5Us0qJKXhxlX.md
index 3993f80cd..9369ba315 100644
--- a/src/data/roadmaps/cyber-security/content/gpen@t4h9rEKWz5Us0qJKXhxlX.md
+++ b/src/data/roadmaps/cyber-security/content/gpen@t4h9rEKWz5Us0qJKXhxlX.md
@@ -4,5 +4,5 @@ The GIAC Penetration Tester (GPEN) certification is an advanced-level credential
Learn more from the following resources:
-- [@official@GPEN Certification Website](https://www.giac.org/certifications/penetration-tester-gpen/)
+- [@official@GPEN Certification](https://www.giac.org/certifications/penetration-tester-gpen/)
- [@article@What is the GPEN Certification?](https://hackernoon.com/what-is-the-giac-penetration-tester-gpen-certification)
\ No newline at end of file
diff --git a/src/data/roadmaps/cyber-security/content/gsec@nlmATCTgHoIoMcEOW8bUW.md b/src/data/roadmaps/cyber-security/content/gsec@nlmATCTgHoIoMcEOW8bUW.md
index a586e3ea6..010fee04b 100644
--- a/src/data/roadmaps/cyber-security/content/gsec@nlmATCTgHoIoMcEOW8bUW.md
+++ b/src/data/roadmaps/cyber-security/content/gsec@nlmATCTgHoIoMcEOW8bUW.md
@@ -4,4 +4,4 @@ The GIAC Security Essentials Certification (GSEC) is an advanced cybersecurity c
Learn more from the following resources:
-- [@official@GSEC Certification Website](https://www.giac.org/certifications/security-essentials-gsec/)
\ No newline at end of file
+- [@official@GSEC Certification](https://www.giac.org/certifications/security-essentials-gsec/)
\ No newline at end of file
diff --git a/src/data/roadmaps/cyber-security/content/gwapt@rwniCTWfYpKP5gi02Pa9f.md b/src/data/roadmaps/cyber-security/content/gwapt@rwniCTWfYpKP5gi02Pa9f.md
index 43638675c..7060a8a4b 100644
--- a/src/data/roadmaps/cyber-security/content/gwapt@rwniCTWfYpKP5gi02Pa9f.md
+++ b/src/data/roadmaps/cyber-security/content/gwapt@rwniCTWfYpKP5gi02Pa9f.md
@@ -4,4 +4,4 @@ The GIAC Web Application Penetration Tester (GWAPT) certification validates an i
Learn more from the following resources:
-- [@official@GWAPT Certification Website](https://www.giac.org/certifications/web-application-penetration-tester-gwapt/)
+- [@official@GWAPT Certification](https://www.giac.org/certifications/web-application-penetration-tester-gwapt/)
diff --git a/src/data/roadmaps/cyber-security/content/hackthebox@wkuE_cChPZT2MHyGjUuU4.md b/src/data/roadmaps/cyber-security/content/hackthebox@wkuE_cChPZT2MHyGjUuU4.md
index b72d899cd..c25d56871 100644
--- a/src/data/roadmaps/cyber-security/content/hackthebox@wkuE_cChPZT2MHyGjUuU4.md
+++ b/src/data/roadmaps/cyber-security/content/hackthebox@wkuE_cChPZT2MHyGjUuU4.md
@@ -4,5 +4,5 @@ Hack The Box (HTB) is a popular online platform designed for security enthusiast
Learn more from the following resources:
-- [@official@Hack The Box Website](https://www.hackthebox.com/)
+- [@official@Hack The Box](https://www.hackthebox.com/)
- [@video@I played HTB for 30 days, heres what I learnt](https://www.youtube.com/watch?v=bPv5pb7AcYs)
\ No newline at end of file
diff --git a/src/data/roadmaps/cyber-security/content/hashing@0UZmAECMnfioi-VeXcvg8.md b/src/data/roadmaps/cyber-security/content/hashing@0UZmAECMnfioi-VeXcvg8.md
index bd40506ed..2d338f146 100644
--- a/src/data/roadmaps/cyber-security/content/hashing@0UZmAECMnfioi-VeXcvg8.md
+++ b/src/data/roadmaps/cyber-security/content/hashing@0UZmAECMnfioi-VeXcvg8.md
@@ -5,4 +5,6 @@ Hashing is a cryptographic process that converts input data of any size into a f
Learn more from the following resources:
- [@video@Hashing Explained](https://www.youtube.com/watch?v=EOe1XUykdP4)
-- [@article@What is hashing and how does it work?](https://www.techtarget.com/searchdatamanagement/definition/hashing)
\ No newline at end of file
+- [@article@What is hashing and how does it work?](https://www.techtarget.com/searchdatamanagement/definition/hashing)
+- [@article@Hashing Algorithm Overview: Types, Methodologies & Usage](https://www.okta.com/identity-101/hashing-algorithms/)
+- [@article@Understanding Cryptography Types:](https://geekflare.com/cybersecurity/cryptography-types/)
\ No newline at end of file
diff --git a/src/data/roadmaps/cyber-security/content/hips@l5EnhOCnkN-RKvgrS9ylH.md b/src/data/roadmaps/cyber-security/content/hips@l5EnhOCnkN-RKvgrS9ylH.md
index 4a3bd13cd..0850c34b6 100644
--- a/src/data/roadmaps/cyber-security/content/hips@l5EnhOCnkN-RKvgrS9ylH.md
+++ b/src/data/roadmaps/cyber-security/content/hips@l5EnhOCnkN-RKvgrS9ylH.md
@@ -5,5 +5,6 @@ A Host Intrusion Prevention System (HIPS) is a security solution designed to mon
HIPS operates at the host level, providing a last line of defense by securing the individual endpoints within a network. It is capable of preventing a wide range of attacks, including zero-day exploits, malware infections, unauthorized access attempts, and policy violations.
Visit the following resources to learn more:
+
- [@article@What is an Intrusion Prevention System?](https://www.paloaltonetworks.com/cyberpedia/what-is-an-intrusion-prevention-system-ips)
- [@article@What is Host intrusion prevention system (HIPS)?](https://cyberpedia.reasonlabs.com/EN/host%20intrusion%20prevention%20system%20(hips).html)
diff --git a/src/data/roadmaps/cyber-security/content/hping@Cclbt4bNfkHwFwZOvJuLK.md b/src/data/roadmaps/cyber-security/content/hping@Cclbt4bNfkHwFwZOvJuLK.md
index 519ef41d0..ce86ce535 100644
--- a/src/data/roadmaps/cyber-security/content/hping@Cclbt4bNfkHwFwZOvJuLK.md
+++ b/src/data/roadmaps/cyber-security/content/hping@Cclbt4bNfkHwFwZOvJuLK.md
@@ -4,5 +4,5 @@ hping is a versatile and powerful command-line based packet crafting tool that a
Learn more from the following resources:
-- [@official@hping source code](https://salsa.debian.org/debian/hping3)
+- [@official@hping](https://salsa.debian.org/debian/hping3)
- [@article@What is hping?](https://www.okta.com/uk/identity-101/hping/)
\ No newline at end of file
diff --git a/src/data/roadmaps/cyber-security/content/http--https@3Awm221OJHxXNLiL9yxfd.md b/src/data/roadmaps/cyber-security/content/http--https@3Awm221OJHxXNLiL9yxfd.md
index ba8c91a8d..5412a5823 100644
--- a/src/data/roadmaps/cyber-security/content/http--https@3Awm221OJHxXNLiL9yxfd.md
+++ b/src/data/roadmaps/cyber-security/content/http--https@3Awm221OJHxXNLiL9yxfd.md
@@ -4,5 +4,5 @@ HTTP (Hypertext Transfer Protocol) and HTTPS (HTTP Secure) are fundamental proto
Learn more from the following resources:
-- [@article@An overview of HTTP](https://developer.mozilla.org/en-US/docs/Web/HTTP/Overview)
+- [@article@An Overview of HTTP](https://developer.mozilla.org/en-US/docs/Web/HTTP/Overview)
- [@article@What is HTTPS?](https://www.cloudflare.com/en-gb/learning/ssl/what-is-https/)
\ No newline at end of file
diff --git a/src/data/roadmaps/cyber-security/content/hypervisor@CIoLaRv5I3sCr9tBnZHEi.md b/src/data/roadmaps/cyber-security/content/hypervisor@CIoLaRv5I3sCr9tBnZHEi.md
index d553e7aac..364e153ba 100644
--- a/src/data/roadmaps/cyber-security/content/hypervisor@CIoLaRv5I3sCr9tBnZHEi.md
+++ b/src/data/roadmaps/cyber-security/content/hypervisor@CIoLaRv5I3sCr9tBnZHEi.md
@@ -2,12 +2,6 @@
A hypervisor, also known as a virtual machine monitor (VMM), is software or firmware that enables the creation and management of virtual machines (VMs) by abstracting the underlying hardware. It allows multiple VMs to run on a single physical machine, each operating independently with its own operating system and applications. Hypervisors facilitate better resource utilization by allowing a physical server to host several virtual environments, optimizing hardware efficiency.
-There are two types of hypervisors:
-- **Type 1 hypervisor**, or bare-metal hypervisor, runs directly on the physical hardware without a host operating system. It provides better performance and is commonly used in enterprise environments. Examples include VMware ESXi and Microsoft Hyper-V.
-- **Type 2 hypervisor** runs on top of an existing operating system, relying on the host OS for resource management. These are typically used for personal or development purposes, with examples like VMware Workstation and Oracle VirtualBox.
-
-Hypervisors are fundamental in cloud computing, virtualization, and server consolidation, allowing for flexible and efficient resource management and isolation between virtual environments.
-
Learn more from the following resources:
- [@article@What is a hypervisor?](https://www.redhat.com/en/topics/virtualization/what-is-a-hypervisor)
diff --git a/src/data/roadmaps/cyber-security/content/icloud@E7yfALgu9E2auOYDOTmex.md b/src/data/roadmaps/cyber-security/content/icloud@E7yfALgu9E2auOYDOTmex.md
index 50bf40a73..5c694926f 100644
--- a/src/data/roadmaps/cyber-security/content/icloud@E7yfALgu9E2auOYDOTmex.md
+++ b/src/data/roadmaps/cyber-security/content/icloud@E7yfALgu9E2auOYDOTmex.md
@@ -4,4 +4,4 @@ iCloud is a cloud storage and cloud computing service provided by Apple Inc. It
Learn more from the following resources:
-- [@official@iCloud Website](https://www.icloud.com/)
\ No newline at end of file
+- [@official@iCloud](https://www.icloud.com/)
\ No newline at end of file
diff --git a/src/data/roadmaps/cyber-security/content/icloud@Wqy6ki13hP5c0VhGYEhHj.md b/src/data/roadmaps/cyber-security/content/icloud@Wqy6ki13hP5c0VhGYEhHj.md
index 50bf40a73..5c694926f 100644
--- a/src/data/roadmaps/cyber-security/content/icloud@Wqy6ki13hP5c0VhGYEhHj.md
+++ b/src/data/roadmaps/cyber-security/content/icloud@Wqy6ki13hP5c0VhGYEhHj.md
@@ -4,4 +4,4 @@ iCloud is a cloud storage and cloud computing service provided by Apple Inc. It
Learn more from the following resources:
-- [@official@iCloud Website](https://www.icloud.com/)
\ No newline at end of file
+- [@official@iCloud](https://www.icloud.com/)
\ No newline at end of file
diff --git a/src/data/roadmaps/cyber-security/content/ip@FdoqB2---uDAyz6xZjk_u.md b/src/data/roadmaps/cyber-security/content/ip@FdoqB2---uDAyz6xZjk_u.md
index de3d9aaeb..cc659f698 100644
--- a/src/data/roadmaps/cyber-security/content/ip@FdoqB2---uDAyz6xZjk_u.md
+++ b/src/data/roadmaps/cyber-security/content/ip@FdoqB2---uDAyz6xZjk_u.md
@@ -4,5 +4,6 @@ IP, or Internet Protocol, is a fundamental concept in cybersecurity that refers
Learn more from the following resources:
-- [@article@What is an IP address and what does it mean?](https://www.kaspersky.com/resource-center/definitions/what-is-an-ip-address)
+- [@website@Check Your IP Address](https://ipleak.net)
+- [@article@What is an IP Address and What does it mean?](https://www.kaspersky.com/resource-center/definitions/what-is-an-ip-address)
- [@video@Whats an IP address?](https://www.youtube.com/watch?v=6is6Gulh7qE)
\ No newline at end of file
diff --git a/src/data/roadmaps/cyber-security/content/iso@oRssaVG-K-JwlL6TAHhXw.md b/src/data/roadmaps/cyber-security/content/iso@oRssaVG-K-JwlL6TAHhXw.md
index 491ce8307..15f9b307f 100644
--- a/src/data/roadmaps/cyber-security/content/iso@oRssaVG-K-JwlL6TAHhXw.md
+++ b/src/data/roadmaps/cyber-security/content/iso@oRssaVG-K-JwlL6TAHhXw.md
@@ -4,5 +4,5 @@ The International Organization for Standardization (ISO) is an international sta
Learn more from the following resources:
-- [@official@ISO Website](https://www.iso.org/home.html)
+- [@official@International Organization for Standardization](https://www.iso.org/home.html)
- [@article@What is the ISO?](https://www.techtarget.com/searchdatacenter/definition/ISO#:~:text=ISO%20(International%20Organization%20for%20Standardization)%20is%20a%20worldwide,federation%20of%20national%20standards%20bodies.)
\ No newline at end of file
diff --git a/src/data/roadmaps/cyber-security/content/javascript@2SThr6mHpX6rpW-gmsqxG.md b/src/data/roadmaps/cyber-security/content/javascript@2SThr6mHpX6rpW-gmsqxG.md
index 4985a7eaf..6049d2537 100644
--- a/src/data/roadmaps/cyber-security/content/javascript@2SThr6mHpX6rpW-gmsqxG.md
+++ b/src/data/roadmaps/cyber-security/content/javascript@2SThr6mHpX6rpW-gmsqxG.md
@@ -4,6 +4,6 @@ JavaScript (often abbreviated as JS) is a widely-used, high-level programming la
Learn more from the following resources:
-- [@roadmap@JavaScript Roadmap](https://roadmap.sh/javascript)
+- [@roadmap@Visit Dedicated JavaScript Roadmap](https://roadmap.sh/javascript)
- [@article@What is JavaScript?](https://developer.mozilla.org/en-US/docs/Learn/JavaScript/First_steps/What_is_JavaScript)
- [@video@100 JavaScript concepts you need to know](https://www.youtube.com/watch?v=lkIFF4maKMU)
\ No newline at end of file
diff --git a/src/data/roadmaps/cyber-security/content/joe-sandbox@h__KxKa0Q74_egY7GOe-L.md b/src/data/roadmaps/cyber-security/content/joe-sandbox@h__KxKa0Q74_egY7GOe-L.md
index b1f6448a4..937a3d631 100644
--- a/src/data/roadmaps/cyber-security/content/joe-sandbox@h__KxKa0Q74_egY7GOe-L.md
+++ b/src/data/roadmaps/cyber-security/content/joe-sandbox@h__KxKa0Q74_egY7GOe-L.md
@@ -4,5 +4,5 @@ Joe Sandbox is an advanced malware analysis platform that allows security profes
Learn more from the following resources:
-- [@official@Joe Sandbox Website](https://www.joesandbox.com/#windows)
+- [@official@Joe Sandbox](https://www.joesandbox.com/#windows)
- [@video@Cybersecurity Sandbox for Security Analysts](https://www.youtube.com/watch?v=FJGmRzY1igY)
\ No newline at end of file
diff --git a/src/data/roadmaps/cyber-security/content/jump-server@UF3BV1sEEOrqh5ilnfM1B.md b/src/data/roadmaps/cyber-security/content/jump-server@UF3BV1sEEOrqh5ilnfM1B.md
index 1e5441992..23e131a93 100644
--- a/src/data/roadmaps/cyber-security/content/jump-server@UF3BV1sEEOrqh5ilnfM1B.md
+++ b/src/data/roadmaps/cyber-security/content/jump-server@UF3BV1sEEOrqh5ilnfM1B.md
@@ -4,5 +4,5 @@ A **jump server**, also known as a **bastion host** or **jump host**, is a criti
Learn more from the following resources:
-- [@article@What is a jump server?](https://www.ssh.com/academy/iam/jump-server)
-- [@video@What is a bastion host and why is it so important?](https://www.youtube.com/watch?v=pI6glWVEkcY)
\ No newline at end of file
+- [@article@What is a Jump Server?](https://www.ssh.com/academy/iam/jump-server)
+- [@video@What is a Bastion Host and Why is it so important?](https://www.youtube.com/watch?v=pI6glWVEkcY)
\ No newline at end of file
diff --git a/src/data/roadmaps/cyber-security/content/kali-linux@w6wXkoLrv0_d-Ah0txUHd.md b/src/data/roadmaps/cyber-security/content/kali-linux@w6wXkoLrv0_d-Ah0txUHd.md
index f41dd7575..9a0e35941 100644
--- a/src/data/roadmaps/cyber-security/content/kali-linux@w6wXkoLrv0_d-Ah0txUHd.md
+++ b/src/data/roadmaps/cyber-security/content/kali-linux@w6wXkoLrv0_d-Ah0txUHd.md
@@ -5,3 +5,5 @@ Kali Linux is a specialized Linux distribution that is designed for penetration
With over 600 pre-installed penetration-testing programs, Kali Linux offers tools for various security-related tasks, such as network analysis, vulnerability scanning, and forensic analysis. Its development is overseen by Offensive Security, a company known for their contributions to the field of information security. Kali Linux is highly customizable, allowing users to tailor the system to their specific needs, and supports a wide range of hardware platforms. It is a powerful resource for professionals in the cybersecurity field, as well as for those who are passionate about learning and practicing ethical hacking techniques.
- [@official@Kali Linux](https://www.kali.org/)
+- [@official@Kali Tools](https://www.kali.org/tools)
+- [@official@Kali Docs](https://www.kali.org/docs/)
diff --git a/src/data/roadmaps/cyber-security/content/known-vs-unknown@HPlPGKs7NLqmBidHJkOZg.md b/src/data/roadmaps/cyber-security/content/known-vs-unknown@HPlPGKs7NLqmBidHJkOZg.md
index 1462d9630..cb7fdfcf2 100644
--- a/src/data/roadmaps/cyber-security/content/known-vs-unknown@HPlPGKs7NLqmBidHJkOZg.md
+++ b/src/data/roadmaps/cyber-security/content/known-vs-unknown@HPlPGKs7NLqmBidHJkOZg.md
@@ -8,5 +8,7 @@
Learn more from the following resources:
+- [@article@From Known to Unknown](https://securitysandman.com/2025/01/06/from-known-to-unknown-shifting-cybersecurity-to-proactive-ai-detection/)
+- [@article@Catching all Threats - Known, Unknown, and Unknown Unknown](https://www.scworld.com/perspective/catching-all-threats-known-unknown-and-unknown-unknown-before-they-can-harm-you)
- [@video@Detecting known threats](https://www.youtube.com/watch?v=hOaHDVMQ9_s)
- [@video@How to deal with unknown threats](https://www.youtube.com/watch?v=CH4tX_MVLh0)
\ No newline at end of file
diff --git a/src/data/roadmaps/cyber-security/content/learn-how-malware-works-and-types@v7CD_sHqLWbm9ibXXESIK.md b/src/data/roadmaps/cyber-security/content/learn-how-malware-works-and-types@v7CD_sHqLWbm9ibXXESIK.md
index abac13777..e5e3117e8 100644
--- a/src/data/roadmaps/cyber-security/content/learn-how-malware-works-and-types@v7CD_sHqLWbm9ibXXESIK.md
+++ b/src/data/roadmaps/cyber-security/content/learn-how-malware-works-and-types@v7CD_sHqLWbm9ibXXESIK.md
@@ -34,4 +34,5 @@ A rootkit is a type of malware designed to hide or obscure the presence of other
Keyloggers are a type of malware that monitor and record users' keystrokes, allowing attackers to capture sensitive information, such as login credentials or financial information entered on a keyboard.
-Understanding the different types of malware can help you better identify and protect against various cyber threats. As the cyber landscape continues to evolve, it's essential to stay informed about emerging malware and equip yourself with the necessary security skills and knowledge.
+Learn more from the following resources:
+
diff --git a/src/data/roadmaps/cyber-security/content/legal@C5bCIdPi0gGkY_r4qqoXZ.md b/src/data/roadmaps/cyber-security/content/legal@C5bCIdPi0gGkY_r4qqoXZ.md
index bcbfe0edb..37d81e395 100644
--- a/src/data/roadmaps/cyber-security/content/legal@C5bCIdPi0gGkY_r4qqoXZ.md
+++ b/src/data/roadmaps/cyber-security/content/legal@C5bCIdPi0gGkY_r4qqoXZ.md
@@ -4,5 +4,5 @@ A legal department within an organization is responsible for handling all legal
Learn more from the following resources:
-- [@article@Key functions of a legal team](https://uk.practicallaw.thomsonreuters.com/w-009-3932?transitionType=Default&contextData=(sc.Default)&firstPage=true)
+- [@article@Key Functions of a Legal Team](https://uk.practicallaw.thomsonreuters.com/w-009-3932?transitionType=Default&contextData=(sc.Default)&firstPage=true)
- [@article@The Legal Team’s Responsibility in Corporate Cybersecurity](https://www.trustwave.com/en-us/resources/blogs/trustwave-blog/expert-insight-the-legal-teams-responsibility-in-corporate-cybersecurity/)
\ No newline at end of file
diff --git a/src/data/roadmaps/cyber-security/content/linux@4frVcjYI1VlVU9hQgpwcT.md b/src/data/roadmaps/cyber-security/content/linux@4frVcjYI1VlVU9hQgpwcT.md
index 90c00b8dd..e341bb22a 100644
--- a/src/data/roadmaps/cyber-security/content/linux@4frVcjYI1VlVU9hQgpwcT.md
+++ b/src/data/roadmaps/cyber-security/content/linux@4frVcjYI1VlVU9hQgpwcT.md
@@ -4,7 +4,7 @@ Linux is an open-source, Unix-like operating system kernel first released by Lin
Learn more from the following resources:
-- [@roadmap@Linux Roadmap](https://roadmap.sh/linux)
+- [@roadmap@Visit Linux Roadmap](https://roadmap.sh/linux)
- [@article@Linux Commands Cheat Sheet](https://cdn.hostinger.com/tutorials/pdf/Linux-Commands-Cheat-Sheet.pdf)
- [@course@Linux from scratch - Cisco](https://www.netacad.com/courses/os-it/ndg-linux-unhatched)
- [@video@Linux in 100 Seconds](https://www.youtube.com/watch?v=rrB13utjYV4)
diff --git a/src/data/roadmaps/cyber-security/content/local-auth@vYvFuz7lAJXZ1vK_4999a.md b/src/data/roadmaps/cyber-security/content/local-auth@vYvFuz7lAJXZ1vK_4999a.md
index fb4ae3205..0d4ff433e 100644
--- a/src/data/roadmaps/cyber-security/content/local-auth@vYvFuz7lAJXZ1vK_4999a.md
+++ b/src/data/roadmaps/cyber-security/content/local-auth@vYvFuz7lAJXZ1vK_4999a.md
@@ -2,3 +2,6 @@
Local authentication refers to the process of verifying a user's identity on a specific device or system without relying on external servers or networks. It typically involves storing and checking credentials directly on the device itself. Common methods include username/password combinations, biometrics (fingerprint, face recognition), or PIN codes. Local authentication is often used for device access, offline applications, or as a fallback when network-based authentication is unavailable. While it offers quick access and works without internet connectivity, it can be less secure than centralized authentication systems and more challenging to manage across multiple devices. Local authentication is commonly used in personal devices, standalone systems, and scenarios where network-based authentication is impractical or unnecessary.
+Learn more from the following resources:
+
+- [@article@Local authentication, registration, and other settings](https://learn.microsoft.com/en-us/power-pages/security/authentication/set-authentication-identity)
\ No newline at end of file
diff --git a/src/data/roadmaps/cyber-security/content/lolbas@10qbxX8DCrfyH7tgYexxQ.md b/src/data/roadmaps/cyber-security/content/lolbas@10qbxX8DCrfyH7tgYexxQ.md
index 779ccd1f7..a63b60309 100644
--- a/src/data/roadmaps/cyber-security/content/lolbas@10qbxX8DCrfyH7tgYexxQ.md
+++ b/src/data/roadmaps/cyber-security/content/lolbas@10qbxX8DCrfyH7tgYexxQ.md
@@ -4,6 +4,6 @@
Learn more from the following resources:
-- [@official@LOLBAS project](https://lolbas-project.github.io/#)
+- [@official@LOLBAS Project](https://lolbas-project.github.io/#)
- [@article@Understanding the risks of LOLBAS in security](https://pentera.io/blog/the-lol-isnt-so-funny-when-it-bites-you-in-the-bas/)
- [@video@LOLBAS T1105, MS Process Abuse](https://www.youtube.com/watch?v=fq2_VvAU29g)
\ No newline at end of file
diff --git a/src/data/roadmaps/cyber-security/content/loopback@W_oloLu2Euz5zRSy7v_T8.md b/src/data/roadmaps/cyber-security/content/loopback@W_oloLu2Euz5zRSy7v_T8.md
index 0402b583c..50aaf08dc 100644
--- a/src/data/roadmaps/cyber-security/content/loopback@W_oloLu2Euz5zRSy7v_T8.md
+++ b/src/data/roadmaps/cyber-security/content/loopback@W_oloLu2Euz5zRSy7v_T8.md
@@ -4,4 +4,4 @@
Learn more from the following resources:
-- [@article@Understanding the loopback address and loopback interfaces](https://study-ccna.com/loopback-interface-loopback-address/)
\ No newline at end of file
+- [@article@Understanding the Loopback Address and Loopback Interfaces](https://study-ccna.com/loopback-interface-loopback-address/)
\ No newline at end of file
diff --git a/src/data/roadmaps/cyber-security/content/macos@dztwr-DSckggQbcNIi4_2.md b/src/data/roadmaps/cyber-security/content/macos@dztwr-DSckggQbcNIi4_2.md
index 52294149a..298d66abc 100644
--- a/src/data/roadmaps/cyber-security/content/macos@dztwr-DSckggQbcNIi4_2.md
+++ b/src/data/roadmaps/cyber-security/content/macos@dztwr-DSckggQbcNIi4_2.md
@@ -4,6 +4,5 @@
Learn more from the following resources:
-- [@official@MacOS Website](https://www.apple.com/uk/macos/macos-sequoia/)
+- [@official@macOS](https://www.apple.com/macos/macos-sequoia/)
- [@video@Mac Tutorial for Beginners 2024](https://www.youtube.com/watch?v=3jeeFc2Vo1U)
-
diff --git a/src/data/roadmaps/cyber-security/content/memdump@wspNQPmqWRjKoFm6x_bVw.md b/src/data/roadmaps/cyber-security/content/memdump@wspNQPmqWRjKoFm6x_bVw.md
index 85958f6f7..5d71ccba1 100644
--- a/src/data/roadmaps/cyber-security/content/memdump@wspNQPmqWRjKoFm6x_bVw.md
+++ b/src/data/roadmaps/cyber-security/content/memdump@wspNQPmqWRjKoFm6x_bVw.md
@@ -5,4 +5,4 @@
Learn more from the following resources:
- [@official@memdump](https://www.kali.org/tools/memdump/)
-
+- [@opensource@memdump - Github](https://github.com/tchebb/memdump)
\ No newline at end of file
diff --git a/src/data/roadmaps/cyber-security/content/memory-leak@nOND14t7ISgSH3zNpV3F8.md b/src/data/roadmaps/cyber-security/content/memory-leak@nOND14t7ISgSH3zNpV3F8.md
index d019f1781..087125a93 100644
--- a/src/data/roadmaps/cyber-security/content/memory-leak@nOND14t7ISgSH3zNpV3F8.md
+++ b/src/data/roadmaps/cyber-security/content/memory-leak@nOND14t7ISgSH3zNpV3F8.md
@@ -2,5 +2,7 @@
A Memory Leak occurs when a computer program consumes memory but fails to release it back to the operating system after it is no longer needed. Over time, this can lead to reduced system performance, increased memory usage, and, in severe cases, the program or system may crash due to the exhaustion of available memory.
+Learn more from the following resources:
+
- [@article@What are memory leaks?](https://learn.snyk.io/lesson/memory-leaks/)
- [@video@What are memory leaks?](https://www.youtube.com/watch?v=00Kdpgl6fsY)
\ No newline at end of file
diff --git a/src/data/roadmaps/cyber-security/content/mesh@PYeF15e7iVB9seFrrO7W6.md b/src/data/roadmaps/cyber-security/content/mesh@PYeF15e7iVB9seFrrO7W6.md
index a2b53fb78..cfc758429 100644
--- a/src/data/roadmaps/cyber-security/content/mesh@PYeF15e7iVB9seFrrO7W6.md
+++ b/src/data/roadmaps/cyber-security/content/mesh@PYeF15e7iVB9seFrrO7W6.md
@@ -4,5 +4,5 @@ Mesh topology is a network architecture where devices or nodes are interconnecte
Learn more from the following resources:
-- [@article@What is mesh topology?](https://www.lenovo.com/gb/en/glossary/mesh-topology)
-- [@article@Mesh topology explained](https://www.computerhope.com/jargon/m/mesh.htm)
+- [@article@What is Mesh Topology?](https://www.lenovo.com/gb/en/glossary/mesh-topology)
+- [@article@Mesh Topology explained](https://www.computerhope.com/jargon/m/mesh.htm)
diff --git a/src/data/roadmaps/cyber-security/content/mitm@ODlVT6MhV-RVUbRMG0mHi.md b/src/data/roadmaps/cyber-security/content/mitm@ODlVT6MhV-RVUbRMG0mHi.md
index 20dbc302f..41c55468e 100644
--- a/src/data/roadmaps/cyber-security/content/mitm@ODlVT6MhV-RVUbRMG0mHi.md
+++ b/src/data/roadmaps/cyber-security/content/mitm@ODlVT6MhV-RVUbRMG0mHi.md
@@ -4,4 +4,4 @@ A Man-in-the-Middle (MITM) attack occurs when a malicious actor intercepts commu
Visit the following resources to learn more:
-- [@article@Wikipedia - Man-in-the-middle attack](https://en.wikipedia.org/wiki/Man-in-the-middle_attack)
\ No newline at end of file
+- [@article@Man-in-the-middle attack](https://en.wikipedia.org/wiki/Man-in-the-middle_attack)
\ No newline at end of file
diff --git a/src/data/roadmaps/cyber-security/content/nac-based@6oAzYfwsHQYNVbi7c2Tly.md b/src/data/roadmaps/cyber-security/content/nac-based@6oAzYfwsHQYNVbi7c2Tly.md
index be1c840b3..fde4671cc 100644
--- a/src/data/roadmaps/cyber-security/content/nac-based@6oAzYfwsHQYNVbi7c2Tly.md
+++ b/src/data/roadmaps/cyber-security/content/nac-based@6oAzYfwsHQYNVbi7c2Tly.md
@@ -2,7 +2,7 @@
Network Access Control (NAC) based hardening is a crucial component in enhancing the security of your network infrastructure. NAC provides organizations with the ability to control and manage access to the network resources, ensuring that only authorized users and devices can connect to the network. It plays a vital role in reducing the attack surface and preventing unauthorized access to sensitive data and resources. By implementing NAC-based hardening in your cybersecurity strategy, you protect your organization from threats and maintain secure access to critical resources.
-Learn more from the following resouces:
+Learn more from the following resources:
- [@video@Network Access Control](https://www.youtube.com/watch?v=hXeFJ05J4pQ)
- [@article@What is Network Access Control](https://www.fortinet.com/resources/cyberglossary/what-is-network-access-control)
diff --git a/src/data/roadmaps/cyber-security/content/netflow@xXz-SwvXA2cLfdCd-hLtW.md b/src/data/roadmaps/cyber-security/content/netflow@xXz-SwvXA2cLfdCd-hLtW.md
index 820814dc3..b63b75257 100644
--- a/src/data/roadmaps/cyber-security/content/netflow@xXz-SwvXA2cLfdCd-hLtW.md
+++ b/src/data/roadmaps/cyber-security/content/netflow@xXz-SwvXA2cLfdCd-hLtW.md
@@ -4,5 +4,5 @@
Learn more from the following resources:
-- [@official@Cisco NetFlow Website](https://www.cisco.com/c/en/us/products/ios-nx-os-software/ios-netflow/index.html)
+- [@official@Cisco NetFlow](https://www.cisco.com/c/en/us/products/ios-nx-os-software/ios-netflow/index.html)
- [@video@What is NetFlow?](https://www.youtube.com/watch?v=aqTpUmUibB8)
diff --git a/src/data/roadmaps/cyber-security/content/nids@LIPtxl_oKZRcbvXT4EdNf.md b/src/data/roadmaps/cyber-security/content/nids@LIPtxl_oKZRcbvXT4EdNf.md
index 007622b5d..1eabd4d69 100644
--- a/src/data/roadmaps/cyber-security/content/nids@LIPtxl_oKZRcbvXT4EdNf.md
+++ b/src/data/roadmaps/cyber-security/content/nids@LIPtxl_oKZRcbvXT4EdNf.md
@@ -3,5 +3,6 @@
A Network Intrusion Detection System (NIDS) is a security solution designed to monitor and analyze network traffic for signs of suspicious activity or potential threats. NIDS operates by inspecting the data packets that flow through a network, looking for patterns that match known attack signatures or anomalies that could indicate malicious behavior. Unlike a Host Intrusion Detection System (HIDS), which focuses on individual host devices, NIDS provides a broader view by monitoring network traffic across multiple systems and devices.
Visit the following resources to learn more:
+
- [@article@What is an Intrusion Detection System?](https://www.paloaltonetworks.com/cyberpedia/what-is-an-intrusion-detection-system-ids)
- [@article@What is a Network Intrusion Detection system (NIDS)?](https://bunny.net/academy/security/what-is-network-intrusion-detection-nids/)
diff --git a/src/data/roadmaps/cyber-security/content/nist@SOkJUTd1NUKSwYMIprv4m.md b/src/data/roadmaps/cyber-security/content/nist@SOkJUTd1NUKSwYMIprv4m.md
index 65d056a9d..cea5062bf 100644
--- a/src/data/roadmaps/cyber-security/content/nist@SOkJUTd1NUKSwYMIprv4m.md
+++ b/src/data/roadmaps/cyber-security/content/nist@SOkJUTd1NUKSwYMIprv4m.md
@@ -4,5 +4,5 @@
Learn more from the following resources:
-- [@official@NIST Website](https://www.nist.gov/)
+- [@official@NIST](https://www.nist.gov/)
- [@article@What is NIST?](https://www.encryptionconsulting.com/education-center/nist/)
diff --git a/src/data/roadmaps/cyber-security/content/nmap@Hoou7kWyfB2wx_yFHug_H.md b/src/data/roadmaps/cyber-security/content/nmap@Hoou7kWyfB2wx_yFHug_H.md
index 3b0120108..9718f3cc7 100644
--- a/src/data/roadmaps/cyber-security/content/nmap@Hoou7kWyfB2wx_yFHug_H.md
+++ b/src/data/roadmaps/cyber-security/content/nmap@Hoou7kWyfB2wx_yFHug_H.md
@@ -4,6 +4,6 @@
Learn more from the following resources:
-- [@official@NMAP Website](https://nmap.org/)
+- [@official@NMAP](https://nmap.org/)
- [@article@NMAP Cheat Sheet](https://www.tutorialspoint.com/nmap-cheat-sheet)
-- [@video@Nmap Tutorial to find Network Vulnerabilities]
+- [@video@Nmap Tutorial to find Network Vulnerabilities](https://www.youtube.com/watch?v=4t4kBkMsDbQ)
diff --git a/src/data/roadmaps/cyber-security/content/ntp@tf0TymdPHbplDHvuVIIh4.md b/src/data/roadmaps/cyber-security/content/ntp@tf0TymdPHbplDHvuVIIh4.md
index 51d2ade02..505b8cdbe 100644
--- a/src/data/roadmaps/cyber-security/content/ntp@tf0TymdPHbplDHvuVIIh4.md
+++ b/src/data/roadmaps/cyber-security/content/ntp@tf0TymdPHbplDHvuVIIh4.md
@@ -5,5 +5,4 @@
Learn more from the following resources:
- [@video@Network Time Protocol (NTP)](https://www.youtube.com/watch?v=BAo5C2qbLq8)
-- [@article@What is NTP?](https://www.pubnub.com/learn/glossary/ntp-protocol/)
-
+- [@article@What is NTP?](https://www.pubnub.com/learn/glossary/ntp-protocol/)
\ No newline at end of file
diff --git a/src/data/roadmaps/cyber-security/content/onedrive@MWqnhDKm9jXvDDjkeVNxm.md b/src/data/roadmaps/cyber-security/content/onedrive@MWqnhDKm9jXvDDjkeVNxm.md
index 91381a979..fd4d5b9d3 100644
--- a/src/data/roadmaps/cyber-security/content/onedrive@MWqnhDKm9jXvDDjkeVNxm.md
+++ b/src/data/roadmaps/cyber-security/content/onedrive@MWqnhDKm9jXvDDjkeVNxm.md
@@ -4,6 +4,5 @@
Learn more from the following resources:
-- [@official@OneDrive Website](https://onedrive.live.com)
+- [@official@Microsoft OneDrive](https://onedrive.live.com)
- [@video@Microsoft OneDrive Tutorial](https://www.youtube.com/watch?v=qgw01w0iYjA)
-
diff --git a/src/data/roadmaps/cyber-security/content/operating-system-hardening@_S25EOGS3P8647zLM5i-g.md b/src/data/roadmaps/cyber-security/content/operating-system-hardening@_S25EOGS3P8647zLM5i-g.md
index 5d789a327..1d7695241 100644
--- a/src/data/roadmaps/cyber-security/content/operating-system-hardening@_S25EOGS3P8647zLM5i-g.md
+++ b/src/data/roadmaps/cyber-security/content/operating-system-hardening@_S25EOGS3P8647zLM5i-g.md
@@ -2,7 +2,8 @@
**Operating system hardening** involves configuring and securing an OS to reduce vulnerabilities and improve its defense against attacks. This process includes disabling unnecessary services and ports, applying security patches and updates, configuring strong authentication mechanisms, enforcing least privilege principles, and enabling firewalls and intrusion detection systems. Hardening also involves setting up proper file permissions, securing system logs, and regularly auditing the system to ensure compliance with security policies and best practices. The goal is to minimize the attack surface and protect the OS from potential threats and exploits.
-Learn more from the following resources
+Learn more from the following resources:
- [@article@OS Hardening: 15 Best Practices](https://perception-point.io/guides/os-isolation/os-hardening-10-best-practices/)
+- [@article@Operating System (OS) Hardening: Pros, Cons, and Importance](https://linfordco.com/blog/operating-system-hardening/)
- [@video@Hardening Techniques](https://www.youtube.com/watch?v=wXoC46Qr_9Q)
diff --git a/src/data/roadmaps/cyber-security/content/operating-systems@UY6xdt_V3YMkZxZ1hZLvW.md b/src/data/roadmaps/cyber-security/content/operating-systems@UY6xdt_V3YMkZxZ1hZLvW.md
index 841e99ef7..eb0ebf374 100644
--- a/src/data/roadmaps/cyber-security/content/operating-systems@UY6xdt_V3YMkZxZ1hZLvW.md
+++ b/src/data/roadmaps/cyber-security/content/operating-systems@UY6xdt_V3YMkZxZ1hZLvW.md
@@ -4,4 +4,6 @@
Learn more from the following resources:
+- [@article@What is a Operating System?](https://en.wikipedia.org/wiki/Operating_system)
+- [@article@8 Different Types of Operating Systems With Examples](https://techspirited.com/different-types-of-operating-systems)
- [@video@What is an operating system as fast as possible](https://www.youtube.com/watch?v=pVzRTmdd9j0)
diff --git a/src/data/roadmaps/cyber-security/content/os-independent-troubleshooting@pJUhQin--BGMuXHPwx3JJ.md b/src/data/roadmaps/cyber-security/content/os-independent-troubleshooting@pJUhQin--BGMuXHPwx3JJ.md
index 64d7db982..753261104 100644
--- a/src/data/roadmaps/cyber-security/content/os-independent-troubleshooting@pJUhQin--BGMuXHPwx3JJ.md
+++ b/src/data/roadmaps/cyber-security/content/os-independent-troubleshooting@pJUhQin--BGMuXHPwx3JJ.md
@@ -40,5 +40,6 @@ Logs are records of system events, application behavior, and user activity, whic
Learn more from the following resources:
-- [@article@How to identify 9 signs of Operating System.](https://bro4u.com/blog/how-to-identify-9-signs-of-operating-system)
-- [@article@Trouble shooting guide](https://cdnsm5-ss6.sharpschool.com/userfiles/servers/server_20856499/file/teacher%20pages/lindsay%20dolezal/it%20essentials/5.6.pdf)
+- [@articleOS-Independent Troubleshooting Flashcards](https://quizlet.com/ph/837474114/os-independent-troubleshooting-flash-cards/)
+- [@video@Operating System Troubleshooting - CompTIA A+](https://www.youtube.com/watch?v=6gainrNiypc)
+- [@article@Troubleshooting Guide](https://cdnsm5-ss6.sharpschool.com/userfiles/servers/server_20856499/file/teacher%20pages/lindsay%20dolezal/it%20essentials/5.6.pdf)
diff --git a/src/data/roadmaps/cyber-security/content/oscp@SwVGVP2bbCFs2uNg9Qtxb.md b/src/data/roadmaps/cyber-security/content/oscp@SwVGVP2bbCFs2uNg9Qtxb.md
index 79a74b6c9..9dbbc46a4 100644
--- a/src/data/roadmaps/cyber-security/content/oscp@SwVGVP2bbCFs2uNg9Qtxb.md
+++ b/src/data/roadmaps/cyber-security/content/oscp@SwVGVP2bbCFs2uNg9Qtxb.md
@@ -4,5 +4,6 @@
Learn more from the following resources:
-- [@article@Offsec OSCP Site](https://www.offsec.com/courses/pen-200/)
-- [@article@How to prepare for the OSCP](https://cybersecurityguide.org/programs/cybersecurity-certifications/oscp/)
+- [@official@Offensive Security Certified Professional](https://www.offsec.com/courses/pen-200/)
+- [@article@How to Prepare for OSCP Exam](https://cybersecurityguide.org/programs/cybersecurity-certifications/oscp/)
+- [@article@How to Become an OSCP [Full Guide] - Geekflare](https://geekflare.com/cybersecurity/oscp-certification/)
\ No newline at end of file
diff --git a/src/data/roadmaps/cyber-security/content/packet-sniffers@k6UX0BJho5arjGD2RWPgH.md b/src/data/roadmaps/cyber-security/content/packet-sniffers@k6UX0BJho5arjGD2RWPgH.md
index 235a73f1e..968653bd6 100644
--- a/src/data/roadmaps/cyber-security/content/packet-sniffers@k6UX0BJho5arjGD2RWPgH.md
+++ b/src/data/roadmaps/cyber-security/content/packet-sniffers@k6UX0BJho5arjGD2RWPgH.md
@@ -6,5 +6,3 @@ Learn more from the following resources:
- [@article@Packet Sniffing Explained](https://www.avast.com/c-packet-sniffing)
- [@video@What is Packet Sniffing?](https://www.youtube.com/watch?v=5oioSbgBQ8I)
-
-
diff --git a/src/data/roadmaps/cyber-security/content/parrotos@zR6djXnfTSFVEfvJonQjf.md b/src/data/roadmaps/cyber-security/content/parrotos@zR6djXnfTSFVEfvJonQjf.md
index 4dec48822..88f195c4d 100644
--- a/src/data/roadmaps/cyber-security/content/parrotos@zR6djXnfTSFVEfvJonQjf.md
+++ b/src/data/roadmaps/cyber-security/content/parrotos@zR6djXnfTSFVEfvJonQjf.md
@@ -4,4 +4,6 @@ ParrotOS is a Debian-based Linux distribution designed for security, privacy, an
Visit the following resources to learn more:
-- [@official@ParrotOS](https://parrotsec.org/)
\ No newline at end of file
+- [@official@ParrotOS](https://parrotsec.org/)
+- [@official@ParrotOS Documentation](https://parrotsec.org/docs)
+- [@official@ParrotOS Downloads](https://parrotsec.org/download)
diff --git a/src/data/roadmaps/cyber-security/content/penetration-testing-rules-of-engagement@NkAAQikwH-A6vrF8fWpuB.md b/src/data/roadmaps/cyber-security/content/penetration-testing-rules-of-engagement@NkAAQikwH-A6vrF8fWpuB.md
index 78efb425d..1709a8cfe 100644
--- a/src/data/roadmaps/cyber-security/content/penetration-testing-rules-of-engagement@NkAAQikwH-A6vrF8fWpuB.md
+++ b/src/data/roadmaps/cyber-security/content/penetration-testing-rules-of-engagement@NkAAQikwH-A6vrF8fWpuB.md
@@ -4,5 +4,5 @@
Learn more from the following resources:
-- [@article@Why are rules of engagement important to a Penetration Test?](https://www.triaxiomsecurity.com/rules-of-engagement-important-to-penetration-test/)
+- [@article@Why are Rules of Engagement Important to a Penetration Test?](https://www.triaxiomsecurity.com/rules-of-engagement-important-to-penetration-test/)
- [@video@CompTIA Pentest+ : Rules of Engagement](https://www.youtube.com/watch?v=Rt-4j8k6J2U)
diff --git a/src/data/roadmaps/cyber-security/content/perimiter-vs-dmz-vs-segmentation@PUgPgpKio4Npzs86qEXa7.md b/src/data/roadmaps/cyber-security/content/perimiter-vs-dmz-vs-segmentation@PUgPgpKio4Npzs86qEXa7.md
index 53ed73fbb..dbcf82804 100644
--- a/src/data/roadmaps/cyber-security/content/perimiter-vs-dmz-vs-segmentation@PUgPgpKio4Npzs86qEXa7.md
+++ b/src/data/roadmaps/cyber-security/content/perimiter-vs-dmz-vs-segmentation@PUgPgpKio4Npzs86qEXa7.md
@@ -1,4 +1,4 @@
-# Perimiter vs DMZ vs Segmentation
+# Perimeter vs DMZ vs Segmentation
In network security, **perimeter**, **DMZ (Demilitarized Zone)**, and **segmentation** are strategies for organizing and protecting systems:
diff --git a/src/data/roadmaps/cyber-security/content/picoctf@pou5xHwnz9Zsy5J6lNlKq.md b/src/data/roadmaps/cyber-security/content/picoctf@pou5xHwnz9Zsy5J6lNlKq.md
index db5d2d63c..a35b7e606 100644
--- a/src/data/roadmaps/cyber-security/content/picoctf@pou5xHwnz9Zsy5J6lNlKq.md
+++ b/src/data/roadmaps/cyber-security/content/picoctf@pou5xHwnz9Zsy5J6lNlKq.md
@@ -4,5 +4,5 @@
Learn more from the following resources:
-- [@official@picoCTF Website](https://picoctf.org/)
+- [@official@picoCTF](https://picoctf.org/)
- [@video@BEGINNER Capture The Flag - PicoCTF 2021 001 "Obedient Cat"](https://www.youtube.com/watch?v=P07NH5F-t3s)
diff --git a/src/data/roadmaps/cyber-security/content/pki@fxyJxrf3mnFTa3wXk1MCW.md b/src/data/roadmaps/cyber-security/content/pki@fxyJxrf3mnFTa3wXk1MCW.md
index 5e8ff2342..984fe655e 100644
--- a/src/data/roadmaps/cyber-security/content/pki@fxyJxrf3mnFTa3wXk1MCW.md
+++ b/src/data/roadmaps/cyber-security/content/pki@fxyJxrf3mnFTa3wXk1MCW.md
@@ -5,4 +5,4 @@
Learn more from the following resources:
- [@article@What is PKI?](https://cpl.thalesgroup.com/faq/public-key-infrastructure-pki/what-public-key-infrastructure-pki)
-- [@article@Design and build a privately hosted Public Key Infrastructure](Design and build a privately hosted Public Key Infrastructure)
+- [@article@What Is Public Key Infrastructure (PKI) & How Does It Work?](https://www.okta.com/identity-101/public-key-infrastructure/)
diff --git a/src/data/roadmaps/cyber-security/content/port-blocking@W7bcydXdwlubXF2PHKOuq.md b/src/data/roadmaps/cyber-security/content/port-blocking@W7bcydXdwlubXF2PHKOuq.md
index 687cc4b5d..9009188ef 100644
--- a/src/data/roadmaps/cyber-security/content/port-blocking@W7bcydXdwlubXF2PHKOuq.md
+++ b/src/data/roadmaps/cyber-security/content/port-blocking@W7bcydXdwlubXF2PHKOuq.md
@@ -1,3 +1,8 @@
# Port Blocking
-Port blocking is an essential practice in hardening the security of your network and devices. It involves restricting, filtering, or entirely denying access to specific network ports to minimize exposure to potential cyber threats. By limiting access to certain ports, you can effectively safeguard your systems against unauthorized access and reduce the likelihood of security breaches.
\ No newline at end of file
+Port blocking is an essential practice in hardening the security of your network and devices. It involves restricting, filtering, or entirely denying access to specific network ports to minimize exposure to potential cyber threats. By limiting access to certain ports, you can effectively safeguard your systems against unauthorized access and reduce the likelihood of security breaches.
+
+Learn more from the following resources:
+
+- [@article@What is Port Blocking?](https://cyberpedia.reasonlabs.com/EN/port%20blocking.html)
+- [@article@Is Your Router Blocking Your Ports? Here's How to Find Out?](https://softhandtech.com/how-can-i-tell-if-a-port-is-blocked-on-my-router/)
diff --git a/src/data/roadmaps/cyber-security/content/port-scanners@iJRQHzh5HXADuWpCouwxv.md b/src/data/roadmaps/cyber-security/content/port-scanners@iJRQHzh5HXADuWpCouwxv.md
index a0fe9f33a..f1da39096 100644
--- a/src/data/roadmaps/cyber-security/content/port-scanners@iJRQHzh5HXADuWpCouwxv.md
+++ b/src/data/roadmaps/cyber-security/content/port-scanners@iJRQHzh5HXADuWpCouwxv.md
@@ -4,5 +4,5 @@ Port scanners are essential tools in the troubleshooting and cybersecurity lands
Learn more from the following resources:
-- [@article@Top 5 Best port scanners](https://securitytrails.com/blog/best-port-scanners)
-- [@video@How To Use nmap To Scan For Open Ports](https://www.youtube.com/watch?v=ifbwTt3_oCg)
+- [@article@Top 5 Best Port Scanners](https://securitytrails.com/blog/best-port-scanners)
+- [@video@How To Use Nmap To Scan For Open Ports](https://www.youtube.com/watch?v=ifbwTt3_oCg)
diff --git a/src/data/roadmaps/cyber-security/content/power-shell@paY9x2VJA98FNGBFGRXp2.md b/src/data/roadmaps/cyber-security/content/power-shell@paY9x2VJA98FNGBFGRXp2.md
index 00d5faa91..f820f01d6 100644
--- a/src/data/roadmaps/cyber-security/content/power-shell@paY9x2VJA98FNGBFGRXp2.md
+++ b/src/data/roadmaps/cyber-security/content/power-shell@paY9x2VJA98FNGBFGRXp2.md
@@ -5,7 +5,6 @@
Learn more from the following resources:
- [@official@PowerShell.org](https://powershell.org/)
-- [@article@Microsoft's Official PowerShell Documentation](https://docs.microsoft.com/en-us/powershell/)
+- [@article@Microsoft's PowerShell Documentation](https://docs.microsoft.com/en-us/powershell/)
- [@video@PowerShell Course](https://www.youtube.com/watch?v=ZOoCaWyifmI)
- [@opensource@Learning PowerShell GitHub Repository](https://github.com/PowerShell/PowerShell/tree/master/docs/learning-powershell)
-
diff --git a/src/data/roadmaps/cyber-security/content/preparation@w6V4JOtXKCMPAkKIQxvMg.md b/src/data/roadmaps/cyber-security/content/preparation@w6V4JOtXKCMPAkKIQxvMg.md
index 5912a8d6a..6c16ab42a 100644
--- a/src/data/roadmaps/cyber-security/content/preparation@w6V4JOtXKCMPAkKIQxvMg.md
+++ b/src/data/roadmaps/cyber-security/content/preparation@w6V4JOtXKCMPAkKIQxvMg.md
@@ -4,5 +4,5 @@ The **Preparation** phase in incident response involves establishing and maintai
Learn more from the following resources:
-- [@article@](https://www.microsoft.com/en-gb/security/business/security-101/what-is-incident-response)
-- [@video@](https://www.youtube.com/watch?v=ePZGqlcB1O8)
+- [@article@What is Incident Response](https://www.microsoft.com/en-gb/security/business/security-101/what-is-incident-response)
+- [@video@Cyber Security Incident Response Explained](https://www.youtube.com/watch?v=ePZGqlcB1O8)
diff --git a/src/data/roadmaps/cyber-security/content/private-vs-public-keys@7svh9qaaPp0Hz23yinIye.md b/src/data/roadmaps/cyber-security/content/private-vs-public-keys@7svh9qaaPp0Hz23yinIye.md
index fe5c1a1f2..85ec72459 100644
--- a/src/data/roadmaps/cyber-security/content/private-vs-public-keys@7svh9qaaPp0Hz23yinIye.md
+++ b/src/data/roadmaps/cyber-security/content/private-vs-public-keys@7svh9qaaPp0Hz23yinIye.md
@@ -1,4 +1,4 @@
-# Pvt Key vs Pub Key
+# Private Key vs Public Key
**Public keys** and **private keys** are cryptographic components used in asymmetric encryption.
diff --git a/src/data/roadmaps/cyber-security/content/private@ecpMKP1cQXXsfKETDUrSf.md b/src/data/roadmaps/cyber-security/content/private@ecpMKP1cQXXsfKETDUrSf.md
index 84ccfca77..c564e9bf9 100644
--- a/src/data/roadmaps/cyber-security/content/private@ecpMKP1cQXXsfKETDUrSf.md
+++ b/src/data/roadmaps/cyber-security/content/private@ecpMKP1cQXXsfKETDUrSf.md
@@ -4,5 +4,5 @@ A **private cloud** is a cloud computing environment dedicated to a single organ
Learn more from the following resources:
-- [@article@What is a private cloud?](https://aws.amazon.com/what-is/private-cloud/)
-- [@video@Private cloud rules](https://www.youtube.com/watch?v=Tzqy8lW0bk4)
+- [@article@What is a Private Cloud?](https://aws.amazon.com/what-is/private-cloud/)
+- [@video@Private Cloud Rules](https://www.youtube.com/watch?v=Tzqy8lW0bk4)
diff --git a/src/data/roadmaps/cyber-security/content/privilege-escalation@cvI8-sxY5i8lpelW9iY_5.md b/src/data/roadmaps/cyber-security/content/privilege-escalation@cvI8-sxY5i8lpelW9iY_5.md
index fc643dd83..19115654e 100644
--- a/src/data/roadmaps/cyber-security/content/privilege-escalation@cvI8-sxY5i8lpelW9iY_5.md
+++ b/src/data/roadmaps/cyber-security/content/privilege-escalation@cvI8-sxY5i8lpelW9iY_5.md
@@ -1,8 +1,8 @@
-# Privilege escalation / User based Attacks
+# Privilege escalation
Privilege escalation is a technique where an attacker increases their access level within a system, moving from lower to higher permissions, such as from a standard user to an administrator. This can be achieved by exploiting system vulnerabilities, misconfigurations, or security weaknesses. It is critical to implement strong access controls, adhere to the principle of least privilege, and regularly update and patch systems to defend against such attacks.
Visit the following resources to learn more:
-- [@article@What is privilege escalation?](https://www.crowdstrike.com/cybersecurity-101/privilege-escalation/)
+- [@article@What is Privilege Escalation?](https://www.crowdstrike.com/cybersecurity-101/privilege-escalation/)
- [@video@Privilege Escalation](https://www.youtube.com/watch?v=ksjU3Iu195Q)
diff --git a/src/data/roadmaps/cyber-security/content/programming-skills@_RnuQ7952N8GWZfPD60sJ.md b/src/data/roadmaps/cyber-security/content/programming-skills@_RnuQ7952N8GWZfPD60sJ.md
index 7ee26f093..f094d8db8 100644
--- a/src/data/roadmaps/cyber-security/content/programming-skills@_RnuQ7952N8GWZfPD60sJ.md
+++ b/src/data/roadmaps/cyber-security/content/programming-skills@_RnuQ7952N8GWZfPD60sJ.md
@@ -8,4 +8,11 @@ Programming knowledge is a fundamental skill for professionals in the cybersecur
- **JavaScript**: With its ubiquity in modern web browsers, JavaScript is crucial for understanding and protecting against web security vulnerabilities, such as Cross-Site Scripting (XSS) and Cross-Site Request Forgery (CSRF) attacks.
- **Ruby**: Ruby has a strong foothold in web application development and is utilized for scripting and automation, just like Python. Familiarity with Ruby may give cybersecurity professionals an edge in certain environments.
-Acquiring programming knowledge in cybersecurity can help you stay on top of the latest threats, develop secure software, and implement effective countermeasures. As you progress in your cybersecurity career, you'll find that your programming skills will continually evolve and your understanding of various languages, concepts, and techniques will expand.
+Visit the following resources to learn more:
+
+- [@roadmap@Visit Linux Roadmap](https://roadmap.sh/linux)
+- [@roadmap@Visit Python Roadmap](https://roadmap.sh/python)
+- [@roadmap@Visit C++ Roadmap](https://roadmap.sh/cpp)
+- [@roadmap@Visit Java Roadmap](https://roadmap.sh/java)
+- [@roadmap@Visit JavaScript Roadmap](https://roadmap.sh/javascript)
+- [@roadmap@Visit Typescript Roadmap](https://roadmap.sh/typescript)
diff --git a/src/data/roadmaps/cyber-security/content/protocol-analyzers@K05mEAsjImyPge0hDtsU0.md b/src/data/roadmaps/cyber-security/content/protocol-analyzers@K05mEAsjImyPge0hDtsU0.md
index 104ad38c6..5bda1db11 100644
--- a/src/data/roadmaps/cyber-security/content/protocol-analyzers@K05mEAsjImyPge0hDtsU0.md
+++ b/src/data/roadmaps/cyber-security/content/protocol-analyzers@K05mEAsjImyPge0hDtsU0.md
@@ -4,4 +4,5 @@
Learn more from the following resources:
+- [@article@What is a Protocol Analyzer?](https://www.liveaction.com/glossary/protocol-analyzer/)
- [@video@Protocol Analyzers](https://www.youtube.com/watch?v=hTMhlB-o0Ow)
diff --git a/src/data/roadmaps/cyber-security/content/proxmox@jqX1A5hFF3Qznqup4lfiF.md b/src/data/roadmaps/cyber-security/content/proxmox@jqX1A5hFF3Qznqup4lfiF.md
index 6160a549e..9c3837627 100644
--- a/src/data/roadmaps/cyber-security/content/proxmox@jqX1A5hFF3Qznqup4lfiF.md
+++ b/src/data/roadmaps/cyber-security/content/proxmox@jqX1A5hFF3Qznqup4lfiF.md
@@ -4,5 +4,6 @@
Learn more from the following resources:
-- [@video@What is Proxmox virtualization?](https://www.youtube.com/watch?v=GMAvmHEWAMU)
-- [@article@Proxmox Website](https://www.proxmox.com/en/)
+- [@official@Proxmox](https://www.proxmox.com/en/)
+- [@article@Proxmox Virtual Environment](https://en.wikipedia.org/wiki/Proxmox_Virtual_Environment)
+- [@video@What is Proxmox virtualization?](https://www.youtube.com/watch?v=GMAvmHEWAMU)
\ No newline at end of file
diff --git a/src/data/roadmaps/cyber-security/content/public@ZDj7KBuyZsKyEMZViMoXW.md b/src/data/roadmaps/cyber-security/content/public@ZDj7KBuyZsKyEMZViMoXW.md
index 68daa4237..b9081261b 100644
--- a/src/data/roadmaps/cyber-security/content/public@ZDj7KBuyZsKyEMZViMoXW.md
+++ b/src/data/roadmaps/cyber-security/content/public@ZDj7KBuyZsKyEMZViMoXW.md
@@ -4,6 +4,5 @@ A **public cloud** is a computing service offered by third-party providers over
Learn more from the following resources:
-- [@video@What is a public cloud?](https://www.youtube.com/watch?v=KaCyfQ7luVY)
-- [@article@What is a public cloud? Microsoft](https://azure.microsoft.com/en-gb/resources/cloud-computing-dictionary/what-is-a-public-cloud)
-
+- [@article@A Public Cloud?](https://azure.microsoft.com/en-gb/resources/cloud-computing-dictionary/what-is-a-public-cloud)
+- [@video@What is a Public Cloud](https://www.youtube.com/watch?v=KaCyfQ7luVY)
diff --git a/src/data/roadmaps/cyber-security/content/python@XiHvGy--OkPFfJeKA6-LP.md b/src/data/roadmaps/cyber-security/content/python@XiHvGy--OkPFfJeKA6-LP.md
index f9a731a42..84001a52b 100644
--- a/src/data/roadmaps/cyber-security/content/python@XiHvGy--OkPFfJeKA6-LP.md
+++ b/src/data/roadmaps/cyber-security/content/python@XiHvGy--OkPFfJeKA6-LP.md
@@ -4,7 +4,6 @@
Learn more from the following resources:
-- [@roadmap@Python Roadmap](https://roadmap.sh/python)
+- [@roadmap@Visit Dedicated Python Roadmap](https://roadmap.sh/python)
- [@course@Python Full Course 2024](https://www.youtube.com/watch?v=ix9cRaBkVe0)
- [@video@Python in 100 Seconds](https://www.youtube.com/watch?v=x7X9w_GIm1s)
-
diff --git a/src/data/roadmaps/cyber-security/content/reconnaissance@UU_inxa8Y2lLP2BRhdLDT.md b/src/data/roadmaps/cyber-security/content/reconnaissance@UU_inxa8Y2lLP2BRhdLDT.md
index 7fc03ad60..e9fb4b2f9 100644
--- a/src/data/roadmaps/cyber-security/content/reconnaissance@UU_inxa8Y2lLP2BRhdLDT.md
+++ b/src/data/roadmaps/cyber-security/content/reconnaissance@UU_inxa8Y2lLP2BRhdLDT.md
@@ -1,7 +1,8 @@
# Reconnaissance
-Reconnaissance is the first phase of a cyberattack, during which attackers gather as much information as possible about a target system, network, or organization. The goal of reconnaissance is to identify potential vulnerabilities, entry points, and other valuable details that can be exploited in subsequent attack phases.
+Reconnaissance is the first phase of a cyber-attack, during which attackers gather as much information as possible about a target system, network, or organization. The goal of reconnaissance is to identify potential vulnerabilities, entry points, and other valuable details that can be exploited in subsequent attack phases.
Visit the following resources to learn more:
- [@article@What is Cyber Reconnaissance](https://www.sentinelone.com/cybersecurity-101/threat-intelligence/what-is-cyber-reconnaissance/)
+- [@article@What is Cybersecurity Reconnaissance?](https://cymulate.com/cybersecurity-glossary/cyber-reconnaissance/)
\ No newline at end of file
diff --git a/src/data/roadmaps/cyber-security/content/replay-attack@mIX8PsIGuwgPCGQZ6ok2H.md b/src/data/roadmaps/cyber-security/content/replay-attack@mIX8PsIGuwgPCGQZ6ok2H.md
index 2fa0367c8..cdef65121 100644
--- a/src/data/roadmaps/cyber-security/content/replay-attack@mIX8PsIGuwgPCGQZ6ok2H.md
+++ b/src/data/roadmaps/cyber-security/content/replay-attack@mIX8PsIGuwgPCGQZ6ok2H.md
@@ -5,4 +5,3 @@ A Replay Attack is a type of network attack where an attacker intercepts and ret
Visit the following resources to learn more:
- [@article@What Is a Replay Attack?](https://usa.kaspersky.com/resource-center/definitions/replay-attack)
-
diff --git a/src/data/roadmaps/cyber-security/content/ring@9vEUVJ8NTh0wKyIE6-diY.md b/src/data/roadmaps/cyber-security/content/ring@9vEUVJ8NTh0wKyIE6-diY.md
index fe3745162..d708d1d89 100644
--- a/src/data/roadmaps/cyber-security/content/ring@9vEUVJ8NTh0wKyIE6-diY.md
+++ b/src/data/roadmaps/cyber-security/content/ring@9vEUVJ8NTh0wKyIE6-diY.md
@@ -4,5 +4,5 @@ In a ring topology, each network device is connected in a circular fashion, wher
Learn more from the following resources:
-- [@article@What is ring topology?](https://www.lenovo.com/gb/en/glossary/what-is-ring-topology/)
+- [@article@What is Ring Topology?](https://www.lenovo.com/gb/en/glossary/what-is-ring-topology/)
- [@video@Network Topologies - Ring](https://www.youtube.com/watch?v=hjeDN2xnc50)
diff --git a/src/data/roadmaps/cyber-security/content/rmf@fjEdufrZAfW4Rl6yDU8Hk.md b/src/data/roadmaps/cyber-security/content/rmf@fjEdufrZAfW4Rl6yDU8Hk.md
index 18e2b966e..c020ef8f6 100644
--- a/src/data/roadmaps/cyber-security/content/rmf@fjEdufrZAfW4Rl6yDU8Hk.md
+++ b/src/data/roadmaps/cyber-security/content/rmf@fjEdufrZAfW4Rl6yDU8Hk.md
@@ -9,10 +9,7 @@ A **Risk Management Framework (RMF)** is a structured approach that organization
5. **Communication and Reporting:** Regularly updating stakeholders on the risk status and actions taken.
6. **Review and Improvement:** Periodically reassessing the framework and adapting to changes in the business or regulatory environment.
-The RMF ensures that risks are managed proactively and consistently across the organization, helping to safeguard assets and support strategic decision-making.
-
Learn more from the following resources:
- [@article@What is the Risk Management Framework?](https://www.techtarget.com/searchcio/definition/Risk-Management-Framework-RMF)
- [@video@RMF explained in 5 minutes](https://www.youtube.com/watch?v=X5yqPFp__rc)
-
diff --git a/src/data/roadmaps/cyber-security/content/rogue-access-point@Ee7LfbhwJbiWjJ3b_bbni.md b/src/data/roadmaps/cyber-security/content/rogue-access-point@Ee7LfbhwJbiWjJ3b_bbni.md
index 0f8c26081..61cd23814 100644
--- a/src/data/roadmaps/cyber-security/content/rogue-access-point@Ee7LfbhwJbiWjJ3b_bbni.md
+++ b/src/data/roadmaps/cyber-security/content/rogue-access-point@Ee7LfbhwJbiWjJ3b_bbni.md
@@ -4,5 +4,5 @@ A Rogue Access Point (Rogue AP) is an unauthorized wireless access point install
Visit the following resources to learn more:
-- [@article@Rogue access points](https://www.khanacademy.org/computing/computers-and-internet/xcae6f4a7ff015e7d:online-data-security/xcae6f4a7ff015e7d:cyber-attacks/a/rogue-access-points-mitm-attacks)
-
+- [@article@Rogue Access Points](https://www.khanacademy.org/computing/computers-and-internet/xcae6f4a7ff015e7d:online-data-security/xcae6f4a7ff015e7d:cyber-attacks/a/rogue-access-points-mitm-attacks)
+- [@article@What is Rogue Access Point](https://pentescope.com/rogue-access-point-detection-and-prevention/)
diff --git a/src/data/roadmaps/cyber-security/content/roles-of-compliance-and-auditors@kqT0FRLt9Ak9P8PhHldO-.md b/src/data/roadmaps/cyber-security/content/roles-of-compliance-and-auditors@kqT0FRLt9Ak9P8PhHldO-.md
index 5d5aecfeb..064dcc73c 100644
--- a/src/data/roadmaps/cyber-security/content/roles-of-compliance-and-auditors@kqT0FRLt9Ak9P8PhHldO-.md
+++ b/src/data/roadmaps/cyber-security/content/roles-of-compliance-and-auditors@kqT0FRLt9Ak9P8PhHldO-.md
@@ -4,4 +4,5 @@ Compliance officers ensure that an organization adheres to legal, regulatory, an
Learn more from the following resources:
-- [@article@What is a compliance audit?](https://www.auditboard.com/blog/compliance-audit/)
+- [@article@What is a Compliance Audit?](https://www.auditboard.com/blog/compliance-audit/)
+- [@article@Compliance Office and Internal Audit Roles and Responsibilities](https://www.compliance.com/resources/compliance-office-and-internal-audit-roles-and-responsibilities/)
\ No newline at end of file
diff --git a/src/data/roadmaps/cyber-security/content/route@xFuWk7M-Vctk_xb7bHbWs.md b/src/data/roadmaps/cyber-security/content/route@xFuWk7M-Vctk_xb7bHbWs.md
index 93eabb5af..9d86d1eea 100644
--- a/src/data/roadmaps/cyber-security/content/route@xFuWk7M-Vctk_xb7bHbWs.md
+++ b/src/data/roadmaps/cyber-security/content/route@xFuWk7M-Vctk_xb7bHbWs.md
@@ -1,3 +1,8 @@
# route
-The `route` command is a network utility used to view and manipulate the IP routing table on Unix-like and Windows systems. It allows users to display the current routes that data packets take, as well as add, modify, or delete routes for network traffic. This command is often used in network troubleshooting and configuration to control how data flows between different networks and subnets. By specifying routes manually, administrators can define specific paths for network traffic, bypassing default routes and optimizing performance or security.
\ No newline at end of file
+The `route` command is a network utility used to view and manipulate the IP routing table on Unix-like and Windows systems. It allows users to display the current routes that data packets take, as well as add, modify, or delete routes for network traffic. This command is often used in network troubleshooting and configuration to control how data flows between different networks and subnets. By specifying routes manually, administrators can define specific paths for network traffic, bypassing default routes and optimizing performance or security.
+
+Learn more from the following resources:
+
+- [@article@route command](https://www.man7.org/linux/man-pages/man8/route.8.html)
+- [@video@route command explained](https://www.youtube.com/watch?v=uOqBollh_x4)
diff --git a/src/data/roadmaps/cyber-security/content/router@lwSFIbIX-xOZ0QK2sGFb1.md b/src/data/roadmaps/cyber-security/content/router@lwSFIbIX-xOZ0QK2sGFb1.md
index defd7202b..2c66366aa 100644
--- a/src/data/roadmaps/cyber-security/content/router@lwSFIbIX-xOZ0QK2sGFb1.md
+++ b/src/data/roadmaps/cyber-security/content/router@lwSFIbIX-xOZ0QK2sGFb1.md
@@ -5,6 +5,6 @@ A router is a networking device that directs data packets between different netw
Learn more from the following resources:
- [@article@What is a Router](https://www.cloudflare.com/en-gb/learning/network-layer/what-is-a-router/)
-- [@video@What is a router and how does it work?](https://www.youtube.com/watch?v=UIJzHLpG9bM)
+- [@video@What is a router and How does it work?](https://www.youtube.com/watch?v=UIJzHLpG9bM)
- [@video@Everything Routers do](https://youtu.be/AzXys5kxpAM?si=nEsCH6jG2Lj6Ua8N)
- [@video@How Routers forward Packets?](https://youtu.be/Ep-x_6kggKA?si=II5xBPoXjYEjLvWX)
diff --git a/src/data/roadmaps/cyber-security/content/s3@2jsTgT7k8MeaDtx6RJhOP.md b/src/data/roadmaps/cyber-security/content/s3@2jsTgT7k8MeaDtx6RJhOP.md
index 28ae2f6a5..566ff5ad9 100644
--- a/src/data/roadmaps/cyber-security/content/s3@2jsTgT7k8MeaDtx6RJhOP.md
+++ b/src/data/roadmaps/cyber-security/content/s3@2jsTgT7k8MeaDtx6RJhOP.md
@@ -4,5 +4,6 @@ Amazon Simple Storage Service (S3) is a scalable, object-based cloud storage ser
Learn more from the following resources:
-- [@article@AWS S3 Website](https://aws.amazon.com/pm/serv-s3/?gclid=Cj0KCQjwrp-3BhDgARIsAEWJ6SyhAtgc3NJbsxaAXVbWEOW5gG-XFH51jIc8SxahYSxNJ501l9soUA0aAnEjEALw_wcB&trk=777b3ec4-de01-41fb-aa63-cde3d034a89e&sc_channel=ps&ef_id=Cj0KCQjwrp-3BhDgARIsAEWJ6SyhAtgc3NJbsxaAXVbWEOW5gG-XFH51jIc8SxahYSxNJ501l9soUA0aAnEjEALw_wcB:G:s&s_kwcid=AL!4422!3!638364429346!e!!g!!aws%20s3!19096959014!142655567183)
+- [@official@Amazon Web Services S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html)
+- [@official@Amazon Simple Storage Service Documentation](https://docs.aws.amazon.com/s3/)
- [@video@Getting started with AWS S3](https://www.youtube.com/watch?v=e6w9LwZJFIA)
diff --git a/src/data/roadmaps/cyber-security/content/saas@sVw5KVNxPEatBRKb2ZbS_.md b/src/data/roadmaps/cyber-security/content/saas@sVw5KVNxPEatBRKb2ZbS_.md
index 31ee7894d..e894524c7 100644
--- a/src/data/roadmaps/cyber-security/content/saas@sVw5KVNxPEatBRKb2ZbS_.md
+++ b/src/data/roadmaps/cyber-security/content/saas@sVw5KVNxPEatBRKb2ZbS_.md
@@ -4,6 +4,5 @@ Software as a Service (SaaS) is a cloud-based model where software applications
Learn more from the following resources:
-- [@article@iWhat is SaaS? Microsoft](https://azure.microsoft.com/en-us/resources/cloud-computing-dictionary/what-is-saas)
+- [@article@Software as a Service?](https://azure.microsoft.com/en-us/resources/cloud-computing-dictionary/what-is-saas)
- [@video@What is SaaS?](https://www.youtube.com/watch?v=UEHdYNXiIUU)
-
diff --git a/src/data/roadmaps/cyber-security/content/sans-holiday-hack-challenge@WCeJrvWl837m1BIjuA1Mu.md b/src/data/roadmaps/cyber-security/content/sans-holiday-hack-challenge@WCeJrvWl837m1BIjuA1Mu.md
index 6e0dcbd47..aed12b4db 100644
--- a/src/data/roadmaps/cyber-security/content/sans-holiday-hack-challenge@WCeJrvWl837m1BIjuA1Mu.md
+++ b/src/data/roadmaps/cyber-security/content/sans-holiday-hack-challenge@WCeJrvWl837m1BIjuA1Mu.md
@@ -4,5 +4,5 @@ The SANS Holiday Hack Challenge is an annual cybersecurity event that offers par
Learn more from the following resources:
-- [@official@SANS Holiday Hack Website](https://www.sans.org/mlp/holiday-hack-challenge-2023/)
+- [@official@SANS Holiday Hack](https://www.sans.org/mlp/holiday-hack-challenge-2023/)
- [@video@Official SANS Holiday Hack Challenge Video](https://www.youtube.com/watch?v=zfhhLi8jZzI)
diff --git a/src/data/roadmaps/cyber-security/content/shoulder-surfing@FD0bkmxNpPXiUB_NevEUf.md b/src/data/roadmaps/cyber-security/content/shoulder-surfing@FD0bkmxNpPXiUB_NevEUf.md
index 9c3359b49..7dcb41bba 100644
--- a/src/data/roadmaps/cyber-security/content/shoulder-surfing@FD0bkmxNpPXiUB_NevEUf.md
+++ b/src/data/roadmaps/cyber-security/content/shoulder-surfing@FD0bkmxNpPXiUB_NevEUf.md
@@ -4,7 +4,6 @@ In a Shoulder Surfing Attack, an attacker tries to get information when you are
Visit the following resources to learn more:
-- [@article@What is shoulder surfing, and how can you avoid it?](https://nordvpn.com/blog/shoulder-surfing/?srsltid=AfmBOorl5NPpW_Tnhas9gB2HiblorqwXyK0NJae7uaketrnDwbjJmiYV)
+- [@article@What is Shoulder Surfing, and How can you avoid it?](https://nordvpn.com/blog/shoulder-surfing/?srsltid=AfmBOorl5NPpW_Tnhas9gB2HiblorqwXyK0NJae7uaketrnDwbjJmiYV)
- [@article@What is Shoulder Surfing?](https://www.mcafee.com/learn/what-is-shoulder-surfing/)
- [@article@What is Shoulder Surfing? 9 ways to protect yourself](https://www.bigrock.in/blog/products/security/what-is-shoulder-surfing-9-ways-to-protect-yourself-from-shoulder-surfing/)
-
diff --git a/src/data/roadmaps/cyber-security/content/siem@c2kY3wZVFKZYxMARhLIwO.md b/src/data/roadmaps/cyber-security/content/siem@c2kY3wZVFKZYxMARhLIwO.md
index 3abc8a515..c04e86c86 100644
--- a/src/data/roadmaps/cyber-security/content/siem@c2kY3wZVFKZYxMARhLIwO.md
+++ b/src/data/roadmaps/cyber-security/content/siem@c2kY3wZVFKZYxMARhLIwO.md
@@ -1,7 +1,6 @@
# SIEM
-SIEM, short for Security Information and Event Manager, is a term used to describe tools that greatly increases visibility into a network or system.
-It does this by monitoring, filtering, collecting, normalizing, and correlating vast amounts of data such as logs, and neatly presents it via an interface/dashboard. Organizations leverage SIEMs to monitor and thus identify, protect, and respond to potential threats in their environment. For hands-on experience, you should consider setting up a SIEM in your own environment. There are some commercial tools that you can try out for free, and there are also open source alternatives, such as Wazuh or LevelBlue OSSIM (AlienVault).
+SIEM, short for Security Information and Event Manager, is a term used to describe tools that greatly increases visibility into a network or system. It does this by monitoring, filtering, collecting, normalizing, and correlating vast amounts of data such as logs, and neatly presents it via an interface/dashboard. Organizations leverage SIEMs to monitor and thus identify, protect, and respond to potential threats in their environment. For hands-on experience, you should consider setting up a SIEM in your own environment. There are some commercial tools that you can try out for free, and there are also open source alternatives, such as Wazuh or LevelBlue OSSIM (AlienVault).
Visit the following resources to learn more:
diff --git a/src/data/roadmaps/cyber-security/content/star@P0ZhAXd_H-mTOMr13Ag31.md b/src/data/roadmaps/cyber-security/content/star@P0ZhAXd_H-mTOMr13Ag31.md
index 00d43bda1..522ef0723 100644
--- a/src/data/roadmaps/cyber-security/content/star@P0ZhAXd_H-mTOMr13Ag31.md
+++ b/src/data/roadmaps/cyber-security/content/star@P0ZhAXd_H-mTOMr13Ag31.md
@@ -4,4 +4,5 @@ A star network topology is a configuration where all devices (nodes) are connect
Learn more from the following resources:
+- [@article@Star Topology](https://www.computerhope.com/jargon/s/startopo.htm)
- [@video@Star Topology](https://www.youtube.com/watch?v=EQ3rW22-Py0)
\ No newline at end of file
diff --git a/src/data/roadmaps/cyber-security/content/switch@r9byGV8XuBPzoqj5ZPf2W.md b/src/data/roadmaps/cyber-security/content/switch@r9byGV8XuBPzoqj5ZPf2W.md
index 333676f9a..3a09ad794 100644
--- a/src/data/roadmaps/cyber-security/content/switch@r9byGV8XuBPzoqj5ZPf2W.md
+++ b/src/data/roadmaps/cyber-security/content/switch@r9byGV8XuBPzoqj5ZPf2W.md
@@ -4,5 +4,5 @@ A switch is a network device that operates at the data link layer (Layer 2) of t
Learn more from the following resources:
-- [@article@What is a network switch?](https://www.cloudflare.com/en-gb/learning/network-layer/what-is-a-network-switch/)
-- [@video@What is a SWITCH?](https://www.youtube.com/watch?v=9eH16Fxeb9o)
\ No newline at end of file
+- [@article@What is a Network Switch?](https://www.cloudflare.com/en-gb/learning/network-layer/what-is-a-network-switch/)
+- [@video@What is a Switch?](https://www.youtube.com/watch?v=9eH16Fxeb9o)
\ No newline at end of file
diff --git a/src/data/roadmaps/cyber-security/content/true-negative--true-positive@M6uwyD4ibguxytf1od-og.md b/src/data/roadmaps/cyber-security/content/true-negative--true-positive@M6uwyD4ibguxytf1od-og.md
index 89203763b..1a5313a37 100644
--- a/src/data/roadmaps/cyber-security/content/true-negative--true-positive@M6uwyD4ibguxytf1od-og.md
+++ b/src/data/roadmaps/cyber-security/content/true-negative--true-positive@M6uwyD4ibguxytf1od-og.md
@@ -1,4 +1,4 @@
-## True Negative / True Positive
+# True Negative / True Positive
A True Positive occurs when a security system correctly identifies a genuine threat or malicious activity. It's an accurate alert that correctly detects an actual security incident. For example, an antivirus correctly flagging a file as malware. A True Negative is when a security system correctly identifies that there is no threat when indeed no threat exists. It's the system's accurate determination that normal, benign activity is not a security risk. For example, a firewall correctly allowing legitimate network traffic.
diff --git a/src/data/roadmaps/cyber-security/content/tryhackme@kht-L7_v-DbglMYUHuchp.md b/src/data/roadmaps/cyber-security/content/tryhackme@kht-L7_v-DbglMYUHuchp.md
index dbf6f9b5e..0d32bc7ee 100644
--- a/src/data/roadmaps/cyber-security/content/tryhackme@kht-L7_v-DbglMYUHuchp.md
+++ b/src/data/roadmaps/cyber-security/content/tryhackme@kht-L7_v-DbglMYUHuchp.md
@@ -4,5 +4,5 @@ TryHackMe is an online platform designed for cybersecurity training and learning
Learn more from the following resources:
-- [@official@TryHackMe Website](https://tryhackme.com/)
+- [@official@TryHackMe](https://tryhackme.com/)
- [@video@Start Your Cybersecurity Career with TryHackMe](https://www.youtube.com/watch?v=HPF8y_gDP7w)
\ No newline at end of file
diff --git a/src/data/roadmaps/cyber-security/content/understand-the-basics-and-general-flow-of-deploying-in-the-cloud@XL3FVeGFDhAl_gSol6Tjt.md b/src/data/roadmaps/cyber-security/content/understand-the-basics-and-general-flow-of-deploying-in-the-cloud@XL3FVeGFDhAl_gSol6Tjt.md
index b2cd60933..9e4f1980c 100644
--- a/src/data/roadmaps/cyber-security/content/understand-the-basics-and-general-flow-of-deploying-in-the-cloud@XL3FVeGFDhAl_gSol6Tjt.md
+++ b/src/data/roadmaps/cyber-security/content/understand-the-basics-and-general-flow-of-deploying-in-the-cloud@XL3FVeGFDhAl_gSol6Tjt.md
@@ -4,5 +4,5 @@ Deploying to the cloud involves the process of making applications, services, or
Learn more from the following resources:
-- [@article@What is cloud deployment?](https://www.cognizant.com/us/en/glossary/cloud-deployment)
+- [@article@What is Cloud Deployment?](https://www.cognizant.com/us/en/glossary/cloud-deployment)
- [@video@Deploying a Website to AWS in Under 1 Minute](https://www.youtube.com/watch?v=goiW0g7A0WE)
\ No newline at end of file
diff --git a/src/data/roadmaps/cyber-security/content/understand-the-concept-of-infrastructure-as-code@RJctUpvlUJGAdwBNtDSXw.md b/src/data/roadmaps/cyber-security/content/understand-the-concept-of-infrastructure-as-code@RJctUpvlUJGAdwBNtDSXw.md
index 1915a81d7..1876251f3 100644
--- a/src/data/roadmaps/cyber-security/content/understand-the-concept-of-infrastructure-as-code@RJctUpvlUJGAdwBNtDSXw.md
+++ b/src/data/roadmaps/cyber-security/content/understand-the-concept-of-infrastructure-as-code@RJctUpvlUJGAdwBNtDSXw.md
@@ -1,7 +1,10 @@
-# Understand the concept of infrastructure as code
+# Understand the concept of Infrastructure as Code
Infrastructure as Code (IaC) is a practice of managing and provisioning computing infrastructure through machine-readable definition files, rather than physical hardware configuration or interactive configuration tools. It treats infrastructure configuration as software, allowing it to be version-controlled, tested, and automatically deployed. IaC enables consistent, repeatable environment setups, reduces manual errors, facilitates rapid scaling and disaster recovery, and improves collaboration between development and operations teams. Popular IaC tools include Terraform, AWS CloudFormation, and Ansible, which use declarative or imperative approaches to define infrastructure states. This approach is fundamental to DevOps practices, cloud computing, and the efficient management of complex, dynamic IT environments.
Learn more from the following resources:
-- [@roadmap@Terraform Roadmap](https://roadmap.sh/terraform)
+- [@roadmap@Visit Dedicated Terraform Roadmap](https://roadmap.sh/terraform)
+- [@roadmap@Visit Dedicated AWS Roadmap](https://roadmap.sh/aws)
+- [@article@What is Infrastructure as Code? - IaC Explained - AWS](https://aws.amazon.com/what-is/iac/)
+- [@article@What is infrastructure as code (IaC)? - Azure DevOps](https://learn.microsoft.com/en-us/devops/deliver/what-is-infrastructure-as-code)
diff --git a/src/data/roadmaps/cyber-security/content/understand-the-concept-of-security-in-the-cloud@ThLsXkqLw--uddHz0spCH.md b/src/data/roadmaps/cyber-security/content/understand-the-concept-of-security-in-the-cloud@ThLsXkqLw--uddHz0spCH.md
index eb18ca0b3..0c76f9aad 100644
--- a/src/data/roadmaps/cyber-security/content/understand-the-concept-of-security-in-the-cloud@ThLsXkqLw--uddHz0spCH.md
+++ b/src/data/roadmaps/cyber-security/content/understand-the-concept-of-security-in-the-cloud@ThLsXkqLw--uddHz0spCH.md
@@ -4,5 +4,6 @@ Cloud security encompasses the measures, controls, policies, and technologies im
Learn more from the following resources:
-- [@article@What is cloud security](https://www.checkpoint.com/cyber-hub/cloud-security/what-is-cloud-security/)
+- [@article@What Is Cloud Security? - Google Cloud](https://cloud.google.com/learn/what-is-cloud-security)
+- [@article@Cloud Security](https://www.checkpoint.com/cyber-hub/cloud-security/what-is-cloud-security/)
- [@video@What is cloud security](https://www.youtube.com/watch?v=jI8IKpjiCSM)
\ No newline at end of file
diff --git a/src/data/roadmaps/cyber-security/content/understand-the-concept-of-serverless@-83ltMEl3le3yD68OFnTM.md b/src/data/roadmaps/cyber-security/content/understand-the-concept-of-serverless@-83ltMEl3le3yD68OFnTM.md
index 1e47c2a9f..169d29f7c 100644
--- a/src/data/roadmaps/cyber-security/content/understand-the-concept-of-serverless@-83ltMEl3le3yD68OFnTM.md
+++ b/src/data/roadmaps/cyber-security/content/understand-the-concept-of-serverless@-83ltMEl3le3yD68OFnTM.md
@@ -4,5 +4,5 @@ Serverless computing is a cloud execution model where the cloud provider dynamic
Learn more from the following resources:
-- [@article@What is serverless computing?](https://www.cloudflare.com/en-gb/learning/serverless/what-is-serverless/)
+- [@article@What is Serverless Computing?](https://www.cloudflare.com/en-gb/learning/serverless/what-is-serverless/)
- [@video@What is serverless?](https://www.youtube.com/watch?v=vxJobGtqKVM)
\ No newline at end of file
diff --git a/src/data/roadmaps/cyber-security/content/virtualbox@vGVFhZXYOZOy4qFpLLbxp.md b/src/data/roadmaps/cyber-security/content/virtualbox@vGVFhZXYOZOy4qFpLLbxp.md
index f34dd03d9..84d7774f8 100644
--- a/src/data/roadmaps/cyber-security/content/virtualbox@vGVFhZXYOZOy4qFpLLbxp.md
+++ b/src/data/roadmaps/cyber-security/content/virtualbox@vGVFhZXYOZOy4qFpLLbxp.md
@@ -4,5 +4,6 @@ VirtualBox is a free, open-source virtualization software developed by Oracle. I
Learn more from the following resources:
-- [@official@VirtualBox Website](https://www.virtualbox.org/)
+- [@official@VirtualBox](https://www.virtualbox.org/)
+- [@official@VirtualBox Documentation](https://www.virtualbox.org/wiki/Documentation)
- [@video@How to use VirtualBox](https://www.youtube.com/watch?v=nvdnQX9UkMY)
diff --git a/src/data/roadmaps/cyber-security/content/virustotal@rxzcAzHjzIc9lkWSw0fef.md b/src/data/roadmaps/cyber-security/content/virustotal@rxzcAzHjzIc9lkWSw0fef.md
index c1443719c..852525a76 100644
--- a/src/data/roadmaps/cyber-security/content/virustotal@rxzcAzHjzIc9lkWSw0fef.md
+++ b/src/data/roadmaps/cyber-security/content/virustotal@rxzcAzHjzIc9lkWSw0fef.md
@@ -4,7 +4,7 @@ VirusTotal's main feature is multi-scanning using over 70 antivirus scanners to
Visit the following resources to learn more:
-- [@official@VirusTotal's Docs on how VirusTotal Works](https://docs.virustotal.com/docs/how-it-works)
-- [@official@VirusTotal's website](https://www.virustotal.com)
+- [@official@VirusTotal](https://www.virustotal.com)
+- [@official@How VirusTotal Works](https://docs.virustotal.com/docs/how-it-works)
- [@article@@CISA's definition of VirusTotal](https://www.cisa.gov/resources-tools/services/virustotal)
- [@video@Walkthrough VirusTotal Intelligence Interface](https://www.youtube.com/watch?v=WoHVM8pCfsQ)
diff --git a/src/data/roadmaps/cyber-security/content/vmware@AjywuCZdBi9atGUbetlUL.md b/src/data/roadmaps/cyber-security/content/vmware@AjywuCZdBi9atGUbetlUL.md
index 00aa272ee..1b3065954 100644
--- a/src/data/roadmaps/cyber-security/content/vmware@AjywuCZdBi9atGUbetlUL.md
+++ b/src/data/roadmaps/cyber-security/content/vmware@AjywuCZdBi9atGUbetlUL.md
@@ -4,5 +4,5 @@ VMware is a leading provider of virtualization and cloud computing software. Its
Learn more from the following resources:
-- [@official@VMWare Website](https://www.vmware.com/)
+- [@official@VMWare](https://www.vmware.com/)
- [@video@What is VMWare](https://www.youtube.com/watch?v=zPNCp9AV-vA)
\ No newline at end of file
diff --git a/src/data/roadmaps/cyber-security/content/vulnhub@W94wY_otBuvVW_-EFlKA6.md b/src/data/roadmaps/cyber-security/content/vulnhub@W94wY_otBuvVW_-EFlKA6.md
index 3814cd716..eb6e1e640 100644
--- a/src/data/roadmaps/cyber-security/content/vulnhub@W94wY_otBuvVW_-EFlKA6.md
+++ b/src/data/roadmaps/cyber-security/content/vulnhub@W94wY_otBuvVW_-EFlKA6.md
@@ -4,5 +4,5 @@ VulnHub is an online platform that provides a collection of intentionally vulner
Learn more from the following resources:
-- [@official@Vulnhub Website](https://www.vulnhub.com/)
+- [@official@Vulnhub](https://www.vulnhub.com/)
- [@article@A Beginners Guide to Vulnhub](https://medium.com/@gavinloughridge/a-beginners-guide-to-vulnhub-part-1-52b06466635d)
\ No newline at end of file
diff --git a/src/data/roadmaps/cyber-security/content/watering-hole-attack@dcvuKHq0nHgHLcLwtl4IJ.md b/src/data/roadmaps/cyber-security/content/watering-hole-attack@dcvuKHq0nHgHLcLwtl4IJ.md
index 746a5cd5e..58dcd6ab2 100644
--- a/src/data/roadmaps/cyber-security/content/watering-hole-attack@dcvuKHq0nHgHLcLwtl4IJ.md
+++ b/src/data/roadmaps/cyber-security/content/watering-hole-attack@dcvuKHq0nHgHLcLwtl4IJ.md
@@ -4,5 +4,5 @@ Watering Hole Attack is a type of cyberattack where the attacker targets a speci
Visit the following resources to learn more:
-- [@article@What is a watering hole attack?](https://www.techtarget.com/searchsecurity/definition/watering-hole-attack)
+- [@article@What is a Watering Hole Attack?](https://www.techtarget.com/searchsecurity/definition/watering-hole-attack)
- [@video@Watering Hole Attacks](https://www.youtube.com/watch?v=uBoVWqkfZjk)
diff --git a/src/data/roadmaps/cyber-security/content/windows@BNUKEQ4YpZmIhSPQdkHgU.md b/src/data/roadmaps/cyber-security/content/windows@BNUKEQ4YpZmIhSPQdkHgU.md
index 0ff19f78d..f913e4c3b 100644
--- a/src/data/roadmaps/cyber-security/content/windows@BNUKEQ4YpZmIhSPQdkHgU.md
+++ b/src/data/roadmaps/cyber-security/content/windows@BNUKEQ4YpZmIhSPQdkHgU.md
@@ -4,6 +4,6 @@ Windows is Microsoft's widely-used operating system for personal computers and s
Learn more from the following resources:
-- [@article@Windows Security](https://learn.microsoft.com/en-us/windows/security/)
-- [@youtube@Windows 11 Full Tutorial - A 2 Hour Course to Learn and Master Windows 11](https://www.youtube.com/watch?v=UKn-r3X2CLk)
+- [@official@Windows Security](https://learn.microsoft.com/en-us/windows/security/)
+- [@video@Windows 11 Full Tutorial - A 2 Hour Course to Learn and Master Windows 11](https://www.youtube.com/watch?v=UKn-r3X2CLk)
- [@feed@Explore top posts about Windows](https://app.daily.dev/tags/windows?ref=roadmapsh)
diff --git a/src/data/roadmaps/cyber-security/content/winhex@gNan93Mg9Ym2AF3Q2gqoi.md b/src/data/roadmaps/cyber-security/content/winhex@gNan93Mg9Ym2AF3Q2gqoi.md
index e9e019a51..a3c638324 100644
--- a/src/data/roadmaps/cyber-security/content/winhex@gNan93Mg9Ym2AF3Q2gqoi.md
+++ b/src/data/roadmaps/cyber-security/content/winhex@gNan93Mg9Ym2AF3Q2gqoi.md
@@ -4,5 +4,5 @@ WinHex is a universal hexadecimal editor and disk editor primarily used for comp
Learn more from the following resources:
-- [@official@WinHex Website](https://x-ways.net/winhex/)
+- [@official@WinHex](https://x-ways.net/winhex/)
- [@article@What is WinHex?](https://www.lenovo.com/in/en/glossary/winhex/)
\ No newline at end of file
diff --git a/src/data/roadmaps/cyber-security/content/wireshark@Sm9bxKUElINHND8FdZ5f2.md b/src/data/roadmaps/cyber-security/content/wireshark@Sm9bxKUElINHND8FdZ5f2.md
index 96e0ead74..9d3ff8ce9 100644
--- a/src/data/roadmaps/cyber-security/content/wireshark@Sm9bxKUElINHND8FdZ5f2.md
+++ b/src/data/roadmaps/cyber-security/content/wireshark@Sm9bxKUElINHND8FdZ5f2.md
@@ -1,9 +1,9 @@
-# wireshark
+# Wireshark
Wireshark is a powerful, open-source network protocol analyzer used for real-time packet capture and analysis. It allows users to examine network traffic at a microscopic level, capturing and interactively browsing the traffic running on a computer network. Wireshark can decode a wide variety of network protocols, making it an essential tool for network troubleshooting, security analysis, software and protocol development, and education. It provides a user-friendly graphical interface and offers features like deep inspection of hundreds of protocols, live capture and offline analysis, and the ability to read/write many different capture file formats. Wireshark is widely used by IT professionals, security experts, and developers for diagnosing network issues and understanding network communication.
Learn more from the following resources:
-- [@official@Wireshark Website](https://www.wireshark.org/)
+- [@official@Wireshark](https://www.wireshark.org/)
- [@article@How to Use Wireshark: Comprehensive Tutorial + Tips](https://www.varonis.com/blog/how-to-use-wireshark)
- [@video@How to use Wireshark](https://www.youtube.com/watch?v=zWoHJ3oGRGY)
\ No newline at end of file
diff --git a/src/data/roadmaps/cyber-security/content/wlan@QCVYF1rmPsMVtklBNDNaB.md b/src/data/roadmaps/cyber-security/content/wlan@QCVYF1rmPsMVtklBNDNaB.md
index c0c60baf1..015e66129 100644
--- a/src/data/roadmaps/cyber-security/content/wlan@QCVYF1rmPsMVtklBNDNaB.md
+++ b/src/data/roadmaps/cyber-security/content/wlan@QCVYF1rmPsMVtklBNDNaB.md
@@ -7,4 +7,3 @@ Visit the following resources to learn more:
- [@article@What Is a Wireless LAN?](https://www.cisco.com/c/en/us/products/wireless/wireless-lan.html)
- [@video@Wireless Networking Explained | Cisco CCNA 200-301](https://www.youtube.com/watch?v=Uz-RTurph3c)
- [@video@Wireless Technologies](https://www.youtube.com/watch?v=_VwpcLiBkAQ)
-
diff --git a/src/data/roadmaps/cyber-security/cyber-security.md b/src/data/roadmaps/cyber-security/cyber-security.md
index c52b840bf..fa1c17fd4 100644
--- a/src/data/roadmaps/cyber-security/cyber-security.md
+++ b/src/data/roadmaps/cyber-security/cyber-security.md
@@ -28,7 +28,6 @@ seo:
- 'cyber security skills'
- 'guide to cyber security'
- 'cyber security roadmap'
- - 'cyber security skills'
- 'cyber security skills test'
- 'skills for cyber security'
- 'what is cyber security'
@@ -38,7 +37,6 @@ seo:
- 'cyber security expert roadmap'
- 'become a cyber security expert'
- 'cyber security expert career path'
- - 'cyber security expert'
- 'modern cyber security expert'
relatedRoadmaps:
- 'backend'
diff --git a/src/data/roadmaps/react/content/react-router@jvp43wFkKlGQX2y7IxkbM.md b/src/data/roadmaps/react/content/react-router@jvp43wFkKlGQX2y7IxkbM.md
index dc8884770..905f375d3 100644
--- a/src/data/roadmaps/react/content/react-router@jvp43wFkKlGQX2y7IxkbM.md
+++ b/src/data/roadmaps/react/content/react-router@jvp43wFkKlGQX2y7IxkbM.md
@@ -5,10 +5,3 @@ React router is the most famous library when it comes to implementing routing in
Visit the following resources to learn more:
- [@official@React Router — Official Website](https://reactrouter.com/)
-- [@official@Getting Started Guide](https://reactrouter.com/en/main/start/tutorial)
-- [@video@React Router v6 in 1 hour](https://youtu.be/0cSVuySEB0A)
-- [@article@How to use React Router v6](https://www.robinwieruch.de/react-router/)
-- [@article@React Router Cheat Sheet](https://devhints.io/react-router/)
-- [@feed@Explore top posts about React](https://app.daily.dev/tags/react?ref=roadmapsh)
-- [@official@Tanstack/Router — Official Website](https://tanstack.com/router/latest/docs/framework/react/overview)
-- [@video@TanStack/Router - Complete Course](https://www.youtube.com/watch?v=4sslBg8LprE&list=PLOQjd5dsGSxJilh0lBofeY8Qib98kzmF5)
diff --git a/src/data/roadmaps/system-design/system-design.json b/src/data/roadmaps/system-design/system-design.json
index 61eceab08..7b6ced3d3 100644
--- a/src/data/roadmaps/system-design/system-design.json
+++ b/src/data/roadmaps/system-design/system-design.json
@@ -6912,8 +6912,8 @@
},
"selected": false,
"data": {
- "label": "System Design",
- "href": "https://roadmap.sh/system-design",
+ "label": "Software Architect",
+ "href": "https://roadmap.sh/software-architect",
"color": "#FFFFFf",
"backgroundColor": "#4136D6",
"style": {
diff --git a/src/data/videos/frontend-explaination.md b/src/data/videos/frontend-explaination.md
index 02655274d..3247fcdb5 100644
--- a/src/data/videos/frontend-explaination.md
+++ b/src/data/videos/frontend-explaination.md
@@ -13,4 +13,4 @@ tags:
- 'video-sitemap'
---
-
+
diff --git a/src/hooks/use-custom-roadmap.ts b/src/hooks/use-custom-roadmap.ts
index 2a9858835..77a996b5d 100644
--- a/src/hooks/use-custom-roadmap.ts
+++ b/src/hooks/use-custom-roadmap.ts
@@ -1,6 +1,6 @@
import { useQuery } from '@tanstack/react-query';
import type { GetRoadmapResponse } from '../components/CustomRoadmap/CustomRoadmap';
-import { httpGet, type FetchError } from '../lib/query-http';
+import { httpGet, FetchError } from '../lib/query-http';
import { queryClient } from '../stores/query-client';
type UseCustomRoadmapOptions = {
@@ -22,17 +22,25 @@ export function useCustomRoadmap(options: UseCustomRoadmapOptions) {
},
],
queryFn: async () => {
- const roadmapUrl = slug
- ? new URL(
- `${import.meta.env.PUBLIC_API_URL}/v1-get-roadmap-by-slug/${slug}`,
- )
- : new URL(`${import.meta.env.PUBLIC_API_URL}/v1-get-roadmap/${id}`);
+ try {
+ const roadmapUrl = slug
+ ? new URL(
+ `${import.meta.env.PUBLIC_API_URL}/v1-get-roadmap-by-slug/${slug}`,
+ )
+ : new URL(`${import.meta.env.PUBLIC_API_URL}/v1-get-roadmap/${id}`);
- if (secret) {
- roadmapUrl.searchParams.set('secret', secret);
- }
+ if (secret) {
+ roadmapUrl.searchParams.set('secret', secret);
+ }
+
+ return await httpGet(roadmapUrl.toString());
+ } catch (error) {
+ if (error instanceof SyntaxError) {
+ throw new FetchError(404, 'Roadmap not found');
+ }
- return httpGet(roadmapUrl.toString());
+ throw error;
+ }
},
retry: false,
enabled: !!(slug || id),
diff --git a/src/layouts/BaseLayout.astro b/src/layouts/BaseLayout.astro
index 83c6b2f60..701c57403 100644
--- a/src/layouts/BaseLayout.astro
+++ b/src/layouts/BaseLayout.astro
@@ -186,6 +186,7 @@ const gaPageIdentifier = Astro.url.pathname
+
diff --git a/src/lib/query-http.ts b/src/lib/query-http.ts
index 64ba4db7c..48737bb64 100644
--- a/src/lib/query-http.ts
+++ b/src/lib/query-http.ts
@@ -6,9 +6,19 @@ type HttpOptionsType = RequestInit;
type AppResponse = Record;
-export interface FetchError extends Error {
+export class FetchError extends Error {
status: number;
message: string;
+
+ constructor(status: number, message: string) {
+ super(message);
+ this.status = status;
+ this.message = message;
+ }
+
+ static isFetchError(error: any): error is FetchError {
+ return error instanceof FetchError;
+ }
}
type AppError = {
@@ -69,10 +79,7 @@ export async function httpCall(
if (!response.ok) {
if (data.errors) {
- const error = new Error() as FetchError;
- error.message = data.message;
- error.status = response?.status;
- throw error;
+ throw new FetchError(response?.status, data.message);
} else {
throw new Error('An unexpected error occurred');
}
diff --git a/src/pages/get-started.astro b/src/pages/get-started.astro
index 8555b0f88..695a1f654 100644
--- a/src/pages/get-started.astro
+++ b/src/pages/get-started.astro
@@ -356,6 +356,13 @@ import ChangelogBanner from '../components/ChangelogBanner.astro';
description='Learn all you need to become an AI Engineer.'
/>
+
+