pulser-odoo-foundry-runtime
Maintains Foundry runtime governance, agent definitions, and model baselines for Pulser for Odoo integrations.
Install
mkdir -p .claude/skills/pulser-odoo-foundry-runtime && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/10779" && unzip -o skill.zip -d .claude/skills/pulser-odoo-foundry-runtime && rm skill.zipInstalls to .claude/skills/pulser-odoo-foundry-runtime
Activation
This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.
Validate Foundry-side agent definitions, model baseline, SDK v2 control plane, and runtime governance for Pulser for OdooKey capabilities
- →Validate agent definitions
- →Check SDK control plane
- →Verify model baselines
- →Enforce runtime governance
How it works
The skill inspects agent definitions and SDK scripts against SSOT repositories and Microsoft Learn MCP guidelines to ensure compliance with Pulser for Odoo standards.
Inputs & outputs
When to use pulser-odoo-foundry-runtime
- →Validate foundry agent definitions
- →Check SDK control plane
- →Verify model baselines
About this skill
pulser-odoo-foundry-runtime
Impact tier: P1 -- Operational Readiness
Purpose
Validate and maintain the Foundry-side runtime for Pulser for Odoo: canonical
agent naming, minimal model baseline (gpt-4.1, wg-pulser,
text-embedding-3-small), SDK v2 control plane (AIProjectClient +
DefaultAzureCredential), bounded tool use (File Search before MCP/OpenAPI),
and metadata hygiene (no stale Odoo 19 references). Keeps Foundry minimal,
governed, and clearly subordinate to Odoo as business system of record.
When to Use
- After any Foundry SDK upgrade, model deployment change, or agent definition edit.
- When agent registrations fail, return stale metadata, or reference wrong models.
- Before promoting any Foundry agent alongside a Pulser for Odoo release.
- When adding a new tool binding to a Pulser agent.
When Not to Use
- For Odoo module deployment (use
pulser-odoo-deploy). - For architecture boundary decisions (use
pulser-odoo-architecture). - For grounding/RAG configuration (use
azure-foundry-grounding). - When Foundry IQ / AI Search / stored completions are not in the SSOT scope.
Inputs Expected
- Access to
ssot/ai/agents.yaml,ssot/ai/models.yaml, and Foundry scripts. - The
AZURE_AI_PROJECT_ENDPOINTenv var (project-scoped, not resource endpoint). - Managed identity or
DefaultAzureCredentialchain available in the runtime.
Source Priority
- Repo SSOT /
ssot/ai/agents.yaml/ssot/ai/models.yaml/ release docs - Existing architecture anchor docs (
docs/architecture/ai/CONSOLIDATION_FOUNDRY.md) - Microsoft Learn MCP official documentation
- Official Microsoft GitHub samples only when needed
- Anything else only if absolutely necessary, clearly marked secondary
Required Evidence (inspect these repo paths first)
| Path | What to look for |
|---|---|
ssot/ai/agents.yaml | Agent names, model refs, tool bindings, approval gates |
ssot/ai/models.yaml | Deployment names, model families, versions, regions |
ssot/foundry/runtime_inventory.yaml | Project/resource/endpoint references, live state |
ssot/agent-platform/foundry_tool_policy.yaml | Tool preference order, allowed types, approval gates |
ssot/agent-platform/mcp_policy.yaml | MCP tool scope, allowed servers, approval rules |
scripts/foundry/register_agent_v2.py | SDK v2 import paths, constructor, credential chain |
scripts/foundry/run_cloud_eval.py | Eval dataset, metric thresholds, output path |
scripts/foundry/enable_monitoring.py | Log Analytics workspace ID, diagnostic settings |
Microsoft Learn MCP Usage
Run at least these queries:
microsoft_docs_search("Azure AI Foundry overview agent service SDK v2 Python")-- retrieves Foundry project structure, agent service, SDK v2 constructor.microsoft_docs_search("Azure AI Foundry Agent Service create agent Python AIProjectClient")-- retrievesAIProjectClient,create_agent, tool definitions, thread management.microsoft_docs_search("Azure AI Foundry grounding Foundry IQ knowledge base optional")-- retrieves when Foundry IQ / AI Search grounding is needed vs optional.microsoft_docs_search("Azure AI evaluation SDK cloud eval metrics groundedness")-- retrieves eval pipeline, built-in evaluators, score thresholds.microsoft_docs_search("Azure Monitor AI Foundry diagnostics logging agent observability")-- retrieves diagnostic settings, Log Analytics integration, token usage metrics.
Optional:
microsoft_code_sample_search("azure foundry agent python sdk v2 create thread run", language="python")microsoft_docs_fetch("https://learn.microsoft.com/en-us/azure/ai-services/agents/overview")
Microsoft Learn MCP Topic Keys
- foundry_overview
- foundry_agent_service
- foundry_iq
- azure_ai_evaluations
- azure_monitor_observability
Workflow
- Inspect repo -- Read
ssot/ai/agents.yaml. Record each agent's:name(must follow canonical Pulser naming),model_deployment_name(must exist inssot/ai/models.yaml), tool bindings (type, approval gate), and any grounding references. Checkscripts/foundry/register_agent_v2.pyfor SDK import paths and constructor: must useAIProjectClient(endpoint=..., credential=DefaultAzureCredential()), notfrom_connection_string. - Query MCP -- Run queries 1-5. Capture: v2 constructor signature, grounding optionality guidance, eval pipeline shape, monitoring diagnostic categories.
- Compare -- Identify: (a)
from_connection_stringusage (v1 debt); (b) agents referencing model names absent fromssot/ai/models.yaml; (c) any stale "Odoo 19" reference in agent instructions or SSOT (correct to Odoo 18); (d) tool bindings missingapproval: requiredfor Odoo-write tools; (e) Foundry IQ / stored completions added without SSOT justification; (f) new model deployments beyond thegpt-4.1/wg-pulser/text-embedding-3-smallbaseline without explicit approval. - Patch -- Replace
from_connection_stringwithAIProjectClient(endpoint=...)inscripts/foundry/register_agent_v2.py. Align all agent/model refs inssot/ai/agents.yaml. Correct stale Odoo 19 metadata. Addapproval: requiredto any tool that writes to Odoo. Remove non-baseline model deployments unless SSOT explicitly requires them. - Verify -- Python import check:
python -c "from azure.ai.projects import AIProjectClient". Nofrom_connection_stringin anyscripts/foundry/*.py. Lint withruff. All agents inssot/ai/agents.yamlreference a model deployment inssot/ai/models.yaml. No Odoo 19 string in any SSOT file.
Output Contract
| Artifact | Location | Format |
|---|---|---|
| Agent registration script (patched) | scripts/foundry/register_agent_v2.py | Python |
| Agent definitions (aligned) | ssot/ai/agents.yaml | YAML |
| Model deployments (confirmed) | ssot/ai/models.yaml | YAML |
| Runtime inventory (updated) | ssot/foundry/runtime_inventory.yaml | YAML |
| Foundry migration status (updated) | docs/architecture/ai/CONSOLIDATION_FOUNDRY.md | Markdown |
| Evidence pack | docs/evidence/<stamp>/pulser-odoo-foundry-runtime/ | Logs + diffs |
Safety and Guardrails
- Never add model deployments beyond the baseline (
gpt-4.1,wg-pulser,text-embedding-3-small) without explicit SSOT entry and architecture approval. - Never use
from_connection_stringor any SDK v1 pattern. - Never add API key auth.
DefaultAzureCredentialis the only credential type. - Never add stored completions by default.
- Never force Foundry IQ / AI Search unless
ssot/agent-platform/foundry_tool_policy.yamlexplicitly requires grounding for a specific agent. - Never allow a Foundry agent tool to write Odoo records without
approval: required. - Tool preference order (per
foundry_tool_policy.yaml): File Search > Function Tool / OpenAPI > MCP. MCP tools require explicit justification.
Verification
- No
from_connection_stringin anyscripts/foundry/*.py. - All agents in
ssot/ai/agents.yamlreference a model deployment inssot/ai/models.yaml. -
register_agent_v2.pyusesDefaultAzureCredentialandAIProjectClient(endpoint=...). - All Odoo-write tools have
approval: requiredinfoundry_tool_policy.yaml. - No stale "Odoo 19" string in
ssot/ai/agents.yamlor agent instruction text. -
rufflintsscripts/foundry/*.pyclean (zero errors). - No non-baseline model deployment without an explicit SSOT entry.
- Evidence directory contains diffs, lint output, and MCP excerpts.
Related Skills
pulser-odoo-architecture-- service-plane boundary decisions (consult first)pulser-odoo-deploy-- Odoo-side deployment doctrineazure-foundry-architecture-- Foundry SDK v2, agent registration, model catalogazure-ai-evals-governance-- eval pipelines, content safety, governance gatesazure-foundry-grounding-- RAG/grounding config, KB bindings, retrieval eval
Completion Criteria
- No
from_connection_stringusage in anyscripts/foundry/*.pyfile. - All agents reference model deployments present in
ssot/ai/models.yaml. - All Odoo-write agent tools have
approval: requiredgates. - No stale Odoo 19 metadata in any SSOT file or agent instruction.
- Model baseline constrained to
gpt-4.1,wg-pulser,text-embedding-3-small. -
rufflintsscripts/foundry/*.pyclean. -
ssot/foundry/runtime_inventory.yamlcontains current project/resource/endpoint. - Evidence directory contains MCP excerpts, lint output, and aligned diffs.
When not to use it
- →Odoo module deployment
- →Architecture boundary decisions
- →Grounding/RAG configuration
Prerequisites
Limitations
- →Requires explicit SSOT entries for non-baseline models
- →Restricted to SDK v2 patterns
How it compares
Unlike manual review, this skill automates the comparison of agent metadata and SDK constructor patterns against a defined SSOT.
Compared to similar skills
pulser-odoo-foundry-runtime side by side with the closest alternatives in the catalog.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| pulser-odoo-foundry-runtime (this skill) | 0 | 4mo | No flags | Advanced |
| mcp-builder | 136 | 3mo | Review | Advanced |
| mcp-integration | 21 | 8mo | Review | Intermediate |
| opencode-orchestrator-creator | 8 | 9mo | Review | Intermediate |
Try saying
Example prompts that trigger this skill in your AI assistant.
More by Insightpulseai
View all by Insightpulseai →You might also like
mcp-builder
anthropics
Guide for creating high-quality MCP (Model Context Protocol) servers that enable LLMs to interact with external services through well-designed tools. Use when building MCP servers to integrate external APIs or services, whether in Python (FastMCP) or Node/TypeScript (MCP SDK).
mcp-integration
anthropics
This skill should be used when the user asks to "add MCP server", "integrate MCP", "configure MCP in plugin", "use .mcp.json", "set up Model Context Protocol", "connect external service", mentions "${CLAUDE_PLUGIN_ROOT} with MCP", or discusses MCP server types (SSE, stdio, HTTP, WebSocket). Provides comprehensive guidance for integrating Model Context Protocol servers into Claude Code plugins for external tool and service integration.
opencode-orchestrator-creator
IgorWarzocha
Creates universal OpenCode orchestrator folder structure with specialized agent that can manage swarm servers via curl commands
claude-opus-4-5-migration
anthropics
Migrate prompts and code from Claude Sonnet 4.0, Sonnet 4.5, or Opus 4.1 to Opus 4.5. Use when the user wants to update their codebase, prompts, or API calls to use Opus 4.5. Handles model string updates and prompt adjustments for known Opus 4.5 behavioral differences. Does NOT migrate Haiku 4.5.
mcp-management
mrgoonie
Manage Model Context Protocol (MCP) servers - discover, analyze, and execute tools/prompts/resources from configured MCP servers. Use when working with MCP integrations, need to discover available MCP capabilities, filter MCP tools for specific tasks, execute MCP tools programmatically, access MCP prompts/resources, or implement MCP client functionality. Supports intelligent tool selection, multi-server management, and context-efficient capability discovery.
n8n-mcp-orchestrator
manutej
Expert MCP (Model Context Protocol) orchestration with n8n workflow automation. Master bidirectional MCP integration, expose n8n workflows as AI agent tools, consume MCP servers in workflows, build agentic systems, orchestrate multi-agent workflows, and create production-ready AI-powered automation pipelines with Claude Code integration.