GCP To AWS
aws/agent-toolkit-for-aws
Migrate workloads from Google Cloud Platform to AWS — plus AI and agentic workloads from any provider.
Scaffold a new Agent Kernel project from scratch. An agent skill from yaalalabs/agent-kernel.
$ npx skills add yaalalabs/agent-kernel --skill ak-init -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install yaalalabs/agent-kernel ak-init --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/yaalalabs/agent-kernel.git skills-src && mkdir -p .claude/skills && cp -r skills-src/ak-py/src/agentkernel/skills/ak-init .claude/skills/ak-init && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "ak-init" agent skill from https://github.com/yaalalabs/agent-kernel/tree/develop/ak-py/src/agentkernel/skills/ak-init into .claude/skills/ak-init/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ak-init", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/yaalalabs/agent-kernel/tree/develop/ak-py/src/agentkernel/skills/ak-initType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add yaalalabs/agent-kernel --skill ak-init -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install yaalalabs/agent-kernel ak-init --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/yaalalabs/agent-kernel.git skills-src && mkdir -p .agents/skills && cp -r skills-src/ak-py/src/agentkernel/skills/ak-init .agents/skills/ak-init && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "ak-init" agent skill from https://github.com/yaalalabs/agent-kernel/tree/develop/ak-py/src/agentkernel/skills/ak-init into .agents/skills/ak-init/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ak-init", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add yaalalabs/agent-kernel --skill ak-init -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install yaalalabs/agent-kernel ak-init --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/yaalalabs/agent-kernel.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/ak-py/src/agentkernel/skills/ak-init .cursor/skills/ak-init && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "ak-init" agent skill from https://github.com/yaalalabs/agent-kernel/tree/develop/ak-py/src/agentkernel/skills/ak-init into .cursor/skills/ak-init/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ak-init", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/yaalalabs/agent-kernel.git --path ak-py/src/agentkernel/skills/ak-init--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add yaalalabs/agent-kernel --skill ak-init -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install yaalalabs/agent-kernel ak-init --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/yaalalabs/agent-kernel.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/ak-py/src/agentkernel/skills/ak-init .gemini/skills/ak-init && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "ak-init" agent skill from https://github.com/yaalalabs/agent-kernel/tree/develop/ak-py/src/agentkernel/skills/ak-init into .gemini/skills/ak-init/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ak-init", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install yaalalabs/agent-kernel ak-initInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add yaalalabs/agent-kernel --skill ak-init -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/yaalalabs/agent-kernel.git skills-src && mkdir -p .github/skills && cp -r skills-src/ak-py/src/agentkernel/skills/ak-init .github/skills/ak-init && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "ak-init" agent skill from https://github.com/yaalalabs/agent-kernel/tree/develop/ak-py/src/agentkernel/skills/ak-init into .github/skills/ak-init/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ak-init", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add yaalalabs/agent-kernel --skill ak-init -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install yaalalabs/agent-kernel ak-init --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/yaalalabs/agent-kernel.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/ak-py/src/agentkernel/skills/ak-init .opencode/skills/ak-init && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "ak-init" agent skill from https://github.com/yaalalabs/agent-kernel/tree/develop/ak-py/src/agentkernel/skills/ak-init into .opencode/skills/ak-init/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ak-init", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
ak-initScaffold a new Agent Kernel project from scratch. An agent skill from yaalalabs/agent-kernel.
Ak Init is an agent skill from yaalalabs/agent-kernel. Scaffold a new Agent Kernel project from scratch. This skill guides you through choosing an agent framework, defining tools, selecting a deployment target, and generating a complete project with all necessary files. Designed for users who want to build a new AI agent using the Agent Kernel library.
Its SKILL.md is about 2.8k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files (for example `evals/evals.json`).
It sits in AI & LLM Engineering, covering Building AI agents and Deployment. It works with Amazon Web Services, Google Cloud and Microsoft Azure. The repository describes itself as: The Operating System for Scalable Enterprise AI Agents - Run, orchestrate, and deploy Compliant Enterprise AI Agents at scale across frameworks, without lock-in, rewrites or… The licence is Apache-2.0.
4 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 97fa8d9. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
uvpythonFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use uv, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names these keys or tokens, usually read from environment variables:
OPENAI_API_KEYGOOGLE_API_KEYFrom names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Ak Init loads about 2.8k tokens when it runs. Until then it costs about 77 tokens; SKILL.md has 599 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from yaalalabs/agent-kernel at commit 97fa8d9, republished under its Apache-2.0 licence (© yaalalabs). 599 words, ~2,832 tokens.
.claude/skills/ak-init/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.Use this skill to create a new AI agent project powered by Agent Kernel.
When the user wants to create a new agent project, follow this interactive workflow:
Ask the user the following questions (adapt based on context):
Agent framework: Which agent framework would you like to use?
FallbackModel failover)Agent purpose: What should your agent(s) do? (e.g., "customer support bot", "code review assistant", "data analysis agent")
Tools: Does your agent need any custom tools? (e.g., "fetch weather data", "query a database", "search the web")
Multi-agent: Do you need multiple specialized agents with a triage/routing agent?
Deployment mode: How will you run the agent?
Session persistence: How should conversation state be stored?
Based on the answers, generate the following project structure:
<project-name>/
├── pyproject.toml # Dependencies and project metadata
├── build.sh # Build script
├── config.yaml # Agent Kernel configuration
├── <main-file>.py # Agent definition (demo.py, app.py, or lambda.py)
├── tool.py # Custom tool functions (if needed)
├── <main-file>_test.py # Test file
├── README.md # Project documentation
└── deploy/ # Deployment files (if cloud deployment selected)
├── main.tf
├── variables.tf
├── outputs.tf
├── terraform.tfvars
├── deploy.sh
├── Dockerfile # For containerized deployments
└── backend.tf[project]
name = "<project-name>"
version = "0.1.0"
description = "<description>"
readme = "README.md"
requires-python = ">=3.12"
dependencies = [
"agentkernel[<extras>]>=0.9.5",
]
[dependency-groups]
dev = [
"agentkernel[test]>=0.9.5",
"black>=23.0.0",
"isort>=5.0.0",
"mypy>=1.0.0",
]
[tool.uv]
package = false
[tool.isort]
profile = "black"
line_length = 120
[tool.black]
line-length = 120
target-version = ["py312"]Extras selection:
agentkernel[cli,<framework>]agentkernel[<framework>,api]smolagentspydanticai (installs the provider-agnostic pydantic-ai-slim core only — also add a provider, e.g. pydantic-ai-slim[openai])slack, whatsapp, etc.redis, aws (for DynamoDB), azure (for Cosmos DB)langfuse, openllmetry, logfire, or cloudwatchFor OpenAI framework (CLI mode):
from agentkernel.cli import CLI
from agentkernel.openai import OpenAIModule, OpenAIToolBuilder
from agents import Agent
# Import custom tools if needed
# from tool import my_tool
# Define specialized agents
<agent_name> = Agent(
name="<name>",
instructions="<instructions for this agent>",
# tools=OpenAIToolBuilder.bind([my_tool]), # if tools needed
)
# Define triage agent (if multi-agent)
triage_agent = Agent(
name="triage",
instructions="You determine which agent to use based on the user's question.",
handoffs=[<agent_name>],
)
# Register with Agent Kernel
OpenAIModule([triage_agent, <agent_name>])
if __name__ == "__main__":
CLI.main()For OpenAI framework (API mode):
from agentkernel.api import RESTAPI
from agentkernel.openai import OpenAIModule
from agents import Agent
<agent_name> = Agent(
name="<name>",
instructions="<instructions>",
)
OpenAIModule([<agent_name>])
if __name__ == "__main__":
RESTAPI.run()For OpenAI framework (AWS Lambda):
from agentkernel.aws import Lambda
from agentkernel.openai import OpenAIModule
from agents import Agent
<agent_name> = Agent(
name="<name>",
instructions="<instructions>",
)
OpenAIModule([<agent_name>])
handler = Lambda.handlerFor LangGraph framework:
from agentkernel.cli import CLI # or RESTAPI, Lambda
from agentkernel.langgraph import LangGraphModule
from langchain_openai import ChatOpenAI
from langgraph.prebuilt import create_react_agent
model = ChatOpenAI(model="gpt-4o-mini", temperature=0.0)
<agent_name> = create_react_agent(
name="<name>",
tools=[],
model=model,
prompt="<instructions>",
)
LangGraphModule([<agent_name>])
if __name__ == "__main__":
CLI.main()For CrewAI framework:
from agentkernel.cli import CLI # or RESTAPI, Lambda
from agentkernel.crewai import CrewAIModule
from crewai import Agent
<agent_name> = Agent(
role="<role>", # role= is the agent identifier in Agent Kernel
goal="<goal>",
backstory="<backstory>",
verbose=False,
)
# Pass agents directly — Agent Kernel builds the Crew and Task internally per run
CrewAIModule([<agent_name>])
if __name__ == "__main__":
CLI.main()For Google ADK framework:
from agentkernel.cli import CLI # or RESTAPI, Lambda
from agentkernel.adk import GoogleADKModule
from google.adk.agents import Agent
<agent_name> = Agent(
name="<name>",
model="gemini-2.0-flash",
instruction="<instructions>",
)
GoogleADKModule([<agent_name>])
if __name__ == "__main__":
CLI.main()For Smolagents framework:
from agentkernel.cli import CLI # or RESTAPI, Lambda
from agentkernel.smolagents import SmolagentsModule, SmolagentsToolBuilder
from smolagents import LiteLLMModel, ToolCallingAgent
model = LiteLLMModel(model_id="openai/gpt-4o")
<agent_name> = ToolCallingAgent(
tools=SmolagentsToolBuilder.bind([]),
model=model,
name="<name>",
description="<instructions>",
)
SmolagentsModule([<agent_name>])
if __name__ == "__main__":
CLI.main()For Pydantic AI framework:
from agentkernel.cli import CLI # or RESTAPI, Lambda
from agentkernel.pydanticai import PydanticAIModule, PydanticAIToolBuilder
from pydantic_ai import Agent
# Provider-agnostic: swap the model string for "anthropic:...", "google-gla:...", etc.
# (install the matching provider extra, e.g. pydantic-ai-slim[anthropic]).
<agent_name> = Agent(
model="openai:gpt-4o-mini",
name="<name>", # required — AK registers agents by name eagerly
description="<short description>", # set it — AK reports this as the agent description / A2A summary
instructions="<instructions>",
tools=PydanticAIToolBuilder.bind([]),
)
PydanticAIModule([<agent_name>])
if __name__ == "__main__":
CLI.main()from agentkernel.core import ToolContext
def <tool_name>(<params>) -> str:
"""<Tool description — this becomes the tool's description for the LLM>"""
# Access session context if needed:
# context = ToolContext.get()
# session = context.session
# Tool implementation
return "<result>"For OpenAI framework, bind tools using: tools=OpenAIToolBuilder.bind([<tool_name>])
For other frameworks, use their native tool binding mechanism.
# Session configuration (if not in-memory)
session:
type: redis # redis | dynamodb | cosmosdb
cache: 256 # LRU cache size (optional)
redis:
prefix: "ak:<project>:"
url: "redis://localhost:6379"
# Tracing (optional)
# trace:
# enabled: true
# type: langfuse # langfuse | openllmetry | logfire | cloudwatchTest harness configuration is not part of config.yaml — it lives in its own file, loaded
only when tests run (a test: section left in config.yaml is ignored):
mode: score # score | llm | fallback (default: fallback)#!/bin/bash
uv venv && uv syncimport pytest
import pytest_asyncio
from agentkernel.test import Test
pytestmark = pytest.mark.asyncio(loop_scope="session")
@pytest_asyncio.fixture(scope="session", loop_scope="session")
async def test_client():
test = Test("<main-file>.py")
await test.start()
try:
yield test
finally:
await test.stop()
@pytest.mark.order(1)
async def test_basic_response(test_client):
await test_client.send("<sample question>")
await test_client.expect(["<expected answer pattern>"])After generating the project, tell the user:
export OPENAI_API_KEY=sk-...export GOOGLE_API_KEY=...chmod +x build.sh && ./build.sh to set up the environmentsource .venv/bin/activatepython <main-file>.pyuv run pytestYour project is scaffolded and running. Here's the natural progression:
ak-build skill to add new tools, specialist agents, and handoffs to your project. This is the skill you'll use most often as you iterate.ak-add-capabilities skill to add input/output guardrails, observability tracing, session persistence, MCP, A2A, hooks, or multimodal support.ak-add-integration skill to add Slack, WhatsApp, Telegram, or other messaging channels.ak-cloud-deploy skill to deploy to AWS or Azure with Terraform.ak-test skill to configure test modes and write agent tests.© yaalalabs, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 1 other file in ak-py/src/agentkernel/skills/ak-init of yaalalabs/agent-kernel.
Open the folder on GitHubat commit 97fa8d9
Ak Init next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Ak Init this skillyaalalabs/agent-kernel | 192 | — | ~2.8k | Automated safety check: Pass | Apache-2.0 | |
| GCP To AWSaws/agent-toolkit-for-aws | 2.8k | — | ~15k | Automated safety check: Pass | Apache-2.0 | |
| Kcli Cluster Deploymentkarmab/kcli | 653 | — | ~1.5k | Automated safety check: Pass | Apache-2.0 | |
| Microsoft Foundrymicrosoft/GitHub-Copilot-for-Azure | 255 | 1 repos | ~6.7k | Automated safety check: Pass | MIT | |
| Deploying Cloud Deception With Decoy Resourcesmukul975/Anthropic-Cybersecurity-Skills | 34k | — | ~2.8k | Automated safety check: Pass | Apache-2.0 | |
| Cloud Infrastructureaiskillstore/marketplace | 430 | 1 repos | ~1.3k | Automated safety check: Pass | None |
aws/agent-toolkit-for-aws
Migrate workloads from Google Cloud Platform to AWS — plus AI and agentic workloads from any provider.
karmab/kcli
Guides deployment and management of Kubernetes clusters with kcli.
microsoft/GitHub-Copilot-for-Azure
Build, deploy, evaluate, optimize, fine-tune, and manage Microsoft Foundry agents, models, and resources end to end.
mukul975/Anthropic-Cybersecurity-Skills
Deploy cloud-native deception across AWS, Azure, and GCP using decoy (honey) resources whose only purpose is to generate a high-fidelity alert the instant an attacker touches them: canary IAM access…
aiskillstore/marketplace
Cloud infrastructure design and deployment patterns for AWS, Azure, and GCP.
ArabelaTso/Skills-4-SE
Generate GitHub Actions deployment workflows for automated deployment to staging and production environments on cloud platforms (AWS, GCP, Azure).
yaalalabs/agent-kernel
Code quality standards, formatting, Python style rules (classes over script-style functions, configuration-field rules), commit conventions, and PR workflow for Agent Kernel development.
yaalalabs/agent-kernel
Step-by-step guide for adding a new built-in test evaluator provider to Agent Kernel (beyond DeepEval, Opik and JEV).
yaalalabs/agent-kernel
Step-by-step guide for adding a new guardrail provider to Agent Kernel.
yaalalabs/agent-kernel
Step-by-step guide for adding a new knowledge base backend to Agent Kernel.
yaalalabs/agent-kernel
Step-by-step guide for adding a new messaging platform integration to Agent Kernel.
yaalalabs/agent-kernel
Step-by-step guide for adding a new multimodal attachment storage backend to Agent Kernel.
Scaffold a new Agent Kernel project from scratch. An agent skill from yaalalabs/agent-kernel. Ak Init is an agent skill from yaalalabs/agent-kernel. Scaffold a new Agent Kernel project from scratch.
Ak Init fits situations like: tasks that involve Building AI agents; tasks that involve Deployment.
Run `npx skills add yaalalabs/agent-kernel --skill ak-init -a claude-code`. Or copy the skill folder (ak-py/src/agentkernel/skills/ak-init in yaalalabs/agent-kernel) into .claude/skills/ak-init in your project. Claude Code loads it when a task matches its description.
Run `npx skills add yaalalabs/agent-kernel --skill ak-init -a codex`. Or copy the skill folder (ak-py/src/agentkernel/skills/ak-init in yaalalabs/agent-kernel) into .agents/skills/ak-init in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add yaalalabs/agent-kernel --skill ak-init -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/ak-init, .gemini/skills/ak-init, .github/skills/ak-init and .opencode/skills/ak-init in your project.
Going by SKILL.md and its folder, Ak Init needs the command-line tools its instructions call (uv and python) and credentials named OPENAI_API_KEY and GOOGLE_API_KEY. Our summary lists: Python 3; Docker; A credential in OPENAI_API_KEY; A credential in GOOGLE_API_KEY.
SKILL.md contains no URLs. Its commands use uv, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Ak Init is published under the Apache-2.0 licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.8k tokens (SKILL.md is roughly 11k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Ak Init: GCP To AWS (aws/agent-toolkit-for-aws, 2.8k stars), Kcli Cluster Deployment (karmab/kcli, 653 stars), Microsoft Foundry (microsoft/GitHub-Copilot-for-Azure, 255 stars) and Deploying Cloud Deception With Decoy Resources (mukul975/Anthropic-Cybersecurity-Skills, 34k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
yaalalabs (a GitHub organization) maintains it in yaalalabs/agent-kernel, which has 192 GitHub stars. The repository holds 23 skills in this directory. The repository was last updated on October 9, 2026.
Source: yaalalabs/agent-kernel on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.