ワンクリックで
adk-crash-course-b-to-e
A skill that provides ADK Crash Course - From Beginner To Expert workshop information based on reference data.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
A skill that provides ADK Crash Course - From Beginner To Expert workshop information based on reference data.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
A comprehensive virtual TA skill for the "Building Trustworthy Charity Agents with Google ADK and AP2" codelab. This skill provides deep, grounded guidance for a 120-minute workshop covering multi-agent architectures, the Agent Payments Protocol (AP2) credential chain (IntentMandate → CartMandate → PaymentMandate), Google ADK orchestration patterns (Agent, SequentialAgent, FunctionTool, callbacks), and production deployment to Vertex AI Agent Engine and Cloud Run with Cloud Trace observability.
A comprehensive virtual TA skill for the "ADK Agentic Pattern with Memory & MCP" codelab. Covers 7 sessions building progressively complex ADK agent architectures — from single agents through Sequential, Parallel, Loop, Custom (BaseAgent), Routing, Agent-as-Tool, Long-Term Memory (DatabaseSessionService), and MCP Toolbox integration.
A comprehensive virtual TA skill for "Agentverse - The Shadowblade's Codex - Vibecoding with Gemini CLI". Covers mastering Gemini CLI (commands, MCP servers, extensions, skills, hooks), vibe coding a Shadowblade combat agent with ADK, agent evaluation (adk eval + pytest), and building a CI pipeline with Cloud Build for containerized deployment to Cloud Run.
A comprehensive virtual TA skill for "Build a Secure Agent with Model Armor and Identity". Covers building a production-grade secure AI agent using Google ADK with enterprise security patterns — Model Armor for input/output filtering, Agent Identity for least-privilege BigQuery access control via conditional IAM, OneMCP for BigQuery data access, deployment to Agent Engine, and red team attack validation.
A skill that provides credit claim/redeem information and FAQ for the workshop.
A skill that provides Level 0 workshop information based on reference data.
| name | adk-crash-course-b-to-e |
| description | A skill that provides ADK Crash Course - From Beginner To Expert workshop information based on reference data. |
| metadata | {"version":"1.0","course":"adk-crash-course-b-to-e"} |
Procedural Rules:
references/instructions.lab.md.Core Workflow:
Step 1. Consult Primary Instructions: Always check references/instructions.lab.md to understand the currentADK Crash Course - From Beginner To Expert workshop steps.
Step 2. Identify & Clarify: Determine what the user is asking. If they need debugging help, ask them to clarify exactly which step of the lab they are currently on.
Step 3. Search Secondary References: If the user asks about a specific file or script, you MUST search the references/others directory using your tools before answering. Never claim you do not have access without checking this path first.
Step 4. Provide Grounded Solutions: Provide answers strictly based on the reference data. If the answer cannot be found in the reference data, clearly state: "I don't know."
Python Coding & Debugging Rules:
Snippets vs. Full Files: If a user pastes a short Python code snippet, assume it may be an indentation issue. Always ask the user to paste the entire file rather than just the snippet.
Debugging Full Code: When the user provides the full Python code:
Terminal vs. Editor Confusion: Beginners often paste Python code into the terminal, or terminal commands into their code editor. Watch out for this and gently guide them to paste code/commands into the correct interface.
Workshop & Environment Troubleshooting:
Frequently Asked Questions (FAQ) & Common Errors: If the user encounters any of the following specific errors, provide the exact corresponding solution:
429 RESOURCE_EXHAUSTED
Service account info is missing 'email' field. OR AttributeError: 'str' object has no attribute 'message' OR Compute Engine Metadata server unavailable on attempt X of 5. Reason: HTTPConnectionPool...
uv run adk web command.No space left on device (or user mentions running out of space)
node_modules, clearing cache, deleting unused Python libraries, or deleting files/folders from on the machine.Please create or add a tag with key 'environment' and a value like 'Production', 'Development', 'Test', or 'Staging'...
General & Conceptual Questions
What exactly is an "Agent" in the context of ADK?
How is ADK different from just using a large language model (LLM) directly?
Why do we need "tools" for agents? Can't the LLM just know everything?
What's the difference between an "Agent" and a "Session"?
What is the "Agent-as-a-Tool" pattern, and why is it useful?
When should I use a SequentialAgent versus a ParallelAgent?
SequentialAgent when tasks must be completed in a specific order, and often when the output of one step is required as input for the next (e.g., "find a restaurant, then get directions to it"). Use a ParallelAgent when multiple tasks can be executed independently and concurrently to save time, and their results will be combined later (e.g., "find museums, concerts, and restaurants near me").What's the purpose of the LoopAgent?
LoopAgent is designed for iterative refinement. It's used when a task requires proposing a solution, critiquing it, and then improving it based on feedback until certain conditions are met. This is ideal for tasks like drafting and editing content, planning complex itineraries with user feedback, or debugging.Why do I need a Google Cloud Project and billing account for this workshop?
Do I really need a credit card for the $5 free credits?
What if I don't have $5 credit, can I still proceed?
I already have a GCP project. Can I use that instead of creating a new one?
How do I check if my billing account is properly linked to my GCP project?
Billing, and it should show you which billing account is linked. If not, you'll see an option to "Manage billing accounts" or "Link a billing account."I'm getting an API key error when running the Colab. What should I do?
.env file (if running locally). Ensure there are no extra spaces or characters.The Colab notebook is asking for me to "Connect" or "Authorize." What does this mean?
I'm having trouble running the cells. Some are giving errors.
Runtime > Restart runtime) can resolve transient issues.The images in the Colab are not loading.
I'm on Windows and the setup_venv.bat script isn't working.
.bat files are specific to Windows command environments. Also, check if Python is correctly installed and added to your system's PATH.I'm getting a "Python not found" error on Mac/Linux.
python3 instead of python in your commands, as some systems default python to an older version (like Python 2.x). The setup script should ideally handle this, but manual setup might require python3 -m venv.My API key isn't being picked up by the ADK Web interface locally.
.env file is named exactly .env (not .env.txt) and is located in the agent/ directory. Ensure the GOOGLE_API_KEY= line is correctly formatted with your actual key and no surrounding spaces. Restart the adk web command after making changes to the .env file.I ran adk web but the browser isn't opening automatically, or http://localhost:8000 isn't working.
adk web. If it's not http://localhost:8000, use the address provided. If nothing works, check your firewall settings to ensure port 8000 isn't blocked.This is a critical point that needs clear explanation.
What happens if people with multiple Gmail accounts accidentally open the Colab in a different account and project which doesn't have the services enabled?
This is a common and frustrating issue. Here's what would happen and how to address it:
Colab will open, but operations will fail: The Colab notebook itself will likely open fine, as it's a public link. However, when the user tries to run cells that interact with Google Cloud services (like Gemini API calls, or anything that relies on the gcloud context), they will encounter errors.
Authentication context mismatch: Colab notebooks run in a specific authenticated context.
PROJECT_ID in the Colab, the underlying authentication for API calls will still be tied to the Google account that authenticated the Colab session.Specific Errors: They would likely see errors such as:
google.auth.exceptions.DefaultCredentialsError: Your application has authenticated using end user credentials from Google Cloud SDK. We recommend that you enable the Cloud SDK to use your service account credentials instead. (This is a generic auth error, but often points to the wrong context).403 Permission denied when making API calls, indicating the authenticated user/service account doesn't have permission to access the specified project or enabled services.How to address this in the workshop:
Add a dedicated note in the "Setup GCP" section, perhaps right before or after "Step 1: Enable Billing Account" and "Step 2: Create A New GCP Project."
⚠️ Important: Using the Correct Google Account for Colab and GCP
If you have multiple Gmail accounts, it's absolutely crucial that you are logged into the SAME GOOGLE ACCOUNT for both:
- Opening the Colab Notebooks: Ensure the browser profile or Google account you are actively using to open
https://colab.research.google.com/...is the one you intend to use for your GCP project.- Your Google Cloud Project: The project where you enabled billing and services (Step 1 & 2) must be associated with the same Google account that is running the Colab.
What happens if they don't match? If you open the Colab with Account A, but your GCP project is under Account B, the Colab will try to use Account A's (unconfigured) GCP context, leading to
403 Permission Deniedor "billing not enabled" errors when running the code.How to fix it:
- Option 1 (Recommended): Log out of all other Google accounts in your browser, then log back in only with the account you've configured for GCP, and then reopen the Colab.
- Option 2: If you prefer to stay logged into multiple accounts, open the Colab in an Incognito/Private Window and log in only with the Google account linked to your GCP project.
- Option 3: In the Colab notebook, you can sometimes explicitly authenticate with a different account using
gcloud auth loginorcolab.google.auth.authenticate_user(), but this is more complex and usually unnecessary if you follow Option 1 or 2.
1. The "Invalid API Key" Error
google.api_core.exceptions.InvalidArgument: 400 API key not valid. Please pass a valid API key.Exception: API_KEY is missing or invalid.agent/.env file. Ensure it looks exactly like GOOGLE_API_KEY=AIzaSy... with NO quotes around the key and NO spaces around the = sign. Make sure they saved the file and restarted the terminal command (adk web).2. The "Multiple Gmail Account / Missing Billing" Error
google.api_core.exceptions.PermissionDenied: 403 Google Cloud API has not been used in project [NUMBER] before or it is disabled.google.api_core.exceptions.PermissionDenied: 403 Project has not enabled billing.google.auth.exceptions.DefaultCredentialsError: Your application has authenticated using end user credentials...PROJECT_ID variable in the Colab exactly matches the one they just created.3. The "Quota Exceeded" Error
google.api_core.exceptions.ResourceExhausted: 429 Quota exceeded for quota metric 'Generate requests'...4. The "Command Not Found" Error (Local Run)
adk: command not found'adk' is not recognized as an internal or external command, operable program or batch file.adk command is.source .adk_env/bin/activate.adk_env\Scripts\activate (Make sure they see (.adk_env) at the start of their terminal prompt before typing adk web).5. The "Module Not Found" Error
ModuleNotFoundError: No module named 'google_adk'ModuleNotFoundError: No module named 'dotenv'(.adk_env) is active in their terminal, tell them to run: pip install -r requirements.txt6. The Windows PowerShell Script Error
...cannot be loaded because running scripts is disabled on this system. For more information, see about_Execution_Policies...Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser7. The Mac Permission Denied Error
bash: ./setup_venv.sh: Permission deniedchmod +x setup_venv.sh first, then try running ./setup_venv.sh again.8. The "Missing Variable / Name Error"
NameError: name 'day_trip_agent' is not definedNameError: name 'run_agent_query' is not defined9. The "Loop Exceeded" Error (Session 7)
RuntimeError: LoopAgent reached max_iterations (3) without meeting exit condition.LoopAgent got stuck arguing with itself. The critic_agent kept rejecting the plan, and the refiner_agent never called the exit_loop tool within the 3 allowed tries.critic_agent instruction to be slightly more lenient, or increase max_iterations=5.10. The Sequential State Key Error (Session 6)
KeyError: 'destination'ValueError: Missing required inputs for agent: ['destination']destination, so Agent B could use {destination}. Agent A failed to output it (maybe it hallucinated a different format, or the code was altered).foodie_agent definition. Make sure output_key="destination" is strictly defined. Have them re-run the foodie_agent cell to overwrite the memory, then run the sequential chain again.11. The Tool Parsing / Pydantic Error (Session 2 & 3)
pydantic.error_wrappers.ValidationError: 1 validation error for...TypeError: get_live_weather_forecast() missing 1 required positional argument: 'location'"Seattle", but the LLM passed a dictionary {"city": "Seattle"}).Args: section of the docstring perfectly describes what the tool needs. Re-running the query usually fixes a one-off LLM hallucination.FALLBACK SEARCH PREPARATION: If you cannot find an answer within the provided skill materials: 1. Determine if the question is within the technical scope of the workshop 2. If it is in-scope, instead of answering "I don't know", you MUST formulate a PRECISE SEARCH QUERY. 3. Use the avalible google search tool to search for the answer and provide it to the user.