yaalalabs/agent-kernel/ak-add-capabilities
Claude Code and agent skill by yaalalabs/agent-kernel
- community
- ext:[{"type":"hook","description":"Pre/post lifecycle hooks"}]
Checking that the SKILL.md file is still in the repository.
Add capabilities to an existing Agent Kernel project. This skill guides you through adding guardrails, tracing/observability, session persistence, knowledge bases, MCP server, A2A server, AG-UI server, pre/post hooks, multimodal support, conversation thread support, scheduled tasks (deferred and recurring chat execution), the sandbox capability (isolated code execution), and secret resolution (environment first, then AWS SSM Parameter Store, Kubernetes Secrets mounted into the pod, or a custom provider). Session persistence supports Redis, DynamoDB (AWS), Cosmos DB (Azure), and Firestore (GCP). Conversation threads support in-memory, Redis, Valkey, DynamoDB (AWS), Firestore (GCP), and Cosmos DB (Azure) backends. Generates configuration and code changes needed.
Install
npx vskill@latest install yaalalabs/agent-kernel/ak-add-capabilitiesSemi-extensibleMentions customization, but needs skill-specific knowledge. Read the extensible skills standard
SKILL.md
Add Capabilities
Use this skill to enhance your Agent Kernel project with additional capabilities.
Instructions for the Agent
When the user wants to add a capability, follow this workflow:
Step 1: Identify the Project
Check for an existing Agent Kernel project with pyproject.toml and agent definition file.
Step 2: Ask Which Capability
Which capability would you like to add?
- Guardrails — Content safety filters for input and/or output
- Tracing — Observability and monitoring (Langfuse, OpenLLMetry, Pydantic Logfire, or AWS CloudWatch)
- Session Persistence — Durable conversation state (Redis, DynamoDB, Cosmos DB, Firestore)
- Knowledge Base — Durable cross-session knowledge tools (ChromaDB, Neo4j, Starburst, Open Knowledge Format markdown bundle, or custom backend)
- MCP Server — Expose agents as Model Context Protocol tools
- A2A Server — Agent-to-Agent communication protocol
- Hooks — Custom pre/post processing (RAG, logging, prompt modification)
- Multimodal — Image and file attachment support
- Conversation Threads — Persistent, named conversation history keyed by
session_id - Sandbox — Isolated code/command execution with pluggable providers, workload profiles, policy, and per-user identity
- AG-UI Server — Stream any agent to an AG-UI-compliant frontend (text, tool calls, reasoning, shared state)
- Scheduled Tasks — Deferred and recurring chat execution (a
scheduleblock on a chat request, management routes, agent tools) - Secret Resolution — Read API keys through
SecretManager(environment first, then AWS SSM Parameter Store, Kubernetes Secrets mounted into the pod, or a custom provider) - Human in the Loop — Pause a run for a person's approval or answer and resume from their decision (a gated tool or an interrupt, a
resumeblock on the next request) - A2UI — Let an agent answer with an interface instead of prose: its JSON reply is labelled so the client receives a document, not a string
Step 3: Generate Changes
Guardrails
Ask: Input guardrails, output guardrails, or both? Which provider — OpenAI, AWS Bedrock, or Walled AI?
For OpenAI Guardrails:
- Update
pyproject.toml:
- Create
guardrails_input.json:
- Create
guardrails_output.json:
- Update
config.yaml:
For AWS Bedrock Guardrails:
- Update
pyproject.toml:
- Update
config.yaml:
- Prerequisites: Create a guardrail in AWS Bedrock Console and note the guardrail ID.
For Walled AI Guardrails:
- Update
pyproject.toml:
- Update
config.yaml:
- Set the environment variable:
- How it works:
- Input: Text is checked for safety via
WalledProtect. If unsafe, the request is blocked. Ifpii: true, text is redacted viaWalledRedactand the PII mapping is stored in the session's non-volatile cache. - Output: If
pii: true, redacted placeholders in the agent's reply are replaced with the original values using the stored mapping.
Tracing (Observability)
Ask: Which tracing backend — Langfuse, OpenLLMetry (Traceloop), Pydantic Logfire, or AWS CloudWatch?
For Langfuse:
- Update
pyproject.toml:
- Update
config.yaml:
- Set environment variables:
- No code changes needed — tracing is automatically applied to all agent executions.
For OpenLLMetry (Traceloop):
- Update
pyproject.toml:
- Update
config.yaml:
- Set environment variables per the Traceloop documentation.
For Pydantic Logfire:
- Update
pyproject.toml:
- Update
config.yaml:
- Set the write token (optional — without it, Logfire runs locally and does not ship traces):
- No code changes needed — tracing is automatically applied to all agent executions.
For AWS CloudWatch:
- Update
pyproject.toml:
- Update
config.yaml:
- Set the region; credentials come from the standard AWS chain (env, profile, SSO, or instance/task role):
- One-time AWS setup: enable CloudWatch Transaction Search in the account, and attach the
AWSXrayWriteOnlyAccess managed policy to the role that runs the agent.
- No code changes needed — tracing is automatically applied to all agent executions.
Fetching spans back (any of the four backends): to read recorded spans into Python (e.g. to evaluate recent runs), call Trace.get().fetch_spans(...) with provider-neutral filters; results are FetchedSpans, oldest first (each has a status of UNSET, OK or ERROR):
- Langfuse and OpenLLMetry reuse the sending credentials.
- Logfire needs a separate read token:
export LOGFIRE_READ_TOKEN="...". It andTRACELOOP_API_KEYare read
through SecretManager, so they can also come from AWS SSM (secret.provider.type: aws_ssm).
- CloudWatch reads
aws/spansthrough Logs Insights, so the identity needslogs:StartQuery,
logs:GetQueryResults and logs:StopQuery (AWSXrayWriteOnlyAccess does not grant them).
- Full filter list and provider limits: Traceability guide.
- End-to-end example (fetch a session's traces, grade them with Opik judges, store the scores in DynamoDB):
`examples/aws-serverless/openai-langfuse-trace-evaluation`.
Session Persistence
Ask: Which backend — Redis, DynamoDB (AWS), Cosmos DB (Azure), or Firestore (GCP)?
For Redis:
- Update
pyproject.toml:
- Update
config.yaml:
For DynamoDB:
- Update
pyproject.toml:
- Update
config.yaml:
- Create a DynamoDB table with partition key
session_id(String) and sort keykey(String). Enable TTL onexpiry_timeattribute.
For Cosmos DB:
- Update
pyproject.toml:
- Update
config.yaml:
- Set
AZURE_COSMOS_KEYenvironment variable.
For Firestore (GCP):
- Update
pyproject.toml:
- Update
config.yaml:
- Enable a TTL policy on the Firestore collection pointing to the
expiry_timefield for automatic document expiry.
Knowledge Base
Add durable knowledge tools that your agents can query and update across sessions.
Ask: Which backend do you want to use?
- ChromaDB (semantic/vector)
- Neo4j (graph/relationships)
- Starburst (read-only SQL via Trino)
- Open Knowledge Format bundle (a directory of markdown documents, on disk or in S3 — no database to run)
- Custom adapter (developer extension)
1. Update `pyproject.toml` dependencies based on backend:
2. Configure backend + `KnowledgeBuilder` in your agent file (OpenAI example):
This is the start of the file. Read the full SKILL.md on GitHub.
Security
- Security scanPassed, 95 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingak-py/src/agentkernel/skills/ak-add-capabilities/SKILL.md
Popularity
- 7-day trend score
- 5
Not refreshed yet.
Extension points
hookPre/post lifecycle hooks
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/yaalalabs/agent-kernel/ak-add-capabilities)