From c4f6f26b633071093589744e17a5bd702b72d7e2 Mon Sep 17 00:00:00 2001 From: Eric Charles Date: Mon, 9 Mar 2026 15:43:08 +0100 Subject: [PATCH 01/44] enabled --- agentspecs/agents/mocks/analyze-campaign-performance.yaml | 2 +- agentspecs/agents/mocks/analyze-support-tickets.yaml | 2 +- agentspecs/agents/mocks/audit-inventory-levels.yaml | 2 +- agentspecs/agents/mocks/automate-regulatory-reporting.yaml | 2 +- agentspecs/agents/mocks/classify-route-emails.yaml | 2 +- agentspecs/agents/mocks/comprehensive-sales-analytics.yaml | 2 +- agentspecs/agents/mocks/end-of-month-performance.yaml | 2 +- agentspecs/agents/mocks/extract-data-from-files.yaml | 2 +- agentspecs/agents/mocks/generate-weekly-reports.yaml | 2 +- agentspecs/agents/mocks/optimize-dynamic-pricing.yaml | 2 +- agentspecs/agents/mocks/optimize-grid-operations.yaml | 2 +- agentspecs/agents/mocks/process-citizen-requests.yaml | 2 +- agentspecs/agents/mocks/process-clinical-trial-data.yaml | 2 +- agentspecs/agents/mocks/process-financial-transactions.yaml | 2 +- agentspecs/agents/mocks/summarize-documents.yaml | 2 +- agentspecs/agents/mocks/sync-crm-contacts.yaml | 2 +- 16 files changed, 16 insertions(+), 16 deletions(-) diff --git a/agentspecs/agents/mocks/analyze-campaign-performance.yaml b/agentspecs/agents/mocks/analyze-campaign-performance.yaml index de679f0..7884689 100644 --- a/agentspecs/agents/mocks/analyze-campaign-performance.yaml +++ b/agentspecs/agents/mocks/analyze-campaign-performance.yaml @@ -23,7 +23,7 @@ tags: - social-media - team -enabled: true +enabled: false model: "openai-gpt-4-1" diff --git a/agentspecs/agents/mocks/analyze-support-tickets.yaml b/agentspecs/agents/mocks/analyze-support-tickets.yaml index 94ffd62..f4e1914 100644 --- a/agentspecs/agents/mocks/analyze-support-tickets.yaml +++ b/agentspecs/agents/mocks/analyze-support-tickets.yaml @@ -20,7 +20,7 @@ tags: - tickets - team -enabled: true +enabled: false model: "openai-gpt-4-1" diff --git a/agentspecs/agents/mocks/audit-inventory-levels.yaml b/agentspecs/agents/mocks/audit-inventory-levels.yaml index a3d882b..0e62e93 100644 --- a/agentspecs/agents/mocks/audit-inventory-levels.yaml +++ b/agentspecs/agents/mocks/audit-inventory-levels.yaml @@ -20,7 +20,7 @@ tags: - supply-chain - team -enabled: true +enabled: false model: "openai-gpt-4-1" diff --git a/agentspecs/agents/mocks/automate-regulatory-reporting.yaml b/agentspecs/agents/mocks/automate-regulatory-reporting.yaml index ad8d7d3..d625cad 100644 --- a/agentspecs/agents/mocks/automate-regulatory-reporting.yaml +++ b/agentspecs/agents/mocks/automate-regulatory-reporting.yaml @@ -24,7 +24,7 @@ tags: - audit - team -enabled: true +enabled: false model: "openai-gpt-4-1" diff --git a/agentspecs/agents/mocks/classify-route-emails.yaml b/agentspecs/agents/mocks/classify-route-emails.yaml index b71dcd5..c07ec15 100644 --- a/agentspecs/agents/mocks/classify-route-emails.yaml +++ b/agentspecs/agents/mocks/classify-route-emails.yaml @@ -20,7 +20,7 @@ tags: - horizontal - automation -enabled: true +enabled: false model: "openai-gpt-4-1" diff --git a/agentspecs/agents/mocks/comprehensive-sales-analytics.yaml b/agentspecs/agents/mocks/comprehensive-sales-analytics.yaml index 8b2350d..202be04 100644 --- a/agentspecs/agents/mocks/comprehensive-sales-analytics.yaml +++ b/agentspecs/agents/mocks/comprehensive-sales-analytics.yaml @@ -29,7 +29,7 @@ tags: - monitoring - horizontal -enabled: true +enabled: false model: "anthropic-claude-opus-4" diff --git a/agentspecs/agents/mocks/end-of-month-performance.yaml b/agentspecs/agents/mocks/end-of-month-performance.yaml index 306ceaf..76eae4f 100644 --- a/agentspecs/agents/mocks/end-of-month-performance.yaml +++ b/agentspecs/agents/mocks/end-of-month-performance.yaml @@ -23,7 +23,7 @@ tags: - retail - sku -enabled: true +enabled: false # Goal / Prompt (Step 4 in the UI โ€” the user-facing objective) goal: >- diff --git a/agentspecs/agents/mocks/extract-data-from-files.yaml b/agentspecs/agents/mocks/extract-data-from-files.yaml index 4194be5..e52d286 100644 --- a/agentspecs/agents/mocks/extract-data-from-files.yaml +++ b/agentspecs/agents/mocks/extract-data-from-files.yaml @@ -21,7 +21,7 @@ tags: - automation - documents -enabled: true +enabled: false model: "openai-gpt-4-1" diff --git a/agentspecs/agents/mocks/generate-weekly-reports.yaml b/agentspecs/agents/mocks/generate-weekly-reports.yaml index 8c202d2..971e38f 100644 --- a/agentspecs/agents/mocks/generate-weekly-reports.yaml +++ b/agentspecs/agents/mocks/generate-weekly-reports.yaml @@ -20,7 +20,7 @@ tags: - analytics - automation -enabled: true +enabled: false model: "openai-gpt-4-1" diff --git a/agentspecs/agents/mocks/optimize-dynamic-pricing.yaml b/agentspecs/agents/mocks/optimize-dynamic-pricing.yaml index 4161cdb..70a5793 100644 --- a/agentspecs/agents/mocks/optimize-dynamic-pricing.yaml +++ b/agentspecs/agents/mocks/optimize-dynamic-pricing.yaml @@ -22,7 +22,7 @@ tags: - demand-forecasting - margins -enabled: true +enabled: false model: "openai-gpt-4-1" diff --git a/agentspecs/agents/mocks/optimize-grid-operations.yaml b/agentspecs/agents/mocks/optimize-grid-operations.yaml index 1be2b17..185bedf 100644 --- a/agentspecs/agents/mocks/optimize-grid-operations.yaml +++ b/agentspecs/agents/mocks/optimize-grid-operations.yaml @@ -23,7 +23,7 @@ tags: - sustainability - team -enabled: true +enabled: false model: "openai-gpt-4-1" diff --git a/agentspecs/agents/mocks/process-citizen-requests.yaml b/agentspecs/agents/mocks/process-citizen-requests.yaml index 9fcbdc1..fb140bd 100644 --- a/agentspecs/agents/mocks/process-citizen-requests.yaml +++ b/agentspecs/agents/mocks/process-citizen-requests.yaml @@ -24,7 +24,7 @@ tags: - transparency - team -enabled: true +enabled: false model: "openai-gpt-4-1" diff --git a/agentspecs/agents/mocks/process-clinical-trial-data.yaml b/agentspecs/agents/mocks/process-clinical-trial-data.yaml index ea0c985..6a29d73 100644 --- a/agentspecs/agents/mocks/process-clinical-trial-data.yaml +++ b/agentspecs/agents/mocks/process-clinical-trial-data.yaml @@ -23,7 +23,7 @@ tags: - compliance - team -enabled: true +enabled: false model: "anthropic-claude-sonnet-4" diff --git a/agentspecs/agents/mocks/process-financial-transactions.yaml b/agentspecs/agents/mocks/process-financial-transactions.yaml index 6e18cda..5ab388e 100644 --- a/agentspecs/agents/mocks/process-financial-transactions.yaml +++ b/agentspecs/agents/mocks/process-financial-transactions.yaml @@ -20,7 +20,7 @@ tags: - compliance - reconciliation -enabled: true +enabled: false model: "openai-gpt-4-1" diff --git a/agentspecs/agents/mocks/summarize-documents.yaml b/agentspecs/agents/mocks/summarize-documents.yaml index e481237..f04da59 100644 --- a/agentspecs/agents/mocks/summarize-documents.yaml +++ b/agentspecs/agents/mocks/summarize-documents.yaml @@ -20,7 +20,7 @@ tags: - automation - productivity -enabled: true +enabled: false model: "anthropic-claude-sonnet-4" diff --git a/agentspecs/agents/mocks/sync-crm-contacts.yaml b/agentspecs/agents/mocks/sync-crm-contacts.yaml index 2ebff43..d7b24f3 100644 --- a/agentspecs/agents/mocks/sync-crm-contacts.yaml +++ b/agentspecs/agents/mocks/sync-crm-contacts.yaml @@ -20,7 +20,7 @@ tags: - data-sync - deduplication -enabled: true +enabled: false model: "anthropic-claude-opus-4" From 38495e67f9066970bf6a933a9e812f62745487a5 Mon Sep 17 00:00:00 2001 From: Eric Charles Date: Mon, 9 Mar 2026 15:52:41 +0100 Subject: [PATCH 02/44] enabled --- agentspecs/agents/mocks/monitor-sales-kpis.yaml | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/agentspecs/agents/mocks/monitor-sales-kpis.yaml b/agentspecs/agents/mocks/monitor-sales-kpis.yaml index f71b55c..2607f24 100644 --- a/agentspecs/agents/mocks/monitor-sales-kpis.yaml +++ b/agentspecs/agents/mocks/monitor-sales-kpis.yaml @@ -26,8 +26,8 @@ model: "openai-gpt-4-1" sandbox_variant: jupyter -# Memory backend -memory: ephemeral +# Memory backend (exercises the Mem0 durable memory feature) +memory: mem0 # MCP servers used by this agent mcp_servers: @@ -127,12 +127,17 @@ output: type: Notebook template: kpi_report_template.ipynb -# Advanced settings +# Advanced settings (exercises cost budget guardrail & context window management) advanced: cost_limit: "$5.00 per run" time_limit: "300 seconds" max_iterations: 50 validation: "Output must contain required KPI fields" + checkpoint_interval: 30 + context_window: + max_tokens: 100000 + eviction_strategy: sliding_window + summary_threshold: 0.85 # Authorization policy authorization_policy: "" From 20bdc18a3e54e8bd77bb1ca7a20c8316927442ab Mon Sep 17 00:00:00 2001 From: Eric Charles Date: Tue, 10 Mar 2026 17:46:00 +0100 Subject: [PATCH 03/44] Extract teams from agent specs into first-class team specs --- .../mocks/analyze-campaign-performance.yaml | 72 ------------ .../agents/mocks/analyze-support-tickets.yaml | 53 --------- .../agents/mocks/audit-inventory-levels.yaml | 78 ------------- .../mocks/automate-regulatory-reporting.yaml | 81 -------------- .../mocks/comprehensive-sales-analytics.yaml | 81 -------------- .../mocks/optimize-grid-operations.yaml | 72 ------------ .../mocks/process-citizen-requests.yaml | 72 ------------ .../mocks/process-clinical-trial-data.yaml | 72 ------------ .../agents/mocks/sync-crm-contacts.yaml | 63 ----------- .../mocks/analyze-campaign-performance.yaml | 93 ++++++++++++++++ .../teams/mocks/analyze-support-tickets.yaml | 71 ++++++++++++ .../teams/mocks/audit-inventory-levels.yaml | 96 ++++++++++++++++ .../mocks/automate-regulatory-reporting.yaml | 103 +++++++++++++++++ .../mocks/comprehensive-sales-analytics.yaml | 104 ++++++++++++++++++ .../teams/mocks/optimize-grid-operations.yaml | 92 ++++++++++++++++ .../teams/mocks/process-citizen-requests.yaml | 94 ++++++++++++++++ .../mocks/process-clinical-trial-data.yaml | 93 ++++++++++++++++ agentspecs/teams/mocks/sync-crm-contacts.yaml | 82 ++++++++++++++ 18 files changed, 828 insertions(+), 644 deletions(-) create mode 100644 agentspecs/teams/mocks/analyze-campaign-performance.yaml create mode 100644 agentspecs/teams/mocks/analyze-support-tickets.yaml create mode 100644 agentspecs/teams/mocks/audit-inventory-levels.yaml create mode 100644 agentspecs/teams/mocks/automate-regulatory-reporting.yaml create mode 100644 agentspecs/teams/mocks/comprehensive-sales-analytics.yaml create mode 100644 agentspecs/teams/mocks/optimize-grid-operations.yaml create mode 100644 agentspecs/teams/mocks/process-citizen-requests.yaml create mode 100644 agentspecs/teams/mocks/process-clinical-trial-data.yaml create mode 100644 agentspecs/teams/mocks/sync-crm-contacts.yaml diff --git a/agentspecs/agents/mocks/analyze-campaign-performance.yaml b/agentspecs/agents/mocks/analyze-campaign-performance.yaml index 7884689..ca4ecd7 100644 --- a/agentspecs/agents/mocks/analyze-campaign-performance.yaml +++ b/agentspecs/agents/mocks/analyze-campaign-performance.yaml @@ -21,7 +21,6 @@ tags: - analytics - advertising - social-media - - team enabled: false @@ -50,77 +49,6 @@ icon: megaphone emoji: ๐Ÿ“ข color: "#8250df" # Purple โ€” media & creativity -# Team configuration -team: - orchestration_protocol: datalayer - execution_mode: sequential - supervisor: - name: Campaign Analytics Orchestrator Agent - model: "openai-gpt-4-1" - routing_instructions: > - Start with Platform Connector to pull data from all ad platforms, - then Metrics Normaliser for unified KPIs, then Anomaly Detector for - real-time performance monitoring, then Budget Optimiser for reallocation - recommendations. Escalate CPA spikes above 50% immediately. - validation: - timeout: "300s" - retry_on_failure: true - max_retries: 2 - agents: - - id: cp-1 - name: Platform Connector Agent - role: "Primary ยท Initiator" - goal: Pull campaign data from Google Ads, Meta, TikTok, LinkedIn, GA4, and email platforms - model: "openai-gpt-4-1" - mcp_server: Ad Platforms MCP - tools: - - Google Ads Connector - - Meta Ads Connector - - TikTok Ads Connector - - LinkedIn Ads Connector - - GA4 Connector - trigger: "Schedule: Every 4 hours" - approval: auto - - id: cp-2 - name: Metrics Normaliser Agent - role: Secondary - goal: Normalise CPA, ROAS, CTR, and attribution across all platforms into unified view - model: "openai-gpt-4-1" - mcp_server: Analytics MCP - tools: - - Metric Unifier - - Currency Converter - - Attribution Mapper - - Naming Convention Resolver - trigger: "On completion of Platform Connector Agent" - approval: auto - - id: cp-3 - name: Anomaly Detector Agent - role: Secondary - goal: Monitor all KPIs for CTR drops, CPA spikes, and budget pacing issues - model: "anthropic-claude-sonnet-4" - mcp_server: Monitoring MCP - tools: - - Anomaly Scanner - - Budget Pacer - - Alert Generator - - Campaign Pauser - trigger: "On completion of Metrics Normaliser Agent" - approval: manual - - id: cp-4 - name: Budget Optimiser Agent - role: Final - goal: Generate budget reallocation recommendations to maximise ROAS across channels - model: "openai-gpt-4-1" - mcp_server: Optimisation MCP - tools: - - ROAS Calculator - - Budget Allocator - - Scenario Modeller - - Report Generator - trigger: "On completion of Anomaly Detector Agent" - approval: manual - # Goal / Prompt (Step 4 in the UI โ€” the user-facing objective) goal: >- Unify marketing data from Google Ads, Meta, TikTok, LinkedIn, GA4, and email diff --git a/agentspecs/agents/mocks/analyze-support-tickets.yaml b/agentspecs/agents/mocks/analyze-support-tickets.yaml index f4e1914..6db0c2c 100644 --- a/agentspecs/agents/mocks/analyze-support-tickets.yaml +++ b/agentspecs/agents/mocks/analyze-support-tickets.yaml @@ -18,7 +18,6 @@ tags: - data - support - tickets - - team enabled: false @@ -47,58 +46,6 @@ icon: issue-opened emoji: ๐ŸŽซ color: "#bf8700" # Amber โ€” paused status -# Team configuration -team: - orchestration_protocol: datalayer - execution_mode: sequential - supervisor: - name: Support Orchestrator Agent - model: "openai-gpt-4-1" - routing_instructions: > - Route new tickets to the Triage Agent first, then to the Categorizer, - then to the Pattern Analyzer. Escalate P1/critical tickets immediately - to human support leads. - validation: - timeout: "180s" - retry_on_failure: true - max_retries: 2 - agents: - - id: st-1 - name: Triage Agent - role: "Primary ยท Initiator" - goal: Ingest new support tickets and assess urgency level (P1-P4) - model: "openai-gpt-4-1" - mcp_server: Helpdesk MCP - tools: - - Ticket Reader - - Priority Classifier - trigger: "Event: new ticket received" - approval: auto - - id: st-2 - name: Categorizer Agent - role: Secondary - goal: Categorize tickets by topic, product area, and sentiment - model: "openai-gpt-4-1" - mcp_server: NLP Pipeline MCP - tools: - - Topic Classifier - - Sentiment Analyzer - - Product Tagger - trigger: "On completion of Triage Agent" - approval: auto - - id: st-3 - name: Pattern Analyzer Agent - role: Final - goal: Identify recurring issues and generate resolution recommendations - model: "anthropic-claude-sonnet-4" - mcp_server: Analytics MCP - tools: - - Pattern Detector - - Knowledge Base Search - - Resolution Generator - trigger: "On completion of Categorizer Agent" - approval: manual - # Goal / Prompt (Step 4 in the UI โ€” the user-facing objective) goal: >- Triage incoming support tickets by urgency, categorize by topic and diff --git a/agentspecs/agents/mocks/audit-inventory-levels.yaml b/agentspecs/agents/mocks/audit-inventory-levels.yaml index 0e62e93..19e6584 100644 --- a/agentspecs/agents/mocks/audit-inventory-levels.yaml +++ b/agentspecs/agents/mocks/audit-inventory-levels.yaml @@ -18,7 +18,6 @@ tags: - automation - inventory - supply-chain - - team enabled: false @@ -46,83 +45,6 @@ icon: package emoji: ๐Ÿ“ฆ color: "#0969da" # Blue -# Team configuration -team: - orchestration_protocol: datalayer - execution_mode: sequential - supervisor: - name: Inventory Orchestrator Agent - model: "openai-gpt-4-1" - routing_instructions: > - Start with the Scanner to pull current levels, then Auditor to check - discrepancies, then Forecaster for demand predictions, then Planner for - reorder recommendations, then Reporter for the final audit report. - Escalate critical shortages immediately. - validation: - timeout: "600s" - retry_on_failure: true - max_retries: 3 - agents: - - id: inv-1 - name: Inventory Scanner Agent - role: "Primary ยท Initiator" - goal: Pull current inventory levels from all warehouse management systems - model: "openai-gpt-4-1" - mcp_server: Warehouse MCP - tools: - - WMS Connector - - Barcode Scanner API - trigger: "Schedule: Every 6 hours" - approval: auto - - id: inv-2 - name: Discrepancy Auditor Agent - role: Secondary - goal: Compare system counts vs physical counts and flag discrepancies - model: "openai-gpt-4-1" - mcp_server: Audit MCP - tools: - - Count Comparator - - Discrepancy Logger - - Shrinkage Calculator - trigger: "On completion of Inventory Scanner" - approval: auto - - id: inv-3 - name: Demand Forecaster Agent - role: Secondary - goal: Forecast demand by SKU using historical sales and seasonal patterns - model: "anthropic-claude-sonnet-4" - mcp_server: Analytics MCP - tools: - - Time Series Model - - Seasonal Analyzer - - External Signals Fetcher - trigger: "On completion of Discrepancy Auditor" - approval: auto - - id: inv-4 - name: Reorder Planner Agent - role: Secondary - goal: Calculate optimal reorder points and generate purchase order recommendations - model: "openai-gpt-4-1" - mcp_server: Procurement MCP - tools: - - EOQ Calculator - - Supplier Catalog - - PO Generator - trigger: "On completion of Demand Forecaster" - approval: manual - - id: inv-5 - name: Audit Report Agent - role: Final - goal: Compile inventory audit report with discrepancies, forecasts, and reorder plan - model: "openai-gpt-4-1" - mcp_server: Document Generation MCP - tools: - - PDF Generator - - Chart Builder - - Email Sender - trigger: "On completion of Reorder Planner" - approval: auto - # Goal / Prompt (Step 4 in the UI โ€” the user-facing objective) goal: >- Monitor inventory levels across all warehouses every 6 hours. Detect diff --git a/agentspecs/agents/mocks/automate-regulatory-reporting.yaml b/agentspecs/agents/mocks/automate-regulatory-reporting.yaml index d625cad..23e5951 100644 --- a/agentspecs/agents/mocks/automate-regulatory-reporting.yaml +++ b/agentspecs/agents/mocks/automate-regulatory-reporting.yaml @@ -22,7 +22,6 @@ tags: - risk - banking - audit - - team enabled: false @@ -50,86 +49,6 @@ icon: shield-check emoji: ๐Ÿฆ color: "#0969da" # Blue โ€” compliance & trust -# Team configuration -team: - orchestration_protocol: datalayer - execution_mode: sequential - supervisor: - name: Compliance Orchestrator Agent - model: "openai-gpt-4-1" - routing_instructions: > - Start with Data Ingestion to pull positions and transactions, then - Risk Calculator for metric computation, then Reconciliation Agent to - cross-check figures, then Validation Agent for regulatory rule checks, - then Report Generator for submission-ready output. Escalate any - reconciliation breaks above $10K immediately to the compliance team. - validation: - timeout: "900s" - retry_on_failure: true - max_retries: 2 - agents: - - id: reg-1 - name: Data Ingestion Agent - role: "Primary ยท Initiator" - goal: Extract positions, transactions, and P&L from trading and accounting systems - model: "openai-gpt-4-1" - mcp_server: Trading Systems MCP - tools: - - Position Reader - - Transaction Fetcher - - P&L Extractor - trigger: "Schedule: Monthly on the 3rd business day" - approval: auto - - id: reg-2 - name: Risk Calculator Agent - role: Secondary - goal: Compute Basel III/IV risk-weighted assets, capital ratios, and VaR metrics - model: "anthropic-claude-sonnet-4" - mcp_server: Risk Engine MCP - tools: - - RWA Calculator - - VaR Engine - - Capital Ratio Computer - - Stress Test Runner - trigger: "On completion of Data Ingestion Agent" - approval: auto - - id: reg-3 - name: Reconciliation Agent - role: Secondary - goal: Cross-check computed figures against source systems and flag discrepancies - model: "openai-gpt-4-1" - mcp_server: Reconciliation MCP - tools: - - Position Reconciler - - Break Detector - - Audit Logger - trigger: "On completion of Risk Calculator Agent" - approval: auto - - id: reg-4 - name: Validation Agent - role: Secondary - goal: Validate all metrics against Basel III/IV, MiFID II, and SOX regulatory rules - model: "openai-gpt-4-1" - mcp_server: Compliance Rules MCP - tools: - - Basel Rule Validator - - MiFID II Checker - - SOX Control Verifier - trigger: "On completion of Reconciliation Agent" - approval: manual - - id: reg-5 - name: Report Generator Agent - role: Final - goal: Generate submission-ready regulatory reports with full data lineage and audit trail - model: "openai-gpt-4-1" - mcp_server: Document Generation MCP - tools: - - PDF Generator - - XBRL Formatter - - Email Sender - trigger: "On completion of Validation Agent" - approval: auto - # Goal / Prompt (Step 4 in the UI โ€” the user-facing objective) goal: >- Automate end-to-end regulatory reporting: ingest data from trading and diff --git a/agentspecs/agents/mocks/comprehensive-sales-analytics.yaml b/agentspecs/agents/mocks/comprehensive-sales-analytics.yaml index 202be04..0b5933f 100644 --- a/agentspecs/agents/mocks/comprehensive-sales-analytics.yaml +++ b/agentspecs/agents/mocks/comprehensive-sales-analytics.yaml @@ -24,7 +24,6 @@ description: > tags: - sales - analytics - - team - kpi - monitoring - horizontal @@ -56,86 +55,6 @@ icon: graph emoji: ๐Ÿ“ˆ color: "#1a7f37" # Dark green -# Team configuration -team: - orchestration_protocol: datalayer - execution_mode: sequential - supervisor: - name: Sales Analytics Supervisor - model: "anthropic-claude-opus-4" - routing_instructions: > - Route data collection to KPI Collector first, then pass raw metrics to - Anomaly Detector and Trend Analyzer in parallel, then aggregate all - outputs into the Report Generator. Escalate if anomalies exceed the - critical threshold (>25% deviation from target). - validation: - timeout: "300s" - retry_on_failure: true - max_retries: 3 - agents: - - id: sa-1 - name: KPI Data Collector - role: "Primary ยท Initiator" - goal: > - Pull real-time sales metrics from CRM, ERP, and marketing platforms. - Normalize data into a unified schema with timestamps, dimensions - (region, product line, rep), and measures (revenue, pipeline, conversion). - model: "openai-gpt-4-1" - mcp_server: CRM Data Server - tools: - - get_sales_data - - get_customer_list - - API Connector - trigger: "Schedule: Daily at 7:30 AM" - approval: auto - - id: sa-2 - name: Anomaly Detector - role: Secondary - goal: > - Apply statistical anomaly detection (Z-score, IQR, moving average) to - the collected KPIs. Flag any metric deviating more than 10% from its - rolling 30-day average. Classify anomalies as info, warning, or critical. - model: "anthropic-claude-sonnet-4" - mcp_server: Analytics Server - tools: - - run_analysis - - Statistical Analysis - - ML Predictor - trigger: "On completion of KPI Data Collector" - approval: auto - - id: sa-3 - name: Trend Analyzer - role: Secondary - goal: > - Identify week-over-week, month-over-month, and quarter-over-quarter - trends. Generate 30-day forecasts for each KPI using time-series - models. Highlight the top 3 improving and top 3 declining metrics. - model: "anthropic-claude-sonnet-4" - mcp_server: Analytics Server - tools: - - run_analysis - - generate_charts - - Forecaster - trigger: "On completion of KPI Data Collector" - approval: auto - - id: sa-4 - name: Executive Report Generator - role: Final - goal: > - Compile all insights โ€” raw KPIs, anomalies, trends, and forecasts โ€” - into a polished executive dashboard with charts, tables, and narrative - commentary. Send the report via Slack and email. Highlight critical - anomalies with a red-flag summary at the top. - model: "openai-gpt-4-1" - mcp_server: Document Generation MCP - tools: - - PDF Generator - - Chart Builder - - Email Sender - - Slack Notifier - trigger: "On completion of Anomaly Detector & Trend Analyzer" - approval: manual - # Goal / Prompt goal: >- Run a comprehensive daily sales analytics pipeline: collect KPIs from CRM diff --git a/agentspecs/agents/mocks/optimize-grid-operations.yaml b/agentspecs/agents/mocks/optimize-grid-operations.yaml index 185bedf..185430f 100644 --- a/agentspecs/agents/mocks/optimize-grid-operations.yaml +++ b/agentspecs/agents/mocks/optimize-grid-operations.yaml @@ -21,7 +21,6 @@ tags: - iot - predictive-maintenance - sustainability - - team enabled: false @@ -48,77 +47,6 @@ icon: zap emoji: โšก color: "#1a7f37" # Green โ€” energy & sustainability -# Team configuration -team: - orchestration_protocol: datalayer - execution_mode: sequential - supervisor: - name: Grid Operations Orchestrator Agent - model: "openai-gpt-4-1" - routing_instructions: > - Start with Sensor Ingestion to process real-time telemetry, then - Anomaly Detector for pattern identification, then Failure Predictor - for maintenance forecasting, then Grid Balancer for load optimisation. - Escalate critical failure predictions (< 48h) immediately to - operations dispatch. - validation: - timeout: "600s" - retry_on_failure: true - max_retries: 3 - agents: - - id: grid-1 - name: Sensor Ingestion Agent - role: "Primary ยท Initiator" - goal: Ingest and process real-time telemetry from SCADA, smart meters, and IoT gateways - model: "openai-gpt-4-1" - mcp_server: SCADA MCP - tools: - - SCADA Connector - - Smart Meter Reader - - IoT Gateway Adapter - - Time Series Processor - trigger: "Schedule: Every 5 minutes" - approval: auto - - id: grid-2 - name: Anomaly Detector Agent - role: Secondary - goal: Detect vibration, temperature, and voltage anomalies across all grid assets - model: "openai-gpt-4-1" - mcp_server: Monitoring MCP - tools: - - Vibration Analyzer - - Temperature Anomaly Detector - - Voltage Pattern Scanner - - Historical Comparator - trigger: "On completion of Sensor Ingestion Agent" - approval: auto - - id: grid-3 - name: Failure Predictor Agent - role: Secondary - goal: Predict equipment failures 2โ€“4 weeks in advance using anomaly patterns and failure history - model: "anthropic-claude-sonnet-4" - mcp_server: Predictive Analytics MCP - tools: - - Failure Correlation Engine - - Risk Scorer - - Maintenance Scheduler - - Work Order Generator - trigger: "On completion of Anomaly Detector Agent" - approval: manual - - id: grid-4 - name: Grid Balancer Agent - role: Final - goal: Optimise real-time load balancing across renewable and conventional generation sources - model: "openai-gpt-4-1" - mcp_server: Grid Control MCP - tools: - - Load Forecaster - - Renewable Integration Model - - Dispatch Optimiser - - Grid Stability Checker - trigger: "On completion of Failure Predictor Agent" - approval: auto - # Goal / Prompt (Step 4 in the UI โ€” the user-facing objective) goal: >- Process millions of IoT sensor data points from SCADA systems, smart meters, diff --git a/agentspecs/agents/mocks/process-citizen-requests.yaml b/agentspecs/agents/mocks/process-citizen-requests.yaml index fb140bd..56e9dbe 100644 --- a/agentspecs/agents/mocks/process-citizen-requests.yaml +++ b/agentspecs/agents/mocks/process-citizen-requests.yaml @@ -22,7 +22,6 @@ tags: - policy - compliance - transparency - - team enabled: false @@ -49,77 +48,6 @@ icon: organization emoji: ๐Ÿ›๏ธ color: "#0550ae" # Dark blue โ€” government & civic -# Team configuration -team: - orchestration_protocol: datalayer - execution_mode: sequential - supervisor: - name: Citizen Services Orchestrator Agent - model: "openai-gpt-4-1" - routing_instructions: > - Route incoming citizen requests to the Intake Agent for classification - and triage, then to the Case Processor for handling and routing, then - to the Policy Analyst for impact assessment on relevant items, then - to the Transparency Agent for audit trail and public documentation. - Escalate urgent citizen safety issues immediately to supervisors. - validation: - timeout: "300s" - retry_on_failure: true - max_retries: 2 - agents: - - id: cit-1 - name: Intake & Classification Agent - role: "Primary ยท Initiator" - goal: Classify, triage, and route citizen submissions from web portals, email, and documents - model: "openai-gpt-4-1" - mcp_server: Citizen Portal MCP - tools: - - Request Classifier - - Urgency Assessor - - Jurisdiction Router - - OCR Scanner - trigger: "Event: new citizen request received" - approval: auto - - id: cit-2 - name: Case Processor Agent - role: Secondary - goal: Process and route requests to appropriate departments with required documentation - model: "openai-gpt-4-1" - mcp_server: Case Management MCP - tools: - - Case Creator - - Document Assembler - - Department Router - - Status Tracker - trigger: "On completion of Intake Agent" - approval: auto - - id: cit-3 - name: Policy Impact Analyst Agent - role: Secondary - goal: Model policy outcomes across population datasets with scenario simulation - model: "anthropic-claude-sonnet-4" - mcp_server: Policy Analytics MCP - tools: - - Monte Carlo Simulator - - Demographic Analyzer - - Budget Impact Model - - Scenario Comparator - trigger: "On completion of Case Processor Agent" - approval: manual - - id: cit-4 - name: Transparency & Audit Agent - role: Final - goal: Generate explainable decision documentation with full audit trail for public record - model: "openai-gpt-4-1" - mcp_server: Compliance MCP - tools: - - Decision Explainer - - Audit Trail Builder - - FOIA Compliance Checker - - Public Record Generator - trigger: "On completion of Policy Impact Analyst Agent" - approval: auto - # Goal / Prompt (Step 4 in the UI โ€” the user-facing objective) goal: >- Process citizen requests from web portals, email, and scanned documents. diff --git a/agentspecs/agents/mocks/process-clinical-trial-data.yaml b/agentspecs/agents/mocks/process-clinical-trial-data.yaml index 6a29d73..a35850b 100644 --- a/agentspecs/agents/mocks/process-clinical-trial-data.yaml +++ b/agentspecs/agents/mocks/process-clinical-trial-data.yaml @@ -21,7 +21,6 @@ tags: - clinical-trials - patient-data - compliance - - team enabled: false @@ -48,77 +47,6 @@ icon: heart emoji: ๐Ÿฅ color: "#cf222e" # Red โ€” healthcare & safety -# Team configuration -team: - orchestration_protocol: datalayer - execution_mode: sequential - supervisor: - name: Clinical Data Orchestrator Agent - model: "anthropic-claude-sonnet-4" - routing_instructions: > - Route incoming data through the Ingestion Agent first for format - detection and parsing, then to Harmonisation Agent for CDISC SDTM - standardisation, then Safety Monitor for adverse event screening, - then Submission Preparer for final dataset assembly. Escalate serious - adverse events (SAEs) immediately to the medical officer. - validation: - timeout: "600s" - retry_on_failure: true - max_retries: 2 - agents: - - id: ct-1 - name: Data Ingestion Agent - role: "Primary ยท Initiator" - goal: Ingest patient records, lab results, and CRFs from clinical sites - model: "openai-gpt-4-1" - mcp_server: Clinical EDC MCP - tools: - - Medidata Connector - - Veeva Vault Reader - - Oracle Clinical Adapter - - Format Detector - trigger: "Event: new data batch received from site" - approval: auto - - id: ct-2 - name: Harmonisation Agent - role: Secondary - goal: Standardise all data to CDISC SDTM format with MedDRA coding - model: "openai-gpt-4-1" - mcp_server: Data Standards MCP - tools: - - SDTM Mapper - - MedDRA Coder - - Unit Converter - - Site Normaliser - trigger: "On completion of Data Ingestion Agent" - approval: auto - - id: ct-3 - name: Safety Monitor Agent - role: Secondary - goal: Screen every data point for adverse events and safety signals - model: "anthropic-claude-sonnet-4" - mcp_server: Safety Database MCP - tools: - - AE Classifier - - Signal Detector - - SAE Escalator - - Evidence Trail Builder - trigger: "On completion of Harmonisation Agent" - approval: manual - - id: ct-4 - name: Submission Preparer Agent - role: Final - goal: Assemble submission-ready SDTM datasets with validation and define.xml - model: "openai-gpt-4-1" - mcp_server: Submission MCP - tools: - - Dataset Validator - - Define.xml Generator - - PDF Report Builder - - Compliance Checker - trigger: "On completion of Safety Monitor Agent" - approval: auto - # Goal / Prompt (Step 4 in the UI โ€” the user-facing objective) goal: >- Process clinical trial data from multiple sites: ingest patient records diff --git a/agentspecs/agents/mocks/sync-crm-contacts.yaml b/agentspecs/agents/mocks/sync-crm-contacts.yaml index d7b24f3..4dd2b88 100644 --- a/agentspecs/agents/mocks/sync-crm-contacts.yaml +++ b/agentspecs/agents/mocks/sync-crm-contacts.yaml @@ -16,7 +16,6 @@ description: > tags: - sales - crm - - team - data-sync - deduplication @@ -46,68 +45,6 @@ icon: people emoji: ๐Ÿ”„ color: "#0969da" # Blue -# Team configuration -team: - orchestration_protocol: datalayer - execution_mode: sequential - supervisor: - name: CRM Orchestrator Agent - model: "anthropic-claude-opus-4" - routing_instructions: > - Route data collection tasks to the Data Collector first, then analysis, - then sync, then reporting. Escalate to human if sync fails 3 times. - validation: - timeout: "300s" - retry_on_failure: true - max_retries: 3 - agents: - - id: tm-1 - name: Data Collector Agent - role: "Primary ยท Initiator" - goal: Collect and aggregate contact data from multiple CRM sources - model: "openai-gpt-4-1" - mcp_server: Data Processing MCP - tools: - - API Connector - - Data Parser - trigger: "Schedule: Daily at 2:00 AM" - approval: auto - - id: tm-2 - name: Analyzer Agent - role: Secondary - goal: Analyze collected data and identify patterns and duplicates - model: "anthropic-claude-opus-4" - mcp_server: Analytics MCP - tools: - - Statistical Analysis - - ML Predictor - - Deduplicator - trigger: "On completion of Data Collector" - approval: manual - - id: tm-3 - name: Sync Writer Agent - role: Secondary - goal: Write cleaned and merged contacts back to the CRM systems - model: "openai-gpt-4-1" - mcp_server: CRM Write MCP - tools: - - Salesforce Connector - - HubSpot Connector - trigger: "On completion of Analyzer" - approval: manual - - id: tm-4 - name: Report Generator Agent - role: Final - goal: Generate sync summary reports and send notifications - model: "openai-gpt-4-1" - mcp_server: Document Generation MCP - tools: - - PDF Generator - - Chart Builder - - Email Sender - trigger: "On completion of Sync Writer" - approval: auto - # Goal / Prompt (Step 4 in the UI โ€” the user-facing objective) goal: >- Collect and aggregate contact data from multiple CRM sources, analyze and diff --git a/agentspecs/teams/mocks/analyze-campaign-performance.yaml b/agentspecs/teams/mocks/analyze-campaign-performance.yaml new file mode 100644 index 0000000..20ce2ef --- /dev/null +++ b/agentspecs/teams/mocks/analyze-campaign-performance.yaml @@ -0,0 +1,93 @@ +# Copyright (c) 2025-2026 Datalayer, Inc. +# Distributed under the terms of the Modified BSD License. + +# Team Specification: Analyze Campaign Performance +# Auto-extracted from agent spec analyze-campaign-performance + +id: analyze-campaign-performance +name: Analyze Campaign Performance +description: 'A multi-agent team that unifies marketing data from Google Ads, Meta, TikTok, LinkedIn, + GA4, CRM, and email platforms. Normalises metrics into a unified view, detects performance anomalies + in real time, and generates budget reallocation recommendations to maximise ROAS. + + ' +tags: +- marketing +- media +- campaigns +- analytics +- advertising +- social-media +enabled: false +icon: megaphone +emoji: ๐Ÿ“ข +color: '#8250df' +agent_spec_id: analyze-campaign-performance +orchestration_protocol: datalayer +execution_mode: sequential +supervisor: + name: Campaign Analytics Orchestrator Agent + model: openai-gpt-4-1 +routing_instructions: 'Start with Platform Connector to pull data from all ad platforms, then Metrics + Normaliser for unified KPIs, then Anomaly Detector for real-time performance monitoring, then Budget + Optimiser for reallocation recommendations. Escalate CPA spikes above 50% immediately. + + ' +validation: + timeout: 300s + retry_on_failure: true + max_retries: 2 +agents: +- id: cp-1 + name: Platform Connector Agent + role: Primary ยท Initiator + goal: Pull campaign data from Google Ads, Meta, TikTok, LinkedIn, GA4, and email platforms + model: openai-gpt-4-1 + mcp_server: Ad Platforms MCP + tools: + - Google Ads Connector + - Meta Ads Connector + - TikTok Ads Connector + - LinkedIn Ads Connector + - GA4 Connector + trigger: 'Schedule: Every 4 hours' + approval: auto +- id: cp-2 + name: Metrics Normaliser Agent + role: Secondary + goal: Normalise CPA, ROAS, CTR, and attribution across all platforms into unified view + model: openai-gpt-4-1 + mcp_server: Analytics MCP + tools: + - Metric Unifier + - Currency Converter + - Attribution Mapper + - Naming Convention Resolver + trigger: On completion of Platform Connector Agent + approval: auto +- id: cp-3 + name: Anomaly Detector Agent + role: Secondary + goal: Monitor all KPIs for CTR drops, CPA spikes, and budget pacing issues + model: anthropic-claude-sonnet-4 + mcp_server: Monitoring MCP + tools: + - Anomaly Scanner + - Budget Pacer + - Alert Generator + - Campaign Pauser + trigger: On completion of Metrics Normaliser Agent + approval: manual +- id: cp-4 + name: Budget Optimiser Agent + role: Final + goal: Generate budget reallocation recommendations to maximise ROAS across channels + model: openai-gpt-4-1 + mcp_server: Optimisation MCP + tools: + - ROAS Calculator + - Budget Allocator + - Scenario Modeller + - Report Generator + trigger: On completion of Anomaly Detector Agent + approval: manual diff --git a/agentspecs/teams/mocks/analyze-support-tickets.yaml b/agentspecs/teams/mocks/analyze-support-tickets.yaml new file mode 100644 index 0000000..f2ea153 --- /dev/null +++ b/agentspecs/teams/mocks/analyze-support-tickets.yaml @@ -0,0 +1,71 @@ +# Copyright (c) 2025-2026 Datalayer, Inc. +# Distributed under the terms of the Modified BSD License. + +# Team Specification: Analyze Support Tickets +# Auto-extracted from agent spec analyze-support-tickets + +id: analyze-support-tickets +name: Analyze Support Tickets +description: 'A multi-agent team that triages incoming support tickets, categorizes by urgency and topic, + identifies recurring patterns, and generates resolution recommendations with escalation paths. + + ' +tags: +- analytics +- data +- support +- tickets +enabled: false +icon: issue-opened +emoji: ๐ŸŽซ +color: '#bf8700' +agent_spec_id: analyze-support-tickets +orchestration_protocol: datalayer +execution_mode: sequential +supervisor: + name: Support Orchestrator Agent + model: openai-gpt-4-1 +routing_instructions: 'Route new tickets to the Triage Agent first, then to the Categorizer, then to the + Pattern Analyzer. Escalate P1/critical tickets immediately to human support leads. + + ' +validation: + timeout: 180s + retry_on_failure: true + max_retries: 2 +agents: +- id: st-1 + name: Triage Agent + role: Primary ยท Initiator + goal: Ingest new support tickets and assess urgency level (P1-P4) + model: openai-gpt-4-1 + mcp_server: Helpdesk MCP + tools: + - Ticket Reader + - Priority Classifier + trigger: 'Event: new ticket received' + approval: auto +- id: st-2 + name: Categorizer Agent + role: Secondary + goal: Categorize tickets by topic, product area, and sentiment + model: openai-gpt-4-1 + mcp_server: NLP Pipeline MCP + tools: + - Topic Classifier + - Sentiment Analyzer + - Product Tagger + trigger: On completion of Triage Agent + approval: auto +- id: st-3 + name: Pattern Analyzer Agent + role: Final + goal: Identify recurring issues and generate resolution recommendations + model: anthropic-claude-sonnet-4 + mcp_server: Analytics MCP + tools: + - Pattern Detector + - Knowledge Base Search + - Resolution Generator + trigger: On completion of Categorizer Agent + approval: manual diff --git a/agentspecs/teams/mocks/audit-inventory-levels.yaml b/agentspecs/teams/mocks/audit-inventory-levels.yaml new file mode 100644 index 0000000..a210d66 --- /dev/null +++ b/agentspecs/teams/mocks/audit-inventory-levels.yaml @@ -0,0 +1,96 @@ +# Copyright (c) 2025-2026 Datalayer, Inc. +# Distributed under the terms of the Modified BSD License. + +# Team Specification: Audit Inventory Levels +# Auto-extracted from agent spec audit-inventory-levels + +id: audit-inventory-levels +name: Audit Inventory Levels +description: 'A multi-agent team that monitors inventory levels across warehouses, detects discrepancies + between physical and system counts, forecasts demand by SKU, and generates automated reorder recommendations. + + ' +tags: +- finance +- automation +- inventory +- supply-chain +enabled: false +icon: package +emoji: ๐Ÿ“ฆ +color: '#0969da' +agent_spec_id: audit-inventory-levels +orchestration_protocol: datalayer +execution_mode: sequential +supervisor: + name: Inventory Orchestrator Agent + model: openai-gpt-4-1 +routing_instructions: 'Start with the Scanner to pull current levels, then Auditor to check discrepancies, + then Forecaster for demand predictions, then Planner for reorder recommendations, then Reporter for + the final audit report. Escalate critical shortages immediately. + + ' +validation: + timeout: 600s + retry_on_failure: true + max_retries: 3 +agents: +- id: inv-1 + name: Inventory Scanner Agent + role: Primary ยท Initiator + goal: Pull current inventory levels from all warehouse management systems + model: openai-gpt-4-1 + mcp_server: Warehouse MCP + tools: + - WMS Connector + - Barcode Scanner API + trigger: 'Schedule: Every 6 hours' + approval: auto +- id: inv-2 + name: Discrepancy Auditor Agent + role: Secondary + goal: Compare system counts vs physical counts and flag discrepancies + model: openai-gpt-4-1 + mcp_server: Audit MCP + tools: + - Count Comparator + - Discrepancy Logger + - Shrinkage Calculator + trigger: On completion of Inventory Scanner + approval: auto +- id: inv-3 + name: Demand Forecaster Agent + role: Secondary + goal: Forecast demand by SKU using historical sales and seasonal patterns + model: anthropic-claude-sonnet-4 + mcp_server: Analytics MCP + tools: + - Time Series Model + - Seasonal Analyzer + - External Signals Fetcher + trigger: On completion of Discrepancy Auditor + approval: auto +- id: inv-4 + name: Reorder Planner Agent + role: Secondary + goal: Calculate optimal reorder points and generate purchase order recommendations + model: openai-gpt-4-1 + mcp_server: Procurement MCP + tools: + - EOQ Calculator + - Supplier Catalog + - PO Generator + trigger: On completion of Demand Forecaster + approval: manual +- id: inv-5 + name: Audit Report Agent + role: Final + goal: Compile inventory audit report with discrepancies, forecasts, and reorder plan + model: openai-gpt-4-1 + mcp_server: Document Generation MCP + tools: + - PDF Generator + - Chart Builder + - Email Sender + trigger: On completion of Reorder Planner + approval: auto diff --git a/agentspecs/teams/mocks/automate-regulatory-reporting.yaml b/agentspecs/teams/mocks/automate-regulatory-reporting.yaml new file mode 100644 index 0000000..76cc2b8 --- /dev/null +++ b/agentspecs/teams/mocks/automate-regulatory-reporting.yaml @@ -0,0 +1,103 @@ +# Copyright (c) 2025-2026 Datalayer, Inc. +# Distributed under the terms of the Modified BSD License. + +# Team Specification: Automate Regulatory Reporting +# Auto-extracted from agent spec automate-regulatory-reporting + +id: automate-regulatory-reporting +name: Automate Regulatory Reporting +description: 'A multi-agent team that automates end-to-end regulatory reporting for financial institutions. + Ingests data from trading systems, risk engines, and accounting platforms, reconciles positions, computes + risk metrics, validates against regulatory rules (Basel III/IV, MiFID II, SOX), and generates submission-ready + compliance reports with full audit trails. + + ' +tags: +- finance +- compliance +- regulatory +- risk +- banking +- audit +enabled: false +icon: shield-check +emoji: ๐Ÿฆ +color: '#0969da' +agent_spec_id: automate-regulatory-reporting +orchestration_protocol: datalayer +execution_mode: sequential +supervisor: + name: Compliance Orchestrator Agent + model: openai-gpt-4-1 +routing_instructions: 'Start with Data Ingestion to pull positions and transactions, then Risk Calculator + for metric computation, then Reconciliation Agent to cross-check figures, then Validation Agent for + regulatory rule checks, then Report Generator for submission-ready output. Escalate any reconciliation + breaks above $10K immediately to the compliance team. + + ' +validation: + timeout: 900s + retry_on_failure: true + max_retries: 2 +agents: +- id: reg-1 + name: Data Ingestion Agent + role: Primary ยท Initiator + goal: Extract positions, transactions, and P&L from trading and accounting systems + model: openai-gpt-4-1 + mcp_server: Trading Systems MCP + tools: + - Position Reader + - Transaction Fetcher + - P&L Extractor + trigger: 'Schedule: Monthly on the 3rd business day' + approval: auto +- id: reg-2 + name: Risk Calculator Agent + role: Secondary + goal: Compute Basel III/IV risk-weighted assets, capital ratios, and VaR metrics + model: anthropic-claude-sonnet-4 + mcp_server: Risk Engine MCP + tools: + - RWA Calculator + - VaR Engine + - Capital Ratio Computer + - Stress Test Runner + trigger: On completion of Data Ingestion Agent + approval: auto +- id: reg-3 + name: Reconciliation Agent + role: Secondary + goal: Cross-check computed figures against source systems and flag discrepancies + model: openai-gpt-4-1 + mcp_server: Reconciliation MCP + tools: + - Position Reconciler + - Break Detector + - Audit Logger + trigger: On completion of Risk Calculator Agent + approval: auto +- id: reg-4 + name: Validation Agent + role: Secondary + goal: Validate all metrics against Basel III/IV, MiFID II, and SOX regulatory rules + model: openai-gpt-4-1 + mcp_server: Compliance Rules MCP + tools: + - Basel Rule Validator + - MiFID II Checker + - SOX Control Verifier + trigger: On completion of Reconciliation Agent + approval: manual +- id: reg-5 + name: Report Generator Agent + role: Final + goal: Generate submission-ready regulatory reports with full data lineage and audit trail + model: openai-gpt-4-1 + mcp_server: Document Generation MCP + tools: + - PDF Generator + - XBRL Formatter + - Email Sender + trigger: On completion of Validation Agent + approval: auto diff --git a/agentspecs/teams/mocks/comprehensive-sales-analytics.yaml b/agentspecs/teams/mocks/comprehensive-sales-analytics.yaml new file mode 100644 index 0000000..d7fd46a --- /dev/null +++ b/agentspecs/teams/mocks/comprehensive-sales-analytics.yaml @@ -0,0 +1,104 @@ +# Copyright (c) 2025-2026 Datalayer, Inc. +# Distributed under the terms of the Modified BSD License. + +# Team Specification: Comprehensive Sales Analytics +# Auto-extracted from agent spec comprehensive-sales-analytics + +id: comprehensive-sales-analytics +name: Comprehensive Sales Analytics +description: 'A multi-agent team that replaces a single KPI monitor with four specialized agents: a Data + Collector that pulls real-time CRM metrics, an Anomaly Detector that flags statistical outliers, a Trend + Analyzer that identifies patterns and forecasts, and a Report Generator that compiles executive dashboards + and sends alerts. Together they deliver deeper insights, faster detection, and richer reporting than + any single agent could. + + ' +tags: +- sales +- analytics +- kpi +- monitoring +- horizontal +enabled: false +icon: graph +emoji: ๐Ÿ“ˆ +color: '#1a7f37' +agent_spec_id: comprehensive-sales-analytics +orchestration_protocol: datalayer +execution_mode: sequential +supervisor: + name: Sales Analytics Supervisor + model: anthropic-claude-opus-4 +routing_instructions: 'Route data collection to KPI Collector first, then pass raw metrics to Anomaly + Detector and Trend Analyzer in parallel, then aggregate all outputs into the Report Generator. Escalate + if anomalies exceed the critical threshold (>25% deviation from target). + + ' +validation: + timeout: 300s + retry_on_failure: true + max_retries: 3 +agents: +- id: sa-1 + name: KPI Data Collector + role: Primary ยท Initiator + goal: 'Pull real-time sales metrics from CRM, ERP, and marketing platforms. Normalize data into a unified + schema with timestamps, dimensions (region, product line, rep), and measures (revenue, pipeline, conversion). + + ' + model: openai-gpt-4-1 + mcp_server: CRM Data Server + tools: + - get_sales_data + - get_customer_list + - API Connector + trigger: 'Schedule: Daily at 7:30 AM' + approval: auto +- id: sa-2 + name: Anomaly Detector + role: Secondary + goal: 'Apply statistical anomaly detection (Z-score, IQR, moving average) to the collected KPIs. Flag + any metric deviating more than 10% from its rolling 30-day average. Classify anomalies as info, warning, + or critical. + + ' + model: anthropic-claude-sonnet-4 + mcp_server: Analytics Server + tools: + - run_analysis + - Statistical Analysis + - ML Predictor + trigger: On completion of KPI Data Collector + approval: auto +- id: sa-3 + name: Trend Analyzer + role: Secondary + goal: 'Identify week-over-week, month-over-month, and quarter-over-quarter trends. Generate 30-day forecasts + for each KPI using time-series models. Highlight the top 3 improving and top 3 declining metrics. + + ' + model: anthropic-claude-sonnet-4 + mcp_server: Analytics Server + tools: + - run_analysis + - generate_charts + - Forecaster + trigger: On completion of KPI Data Collector + approval: auto +- id: sa-4 + name: Executive Report Generator + role: Final + goal: 'Compile all insights โ€” raw KPIs, anomalies, trends, and forecasts โ€” into a polished executive + dashboard with charts, tables, and narrative commentary. Send the report via Slack and email. Highlight + critical anomalies with a red-flag summary at the top. + + ' + model: openai-gpt-4-1 + mcp_server: Document Generation MCP + tools: + - PDF Generator + - Chart Builder + - Email Sender + - Slack Notifier + trigger: On completion of Anomaly Detector & Trend Analyzer + approval: manual diff --git a/agentspecs/teams/mocks/optimize-grid-operations.yaml b/agentspecs/teams/mocks/optimize-grid-operations.yaml new file mode 100644 index 0000000..7e05dc7 --- /dev/null +++ b/agentspecs/teams/mocks/optimize-grid-operations.yaml @@ -0,0 +1,92 @@ +# Copyright (c) 2025-2026 Datalayer, Inc. +# Distributed under the terms of the Modified BSD License. + +# Team Specification: Optimize Grid Operations +# Auto-extracted from agent spec optimize-grid-operations + +id: optimize-grid-operations +name: Optimize Grid Operations +description: 'A multi-agent team that processes millions of IoT sensor data points from smart meters, + substations, and renewable generation assets. Predicts equipment failures 2โ€“4 weeks in advance, optimises + load balancing across the grid, and reduces unplanned downtime by 50%. + + ' +tags: +- energy +- utilities +- smart-grid +- iot +- predictive-maintenance +- sustainability +enabled: false +icon: zap +emoji: โšก +color: '#1a7f37' +agent_spec_id: optimize-grid-operations +orchestration_protocol: datalayer +execution_mode: sequential +supervisor: + name: Grid Operations Orchestrator Agent + model: openai-gpt-4-1 +routing_instructions: 'Start with Sensor Ingestion to process real-time telemetry, then Anomaly Detector + for pattern identification, then Failure Predictor for maintenance forecasting, then Grid Balancer for + load optimisation. Escalate critical failure predictions (< 48h) immediately to operations dispatch. + + ' +validation: + timeout: 600s + retry_on_failure: true + max_retries: 3 +agents: +- id: grid-1 + name: Sensor Ingestion Agent + role: Primary ยท Initiator + goal: Ingest and process real-time telemetry from SCADA, smart meters, and IoT gateways + model: openai-gpt-4-1 + mcp_server: SCADA MCP + tools: + - SCADA Connector + - Smart Meter Reader + - IoT Gateway Adapter + - Time Series Processor + trigger: 'Schedule: Every 5 minutes' + approval: auto +- id: grid-2 + name: Anomaly Detector Agent + role: Secondary + goal: Detect vibration, temperature, and voltage anomalies across all grid assets + model: openai-gpt-4-1 + mcp_server: Monitoring MCP + tools: + - Vibration Analyzer + - Temperature Anomaly Detector + - Voltage Pattern Scanner + - Historical Comparator + trigger: On completion of Sensor Ingestion Agent + approval: auto +- id: grid-3 + name: Failure Predictor Agent + role: Secondary + goal: Predict equipment failures 2โ€“4 weeks in advance using anomaly patterns and failure history + model: anthropic-claude-sonnet-4 + mcp_server: Predictive Analytics MCP + tools: + - Failure Correlation Engine + - Risk Scorer + - Maintenance Scheduler + - Work Order Generator + trigger: On completion of Anomaly Detector Agent + approval: manual +- id: grid-4 + name: Grid Balancer Agent + role: Final + goal: Optimise real-time load balancing across renewable and conventional generation sources + model: openai-gpt-4-1 + mcp_server: Grid Control MCP + tools: + - Load Forecaster + - Renewable Integration Model + - Dispatch Optimiser + - Grid Stability Checker + trigger: On completion of Failure Predictor Agent + approval: auto diff --git a/agentspecs/teams/mocks/process-citizen-requests.yaml b/agentspecs/teams/mocks/process-citizen-requests.yaml new file mode 100644 index 0000000..db13080 --- /dev/null +++ b/agentspecs/teams/mocks/process-citizen-requests.yaml @@ -0,0 +1,94 @@ +# Copyright (c) 2025-2026 Datalayer, Inc. +# Distributed under the terms of the Modified BSD License. + +# Team Specification: Process Citizen Requests +# Auto-extracted from agent spec process-citizen-requests + +id: process-citizen-requests +name: Process Citizen Requests +description: 'A multi-agent team that automates citizen request processing for government agencies. Classifies + and triages permits, FOIA requests, and benefit claims from multiple channels. Models policy impacts + across population datasets and ensures every automated decision is explainable, auditable, and compliant + with transparency mandates. + + ' +tags: +- government +- public-sector +- civic +- policy +- compliance +- transparency +enabled: false +icon: organization +emoji: ๐Ÿ›๏ธ +color: '#0550ae' +agent_spec_id: process-citizen-requests +orchestration_protocol: datalayer +execution_mode: sequential +supervisor: + name: Citizen Services Orchestrator Agent + model: openai-gpt-4-1 +routing_instructions: 'Route incoming citizen requests to the Intake Agent for classification and triage, + then to the Case Processor for handling and routing, then to the Policy Analyst for impact assessment + on relevant items, then to the Transparency Agent for audit trail and public documentation. Escalate + urgent citizen safety issues immediately to supervisors. + + ' +validation: + timeout: 300s + retry_on_failure: true + max_retries: 2 +agents: +- id: cit-1 + name: Intake & Classification Agent + role: Primary ยท Initiator + goal: Classify, triage, and route citizen submissions from web portals, email, and documents + model: openai-gpt-4-1 + mcp_server: Citizen Portal MCP + tools: + - Request Classifier + - Urgency Assessor + - Jurisdiction Router + - OCR Scanner + trigger: 'Event: new citizen request received' + approval: auto +- id: cit-2 + name: Case Processor Agent + role: Secondary + goal: Process and route requests to appropriate departments with required documentation + model: openai-gpt-4-1 + mcp_server: Case Management MCP + tools: + - Case Creator + - Document Assembler + - Department Router + - Status Tracker + trigger: On completion of Intake Agent + approval: auto +- id: cit-3 + name: Policy Impact Analyst Agent + role: Secondary + goal: Model policy outcomes across population datasets with scenario simulation + model: anthropic-claude-sonnet-4 + mcp_server: Policy Analytics MCP + tools: + - Monte Carlo Simulator + - Demographic Analyzer + - Budget Impact Model + - Scenario Comparator + trigger: On completion of Case Processor Agent + approval: manual +- id: cit-4 + name: Transparency & Audit Agent + role: Final + goal: Generate explainable decision documentation with full audit trail for public record + model: openai-gpt-4-1 + mcp_server: Compliance MCP + tools: + - Decision Explainer + - Audit Trail Builder + - FOIA Compliance Checker + - Public Record Generator + trigger: On completion of Policy Impact Analyst Agent + approval: auto diff --git a/agentspecs/teams/mocks/process-clinical-trial-data.yaml b/agentspecs/teams/mocks/process-clinical-trial-data.yaml new file mode 100644 index 0000000..ac93ea3 --- /dev/null +++ b/agentspecs/teams/mocks/process-clinical-trial-data.yaml @@ -0,0 +1,93 @@ +# Copyright (c) 2025-2026 Datalayer, Inc. +# Distributed under the terms of the Modified BSD License. + +# Team Specification: Process Clinical Trial Data +# Auto-extracted from agent spec process-clinical-trial-data + +id: process-clinical-trial-data +name: Process Clinical Trial Data +description: 'A multi-agent team that automates clinical trial data processing across dozens of trial + sites. Harmonises patient records and lab results to CDISC SDTM format, detects safety signals and adverse + events in real time, and prepares submission-ready datasets โ€” all with strict HIPAA and GxP compliance + guardrails. + + ' +tags: +- healthcare +- pharma +- clinical-trials +- patient-data +- compliance +enabled: false +icon: heart +emoji: ๐Ÿฅ +color: '#cf222e' +agent_spec_id: process-clinical-trial-data +orchestration_protocol: datalayer +execution_mode: sequential +supervisor: + name: Clinical Data Orchestrator Agent + model: anthropic-claude-sonnet-4 +routing_instructions: 'Route incoming data through the Ingestion Agent first for format detection and + parsing, then to Harmonisation Agent for CDISC SDTM standardisation, then Safety Monitor for adverse + event screening, then Submission Preparer for final dataset assembly. Escalate serious adverse events + (SAEs) immediately to the medical officer. + + ' +validation: + timeout: 600s + retry_on_failure: true + max_retries: 2 +agents: +- id: ct-1 + name: Data Ingestion Agent + role: Primary ยท Initiator + goal: Ingest patient records, lab results, and CRFs from clinical sites + model: openai-gpt-4-1 + mcp_server: Clinical EDC MCP + tools: + - Medidata Connector + - Veeva Vault Reader + - Oracle Clinical Adapter + - Format Detector + trigger: 'Event: new data batch received from site' + approval: auto +- id: ct-2 + name: Harmonisation Agent + role: Secondary + goal: Standardise all data to CDISC SDTM format with MedDRA coding + model: openai-gpt-4-1 + mcp_server: Data Standards MCP + tools: + - SDTM Mapper + - MedDRA Coder + - Unit Converter + - Site Normaliser + trigger: On completion of Data Ingestion Agent + approval: auto +- id: ct-3 + name: Safety Monitor Agent + role: Secondary + goal: Screen every data point for adverse events and safety signals + model: anthropic-claude-sonnet-4 + mcp_server: Safety Database MCP + tools: + - AE Classifier + - Signal Detector + - SAE Escalator + - Evidence Trail Builder + trigger: On completion of Harmonisation Agent + approval: manual +- id: ct-4 + name: Submission Preparer Agent + role: Final + goal: Assemble submission-ready SDTM datasets with validation and define.xml + model: openai-gpt-4-1 + mcp_server: Submission MCP + tools: + - Dataset Validator + - Define.xml Generator + - PDF Report Builder + - Compliance Checker + trigger: On completion of Safety Monitor Agent + approval: auto diff --git a/agentspecs/teams/mocks/sync-crm-contacts.yaml b/agentspecs/teams/mocks/sync-crm-contacts.yaml new file mode 100644 index 0000000..7c93950 --- /dev/null +++ b/agentspecs/teams/mocks/sync-crm-contacts.yaml @@ -0,0 +1,82 @@ +# Copyright (c) 2025-2026 Datalayer, Inc. +# Distributed under the terms of the Modified BSD License. + +# Team Specification: Sync CRM Contacts +# Auto-extracted from agent spec sync-crm-contacts + +id: sync-crm-contacts +name: Sync CRM Contacts +description: 'A multi-agent team that collects and aggregates contact data from multiple CRM sources, + analyzes and deduplicates records, writes cleaned data back, and generates sync summary reports. + + ' +tags: +- sales +- crm +- data-sync +- deduplication +enabled: false +icon: people +emoji: ๐Ÿ”„ +color: '#0969da' +agent_spec_id: sync-crm-contacts +orchestration_protocol: datalayer +execution_mode: sequential +supervisor: + name: CRM Orchestrator Agent + model: anthropic-claude-opus-4 +routing_instructions: 'Route data collection tasks to the Data Collector first, then analysis, then sync, + then reporting. Escalate to human if sync fails 3 times. + + ' +validation: + timeout: 300s + retry_on_failure: true + max_retries: 3 +agents: +- id: tm-1 + name: Data Collector Agent + role: Primary ยท Initiator + goal: Collect and aggregate contact data from multiple CRM sources + model: openai-gpt-4-1 + mcp_server: Data Processing MCP + tools: + - API Connector + - Data Parser + trigger: 'Schedule: Daily at 2:00 AM' + approval: auto +- id: tm-2 + name: Analyzer Agent + role: Secondary + goal: Analyze collected data and identify patterns and duplicates + model: anthropic-claude-opus-4 + mcp_server: Analytics MCP + tools: + - Statistical Analysis + - ML Predictor + - Deduplicator + trigger: On completion of Data Collector + approval: manual +- id: tm-3 + name: Sync Writer Agent + role: Secondary + goal: Write cleaned and merged contacts back to the CRM systems + model: openai-gpt-4-1 + mcp_server: CRM Write MCP + tools: + - Salesforce Connector + - HubSpot Connector + trigger: On completion of Analyzer + approval: manual +- id: tm-4 + name: Report Generator Agent + role: Final + goal: Generate sync summary reports and send notifications + model: openai-gpt-4-1 + mcp_server: Document Generation MCP + tools: + - PDF Generator + - Chart Builder + - Email Sender + trigger: On completion of Sync Writer + approval: auto From bf644246bc8a5789af09cdbae2f21bd8d39148bf Mon Sep 17 00:00:00 2001 From: Eric Charles Date: Wed, 11 Mar 2026 17:42:23 +0100 Subject: [PATCH 04/44] teams --- .../mocks/analyze-campaign-performance.yaml | 33 +++++++++++++++++++ .../teams/mocks/analyze-support-tickets.yaml | 32 ++++++++++++++++++ .../teams/mocks/audit-inventory-levels.yaml | 33 +++++++++++++++++++ .../mocks/automate-regulatory-reporting.yaml | 33 +++++++++++++++++++ .../mocks/comprehensive-sales-analytics.yaml | 33 +++++++++++++++++++ .../teams/mocks/optimize-grid-operations.yaml | 33 +++++++++++++++++++ .../teams/mocks/process-citizen-requests.yaml | 32 ++++++++++++++++++ .../mocks/process-clinical-trial-data.yaml | 33 +++++++++++++++++++ agentspecs/teams/mocks/sync-crm-contacts.yaml | 32 ++++++++++++++++++ 9 files changed, 294 insertions(+) diff --git a/agentspecs/teams/mocks/analyze-campaign-performance.yaml b/agentspecs/teams/mocks/analyze-campaign-performance.yaml index 20ce2ef..c50a65a 100644 --- a/agentspecs/teams/mocks/analyze-campaign-performance.yaml +++ b/agentspecs/teams/mocks/analyze-campaign-performance.yaml @@ -91,3 +91,36 @@ agents: - Report Generator trigger: On completion of Anomaly Detector Agent approval: manual +reaction_rules: +- id: rr-camp-1 + trigger: budget_threshold_exceeded + action: pause_and_notify + auto: true + max_retries: 1 + escalate_after_retries: 1 + priority: high +- id: rr-camp-2 + trigger: data_quality_low + action: retry_collection + auto: true + max_retries: 3 + escalate_after_retries: 3 + priority: medium +health_monitoring: + heartbeat_interval: 30s + stale_threshold: 120s + unresponsive_threshold: 300s + stuck_threshold: 600s + max_restart_attempts: 3 +notifications: + on_start: true + on_completion: true + on_failure: true + on_escalation: true +output: + formats: + - pdf + - csv + - json + template: Campaign Performance Report + storage: s3://reports/campaign-analytics/ diff --git a/agentspecs/teams/mocks/analyze-support-tickets.yaml b/agentspecs/teams/mocks/analyze-support-tickets.yaml index f2ea153..5661299 100644 --- a/agentspecs/teams/mocks/analyze-support-tickets.yaml +++ b/agentspecs/teams/mocks/analyze-support-tickets.yaml @@ -69,3 +69,35 @@ agents: - Resolution Generator trigger: On completion of Categorizer Agent approval: manual +reaction_rules: +- id: rr-supp-1 + trigger: ticket_surge_detected + action: escalate_to_supervisor + auto: true + max_retries: 2 + escalate_after_retries: 2 + priority: high +- id: rr-supp-2 + trigger: classification_confidence_low + action: request_human_review + auto: false + max_retries: 1 + escalate_after_retries: 1 + priority: medium +health_monitoring: + heartbeat_interval: 15s + stale_threshold: 60s + unresponsive_threshold: 180s + stuck_threshold: 300s + max_restart_attempts: 3 +notifications: + on_start: false + on_completion: true + on_failure: true + on_escalation: true +output: + formats: + - pdf + - json + template: Support Ticket Analysis + storage: s3://reports/support-analytics/ diff --git a/agentspecs/teams/mocks/audit-inventory-levels.yaml b/agentspecs/teams/mocks/audit-inventory-levels.yaml index a210d66..beca729 100644 --- a/agentspecs/teams/mocks/audit-inventory-levels.yaml +++ b/agentspecs/teams/mocks/audit-inventory-levels.yaml @@ -94,3 +94,36 @@ agents: - Email Sender trigger: On completion of Reorder Planner approval: auto +reaction_rules: +- id: rr-inv-1 + trigger: stockout_risk_detected + action: escalate_to_supervisor + auto: true + max_retries: 1 + escalate_after_retries: 1 + priority: high +- id: rr-inv-2 + trigger: discrepancy_threshold_exceeded + action: flag_for_manual_audit + auto: false + max_retries: 2 + escalate_after_retries: 2 + priority: high +health_monitoring: + heartbeat_interval: 30s + stale_threshold: 120s + unresponsive_threshold: 300s + stuck_threshold: 600s + max_restart_attempts: 3 +notifications: + on_start: true + on_completion: true + on_failure: true + on_escalation: true +output: + formats: + - pdf + - xlsx + - csv + template: Inventory Audit Report + storage: s3://reports/inventory-audits/ diff --git a/agentspecs/teams/mocks/automate-regulatory-reporting.yaml b/agentspecs/teams/mocks/automate-regulatory-reporting.yaml index 76cc2b8..3810ca0 100644 --- a/agentspecs/teams/mocks/automate-regulatory-reporting.yaml +++ b/agentspecs/teams/mocks/automate-regulatory-reporting.yaml @@ -101,3 +101,36 @@ agents: - Email Sender trigger: On completion of Validation Agent approval: auto +reaction_rules: +- id: rr-reg-1 + trigger: compliance_violation_detected + action: halt_and_escalate + auto: true + max_retries: 0 + escalate_after_retries: 0 + priority: critical +- id: rr-reg-2 + trigger: data_validation_failure + action: retry_with_fallback + auto: true + max_retries: 3 + escalate_after_retries: 3 + priority: high +health_monitoring: + heartbeat_interval: 15s + stale_threshold: 60s + unresponsive_threshold: 120s + stuck_threshold: 300s + max_restart_attempts: 2 +notifications: + on_start: true + on_completion: true + on_failure: true + on_escalation: true +output: + formats: + - pdf + - xbrl + - json + template: Regulatory Submission Report + storage: s3://reports/regulatory-submissions/ diff --git a/agentspecs/teams/mocks/comprehensive-sales-analytics.yaml b/agentspecs/teams/mocks/comprehensive-sales-analytics.yaml index d7fd46a..09ea50a 100644 --- a/agentspecs/teams/mocks/comprehensive-sales-analytics.yaml +++ b/agentspecs/teams/mocks/comprehensive-sales-analytics.yaml @@ -102,3 +102,36 @@ agents: - Slack Notifier trigger: On completion of Anomaly Detector & Trend Analyzer approval: manual +reaction_rules: +- id: rr-sales-1 + trigger: anomaly_critical + action: escalate_to_supervisor + auto: true + max_retries: 2 + escalate_after_retries: 2 + priority: high +- id: rr-sales-2 + trigger: data_stale + action: retry_collection + auto: true + max_retries: 3 + escalate_after_retries: 3 + priority: medium +health_monitoring: + heartbeat_interval: 30s + stale_threshold: 120s + unresponsive_threshold: 300s + stuck_threshold: 600s + max_restart_attempts: 3 +notifications: + on_start: true + on_completion: true + on_failure: true + on_escalation: true +output: + formats: + - pdf + - xlsx + - json + template: Executive Sales Dashboard + storage: s3://reports/sales-analytics/ diff --git a/agentspecs/teams/mocks/optimize-grid-operations.yaml b/agentspecs/teams/mocks/optimize-grid-operations.yaml index 7e05dc7..281d644 100644 --- a/agentspecs/teams/mocks/optimize-grid-operations.yaml +++ b/agentspecs/teams/mocks/optimize-grid-operations.yaml @@ -90,3 +90,36 @@ agents: - Grid Stability Checker trigger: On completion of Failure Predictor Agent approval: auto +reaction_rules: +- id: rr-grid-1 + trigger: grid_instability_detected + action: emergency_rebalance + auto: true + max_retries: 1 + escalate_after_retries: 1 + priority: critical +- id: rr-grid-2 + trigger: forecast_deviation_high + action: recalibrate_model + auto: true + max_retries: 2 + escalate_after_retries: 2 + priority: medium +health_monitoring: + heartbeat_interval: 10s + stale_threshold: 30s + unresponsive_threshold: 60s + stuck_threshold: 120s + max_restart_attempts: 5 +notifications: + on_start: true + on_completion: true + on_failure: true + on_escalation: true +output: + formats: + - json + - csv + - pdf + template: Grid Operations Dashboard + storage: s3://reports/grid-operations/ diff --git a/agentspecs/teams/mocks/process-citizen-requests.yaml b/agentspecs/teams/mocks/process-citizen-requests.yaml index db13080..1c28051 100644 --- a/agentspecs/teams/mocks/process-citizen-requests.yaml +++ b/agentspecs/teams/mocks/process-citizen-requests.yaml @@ -92,3 +92,35 @@ agents: - Public Record Generator trigger: On completion of Policy Impact Analyst Agent approval: auto +reaction_rules: +- id: rr-cit-1 + trigger: priority_request_detected + action: fast_track_processing + auto: true + max_retries: 2 + escalate_after_retries: 2 + priority: high +- id: rr-cit-2 + trigger: policy_ambiguity_detected + action: request_human_review + auto: false + max_retries: 1 + escalate_after_retries: 1 + priority: medium +health_monitoring: + heartbeat_interval: 30s + stale_threshold: 120s + unresponsive_threshold: 300s + stuck_threshold: 600s + max_restart_attempts: 3 +notifications: + on_start: false + on_completion: true + on_failure: true + on_escalation: true +output: + formats: + - pdf + - json + template: Citizen Request Processing Report + storage: s3://reports/citizen-requests/ diff --git a/agentspecs/teams/mocks/process-clinical-trial-data.yaml b/agentspecs/teams/mocks/process-clinical-trial-data.yaml index ac93ea3..1f23cd8 100644 --- a/agentspecs/teams/mocks/process-clinical-trial-data.yaml +++ b/agentspecs/teams/mocks/process-clinical-trial-data.yaml @@ -91,3 +91,36 @@ agents: - Compliance Checker trigger: On completion of Safety Monitor Agent approval: auto +reaction_rules: +- id: rr-clin-1 + trigger: safety_signal_detected + action: halt_and_escalate + auto: true + max_retries: 0 + escalate_after_retries: 0 + priority: critical +- id: rr-clin-2 + trigger: data_integrity_violation + action: quarantine_and_notify + auto: true + max_retries: 1 + escalate_after_retries: 1 + priority: critical +health_monitoring: + heartbeat_interval: 10s + stale_threshold: 45s + unresponsive_threshold: 90s + stuck_threshold: 180s + max_restart_attempts: 2 +notifications: + on_start: true + on_completion: true + on_failure: true + on_escalation: true +output: + formats: + - pdf + - json + - xml + template: Clinical Trial Data Report + storage: s3://reports/clinical-trials/ diff --git a/agentspecs/teams/mocks/sync-crm-contacts.yaml b/agentspecs/teams/mocks/sync-crm-contacts.yaml index 7c93950..428a898 100644 --- a/agentspecs/teams/mocks/sync-crm-contacts.yaml +++ b/agentspecs/teams/mocks/sync-crm-contacts.yaml @@ -80,3 +80,35 @@ agents: - Email Sender trigger: On completion of Sync Writer approval: auto +reaction_rules: +- id: rr-crm-1 + trigger: sync_conflict_detected + action: log_and_skip + auto: true + max_retries: 3 + escalate_after_retries: 3 + priority: medium +- id: rr-crm-2 + trigger: api_rate_limit_hit + action: backoff_and_retry + auto: true + max_retries: 5 + escalate_after_retries: 5 + priority: low +health_monitoring: + heartbeat_interval: 30s + stale_threshold: 120s + unresponsive_threshold: 300s + stuck_threshold: 600s + max_restart_attempts: 3 +notifications: + on_start: false + on_completion: true + on_failure: true + on_escalation: false +output: + formats: + - json + - csv + template: CRM Sync Summary + storage: s3://reports/crm-sync/ From d92ab45202ac21044c6a87724b705c9dd4f591dd Mon Sep 17 00:00:00 2001 From: Eric Charles Date: Wed, 11 Mar 2026 18:40:07 +0100 Subject: [PATCH 05/44] specs --- agentspecs/evals/mocks/agentbench.yaml | 18 +++++ agentspecs/evals/mocks/gpqa-diamond.yaml | 16 ++++ agentspecs/evals/mocks/humaneval.yaml | 16 ++++ agentspecs/evals/mocks/mmlu.yaml | 16 ++++ .../evals/mocks/swe-bench-verified.yaml | 16 ++++ agentspecs/evals/mocks/swe-bench.yaml | 16 ++++ agentspecs/evals/mocks/toolbench.yaml | 17 +++++ agentspecs/evals/mocks/truthfulqa.yaml | 17 +++++ .../mocks/data-engineering-power-user.yaml | 74 +++++++++++++++++++ .../mocks/default-platform-user.yaml | 61 +++++++++++++++ .../mocks/github-actions-deploy.yaml | 69 +++++++++++++++++ .../guardrails/mocks/github-ci-bot.yaml | 68 +++++++++++++++++ .../mocks/google-workspace-agent.yaml | 71 ++++++++++++++++++ .../guardrails/mocks/restricted-viewer.yaml | 67 +++++++++++++++++ agentspecs/notifications/mocks/email.yaml | 26 +++++++ agentspecs/notifications/mocks/slack.yaml | 26 +++++++ agentspecs/notifications/mocks/teams.yaml | 22 ++++++ agentspecs/notifications/mocks/webhook.yaml | 27 +++++++ agentspecs/outputs/mocks/api-push.yaml | 14 ++++ agentspecs/outputs/mocks/csv.yaml | 13 ++++ agentspecs/outputs/mocks/dashboard.yaml | 14 ++++ agentspecs/outputs/mocks/document.yaml | 15 ++++ agentspecs/outputs/mocks/email.yaml | 14 ++++ agentspecs/outputs/mocks/json.yaml | 13 ++++ agentspecs/outputs/mocks/notebook.yaml | 13 ++++ agentspecs/outputs/mocks/spreadsheet.yaml | 13 ++++ .../mocks/analyze-campaign-performance.yaml | 2 +- .../teams/mocks/analyze-support-tickets.yaml | 2 +- .../teams/mocks/audit-inventory-levels.yaml | 2 +- .../mocks/automate-regulatory-reporting.yaml | 2 +- .../mocks/comprehensive-sales-analytics.yaml | 2 +- .../teams/mocks/optimize-grid-operations.yaml | 2 +- .../teams/mocks/process-citizen-requests.yaml | 2 +- .../mocks/process-clinical-trial-data.yaml | 2 +- agentspecs/teams/mocks/sync-crm-contacts.yaml | 2 +- agentspecs/triggers/mocks/event.yaml | 26 +++++++ agentspecs/triggers/mocks/once.yaml | 7 ++ agentspecs/triggers/mocks/schedule.yaml | 21 ++++++ 38 files changed, 815 insertions(+), 9 deletions(-) create mode 100644 agentspecs/evals/mocks/agentbench.yaml create mode 100644 agentspecs/evals/mocks/gpqa-diamond.yaml create mode 100644 agentspecs/evals/mocks/humaneval.yaml create mode 100644 agentspecs/evals/mocks/mmlu.yaml create mode 100644 agentspecs/evals/mocks/swe-bench-verified.yaml create mode 100644 agentspecs/evals/mocks/swe-bench.yaml create mode 100644 agentspecs/evals/mocks/toolbench.yaml create mode 100644 agentspecs/evals/mocks/truthfulqa.yaml create mode 100644 agentspecs/guardrails/mocks/data-engineering-power-user.yaml create mode 100644 agentspecs/guardrails/mocks/default-platform-user.yaml create mode 100644 agentspecs/guardrails/mocks/github-actions-deploy.yaml create mode 100644 agentspecs/guardrails/mocks/github-ci-bot.yaml create mode 100644 agentspecs/guardrails/mocks/google-workspace-agent.yaml create mode 100644 agentspecs/guardrails/mocks/restricted-viewer.yaml create mode 100644 agentspecs/notifications/mocks/email.yaml create mode 100644 agentspecs/notifications/mocks/slack.yaml create mode 100644 agentspecs/notifications/mocks/teams.yaml create mode 100644 agentspecs/notifications/mocks/webhook.yaml create mode 100644 agentspecs/outputs/mocks/api-push.yaml create mode 100644 agentspecs/outputs/mocks/csv.yaml create mode 100644 agentspecs/outputs/mocks/dashboard.yaml create mode 100644 agentspecs/outputs/mocks/document.yaml create mode 100644 agentspecs/outputs/mocks/email.yaml create mode 100644 agentspecs/outputs/mocks/json.yaml create mode 100644 agentspecs/outputs/mocks/notebook.yaml create mode 100644 agentspecs/outputs/mocks/spreadsheet.yaml create mode 100644 agentspecs/triggers/mocks/event.yaml create mode 100644 agentspecs/triggers/mocks/once.yaml create mode 100644 agentspecs/triggers/mocks/schedule.yaml diff --git a/agentspecs/evals/mocks/agentbench.yaml b/agentspecs/evals/mocks/agentbench.yaml new file mode 100644 index 0000000..9d035b3 --- /dev/null +++ b/agentspecs/evals/mocks/agentbench.yaml @@ -0,0 +1,18 @@ +# Copyright (c) 2025-2026 Datalayer, Inc. +# Distributed under the terms of the Modified BSD License. + +id: agentbench +name: AgentBench +description: >- + Multi-dimensional LLM-as-agent evaluation across 8 diverse environments + including web browsing, operating system interaction, database queries, + digital card games, lateral thinking, and household tasks. +category: Agentic +task_count: 4080 +metric: success_rate +source: https://github.com/THUDM/AgentBench +difficulty: hard +languages: + - python + - sql + - bash diff --git a/agentspecs/evals/mocks/gpqa-diamond.yaml b/agentspecs/evals/mocks/gpqa-diamond.yaml new file mode 100644 index 0000000..160c3d7 --- /dev/null +++ b/agentspecs/evals/mocks/gpqa-diamond.yaml @@ -0,0 +1,16 @@ +# Copyright (c) 2025-2026 Datalayer, Inc. +# Distributed under the terms of the Modified BSD License. + +id: gpqa-diamond +name: GPQA Diamond +description: >- + Graduate-level science questions crafted by domain experts. + Tests advanced reasoning in physics, chemistry, and biology with + questions that require PhD-level understanding to answer correctly. +category: Reasoning +task_count: 448 +metric: accuracy +source: https://github.com/idavidrein/gpqa +difficulty: expert +languages: + - english diff --git a/agentspecs/evals/mocks/humaneval.yaml b/agentspecs/evals/mocks/humaneval.yaml new file mode 100644 index 0000000..12640dc --- /dev/null +++ b/agentspecs/evals/mocks/humaneval.yaml @@ -0,0 +1,16 @@ +# Copyright (c) 2025-2026 Datalayer, Inc. +# Distributed under the terms of the Modified BSD License. + +id: humaneval +name: HumanEval +description: >- + Python function implementation from docstrings. Measures functional + correctness of code generation by testing against hand-written test + cases. Widely used as a baseline for code generation benchmarks. +category: Coding +task_count: 164 +metric: pass@k +source: https://github.com/openai/human-eval +difficulty: medium +languages: + - python diff --git a/agentspecs/evals/mocks/mmlu.yaml b/agentspecs/evals/mocks/mmlu.yaml new file mode 100644 index 0000000..0c0138c --- /dev/null +++ b/agentspecs/evals/mocks/mmlu.yaml @@ -0,0 +1,16 @@ +# Copyright (c) 2025-2026 Datalayer, Inc. +# Distributed under the terms of the Modified BSD License. + +id: mmlu +name: MMLU +description: >- + Massive Multitask Language Understanding: 57-subject knowledge + benchmark spanning STEM, humanities, social sciences, and more. + Tests broad knowledge and reasoning across diverse academic domains. +category: Knowledge +task_count: 15908 +metric: accuracy +source: https://github.com/hendrycks/test +difficulty: medium +languages: + - english diff --git a/agentspecs/evals/mocks/swe-bench-verified.yaml b/agentspecs/evals/mocks/swe-bench-verified.yaml new file mode 100644 index 0000000..f31809e --- /dev/null +++ b/agentspecs/evals/mocks/swe-bench-verified.yaml @@ -0,0 +1,16 @@ +# Copyright (c) 2025-2026 Datalayer, Inc. +# Distributed under the terms of the Modified BSD License. + +id: swe-bench-verified +name: SWE-bench Verified +description: >- + Human-validated subset of SWE-bench with verified ground-truth patches. + Provides higher confidence evaluation of software engineering capabilities + by eliminating ambiguous or flawed test cases from the full benchmark. +category: Coding +task_count: 500 +metric: pass@1 +source: https://www.swebench.com/ +difficulty: hard +languages: + - python diff --git a/agentspecs/evals/mocks/swe-bench.yaml b/agentspecs/evals/mocks/swe-bench.yaml new file mode 100644 index 0000000..5a3c7a4 --- /dev/null +++ b/agentspecs/evals/mocks/swe-bench.yaml @@ -0,0 +1,16 @@ +# Copyright (c) 2025-2026 Datalayer, Inc. +# Distributed under the terms of the Modified BSD License. + +id: swe-bench +name: SWE-bench +description: >- + Real-world software engineering tasks from GitHub issues. Tests an + agent's ability to understand bug reports and feature requests, then + produce working code patches that pass existing test suites. +category: Coding +task_count: 2294 +metric: pass@1 +source: https://www.swebench.com/ +difficulty: hard +languages: + - python diff --git a/agentspecs/evals/mocks/toolbench.yaml b/agentspecs/evals/mocks/toolbench.yaml new file mode 100644 index 0000000..db194df --- /dev/null +++ b/agentspecs/evals/mocks/toolbench.yaml @@ -0,0 +1,17 @@ +# Copyright (c) 2025-2026 Datalayer, Inc. +# Distributed under the terms of the Modified BSD License. + +id: toolbench +name: ToolBench +description: >- + Large-scale benchmark for tool-augmented LLMs covering 16000+ real-world + APIs across 49 categories. Evaluates multi-step tool usage, API selection, + argument generation, and response parsing in complex, chained workflows. +category: Agentic +task_count: 12657 +metric: pass_rate +source: https://github.com/OpenBMB/ToolBench +difficulty: hard +languages: + - python + - json diff --git a/agentspecs/evals/mocks/truthfulqa.yaml b/agentspecs/evals/mocks/truthfulqa.yaml new file mode 100644 index 0000000..a9b9331 --- /dev/null +++ b/agentspecs/evals/mocks/truthfulqa.yaml @@ -0,0 +1,17 @@ +# Copyright (c) 2025-2026 Datalayer, Inc. +# Distributed under the terms of the Modified BSD License. + +id: truthfulqa +name: TruthfulQA +description: >- + Benchmark measuring whether a language model generates truthful answers + to questions spanning 38 categories including health, law, finance, and + politics. Designed to test resilience against common human misconceptions + and falsehoods that models may have learned from training data. +category: Safety +task_count: 817 +metric: truthful_informative +source: https://github.com/sylinrl/TruthfulQA +difficulty: medium +languages: + - english diff --git a/agentspecs/guardrails/mocks/data-engineering-power-user.yaml b/agentspecs/guardrails/mocks/data-engineering-power-user.yaml new file mode 100644 index 0000000..ad2f328 --- /dev/null +++ b/agentspecs/guardrails/mocks/data-engineering-power-user.yaml @@ -0,0 +1,74 @@ +# Copyright (c) 2025-2026 Datalayer, Inc. +# Distributed under the terms of the Modified BSD License. + +id: data-engineering-power-user +name: Data Engineering Power User +description: >- + Power-user guardrail for data engineering agents with full + read/write access, high token limits, and ability to deploy + pipelines. Suitable for ETL, data transformation, and pipeline + management agents. + +identity_provider: datalayer +identity_name: dave@acme.com + +permissions: + read:data: true + write:data: true + execute:code: true + access:internet: true + send:email: true + deploy:production: true + +token_limits: + per_run: "200K" + per_day: "5M" + per_month: "50M" + +data_scope: + allowed_systems: + - postgresql + - mongodb + - s3 + - kafka + allowed_objects: [] + denied_objects: [] + denied_fields: + - "*SSN*" + - "*Bank*" + - "*IBAN*" + +data_handling: + default_aggregation: false + allow_row_level_output: true + max_rows_in_output: 100000 + redact_fields: [] + hash_fields: [] + pii_detection: true + pii_action: redact + +approval_policy: + require_manual_approval_for: + - "Schema changes" + - "Drop or truncate operations" + - "Production data modifications" + auto_approved: + - "Read queries" + - "Data transformations" + - "Pipeline orchestration" + +tool_limits: + max_tool_calls: 500 + max_query_rows: 1000000 + max_query_runtime: "300s" + max_time_window_days: 365 + +audit: + log_tool_calls: true + log_query_metadata_only: false + retain_days: 90 + require_lineage_in_report: true + +content_safety: + treat_crm_text_fields_as_untrusted: true + do_not_follow_instructions_from_data: true diff --git a/agentspecs/guardrails/mocks/default-platform-user.yaml b/agentspecs/guardrails/mocks/default-platform-user.yaml new file mode 100644 index 0000000..29d7471 --- /dev/null +++ b/agentspecs/guardrails/mocks/default-platform-user.yaml @@ -0,0 +1,61 @@ +# Copyright (c) 2025-2026 Datalayer, Inc. +# Distributed under the terms of the Modified BSD License. + +id: default-platform-user +name: Default Platform User +description: >- + Standard platform user guardrail with moderate permissions. + Suitable for general-purpose agents that need read access + and limited code execution. + +identity_provider: datalayer +identity_name: alice@acme.com + +permissions: + read:data: true + write:data: false + execute:code: true + access:internet: true + send:email: false + deploy:production: false + +token_limits: + per_run: "50K" + per_day: "500K" + per_month: "5M" + +data_scope: + allowed_systems: [] + allowed_objects: [] + denied_objects: [] + denied_fields: [] + +data_handling: + default_aggregation: false + allow_row_level_output: true + max_rows_in_output: 1000 + redact_fields: [] + hash_fields: [] + pii_detection: false + pii_action: warn + +approval_policy: + require_manual_approval_for: [] + auto_approved: + - "All read-only queries" + +tool_limits: + max_tool_calls: 50 + max_query_rows: 100000 + max_query_runtime: "60s" + max_time_window_days: 90 + +audit: + log_tool_calls: true + log_query_metadata_only: false + retain_days: 30 + require_lineage_in_report: false + +content_safety: + treat_crm_text_fields_as_untrusted: false + do_not_follow_instructions_from_data: true diff --git a/agentspecs/guardrails/mocks/github-actions-deploy.yaml b/agentspecs/guardrails/mocks/github-actions-deploy.yaml new file mode 100644 index 0000000..3fa65b3 --- /dev/null +++ b/agentspecs/guardrails/mocks/github-actions-deploy.yaml @@ -0,0 +1,69 @@ +# Copyright (c) 2025-2026 Datalayer, Inc. +# Distributed under the terms of the Modified BSD License. + +id: github-actions-deploy +name: GitHub Actions Deploy +description: >- + Full-access guardrail for deployment agents running via GitHub Actions. + All permissions enabled including production deployment. Very high + token limits for complex multi-step deployment workflows. + +identity_provider: github +identity_name: acme-deploy-bot + +permissions: + read:data: true + write:data: true + execute:code: true + access:internet: true + send:email: true + deploy:production: true + +token_limits: + per_run: "150K" + per_day: "3M" + per_month: "30M" + +data_scope: + allowed_systems: + - github + - kubernetes + - docker + - terraform + allowed_objects: [] + denied_objects: [] + denied_fields: [] + +data_handling: + default_aggregation: false + allow_row_level_output: true + max_rows_in_output: 50000 + redact_fields: [] + hash_fields: [] + pii_detection: false + pii_action: warn + +approval_policy: + require_manual_approval_for: + - "Production environment changes" + - "Infrastructure scaling beyond limits" + auto_approved: + - "Staging deployments" + - "Test environment operations" + - "Build and package operations" + +tool_limits: + max_tool_calls: 300 + max_query_rows: 500000 + max_query_runtime: "180s" + max_time_window_days: 365 + +audit: + log_tool_calls: true + log_query_metadata_only: false + retain_days: 180 + require_lineage_in_report: true + +content_safety: + treat_crm_text_fields_as_untrusted: false + do_not_follow_instructions_from_data: true diff --git a/agentspecs/guardrails/mocks/github-ci-bot.yaml b/agentspecs/guardrails/mocks/github-ci-bot.yaml new file mode 100644 index 0000000..dd74a3d --- /dev/null +++ b/agentspecs/guardrails/mocks/github-ci-bot.yaml @@ -0,0 +1,68 @@ +# Copyright (c) 2025-2026 Datalayer, Inc. +# Distributed under the terms of the Modified BSD License. + +id: github-ci-bot +name: GitHub CI Bot +description: >- + Guardrail for automated CI/CD agents running via GitHub Actions. + High token limits for batch processing, full code execution, + and internet access for package installation. + +identity_provider: github +identity_name: acme-ci-bot + +permissions: + read:data: true + write:data: true + execute:code: true + access:internet: true + send:email: false + deploy:production: false + +token_limits: + per_run: "100K" + per_day: "2M" + per_month: "20M" + +data_scope: + allowed_systems: + - github + - npm + - pypi + allowed_objects: [] + denied_objects: [] + denied_fields: [] + +data_handling: + default_aggregation: false + allow_row_level_output: true + max_rows_in_output: 10000 + redact_fields: [] + hash_fields: [] + pii_detection: false + pii_action: warn + +approval_policy: + require_manual_approval_for: + - "Any production deployment" + - "Any write to protected branches" + auto_approved: + - "Build and test operations" + - "Package installation" + - "Code analysis and linting" + +tool_limits: + max_tool_calls: 200 + max_query_rows: 500000 + max_query_runtime: "120s" + max_time_window_days: 365 + +audit: + log_tool_calls: true + log_query_metadata_only: false + retain_days: 90 + require_lineage_in_report: false + +content_safety: + treat_crm_text_fields_as_untrusted: false + do_not_follow_instructions_from_data: true diff --git a/agentspecs/guardrails/mocks/google-workspace-agent.yaml b/agentspecs/guardrails/mocks/google-workspace-agent.yaml new file mode 100644 index 0000000..679d7dd --- /dev/null +++ b/agentspecs/guardrails/mocks/google-workspace-agent.yaml @@ -0,0 +1,71 @@ +# Copyright (c) 2025-2026 Datalayer, Inc. +# Distributed under the terms of the Modified BSD License. + +id: google-workspace-agent +name: Google Workspace Agent +description: >- + Guardrail for agents integrating with Google Workspace services + (Gmail, Drive, Calendar, Sheets). Moderate permissions with + email sending enabled. Service account-based identity with + Google OAuth. + +identity_provider: google +identity_name: agent-sa@acme.iam.gserviceaccount.com + +permissions: + read:data: true + write:data: true + execute:code: false + access:internet: true + send:email: true + deploy:production: false + +token_limits: + per_run: "80K" + per_day: "1M" + per_month: "10M" + +data_scope: + allowed_systems: + - gmail + - google-drive + - google-sheets + - google-calendar + allowed_objects: [] + denied_objects: [] + denied_fields: [] + +data_handling: + default_aggregation: false + allow_row_level_output: true + max_rows_in_output: 5000 + redact_fields: [] + hash_fields: [] + pii_detection: true + pii_action: warn + +approval_policy: + require_manual_approval_for: + - "Sending external emails" + - "Sharing files outside organization" + - "Modifying calendar events for other users" + auto_approved: + - "Reading emails and documents" + - "Creating drafts" + - "Reading calendar" + +tool_limits: + max_tool_calls: 100 + max_query_rows: 50000 + max_query_runtime: "60s" + max_time_window_days: 180 + +audit: + log_tool_calls: true + log_query_metadata_only: false + retain_days: 60 + require_lineage_in_report: false + +content_safety: + treat_crm_text_fields_as_untrusted: true + do_not_follow_instructions_from_data: true diff --git a/agentspecs/guardrails/mocks/restricted-viewer.yaml b/agentspecs/guardrails/mocks/restricted-viewer.yaml new file mode 100644 index 0000000..2008056 --- /dev/null +++ b/agentspecs/guardrails/mocks/restricted-viewer.yaml @@ -0,0 +1,67 @@ +# Copyright (c) 2025-2026 Datalayer, Inc. +# Distributed under the terms of the Modified BSD License. + +id: restricted-viewer +name: Restricted Viewer +description: >- + Minimal-permissions guardrail for read-only monitoring agents. + No code execution, no write access, very low token limits. + Suitable for dashboard viewers and audit observers. + +identity_provider: azure-ad +identity_name: viewer-group@acme.onmicrosoft.com + +permissions: + read:data: true + write:data: false + execute:code: false + access:internet: false + send:email: false + deploy:production: false + +token_limits: + per_run: "10K" + per_day: "50K" + per_month: "500K" + +data_scope: + allowed_systems: [] + allowed_objects: [] + denied_objects: [] + denied_fields: + - "*SSN*" + - "*Bank*" + - "*IBAN*" + - "*Password*" + - "*Secret*" + +data_handling: + default_aggregation: true + allow_row_level_output: false + max_rows_in_output: 0 + redact_fields: [] + hash_fields: [] + pii_detection: true + pii_action: redact + +approval_policy: + require_manual_approval_for: + - "Any operation beyond read" + auto_approved: + - "Aggregated read-only queries" + +tool_limits: + max_tool_calls: 10 + max_query_rows: 10000 + max_query_runtime: "15s" + max_time_window_days: 30 + +audit: + log_tool_calls: true + log_query_metadata_only: true + retain_days: 90 + require_lineage_in_report: false + +content_safety: + treat_crm_text_fields_as_untrusted: true + do_not_follow_instructions_from_data: true diff --git a/agentspecs/notifications/mocks/email.yaml b/agentspecs/notifications/mocks/email.yaml new file mode 100644 index 0000000..c6ddc71 --- /dev/null +++ b/agentspecs/notifications/mocks/email.yaml @@ -0,0 +1,26 @@ +# Copyright (c) 2025-2026 Datalayer, Inc. +# Distributed under the terms of the Modified BSD License. + +id: email +name: Email +description: >- + Send notifications via email when agent events occur. + Supports completion alerts, failure reports, and summary digests. +icon: mail +available: true +fields: + - name: recipients + label: Recipients + type: string + required: true + placeholder: "ops@company.com, team-lead@company.com" + - name: subject_template + label: Subject Template + type: string + required: false + placeholder: "[Agent] {{agent_name}} โ€” {{event_type}}" + - name: include_output + label: Include Output + type: boolean + required: false + default: true diff --git a/agentspecs/notifications/mocks/slack.yaml b/agentspecs/notifications/mocks/slack.yaml new file mode 100644 index 0000000..d34728b --- /dev/null +++ b/agentspecs/notifications/mocks/slack.yaml @@ -0,0 +1,26 @@ +# Copyright (c) 2025-2026 Datalayer, Inc. +# Distributed under the terms of the Modified BSD License. + +id: slack +name: Slack +description: >- + Post notifications to a Slack channel or direct message when + agent events occur. Supports rich message formatting with blocks. +icon: bell +available: true +fields: + - name: channel + label: Channel + type: string + required: true + placeholder: "#sales-analytics" + - name: mention_on_failure + label: Mention on Failure + type: string + required: false + placeholder: "@oncall-team" + - name: include_output + label: Include Output + type: boolean + required: false + default: false diff --git a/agentspecs/notifications/mocks/teams.yaml b/agentspecs/notifications/mocks/teams.yaml new file mode 100644 index 0000000..b8ef4c5 --- /dev/null +++ b/agentspecs/notifications/mocks/teams.yaml @@ -0,0 +1,22 @@ +# Copyright (c) 2025-2026 Datalayer, Inc. +# Distributed under the terms of the Modified BSD License. + +id: teams +name: Teams +description: >- + Post notifications to a Microsoft Teams channel via incoming + webhook connector when agent events occur. +icon: bell +available: false +coming_soon: true +fields: + - name: webhook_url + label: Webhook URL + type: string + required: true + placeholder: "https://outlook.office.com/webhook/..." + - name: include_output + label: Include Output + type: boolean + required: false + default: false diff --git a/agentspecs/notifications/mocks/webhook.yaml b/agentspecs/notifications/mocks/webhook.yaml new file mode 100644 index 0000000..42307dd --- /dev/null +++ b/agentspecs/notifications/mocks/webhook.yaml @@ -0,0 +1,27 @@ +# Copyright (c) 2025-2026 Datalayer, Inc. +# Distributed under the terms of the Modified BSD License. + +id: webhook +name: Webhook +description: >- + Send notifications to a custom HTTP endpoint via POST request. + Payload includes event type, agent metadata, and optional output. +icon: bell +available: false +coming_soon: true +fields: + - name: url + label: Webhook URL + type: string + required: true + placeholder: "https://api.example.com/agent-events" + - name: secret + label: Signing Secret + type: string + required: false + placeholder: "Optional HMAC secret for payload signing" + - name: include_output + label: Include Output + type: boolean + required: false + default: true diff --git a/agentspecs/outputs/mocks/api-push.yaml b/agentspecs/outputs/mocks/api-push.yaml new file mode 100644 index 0000000..e1bf805 --- /dev/null +++ b/agentspecs/outputs/mocks/api-push.yaml @@ -0,0 +1,14 @@ +# Copyright (c) 2025-2026 Datalayer, Inc. +# Distributed under the terms of the Modified BSD License. + +id: api-push +name: API Push +description: >- + Push results to an external API endpoint via HTTP POST. + Useful for integrating with downstream services, data warehouses, + or event-driven architectures. +icon: upload +supports_template: false +supports_storage: false +mime_types: + - application/json diff --git a/agentspecs/outputs/mocks/csv.yaml b/agentspecs/outputs/mocks/csv.yaml new file mode 100644 index 0000000..fa80870 --- /dev/null +++ b/agentspecs/outputs/mocks/csv.yaml @@ -0,0 +1,13 @@ +# Copyright (c) 2025-2026 Datalayer, Inc. +# Distributed under the terms of the Modified BSD License. + +id: csv +name: CSV +description: >- + Deliver results as a CSV file for easy import into spreadsheets, + data pipelines, or other analysis tools. +icon: table +supports_template: false +supports_storage: true +mime_types: + - text/csv diff --git a/agentspecs/outputs/mocks/dashboard.yaml b/agentspecs/outputs/mocks/dashboard.yaml new file mode 100644 index 0000000..7894328 --- /dev/null +++ b/agentspecs/outputs/mocks/dashboard.yaml @@ -0,0 +1,14 @@ +# Copyright (c) 2025-2026 Datalayer, Inc. +# Distributed under the terms of the Modified BSD License. + +id: dashboard +name: Dashboard +description: >- + Deliver results as an interactive dashboard with charts, + tables, and filter controls rendered in the browser. +icon: graph +supports_template: true +supports_storage: true +mime_types: + - text/html + - application/json diff --git a/agentspecs/outputs/mocks/document.yaml b/agentspecs/outputs/mocks/document.yaml new file mode 100644 index 0000000..d6049eb --- /dev/null +++ b/agentspecs/outputs/mocks/document.yaml @@ -0,0 +1,15 @@ +# Copyright (c) 2025-2026 Datalayer, Inc. +# Distributed under the terms of the Modified BSD License. + +id: document +name: Document +description: >- + Deliver results as a structured document (PDF, DOCX, or Markdown) + suitable for sharing, archiving, or regulatory compliance. +icon: file +supports_template: true +supports_storage: true +mime_types: + - application/pdf + - application/vnd.openxmlformats-officedocument.wordprocessingml.document + - text/markdown diff --git a/agentspecs/outputs/mocks/email.yaml b/agentspecs/outputs/mocks/email.yaml new file mode 100644 index 0000000..5ad8b53 --- /dev/null +++ b/agentspecs/outputs/mocks/email.yaml @@ -0,0 +1,14 @@ +# Copyright (c) 2025-2026 Datalayer, Inc. +# Distributed under the terms of the Modified BSD License. + +id: email +name: Email +description: >- + Send results as an email attachment or inline HTML body. + Supports rich formatting with embedded tables and charts. +icon: mail +supports_template: true +supports_storage: false +mime_types: + - text/html + - application/pdf diff --git a/agentspecs/outputs/mocks/json.yaml b/agentspecs/outputs/mocks/json.yaml new file mode 100644 index 0000000..a22ca3c --- /dev/null +++ b/agentspecs/outputs/mocks/json.yaml @@ -0,0 +1,13 @@ +# Copyright (c) 2025-2026 Datalayer, Inc. +# Distributed under the terms of the Modified BSD License. + +id: json +name: JSON +description: >- + Deliver results as structured JSON data, suitable for + programmatic consumption by APIs, pipelines, or dashboards. +icon: code +supports_template: false +supports_storage: true +mime_types: + - application/json diff --git a/agentspecs/outputs/mocks/notebook.yaml b/agentspecs/outputs/mocks/notebook.yaml new file mode 100644 index 0000000..5c6c9f7 --- /dev/null +++ b/agentspecs/outputs/mocks/notebook.yaml @@ -0,0 +1,13 @@ +# Copyright (c) 2025-2026 Datalayer, Inc. +# Distributed under the terms of the Modified BSD License. + +id: notebook +name: Notebook +description: >- + Deliver results as a Jupyter notebook with executable cells, + inline visualizations, and rich markdown narrative. +icon: file-code +supports_template: true +supports_storage: true +mime_types: + - application/x-ipynb+json diff --git a/agentspecs/outputs/mocks/spreadsheet.yaml b/agentspecs/outputs/mocks/spreadsheet.yaml new file mode 100644 index 0000000..5de4e47 --- /dev/null +++ b/agentspecs/outputs/mocks/spreadsheet.yaml @@ -0,0 +1,13 @@ +# Copyright (c) 2025-2026 Datalayer, Inc. +# Distributed under the terms of the Modified BSD License. + +id: spreadsheet +name: Spreadsheet +description: >- + Deliver results as an Excel spreadsheet with formatted tables, + charts, and multiple sheets for structured analysis. +icon: table +supports_template: true +supports_storage: true +mime_types: + - application/vnd.openxmlformats-officedocument.spreadsheetml.sheet diff --git a/agentspecs/teams/mocks/analyze-campaign-performance.yaml b/agentspecs/teams/mocks/analyze-campaign-performance.yaml index c50a65a..726062e 100644 --- a/agentspecs/teams/mocks/analyze-campaign-performance.yaml +++ b/agentspecs/teams/mocks/analyze-campaign-performance.yaml @@ -18,7 +18,7 @@ tags: - analytics - advertising - social-media -enabled: false +enabled: true icon: megaphone emoji: ๐Ÿ“ข color: '#8250df' diff --git a/agentspecs/teams/mocks/analyze-support-tickets.yaml b/agentspecs/teams/mocks/analyze-support-tickets.yaml index 5661299..c957a57 100644 --- a/agentspecs/teams/mocks/analyze-support-tickets.yaml +++ b/agentspecs/teams/mocks/analyze-support-tickets.yaml @@ -15,7 +15,7 @@ tags: - data - support - tickets -enabled: false +enabled: true icon: issue-opened emoji: ๐ŸŽซ color: '#bf8700' diff --git a/agentspecs/teams/mocks/audit-inventory-levels.yaml b/agentspecs/teams/mocks/audit-inventory-levels.yaml index beca729..b029bbc 100644 --- a/agentspecs/teams/mocks/audit-inventory-levels.yaml +++ b/agentspecs/teams/mocks/audit-inventory-levels.yaml @@ -15,7 +15,7 @@ tags: - automation - inventory - supply-chain -enabled: false +enabled: true icon: package emoji: ๐Ÿ“ฆ color: '#0969da' diff --git a/agentspecs/teams/mocks/automate-regulatory-reporting.yaml b/agentspecs/teams/mocks/automate-regulatory-reporting.yaml index 3810ca0..c17afd3 100644 --- a/agentspecs/teams/mocks/automate-regulatory-reporting.yaml +++ b/agentspecs/teams/mocks/automate-regulatory-reporting.yaml @@ -19,7 +19,7 @@ tags: - risk - banking - audit -enabled: false +enabled: true icon: shield-check emoji: ๐Ÿฆ color: '#0969da' diff --git a/agentspecs/teams/mocks/comprehensive-sales-analytics.yaml b/agentspecs/teams/mocks/comprehensive-sales-analytics.yaml index 09ea50a..abb6168 100644 --- a/agentspecs/teams/mocks/comprehensive-sales-analytics.yaml +++ b/agentspecs/teams/mocks/comprehensive-sales-analytics.yaml @@ -19,7 +19,7 @@ tags: - kpi - monitoring - horizontal -enabled: false +enabled: true icon: graph emoji: ๐Ÿ“ˆ color: '#1a7f37' diff --git a/agentspecs/teams/mocks/optimize-grid-operations.yaml b/agentspecs/teams/mocks/optimize-grid-operations.yaml index 281d644..05fadc8 100644 --- a/agentspecs/teams/mocks/optimize-grid-operations.yaml +++ b/agentspecs/teams/mocks/optimize-grid-operations.yaml @@ -18,7 +18,7 @@ tags: - iot - predictive-maintenance - sustainability -enabled: false +enabled: true icon: zap emoji: โšก color: '#1a7f37' diff --git a/agentspecs/teams/mocks/process-citizen-requests.yaml b/agentspecs/teams/mocks/process-citizen-requests.yaml index 1c28051..06c1422 100644 --- a/agentspecs/teams/mocks/process-citizen-requests.yaml +++ b/agentspecs/teams/mocks/process-citizen-requests.yaml @@ -19,7 +19,7 @@ tags: - policy - compliance - transparency -enabled: false +enabled: true icon: organization emoji: ๐Ÿ›๏ธ color: '#0550ae' diff --git a/agentspecs/teams/mocks/process-clinical-trial-data.yaml b/agentspecs/teams/mocks/process-clinical-trial-data.yaml index 1f23cd8..f98af73 100644 --- a/agentspecs/teams/mocks/process-clinical-trial-data.yaml +++ b/agentspecs/teams/mocks/process-clinical-trial-data.yaml @@ -18,7 +18,7 @@ tags: - clinical-trials - patient-data - compliance -enabled: false +enabled: true icon: heart emoji: ๐Ÿฅ color: '#cf222e' diff --git a/agentspecs/teams/mocks/sync-crm-contacts.yaml b/agentspecs/teams/mocks/sync-crm-contacts.yaml index 428a898..36b2a3f 100644 --- a/agentspecs/teams/mocks/sync-crm-contacts.yaml +++ b/agentspecs/teams/mocks/sync-crm-contacts.yaml @@ -15,7 +15,7 @@ tags: - crm - data-sync - deduplication -enabled: false +enabled: true icon: people emoji: ๐Ÿ”„ color: '#0969da' diff --git a/agentspecs/triggers/mocks/event.yaml b/agentspecs/triggers/mocks/event.yaml new file mode 100644 index 0000000..c5c5e44 --- /dev/null +++ b/agentspecs/triggers/mocks/event.yaml @@ -0,0 +1,26 @@ +# Copyright (c) 2025-2026 Datalayer, Inc. +# Distributed under the terms of the Modified BSD License. + +id: event +name: Event-Based +description: >- + Trigger on specific events such as a webhook call, API request, + database change, file upload, or email arrival. +type: event +fields: + - name: event_source + label: Event Source URL + type: string + required: false + placeholder: "https://helpdesk.example.com/webhooks" + help: "Allowed event source URL (leave empty to allow any source)" + - name: event + label: Event Name + type: string + required: false + placeholder: "email_received" + - name: description + label: Description + type: string + required: false + placeholder: "Description (e.g. 'Triggered on incoming email')" diff --git a/agentspecs/triggers/mocks/once.yaml b/agentspecs/triggers/mocks/once.yaml new file mode 100644 index 0000000..827414f --- /dev/null +++ b/agentspecs/triggers/mocks/once.yaml @@ -0,0 +1,7 @@ +# Copyright (c) 2025-2026 Datalayer, Inc. +# Distributed under the terms of the Modified BSD License. + +id: once +name: Run Once +description: Execute agent immediately after deployment. +type: once diff --git a/agentspecs/triggers/mocks/schedule.yaml b/agentspecs/triggers/mocks/schedule.yaml new file mode 100644 index 0000000..19f84bf --- /dev/null +++ b/agentspecs/triggers/mocks/schedule.yaml @@ -0,0 +1,21 @@ +# Copyright (c) 2025-2026 Datalayer, Inc. +# Distributed under the terms of the Modified BSD License. + +id: schedule +name: Schedule +description: >- + Run on a recurring schedule using a cron expression + (e.g. daily at 9 AM, every Monday, monthly on the 1st). +type: schedule +fields: + - name: cron + label: Cron Expression + type: string + required: true + placeholder: "0 9 * * * (every day at 9 AM)" + font: mono + - name: description + label: Description + type: string + required: false + placeholder: "Description (e.g. 'Monthly sales report')" From d7aadd960dfac984f9df7546f1bd3390fdd17e07 Mon Sep 17 00:00:00 2001 From: Eric Charles Date: Thu, 12 Mar 2026 13:35:17 +0100 Subject: [PATCH 06/44] mocks --- agentspecs/agents/mocks/analyze-campaign-performance.yaml | 2 +- agentspecs/agents/mocks/analyze-support-tickets.yaml | 2 +- agentspecs/agents/mocks/audit-inventory-levels.yaml | 2 +- agentspecs/agents/mocks/automate-regulatory-reporting.yaml | 2 +- agentspecs/agents/mocks/classify-route-emails.yaml | 2 +- agentspecs/agents/mocks/comprehensive-sales-analytics.yaml | 2 +- agentspecs/agents/mocks/end-of-month-performance.yaml | 2 +- agentspecs/agents/mocks/extract-data-from-files.yaml | 2 +- agentspecs/agents/mocks/generate-weekly-reports.yaml | 2 +- agentspecs/agents/mocks/monitor-sales-kpis.yaml | 2 +- agentspecs/agents/mocks/optimize-dynamic-pricing.yaml | 2 +- agentspecs/agents/mocks/optimize-grid-operations.yaml | 2 +- agentspecs/agents/mocks/process-citizen-requests.yaml | 2 +- agentspecs/agents/mocks/process-clinical-trial-data.yaml | 2 +- agentspecs/agents/mocks/process-financial-transactions.yaml | 2 +- agentspecs/agents/mocks/summarize-documents.yaml | 2 +- agentspecs/agents/mocks/sync-crm-contacts.yaml | 2 +- 17 files changed, 17 insertions(+), 17 deletions(-) diff --git a/agentspecs/agents/mocks/analyze-campaign-performance.yaml b/agentspecs/agents/mocks/analyze-campaign-performance.yaml index ca4ecd7..6f2a156 100644 --- a/agentspecs/agents/mocks/analyze-campaign-performance.yaml +++ b/agentspecs/agents/mocks/analyze-campaign-performance.yaml @@ -24,7 +24,7 @@ tags: enabled: false -model: "openai-gpt-4-1" +model: "bedrock:us.anthropic.claude-3-5-haiku-20241022-v1:0" sandbox_variant: jupyter diff --git a/agentspecs/agents/mocks/analyze-support-tickets.yaml b/agentspecs/agents/mocks/analyze-support-tickets.yaml index 6db0c2c..f75dae1 100644 --- a/agentspecs/agents/mocks/analyze-support-tickets.yaml +++ b/agentspecs/agents/mocks/analyze-support-tickets.yaml @@ -21,7 +21,7 @@ tags: enabled: false -model: "openai-gpt-4-1" +model: "bedrock:us.anthropic.claude-3-5-haiku-20241022-v1:0" sandbox_variant: jupyter diff --git a/agentspecs/agents/mocks/audit-inventory-levels.yaml b/agentspecs/agents/mocks/audit-inventory-levels.yaml index 19e6584..2369940 100644 --- a/agentspecs/agents/mocks/audit-inventory-levels.yaml +++ b/agentspecs/agents/mocks/audit-inventory-levels.yaml @@ -21,7 +21,7 @@ tags: enabled: false -model: "openai-gpt-4-1" +model: "bedrock:us.anthropic.claude-3-5-haiku-20241022-v1:0" sandbox_variant: jupyter diff --git a/agentspecs/agents/mocks/automate-regulatory-reporting.yaml b/agentspecs/agents/mocks/automate-regulatory-reporting.yaml index 23e5951..9d3f358 100644 --- a/agentspecs/agents/mocks/automate-regulatory-reporting.yaml +++ b/agentspecs/agents/mocks/automate-regulatory-reporting.yaml @@ -25,7 +25,7 @@ tags: enabled: false -model: "openai-gpt-4-1" +model: "bedrock:us.anthropic.claude-3-5-haiku-20241022-v1:0" sandbox_variant: jupyter diff --git a/agentspecs/agents/mocks/classify-route-emails.yaml b/agentspecs/agents/mocks/classify-route-emails.yaml index c07ec15..6da93e7 100644 --- a/agentspecs/agents/mocks/classify-route-emails.yaml +++ b/agentspecs/agents/mocks/classify-route-emails.yaml @@ -22,7 +22,7 @@ tags: enabled: false -model: "openai-gpt-4-1" +model: "bedrock:us.anthropic.claude-3-5-haiku-20241022-v1:0" sandbox_variant: jupyter diff --git a/agentspecs/agents/mocks/comprehensive-sales-analytics.yaml b/agentspecs/agents/mocks/comprehensive-sales-analytics.yaml index 0b5933f..3ff7a43 100644 --- a/agentspecs/agents/mocks/comprehensive-sales-analytics.yaml +++ b/agentspecs/agents/mocks/comprehensive-sales-analytics.yaml @@ -30,7 +30,7 @@ tags: enabled: false -model: "anthropic-claude-opus-4" +model: "bedrock:us.anthropic.claude-3-5-haiku-20241022-v1:0" sandbox_variant: jupyter diff --git a/agentspecs/agents/mocks/end-of-month-performance.yaml b/agentspecs/agents/mocks/end-of-month-performance.yaml index 76eae4f..1a02fab 100644 --- a/agentspecs/agents/mocks/end-of-month-performance.yaml +++ b/agentspecs/agents/mocks/end-of-month-performance.yaml @@ -32,7 +32,7 @@ goal: >- discounting, explain variances by region/segment/product/SKU, and generate an executive-ready PDF performance report with full data lineage. -model: "openai-gpt-4-1" +model: "bedrock:us.anthropic.claude-3-5-haiku-20241022-v1:0" sandbox_variant: jupyter diff --git a/agentspecs/agents/mocks/extract-data-from-files.yaml b/agentspecs/agents/mocks/extract-data-from-files.yaml index e52d286..bb039e6 100644 --- a/agentspecs/agents/mocks/extract-data-from-files.yaml +++ b/agentspecs/agents/mocks/extract-data-from-files.yaml @@ -23,7 +23,7 @@ tags: enabled: false -model: "openai-gpt-4-1" +model: "bedrock:us.anthropic.claude-3-5-haiku-20241022-v1:0" sandbox_variant: jupyter diff --git a/agentspecs/agents/mocks/generate-weekly-reports.yaml b/agentspecs/agents/mocks/generate-weekly-reports.yaml index 971e38f..f03c507 100644 --- a/agentspecs/agents/mocks/generate-weekly-reports.yaml +++ b/agentspecs/agents/mocks/generate-weekly-reports.yaml @@ -22,7 +22,7 @@ tags: enabled: false -model: "openai-gpt-4-1" +model: "bedrock:us.anthropic.claude-3-5-haiku-20241022-v1:0" sandbox_variant: jupyter diff --git a/agentspecs/agents/mocks/monitor-sales-kpis.yaml b/agentspecs/agents/mocks/monitor-sales-kpis.yaml index 2607f24..07cb79c 100644 --- a/agentspecs/agents/mocks/monitor-sales-kpis.yaml +++ b/agentspecs/agents/mocks/monitor-sales-kpis.yaml @@ -22,7 +22,7 @@ tags: enabled: true -model: "openai-gpt-4-1" +model: "bedrock:us.anthropic.claude-3-5-haiku-20241022-v1:0" sandbox_variant: jupyter diff --git a/agentspecs/agents/mocks/optimize-dynamic-pricing.yaml b/agentspecs/agents/mocks/optimize-dynamic-pricing.yaml index 70a5793..33c033b 100644 --- a/agentspecs/agents/mocks/optimize-dynamic-pricing.yaml +++ b/agentspecs/agents/mocks/optimize-dynamic-pricing.yaml @@ -24,7 +24,7 @@ tags: enabled: false -model: "openai-gpt-4-1" +model: "bedrock:us.anthropic.claude-3-5-haiku-20241022-v1:0" sandbox_variant: jupyter diff --git a/agentspecs/agents/mocks/optimize-grid-operations.yaml b/agentspecs/agents/mocks/optimize-grid-operations.yaml index 185430f..1e7b5ff 100644 --- a/agentspecs/agents/mocks/optimize-grid-operations.yaml +++ b/agentspecs/agents/mocks/optimize-grid-operations.yaml @@ -24,7 +24,7 @@ tags: enabled: false -model: "openai-gpt-4-1" +model: "bedrock:us.anthropic.claude-3-5-haiku-20241022-v1:0" sandbox_variant: jupyter diff --git a/agentspecs/agents/mocks/process-citizen-requests.yaml b/agentspecs/agents/mocks/process-citizen-requests.yaml index 56e9dbe..a1ed5ba 100644 --- a/agentspecs/agents/mocks/process-citizen-requests.yaml +++ b/agentspecs/agents/mocks/process-citizen-requests.yaml @@ -25,7 +25,7 @@ tags: enabled: false -model: "openai-gpt-4-1" +model: "bedrock:us.anthropic.claude-3-5-haiku-20241022-v1:0" sandbox_variant: jupyter diff --git a/agentspecs/agents/mocks/process-clinical-trial-data.yaml b/agentspecs/agents/mocks/process-clinical-trial-data.yaml index a35850b..0cf8aa3 100644 --- a/agentspecs/agents/mocks/process-clinical-trial-data.yaml +++ b/agentspecs/agents/mocks/process-clinical-trial-data.yaml @@ -24,7 +24,7 @@ tags: enabled: false -model: "anthropic-claude-sonnet-4" +model: "bedrock:us.anthropic.claude-3-5-haiku-20241022-v1:0" sandbox_variant: jupyter diff --git a/agentspecs/agents/mocks/process-financial-transactions.yaml b/agentspecs/agents/mocks/process-financial-transactions.yaml index 5ab388e..b5af25f 100644 --- a/agentspecs/agents/mocks/process-financial-transactions.yaml +++ b/agentspecs/agents/mocks/process-financial-transactions.yaml @@ -22,7 +22,7 @@ tags: enabled: false -model: "openai-gpt-4-1" +model: "bedrock:us.anthropic.claude-3-5-haiku-20241022-v1:0" sandbox_variant: jupyter diff --git a/agentspecs/agents/mocks/summarize-documents.yaml b/agentspecs/agents/mocks/summarize-documents.yaml index f04da59..a1602e4 100644 --- a/agentspecs/agents/mocks/summarize-documents.yaml +++ b/agentspecs/agents/mocks/summarize-documents.yaml @@ -22,7 +22,7 @@ tags: enabled: false -model: "anthropic-claude-sonnet-4" +model: "bedrock:us.anthropic.claude-3-5-haiku-20241022-v1:0" sandbox_variant: jupyter diff --git a/agentspecs/agents/mocks/sync-crm-contacts.yaml b/agentspecs/agents/mocks/sync-crm-contacts.yaml index 4dd2b88..bd9bd7d 100644 --- a/agentspecs/agents/mocks/sync-crm-contacts.yaml +++ b/agentspecs/agents/mocks/sync-crm-contacts.yaml @@ -21,7 +21,7 @@ tags: enabled: false -model: "anthropic-claude-opus-4" +model: "bedrock:us.anthropic.claude-3-5-haiku-20241022-v1:0" sandbox_variant: jupyter From aeaf560ee911756abf3ce4488699f3edd8c8166a Mon Sep 17 00:00:00 2001 From: Eric Charles Date: Fri, 13 Mar 2026 14:30:10 +0100 Subject: [PATCH 07/44] icon --- agentspecs/agents/datalayer-ai/simple.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/agentspecs/agents/datalayer-ai/simple.yaml b/agentspecs/agents/datalayer-ai/simple.yaml index 3d54b77..b3b05e9 100644 --- a/agentspecs/agents/datalayer-ai/simple.yaml +++ b/agentspecs/agents/datalayer-ai/simple.yaml @@ -34,7 +34,7 @@ skills: [] environment_name: ai-agents-env # UI customization -icon: share-2 +icon: agent emoji: ๐Ÿค– color: "#6366F1" # Indigo From 63ebae65a79600d4c615959d8fb520c0a7e46d06 Mon Sep 17 00:00:00 2001 From: Eric Charles Date: Mon, 16 Mar 2026 12:46:26 +0100 Subject: [PATCH 08/44] flatten --- .../analyze-campaign-performance.yaml | 1 - .../{mocks => }/analyze-support-tickets.yaml | 1 - .../{mocks => }/audit-inventory-levels.yaml | 1 - .../automate-regulatory-reporting.yaml | 1 - .../{mocks => }/classify-route-emails.yaml | 1 - agentspecs/agents/codeai/simple.yaml | 67 ------------ agentspecs/agents/codemode-paper/crawler.yaml | 102 ------------------ .../codemode-paper/data-acquisition.yaml | 102 ------------------ .../agents/codemode-paper/github-agent.yaml | 97 ----------------- .../comprehensive-sales-analytics.yaml | 1 - .../agents/{datalayer-ai => }/crawler.yaml | 3 +- .../agents/{codeai => }/data-acquisition.yaml | 1 - .../agents/datalayer-ai/data-acquisition.yaml | 102 ------------------ .../{mocks => }/end-of-month-performance.yaml | 1 - .../{mocks => }/extract-data-from-files.yaml | 1 - .../{codemode-paper => }/financial-viz.yaml | 1 - .../agents/{datalayer-ai => }/financial.yaml | 3 +- .../{mocks => }/generate-weekly-reports.yaml | 1 - .../{datalayer-ai => }/github-agent.yaml | 3 +- .../information-routing.yaml | 1 - .../{mocks => }/monitor-sales-kpis.yaml | 3 +- .../{mocks => }/optimize-dynamic-pricing.yaml | 1 - .../{mocks => }/optimize-grid-operations.yaml | 1 - .../{mocks => }/process-citizen-requests.yaml | 1 - .../process-clinical-trial-data.yaml | 1 - .../process-financial-transactions.yaml | 1 - .../agents/{datalayer-ai => }/simple.yaml | 1 - .../{mocks => }/summarize-documents.yaml | 1 - .../agents/{mocks => }/sync-crm-contacts.yaml | 1 - agentspecs/evals/{mocks => }/agentbench.yaml | 0 .../evals/{mocks => }/gpqa-diamond.yaml | 0 agentspecs/evals/{mocks => }/humaneval.yaml | 0 agentspecs/evals/{mocks => }/mmlu.yaml | 0 .../evals/{mocks => }/swe-bench-verified.yaml | 0 agentspecs/evals/{mocks => }/swe-bench.yaml | 0 agentspecs/evals/{mocks => }/toolbench.yaml | 0 agentspecs/evals/{mocks => }/truthfulqa.yaml | 0 .../data-engineering-power-user.yaml | 0 .../{mocks => }/default-platform-user.yaml | 0 .../{mocks => }/github-actions-deploy.yaml | 0 .../guardrails/{mocks => }/github-ci-bot.yaml | 0 .../{mocks => }/google-workspace-agent.yaml | 0 .../{mocks => }/restricted-viewer.yaml | 0 .../notifications/{mocks => }/email.yaml | 0 .../notifications/{mocks => }/slack.yaml | 0 .../notifications/{mocks => }/teams.yaml | 0 .../notifications/{mocks => }/webhook.yaml | 0 agentspecs/outputs/{mocks => }/api-push.yaml | 0 agentspecs/outputs/{mocks => }/csv.yaml | 0 agentspecs/outputs/{mocks => }/dashboard.yaml | 0 agentspecs/outputs/{mocks => }/document.yaml | 0 agentspecs/outputs/{mocks => }/email.yaml | 0 agentspecs/outputs/{mocks => }/json.yaml | 0 agentspecs/outputs/{mocks => }/notebook.yaml | 0 .../outputs/{mocks => }/spreadsheet.yaml | 0 .../analyze-campaign-performance.yaml | 0 .../{mocks => }/analyze-support-tickets.yaml | 0 .../{mocks => }/audit-inventory-levels.yaml | 0 .../automate-regulatory-reporting.yaml | 0 .../comprehensive-sales-analytics.yaml | 0 .../{mocks => }/optimize-grid-operations.yaml | 0 .../{mocks => }/process-citizen-requests.yaml | 0 .../process-clinical-trial-data.yaml | 0 .../teams/{mocks => }/sync-crm-contacts.yaml | 0 agentspecs/triggers/{mocks => }/event.yaml | 0 agentspecs/triggers/{mocks => }/once.yaml | 0 agentspecs/triggers/{mocks => }/schedule.yaml | 0 67 files changed, 4 insertions(+), 498 deletions(-) rename agentspecs/agents/{mocks => }/analyze-campaign-performance.yaml (99%) rename agentspecs/agents/{mocks => }/analyze-support-tickets.yaml (99%) rename agentspecs/agents/{mocks => }/audit-inventory-levels.yaml (99%) rename agentspecs/agents/{mocks => }/automate-regulatory-reporting.yaml (99%) rename agentspecs/agents/{mocks => }/classify-route-emails.yaml (99%) delete mode 100644 agentspecs/agents/codeai/simple.yaml delete mode 100644 agentspecs/agents/codemode-paper/crawler.yaml delete mode 100644 agentspecs/agents/codemode-paper/data-acquisition.yaml delete mode 100644 agentspecs/agents/codemode-paper/github-agent.yaml rename agentspecs/agents/{mocks => }/comprehensive-sales-analytics.yaml (99%) rename agentspecs/agents/{datalayer-ai => }/crawler.yaml (99%) rename agentspecs/agents/{codeai => }/data-acquisition.yaml (99%) delete mode 100644 agentspecs/agents/datalayer-ai/data-acquisition.yaml rename agentspecs/agents/{mocks => }/end-of-month-performance.yaml (99%) rename agentspecs/agents/{mocks => }/extract-data-from-files.yaml (99%) rename agentspecs/agents/{codemode-paper => }/financial-viz.yaml (99%) rename agentspecs/agents/{datalayer-ai => }/financial.yaml (99%) rename agentspecs/agents/{mocks => }/generate-weekly-reports.yaml (99%) rename agentspecs/agents/{datalayer-ai => }/github-agent.yaml (99%) rename agentspecs/agents/{codemode-paper => }/information-routing.yaml (99%) rename agentspecs/agents/{mocks => }/monitor-sales-kpis.yaml (99%) rename agentspecs/agents/{mocks => }/optimize-dynamic-pricing.yaml (99%) rename agentspecs/agents/{mocks => }/optimize-grid-operations.yaml (99%) rename agentspecs/agents/{mocks => }/process-citizen-requests.yaml (99%) rename agentspecs/agents/{mocks => }/process-clinical-trial-data.yaml (99%) rename agentspecs/agents/{mocks => }/process-financial-transactions.yaml (99%) rename agentspecs/agents/{datalayer-ai => }/simple.yaml (99%) rename agentspecs/agents/{mocks => }/summarize-documents.yaml (99%) rename agentspecs/agents/{mocks => }/sync-crm-contacts.yaml (99%) rename agentspecs/evals/{mocks => }/agentbench.yaml (100%) rename agentspecs/evals/{mocks => }/gpqa-diamond.yaml (100%) rename agentspecs/evals/{mocks => }/humaneval.yaml (100%) rename agentspecs/evals/{mocks => }/mmlu.yaml (100%) rename agentspecs/evals/{mocks => }/swe-bench-verified.yaml (100%) rename agentspecs/evals/{mocks => }/swe-bench.yaml (100%) rename agentspecs/evals/{mocks => }/toolbench.yaml (100%) rename agentspecs/evals/{mocks => }/truthfulqa.yaml (100%) rename agentspecs/guardrails/{mocks => }/data-engineering-power-user.yaml (100%) rename agentspecs/guardrails/{mocks => }/default-platform-user.yaml (100%) rename agentspecs/guardrails/{mocks => }/github-actions-deploy.yaml (100%) rename agentspecs/guardrails/{mocks => }/github-ci-bot.yaml (100%) rename agentspecs/guardrails/{mocks => }/google-workspace-agent.yaml (100%) rename agentspecs/guardrails/{mocks => }/restricted-viewer.yaml (100%) rename agentspecs/notifications/{mocks => }/email.yaml (100%) rename agentspecs/notifications/{mocks => }/slack.yaml (100%) rename agentspecs/notifications/{mocks => }/teams.yaml (100%) rename agentspecs/notifications/{mocks => }/webhook.yaml (100%) rename agentspecs/outputs/{mocks => }/api-push.yaml (100%) rename agentspecs/outputs/{mocks => }/csv.yaml (100%) rename agentspecs/outputs/{mocks => }/dashboard.yaml (100%) rename agentspecs/outputs/{mocks => }/document.yaml (100%) rename agentspecs/outputs/{mocks => }/email.yaml (100%) rename agentspecs/outputs/{mocks => }/json.yaml (100%) rename agentspecs/outputs/{mocks => }/notebook.yaml (100%) rename agentspecs/outputs/{mocks => }/spreadsheet.yaml (100%) rename agentspecs/teams/{mocks => }/analyze-campaign-performance.yaml (100%) rename agentspecs/teams/{mocks => }/analyze-support-tickets.yaml (100%) rename agentspecs/teams/{mocks => }/audit-inventory-levels.yaml (100%) rename agentspecs/teams/{mocks => }/automate-regulatory-reporting.yaml (100%) rename agentspecs/teams/{mocks => }/comprehensive-sales-analytics.yaml (100%) rename agentspecs/teams/{mocks => }/optimize-grid-operations.yaml (100%) rename agentspecs/teams/{mocks => }/process-citizen-requests.yaml (100%) rename agentspecs/teams/{mocks => }/process-clinical-trial-data.yaml (100%) rename agentspecs/teams/{mocks => }/sync-crm-contacts.yaml (100%) rename agentspecs/triggers/{mocks => }/event.yaml (100%) rename agentspecs/triggers/{mocks => }/once.yaml (100%) rename agentspecs/triggers/{mocks => }/schedule.yaml (100%) diff --git a/agentspecs/agents/mocks/analyze-campaign-performance.yaml b/agentspecs/agents/analyze-campaign-performance.yaml similarity index 99% rename from agentspecs/agents/mocks/analyze-campaign-performance.yaml rename to agentspecs/agents/analyze-campaign-performance.yaml index 6f2a156..6082a42 100644 --- a/agentspecs/agents/mocks/analyze-campaign-performance.yaml +++ b/agentspecs/agents/analyze-campaign-performance.yaml @@ -23,7 +23,6 @@ tags: - social-media enabled: false - model: "bedrock:us.anthropic.claude-3-5-haiku-20241022-v1:0" sandbox_variant: jupyter diff --git a/agentspecs/agents/mocks/analyze-support-tickets.yaml b/agentspecs/agents/analyze-support-tickets.yaml similarity index 99% rename from agentspecs/agents/mocks/analyze-support-tickets.yaml rename to agentspecs/agents/analyze-support-tickets.yaml index f75dae1..4bebfc8 100644 --- a/agentspecs/agents/mocks/analyze-support-tickets.yaml +++ b/agentspecs/agents/analyze-support-tickets.yaml @@ -20,7 +20,6 @@ tags: - tickets enabled: false - model: "bedrock:us.anthropic.claude-3-5-haiku-20241022-v1:0" sandbox_variant: jupyter diff --git a/agentspecs/agents/mocks/audit-inventory-levels.yaml b/agentspecs/agents/audit-inventory-levels.yaml similarity index 99% rename from agentspecs/agents/mocks/audit-inventory-levels.yaml rename to agentspecs/agents/audit-inventory-levels.yaml index 2369940..93acf73 100644 --- a/agentspecs/agents/mocks/audit-inventory-levels.yaml +++ b/agentspecs/agents/audit-inventory-levels.yaml @@ -20,7 +20,6 @@ tags: - supply-chain enabled: false - model: "bedrock:us.anthropic.claude-3-5-haiku-20241022-v1:0" sandbox_variant: jupyter diff --git a/agentspecs/agents/mocks/automate-regulatory-reporting.yaml b/agentspecs/agents/automate-regulatory-reporting.yaml similarity index 99% rename from agentspecs/agents/mocks/automate-regulatory-reporting.yaml rename to agentspecs/agents/automate-regulatory-reporting.yaml index 9d3f358..6ea915f 100644 --- a/agentspecs/agents/mocks/automate-regulatory-reporting.yaml +++ b/agentspecs/agents/automate-regulatory-reporting.yaml @@ -24,7 +24,6 @@ tags: - audit enabled: false - model: "bedrock:us.anthropic.claude-3-5-haiku-20241022-v1:0" sandbox_variant: jupyter diff --git a/agentspecs/agents/mocks/classify-route-emails.yaml b/agentspecs/agents/classify-route-emails.yaml similarity index 99% rename from agentspecs/agents/mocks/classify-route-emails.yaml rename to agentspecs/agents/classify-route-emails.yaml index 6da93e7..72eb394 100644 --- a/agentspecs/agents/mocks/classify-route-emails.yaml +++ b/agentspecs/agents/classify-route-emails.yaml @@ -21,7 +21,6 @@ tags: - automation enabled: false - model: "bedrock:us.anthropic.claude-3-5-haiku-20241022-v1:0" sandbox_variant: jupyter diff --git a/agentspecs/agents/codeai/simple.yaml b/agentspecs/agents/codeai/simple.yaml deleted file mode 100644 index 3d54b77..0000000 --- a/agentspecs/agents/codeai/simple.yaml +++ /dev/null @@ -1,67 +0,0 @@ -# Copyright (c) 2025-2026 Datalayer, Inc. -# Distributed under the terms of the Modified BSD License. - -# Agent Specification: A Simple Agent -# A minimal agent with no MCP servers or skills. - -id: simple -name: A Simple Agent -description: > - A simple conversational agent. No tools, no MCP servers, no skills โ€” - just a helpful AI assistant you can chat with. - -tags: - - simple - - chat - - assistant - -enabled: true - -model: "bedrock:us.anthropic.claude-sonnet-4-5-20250929-v1:0" - -sandbox_variant: jupyter - -# Memory backend -memory: ephemeral - -# No MCP servers -mcp_servers: [] - -# No skills -skills: [] - -# Runtime environment -environment_name: ai-agents-env - -# UI customization -icon: share-2 -emoji: ๐Ÿค– -color: "#6366F1" # Indigo - -# Chat suggestions to show users what this agent can do -suggestions: - - Tell me a joke - - Explain quantum computing in simple terms - - Help me brainstorm ideas for a weekend project - - Summarize the key points of a topic I describe - -# Welcome message shown when agent starts -welcome_message: > - Hi! I'm a simple assistant. I don't have any special tools, but I'm - happy to chat, answer questions, and help you think through ideas. - -# System prompt for the agent -system_prompt: > - You are a helpful, friendly AI assistant. You do not have access to any - external tools, MCP servers, or skills. Answer questions using your - training knowledge, be concise, and let the user know if a question is - outside your knowledge. - -# No code mode prompt needed for a simple agent -system_prompt_codemode_addons: null - -# Optional: Jupyter notebook to show on agent creation -welcome_notebook: null - -# Optional: Lexical document to show on agent creation -welcome_document: null diff --git a/agentspecs/agents/codemode-paper/crawler.yaml b/agentspecs/agents/codemode-paper/crawler.yaml deleted file mode 100644 index 5ea1222..0000000 --- a/agentspecs/agents/codemode-paper/crawler.yaml +++ /dev/null @@ -1,102 +0,0 @@ -# Copyright (c) 2025-2026 Datalayer, Inc. -# Distributed under the terms of the Modified BSD License. - -# Agent Specification: Crawler Agent -# Web crawling and research agent that searches the web and GitHub repositories. - -id: crawler -name: Crawler Agent -description: > - Web crawling and research agent that searches the web and GitHub - repositories for information. - -tags: - - web - - search - - research - - crawler - - github - -enabled: false - -model: "bedrock:us.anthropic.claude-sonnet-4-5-20250929-v1:0" - -sandbox_variant: local-eval - -# Memory backend -memory: ephemeral - -# MCP servers used by this agent -mcp_servers: - - tavily - - github - - kaggle - - huggingface - -# Skills available to this agent -skills: [] - -# Runtime environment -environment_name: ai-agents-env - -# UI customization -icon: globe -emoji: ๐ŸŒ -color: "#10B981" # Green - -# Chat suggestions to show users what this agent can do -suggestions: - - Search the web for recent news about AI agents - - Find trending open-source Python projects on GitHub - - Research best practices for building RAG applications - - Compare popular JavaScript frameworks in 2024 - -# Welcome message shown when agent starts -welcome_message: > - Hi! I'm the Crawler Agent. I can search the web using Tavily, explore - GitHub repositories, and help you research topics across the internet. - -# System prompt for the agent -system_prompt: > - You are a web crawling and research assistant with access to Tavily search and GitHub tools. - Use Tavily to search the web for current information and search GitHub repositories for relevant projects. - Synthesize information from multiple sources and provide clear summaries with sources cited. - -# Additional system prompt for code mode -system_prompt_codemode_addons: > - ## IMPORTANT: Be Honest About Your Capabilities - NEVER claim to have tools or capabilities you haven't verified. - - ## Core Codemode Tools - Use these 4 tools to accomplish any task: - 1. **list_servers** - List available MCP servers - Use this to see what MCP servers you can access. - - 2. **search_tools** - Progressive tool discovery by natural language query - Use this to find relevant tools before executing tasks. - - 3. **get_tool_details** - Get full tool schema and documentation - Use this to understand tool parameters before calling them. - - 4. **execute_code** - Run Python code that composes multiple tools - Variables, functions, and state PERSIST between execute_code calls. - Import tools using: `from generated.servers. import ` - NEVER use `import *` - always use explicit named imports. - - ## Recommended Workflow - 1. **Discover**: Use list_servers and search_tools to find relevant tools - 2. **Understand**: Use get_tool_details to check parameters - 3. **Execute**: Use execute_code to perform multi-step tasks, calling tools as needed - - ## Token Efficiency - Always chain multiple tool calls in a single execute_code block. - This reduces output tokens by processing intermediate results in code rather than returning them. - If you want to examine results, print subsets, preview (maximum 20 first characters) and/or counts instead of full data, this is really important. - - For huggingface tools, use search_doc tool to understand other tools return's schema. - -# Optional: Jupyter notebook to show on agent creation -welcome_notebook: null - -# Optional: Lexical document to show on agent creation -welcome_document: null diff --git a/agentspecs/agents/codemode-paper/data-acquisition.yaml b/agentspecs/agents/codemode-paper/data-acquisition.yaml deleted file mode 100644 index 21ec75f..0000000 --- a/agentspecs/agents/codemode-paper/data-acquisition.yaml +++ /dev/null @@ -1,102 +0,0 @@ -# Copyright (c) 2025-2026 Datalayer, Inc. -# Distributed under the terms of the Modified BSD License. - -# Agent Specification: Data Acquisition Agent -# This agent acquires and manages data from various sources including -# Kaggle datasets and local filesystem operations. - -id: data-acquisition -name: Data Acquisition Agent -description: > - Acquires and manages data from various sources including Kaggle datasets - and local filesystem operations. - -tags: - - data - - acquisition - - kaggle - - filesystem - -enabled: true - -model: "bedrock:us.anthropic.claude-sonnet-4-5-20250929-v1:0" - -sandbox_variant: local-eval - -# Memory backend -memory: ephemeral - -# MCP servers used by this agent -mcp_servers: - - kaggle - - filesystem - - tavily - -# Skills available to this agent -skills: - - github - -# Runtime environment -environment_name: ai-agents-env - -# UI customization -icon: database -emoji: ๐Ÿ“Š -color: "#3B82F6" # Blue - -# Chat suggestions to show users what this agent can do -suggestions: - - Find popular machine learning datasets on Kaggle - - Download and explore a dataset for sentiment analysis - - List available files in my workspace - - Search Kaggle for time series forecasting competitions - -# Welcome message shown when agent starts -welcome_message: > - Hello! I'm the Data Acquisition Agent. I can help you find and download - datasets from Kaggle, manage files in your workspace, and explore data - sources for your projects. - -# System prompt for the agent -system_prompt: > - You are a data acquisition specialist with access to Kaggle datasets and filesystem tools. - You can search for datasets, download data, read and write files, and help users prepare data for analysis. - Guide users through finding relevant datasets and organizing their workspace efficiently. - -# Additional system prompt for code mode -system_prompt_codemode_addons: > - ## IMPORTANT: Be Honest About Your Capabilities - NEVER claim to have tools or capabilities you haven't verified. - - ## Core Codemode Tools - Use these 4 tools to accomplish any task: - 1. **list_servers** - List available MCP servers - Use this to see what MCP servers you can access. - - 2. **search_tools** - Progressive tool discovery by natural language query - Use this to find relevant tools before executing tasks. - - 3. **get_tool_details** - Get full tool schema and documentation - Use this to understand tool parameters before calling them. - - 4. **execute_code** - Run Python code that composes multiple tools - Use this for complex multi-step operations. Code runs in a PERSISTENT sandbox. - Variables, functions, and state PERSIST between execute_code calls. - Import tools using: `from generated.servers. import ` - NEVER use `import *` - always use explicit named imports. - - ## Recommended Workflow - 1. **Discover**: Use list_servers and search_tools to find relevant tools - 2. **Understand**: Use get_tool_details to check parameters - 3. **Execute**: Use execute_code to perform multi-step tasks, calling tools as needed - - ## Token Efficiency - When possible, chain multiple tool calls in a single execute_code block. - This reduces output tokens by processing intermediate results in code rather than returning them. - If you want to examine results, print subsets, preview (maximum 20 first characters) and/or counts instead of full data, this is really important. - -# Optional: Jupyter notebook to show on agent creation -welcome_notebook: null - -# Optional: Lexical document to show on agent creation -welcome_document: null diff --git a/agentspecs/agents/codemode-paper/github-agent.yaml b/agentspecs/agents/codemode-paper/github-agent.yaml deleted file mode 100644 index b0cce52..0000000 --- a/agentspecs/agents/codemode-paper/github-agent.yaml +++ /dev/null @@ -1,97 +0,0 @@ -# Copyright (c) 2025-2026 Datalayer, Inc. -# Distributed under the terms of the Modified BSD License. - -# Agent Specification: GitHub Agent -# Manages GitHub repositories, issues, and pull requests with email capabilities. - -id: github-agent -name: GitHub Agent -description: > - Manages GitHub repositories, issues, and pull requests with email - notification capabilities. - -tags: - - github - - git - - code - - email - -enabled: false - -model: "bedrock:us.anthropic.claude-sonnet-4-5-20250929-v1:0" - -sandbox_variant: local-eval - -# Memory backend -memory: ephemeral - -# MCP servers used by this agent -mcp_servers: - - github - - google-workspace - -# Skills available to this agent -skills: [] - -# Runtime environment -environment_name: ai-agents-env - -# UI customization -icon: git-branch -emoji: ๐Ÿ™ -color: "#6366F1" # Indigo - -# Chat suggestions to show users what this agent can do -suggestions: - - List my open pull requests across all repositories - - Create an issue for a bug I found in datalayer/ui - - Show recent commits on the main branch - - Search for repositories related to Jupyter notebooks - -# Welcome message shown when agent starts -welcome_message: > - Hello! I'm the GitHub Agent. I can help you manage repositories, create and - review issues and pull requests, search code, and send email notifications - about your GitHub activity. - -# System prompt for the agent -system_prompt: > - You are a GitHub assistant with access to GitHub repository tools and Google Workspace for email notifications. - -# Additional system prompt for code mode -system_prompt_codemode_addons: > - ## IMPORTANT: Be Honest About Your Capabilities - NEVER claim to have tools or capabilities you haven't verified. - - ## Core Codemode Tools - Use these 4 tools to accomplish any task: - 1. **list_servers** - List available MCP servers - Use this to see what MCP servers you can access. - - 2. **search_tools** - Progressive tool discovery by natural language query - Use this to find relevant tools before executing tasks. - - 3. **get_tool_details** - Get full tool schema and documentation - Use this to understand tool parameters before calling them. - - 4. **execute_code** - Run Python code that composes multiple tools - Code runs in a PERSISTENT sandbox. - Variables, functions, and state PERSIST between execute_code calls. - Import tools using: `from generated.servers. import ` - NEVER use `import *` - always use explicit named imports. - - ## Recommended Workflow - 1. **Discover**: Use list_servers and search_tools to find relevant tools - 2. **Understand**: Use get_tool_details to check parameters - 3. **Execute**: Use execute_code to perform multi-step tasks, calling tools as needed - - ## Token Efficiency - Always chain multiple tool calls in a single execute_code block. - This reduces output tokens by processing intermediate results in code rather than returning them. - If you want to examine results, print subsets, preview (maximum 20 first characters) and/or counts instead of full data, this is really important. - -# Optional: Jupyter notebook to show on agent creation -welcome_notebook: null - -# Optional: Lexical document to show on agent creation -welcome_document: null diff --git a/agentspecs/agents/mocks/comprehensive-sales-analytics.yaml b/agentspecs/agents/comprehensive-sales-analytics.yaml similarity index 99% rename from agentspecs/agents/mocks/comprehensive-sales-analytics.yaml rename to agentspecs/agents/comprehensive-sales-analytics.yaml index 3ff7a43..02fa8d3 100644 --- a/agentspecs/agents/mocks/comprehensive-sales-analytics.yaml +++ b/agentspecs/agents/comprehensive-sales-analytics.yaml @@ -29,7 +29,6 @@ tags: - horizontal enabled: false - model: "bedrock:us.anthropic.claude-3-5-haiku-20241022-v1:0" sandbox_variant: jupyter diff --git a/agentspecs/agents/datalayer-ai/crawler.yaml b/agentspecs/agents/crawler.yaml similarity index 99% rename from agentspecs/agents/datalayer-ai/crawler.yaml rename to agentspecs/agents/crawler.yaml index d3ad6b2..f5322e0 100644 --- a/agentspecs/agents/datalayer-ai/crawler.yaml +++ b/agentspecs/agents/crawler.yaml @@ -17,8 +17,7 @@ tags: - crawler - github -enabled: false - +enabled: true model: "bedrock:us.anthropic.claude-sonnet-4-5-20250929-v1:0" sandbox_variant: jupyter diff --git a/agentspecs/agents/codeai/data-acquisition.yaml b/agentspecs/agents/data-acquisition.yaml similarity index 99% rename from agentspecs/agents/codeai/data-acquisition.yaml rename to agentspecs/agents/data-acquisition.yaml index a5b7738..5f94be4 100644 --- a/agentspecs/agents/codeai/data-acquisition.yaml +++ b/agentspecs/agents/data-acquisition.yaml @@ -18,7 +18,6 @@ tags: - filesystem enabled: true - model: "bedrock:us.anthropic.claude-sonnet-4-5-20250929-v1:0" sandbox_variant: jupyter diff --git a/agentspecs/agents/datalayer-ai/data-acquisition.yaml b/agentspecs/agents/datalayer-ai/data-acquisition.yaml deleted file mode 100644 index a5b7738..0000000 --- a/agentspecs/agents/datalayer-ai/data-acquisition.yaml +++ /dev/null @@ -1,102 +0,0 @@ -# Copyright (c) 2025-2026 Datalayer, Inc. -# Distributed under the terms of the Modified BSD License. - -# Agent Specification: Data Acquisition Agent -# This agent acquires and manages data from various sources including -# Kaggle datasets and local filesystem operations. - -id: data-acquisition -name: Data Acquisition Agent -description: > - Acquires and manages data from various sources including Kaggle datasets - and local filesystem operations. - -tags: - - data - - acquisition - - kaggle - - filesystem - -enabled: true - -model: "bedrock:us.anthropic.claude-sonnet-4-5-20250929-v1:0" - -sandbox_variant: jupyter - -# Memory backend -memory: ephemeral - -# MCP servers used by this agent -mcp_servers: - - kaggle - - filesystem - - tavily - -# Skills available to this agent -skills: - - github - -# Runtime environment -environment_name: ai-agents-env - -# UI customization -icon: database -emoji: ๐Ÿ“Š -color: "#3B82F6" # Blue - -# Chat suggestions to show users what this agent can do -suggestions: - - Find popular machine learning datasets on Kaggle - - Download and explore a dataset for sentiment analysis - - List available files in my workspace - - Search Kaggle for time series forecasting competitions - -# Welcome message shown when agent starts -welcome_message: > - Hello! I'm the Data Acquisition Agent. I can help you find and download - datasets from Kaggle, manage files in your workspace, and explore data - sources for your projects. - -# System prompt for the agent -system_prompt: > - You are a data acquisition specialist with access to Kaggle datasets and filesystem tools. - You can search for datasets, download data, read and write files, and help users prepare data for analysis. - Guide users through finding relevant datasets and organizing their workspace efficiently. - -# Additional system prompt for code mode -system_prompt_codemode_addons: > - ## IMPORTANT: Be Honest About Your Capabilities - NEVER claim to have tools or capabilities you haven't verified. - - ## Core Codemode Tools - Use these 4 tools to accomplish any task: - 1. **list_servers** - List available MCP servers - Use this to see what MCP servers you can access. - - 2. **search_tools** - Progressive tool discovery by natural language query - Use this to find relevant tools before executing tasks. - - 3. **get_tool_details** - Get full tool schema and documentation - Use this to understand tool parameters before calling them. - - 4. **execute_code** - Run Python code that composes multiple tools - Use this for complex multi-step operations. Code runs in a PERSISTENT sandbox. - Variables, functions, and state PERSIST between execute_code calls. - Import tools using: `from generated.servers. import ` - NEVER use `import *` - always use explicit named imports. - - ## Recommended Workflow - 1. **Discover**: Use list_servers and search_tools to find relevant tools - 2. **Understand**: Use get_tool_details to check parameters - 3. **Execute**: Use execute_code to perform multi-step tasks, calling tools as needed - - ## Token Efficiency - When possible, chain multiple tool calls in a single execute_code block. - This reduces output tokens by processing intermediate results in code rather than returning them. - If you want to examine results, print subsets, preview (maximum 20 first characters) and/or counts instead of full data, this is really important. - -# Optional: Jupyter notebook to show on agent creation -welcome_notebook: null - -# Optional: Lexical document to show on agent creation -welcome_document: null diff --git a/agentspecs/agents/mocks/end-of-month-performance.yaml b/agentspecs/agents/end-of-month-performance.yaml similarity index 99% rename from agentspecs/agents/mocks/end-of-month-performance.yaml rename to agentspecs/agents/end-of-month-performance.yaml index 1a02fab..7343933 100644 --- a/agentspecs/agents/mocks/end-of-month-performance.yaml +++ b/agentspecs/agents/end-of-month-performance.yaml @@ -24,7 +24,6 @@ tags: - sku enabled: false - # Goal / Prompt (Step 4 in the UI โ€” the user-facing objective) goal: >- Consolidate, validate, and analyze end-of-month Salesforce retail sales data. diff --git a/agentspecs/agents/mocks/extract-data-from-files.yaml b/agentspecs/agents/extract-data-from-files.yaml similarity index 99% rename from agentspecs/agents/mocks/extract-data-from-files.yaml rename to agentspecs/agents/extract-data-from-files.yaml index bb039e6..fadde11 100644 --- a/agentspecs/agents/mocks/extract-data-from-files.yaml +++ b/agentspecs/agents/extract-data-from-files.yaml @@ -22,7 +22,6 @@ tags: - documents enabled: false - model: "bedrock:us.anthropic.claude-3-5-haiku-20241022-v1:0" sandbox_variant: jupyter diff --git a/agentspecs/agents/codemode-paper/financial-viz.yaml b/agentspecs/agents/financial-viz.yaml similarity index 99% rename from agentspecs/agents/codemode-paper/financial-viz.yaml rename to agentspecs/agents/financial-viz.yaml index 76724e8..854f5b8 100644 --- a/agentspecs/agents/codemode-paper/financial-viz.yaml +++ b/agentspecs/agents/financial-viz.yaml @@ -16,7 +16,6 @@ tags: - charts enabled: false - model: "bedrock:us.anthropic.claude-sonnet-4-5-20250929-v1:0" sandbox_variant: local-eval diff --git a/agentspecs/agents/datalayer-ai/financial.yaml b/agentspecs/agents/financial.yaml similarity index 99% rename from agentspecs/agents/datalayer-ai/financial.yaml rename to agentspecs/agents/financial.yaml index 088428c..62f57ad 100644 --- a/agentspecs/agents/datalayer-ai/financial.yaml +++ b/agentspecs/agents/financial.yaml @@ -15,8 +15,7 @@ tags: - visualization - charts -enabled: false - +enabled: true model: "bedrock:us.anthropic.claude-sonnet-4-5-20250929-v1:0" sandbox_variant: jupyter diff --git a/agentspecs/agents/mocks/generate-weekly-reports.yaml b/agentspecs/agents/generate-weekly-reports.yaml similarity index 99% rename from agentspecs/agents/mocks/generate-weekly-reports.yaml rename to agentspecs/agents/generate-weekly-reports.yaml index f03c507..cd9adca 100644 --- a/agentspecs/agents/mocks/generate-weekly-reports.yaml +++ b/agentspecs/agents/generate-weekly-reports.yaml @@ -21,7 +21,6 @@ tags: - automation enabled: false - model: "bedrock:us.anthropic.claude-3-5-haiku-20241022-v1:0" sandbox_variant: jupyter diff --git a/agentspecs/agents/datalayer-ai/github-agent.yaml b/agentspecs/agents/github-agent.yaml similarity index 99% rename from agentspecs/agents/datalayer-ai/github-agent.yaml rename to agentspecs/agents/github-agent.yaml index 770a16f..98d4fa9 100644 --- a/agentspecs/agents/datalayer-ai/github-agent.yaml +++ b/agentspecs/agents/github-agent.yaml @@ -16,8 +16,7 @@ tags: - code - email -enabled: false - +enabled: true model: "bedrock:us.anthropic.claude-sonnet-4-5-20250929-v1:0" sandbox_variant: jupyter diff --git a/agentspecs/agents/codemode-paper/information-routing.yaml b/agentspecs/agents/information-routing.yaml similarity index 99% rename from agentspecs/agents/codemode-paper/information-routing.yaml rename to agentspecs/agents/information-routing.yaml index fc98a99..f9c6ab7 100644 --- a/agentspecs/agents/codemode-paper/information-routing.yaml +++ b/agentspecs/agents/information-routing.yaml @@ -16,7 +16,6 @@ tags: - gdrive enabled: false - model: "bedrock:us.anthropic.claude-opus-4-6-v1" sandbox_variant: local-eval diff --git a/agentspecs/agents/mocks/monitor-sales-kpis.yaml b/agentspecs/agents/monitor-sales-kpis.yaml similarity index 99% rename from agentspecs/agents/mocks/monitor-sales-kpis.yaml rename to agentspecs/agents/monitor-sales-kpis.yaml index 07cb79c..26da03c 100644 --- a/agentspecs/agents/mocks/monitor-sales-kpis.yaml +++ b/agentspecs/agents/monitor-sales-kpis.yaml @@ -20,8 +20,7 @@ tags: - kpi - monitoring -enabled: true - +enabled: false model: "bedrock:us.anthropic.claude-3-5-haiku-20241022-v1:0" sandbox_variant: jupyter diff --git a/agentspecs/agents/mocks/optimize-dynamic-pricing.yaml b/agentspecs/agents/optimize-dynamic-pricing.yaml similarity index 99% rename from agentspecs/agents/mocks/optimize-dynamic-pricing.yaml rename to agentspecs/agents/optimize-dynamic-pricing.yaml index 33c033b..0cbdb78 100644 --- a/agentspecs/agents/mocks/optimize-dynamic-pricing.yaml +++ b/agentspecs/agents/optimize-dynamic-pricing.yaml @@ -23,7 +23,6 @@ tags: - margins enabled: false - model: "bedrock:us.anthropic.claude-3-5-haiku-20241022-v1:0" sandbox_variant: jupyter diff --git a/agentspecs/agents/mocks/optimize-grid-operations.yaml b/agentspecs/agents/optimize-grid-operations.yaml similarity index 99% rename from agentspecs/agents/mocks/optimize-grid-operations.yaml rename to agentspecs/agents/optimize-grid-operations.yaml index 1e7b5ff..7308d8c 100644 --- a/agentspecs/agents/mocks/optimize-grid-operations.yaml +++ b/agentspecs/agents/optimize-grid-operations.yaml @@ -23,7 +23,6 @@ tags: - sustainability enabled: false - model: "bedrock:us.anthropic.claude-3-5-haiku-20241022-v1:0" sandbox_variant: jupyter diff --git a/agentspecs/agents/mocks/process-citizen-requests.yaml b/agentspecs/agents/process-citizen-requests.yaml similarity index 99% rename from agentspecs/agents/mocks/process-citizen-requests.yaml rename to agentspecs/agents/process-citizen-requests.yaml index a1ed5ba..9ae6856 100644 --- a/agentspecs/agents/mocks/process-citizen-requests.yaml +++ b/agentspecs/agents/process-citizen-requests.yaml @@ -24,7 +24,6 @@ tags: - transparency enabled: false - model: "bedrock:us.anthropic.claude-3-5-haiku-20241022-v1:0" sandbox_variant: jupyter diff --git a/agentspecs/agents/mocks/process-clinical-trial-data.yaml b/agentspecs/agents/process-clinical-trial-data.yaml similarity index 99% rename from agentspecs/agents/mocks/process-clinical-trial-data.yaml rename to agentspecs/agents/process-clinical-trial-data.yaml index 0cf8aa3..e77331e 100644 --- a/agentspecs/agents/mocks/process-clinical-trial-data.yaml +++ b/agentspecs/agents/process-clinical-trial-data.yaml @@ -23,7 +23,6 @@ tags: - compliance enabled: false - model: "bedrock:us.anthropic.claude-3-5-haiku-20241022-v1:0" sandbox_variant: jupyter diff --git a/agentspecs/agents/mocks/process-financial-transactions.yaml b/agentspecs/agents/process-financial-transactions.yaml similarity index 99% rename from agentspecs/agents/mocks/process-financial-transactions.yaml rename to agentspecs/agents/process-financial-transactions.yaml index b5af25f..388d102 100644 --- a/agentspecs/agents/mocks/process-financial-transactions.yaml +++ b/agentspecs/agents/process-financial-transactions.yaml @@ -21,7 +21,6 @@ tags: - reconciliation enabled: false - model: "bedrock:us.anthropic.claude-3-5-haiku-20241022-v1:0" sandbox_variant: jupyter diff --git a/agentspecs/agents/datalayer-ai/simple.yaml b/agentspecs/agents/simple.yaml similarity index 99% rename from agentspecs/agents/datalayer-ai/simple.yaml rename to agentspecs/agents/simple.yaml index b3b05e9..b2a3f1f 100644 --- a/agentspecs/agents/datalayer-ai/simple.yaml +++ b/agentspecs/agents/simple.yaml @@ -16,7 +16,6 @@ tags: - assistant enabled: true - model: "bedrock:us.anthropic.claude-sonnet-4-5-20250929-v1:0" sandbox_variant: jupyter diff --git a/agentspecs/agents/mocks/summarize-documents.yaml b/agentspecs/agents/summarize-documents.yaml similarity index 99% rename from agentspecs/agents/mocks/summarize-documents.yaml rename to agentspecs/agents/summarize-documents.yaml index a1602e4..87675b4 100644 --- a/agentspecs/agents/mocks/summarize-documents.yaml +++ b/agentspecs/agents/summarize-documents.yaml @@ -21,7 +21,6 @@ tags: - productivity enabled: false - model: "bedrock:us.anthropic.claude-3-5-haiku-20241022-v1:0" sandbox_variant: jupyter diff --git a/agentspecs/agents/mocks/sync-crm-contacts.yaml b/agentspecs/agents/sync-crm-contacts.yaml similarity index 99% rename from agentspecs/agents/mocks/sync-crm-contacts.yaml rename to agentspecs/agents/sync-crm-contacts.yaml index bd9bd7d..7122682 100644 --- a/agentspecs/agents/mocks/sync-crm-contacts.yaml +++ b/agentspecs/agents/sync-crm-contacts.yaml @@ -20,7 +20,6 @@ tags: - deduplication enabled: false - model: "bedrock:us.anthropic.claude-3-5-haiku-20241022-v1:0" sandbox_variant: jupyter diff --git a/agentspecs/evals/mocks/agentbench.yaml b/agentspecs/evals/agentbench.yaml similarity index 100% rename from agentspecs/evals/mocks/agentbench.yaml rename to agentspecs/evals/agentbench.yaml diff --git a/agentspecs/evals/mocks/gpqa-diamond.yaml b/agentspecs/evals/gpqa-diamond.yaml similarity index 100% rename from agentspecs/evals/mocks/gpqa-diamond.yaml rename to agentspecs/evals/gpqa-diamond.yaml diff --git a/agentspecs/evals/mocks/humaneval.yaml b/agentspecs/evals/humaneval.yaml similarity index 100% rename from agentspecs/evals/mocks/humaneval.yaml rename to agentspecs/evals/humaneval.yaml diff --git a/agentspecs/evals/mocks/mmlu.yaml b/agentspecs/evals/mmlu.yaml similarity index 100% rename from agentspecs/evals/mocks/mmlu.yaml rename to agentspecs/evals/mmlu.yaml diff --git a/agentspecs/evals/mocks/swe-bench-verified.yaml b/agentspecs/evals/swe-bench-verified.yaml similarity index 100% rename from agentspecs/evals/mocks/swe-bench-verified.yaml rename to agentspecs/evals/swe-bench-verified.yaml diff --git a/agentspecs/evals/mocks/swe-bench.yaml b/agentspecs/evals/swe-bench.yaml similarity index 100% rename from agentspecs/evals/mocks/swe-bench.yaml rename to agentspecs/evals/swe-bench.yaml diff --git a/agentspecs/evals/mocks/toolbench.yaml b/agentspecs/evals/toolbench.yaml similarity index 100% rename from agentspecs/evals/mocks/toolbench.yaml rename to agentspecs/evals/toolbench.yaml diff --git a/agentspecs/evals/mocks/truthfulqa.yaml b/agentspecs/evals/truthfulqa.yaml similarity index 100% rename from agentspecs/evals/mocks/truthfulqa.yaml rename to agentspecs/evals/truthfulqa.yaml diff --git a/agentspecs/guardrails/mocks/data-engineering-power-user.yaml b/agentspecs/guardrails/data-engineering-power-user.yaml similarity index 100% rename from agentspecs/guardrails/mocks/data-engineering-power-user.yaml rename to agentspecs/guardrails/data-engineering-power-user.yaml diff --git a/agentspecs/guardrails/mocks/default-platform-user.yaml b/agentspecs/guardrails/default-platform-user.yaml similarity index 100% rename from agentspecs/guardrails/mocks/default-platform-user.yaml rename to agentspecs/guardrails/default-platform-user.yaml diff --git a/agentspecs/guardrails/mocks/github-actions-deploy.yaml b/agentspecs/guardrails/github-actions-deploy.yaml similarity index 100% rename from agentspecs/guardrails/mocks/github-actions-deploy.yaml rename to agentspecs/guardrails/github-actions-deploy.yaml diff --git a/agentspecs/guardrails/mocks/github-ci-bot.yaml b/agentspecs/guardrails/github-ci-bot.yaml similarity index 100% rename from agentspecs/guardrails/mocks/github-ci-bot.yaml rename to agentspecs/guardrails/github-ci-bot.yaml diff --git a/agentspecs/guardrails/mocks/google-workspace-agent.yaml b/agentspecs/guardrails/google-workspace-agent.yaml similarity index 100% rename from agentspecs/guardrails/mocks/google-workspace-agent.yaml rename to agentspecs/guardrails/google-workspace-agent.yaml diff --git a/agentspecs/guardrails/mocks/restricted-viewer.yaml b/agentspecs/guardrails/restricted-viewer.yaml similarity index 100% rename from agentspecs/guardrails/mocks/restricted-viewer.yaml rename to agentspecs/guardrails/restricted-viewer.yaml diff --git a/agentspecs/notifications/mocks/email.yaml b/agentspecs/notifications/email.yaml similarity index 100% rename from agentspecs/notifications/mocks/email.yaml rename to agentspecs/notifications/email.yaml diff --git a/agentspecs/notifications/mocks/slack.yaml b/agentspecs/notifications/slack.yaml similarity index 100% rename from agentspecs/notifications/mocks/slack.yaml rename to agentspecs/notifications/slack.yaml diff --git a/agentspecs/notifications/mocks/teams.yaml b/agentspecs/notifications/teams.yaml similarity index 100% rename from agentspecs/notifications/mocks/teams.yaml rename to agentspecs/notifications/teams.yaml diff --git a/agentspecs/notifications/mocks/webhook.yaml b/agentspecs/notifications/webhook.yaml similarity index 100% rename from agentspecs/notifications/mocks/webhook.yaml rename to agentspecs/notifications/webhook.yaml diff --git a/agentspecs/outputs/mocks/api-push.yaml b/agentspecs/outputs/api-push.yaml similarity index 100% rename from agentspecs/outputs/mocks/api-push.yaml rename to agentspecs/outputs/api-push.yaml diff --git a/agentspecs/outputs/mocks/csv.yaml b/agentspecs/outputs/csv.yaml similarity index 100% rename from agentspecs/outputs/mocks/csv.yaml rename to agentspecs/outputs/csv.yaml diff --git a/agentspecs/outputs/mocks/dashboard.yaml b/agentspecs/outputs/dashboard.yaml similarity index 100% rename from agentspecs/outputs/mocks/dashboard.yaml rename to agentspecs/outputs/dashboard.yaml diff --git a/agentspecs/outputs/mocks/document.yaml b/agentspecs/outputs/document.yaml similarity index 100% rename from agentspecs/outputs/mocks/document.yaml rename to agentspecs/outputs/document.yaml diff --git a/agentspecs/outputs/mocks/email.yaml b/agentspecs/outputs/email.yaml similarity index 100% rename from agentspecs/outputs/mocks/email.yaml rename to agentspecs/outputs/email.yaml diff --git a/agentspecs/outputs/mocks/json.yaml b/agentspecs/outputs/json.yaml similarity index 100% rename from agentspecs/outputs/mocks/json.yaml rename to agentspecs/outputs/json.yaml diff --git a/agentspecs/outputs/mocks/notebook.yaml b/agentspecs/outputs/notebook.yaml similarity index 100% rename from agentspecs/outputs/mocks/notebook.yaml rename to agentspecs/outputs/notebook.yaml diff --git a/agentspecs/outputs/mocks/spreadsheet.yaml b/agentspecs/outputs/spreadsheet.yaml similarity index 100% rename from agentspecs/outputs/mocks/spreadsheet.yaml rename to agentspecs/outputs/spreadsheet.yaml diff --git a/agentspecs/teams/mocks/analyze-campaign-performance.yaml b/agentspecs/teams/analyze-campaign-performance.yaml similarity index 100% rename from agentspecs/teams/mocks/analyze-campaign-performance.yaml rename to agentspecs/teams/analyze-campaign-performance.yaml diff --git a/agentspecs/teams/mocks/analyze-support-tickets.yaml b/agentspecs/teams/analyze-support-tickets.yaml similarity index 100% rename from agentspecs/teams/mocks/analyze-support-tickets.yaml rename to agentspecs/teams/analyze-support-tickets.yaml diff --git a/agentspecs/teams/mocks/audit-inventory-levels.yaml b/agentspecs/teams/audit-inventory-levels.yaml similarity index 100% rename from agentspecs/teams/mocks/audit-inventory-levels.yaml rename to agentspecs/teams/audit-inventory-levels.yaml diff --git a/agentspecs/teams/mocks/automate-regulatory-reporting.yaml b/agentspecs/teams/automate-regulatory-reporting.yaml similarity index 100% rename from agentspecs/teams/mocks/automate-regulatory-reporting.yaml rename to agentspecs/teams/automate-regulatory-reporting.yaml diff --git a/agentspecs/teams/mocks/comprehensive-sales-analytics.yaml b/agentspecs/teams/comprehensive-sales-analytics.yaml similarity index 100% rename from agentspecs/teams/mocks/comprehensive-sales-analytics.yaml rename to agentspecs/teams/comprehensive-sales-analytics.yaml diff --git a/agentspecs/teams/mocks/optimize-grid-operations.yaml b/agentspecs/teams/optimize-grid-operations.yaml similarity index 100% rename from agentspecs/teams/mocks/optimize-grid-operations.yaml rename to agentspecs/teams/optimize-grid-operations.yaml diff --git a/agentspecs/teams/mocks/process-citizen-requests.yaml b/agentspecs/teams/process-citizen-requests.yaml similarity index 100% rename from agentspecs/teams/mocks/process-citizen-requests.yaml rename to agentspecs/teams/process-citizen-requests.yaml diff --git a/agentspecs/teams/mocks/process-clinical-trial-data.yaml b/agentspecs/teams/process-clinical-trial-data.yaml similarity index 100% rename from agentspecs/teams/mocks/process-clinical-trial-data.yaml rename to agentspecs/teams/process-clinical-trial-data.yaml diff --git a/agentspecs/teams/mocks/sync-crm-contacts.yaml b/agentspecs/teams/sync-crm-contacts.yaml similarity index 100% rename from agentspecs/teams/mocks/sync-crm-contacts.yaml rename to agentspecs/teams/sync-crm-contacts.yaml diff --git a/agentspecs/triggers/mocks/event.yaml b/agentspecs/triggers/event.yaml similarity index 100% rename from agentspecs/triggers/mocks/event.yaml rename to agentspecs/triggers/event.yaml diff --git a/agentspecs/triggers/mocks/once.yaml b/agentspecs/triggers/once.yaml similarity index 100% rename from agentspecs/triggers/mocks/once.yaml rename to agentspecs/triggers/once.yaml diff --git a/agentspecs/triggers/mocks/schedule.yaml b/agentspecs/triggers/schedule.yaml similarity index 100% rename from agentspecs/triggers/mocks/schedule.yaml rename to agentspecs/triggers/schedule.yaml From 917913a339c373edeaf16e572ec421e5b5b91072 Mon Sep 17 00:00:00 2001 From: Eric Charles Date: Tue, 17 Mar 2026 11:57:23 +0100 Subject: [PATCH 09/44] lint --- README.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 1ef162b..0772b6e 100644 --- a/README.md +++ b/README.md @@ -53,11 +53,11 @@ agentspecs/ ## Agent Specifications -Agent IDs are automatically prefixed with their folder name, ensuring uniqueness across categories. -For example, an agent in `code-ai/simple.yaml` will have ID `"code-ai/simple"`, while `datalayer-ai/simple.yaml` has ID `"datalayer-ai/simple"`. +Agent IDs are not prefixed by folder name. +For example, an agent in `code-ai/simple.yaml` has ID `"simple"` (same as any other `id` value defined in YAML). ### Required Fields -- **`id`** (string): Unique identifier within folder (kebab-case). The full ID becomes `folder/id` (e.g., `code-ai/simple`) +- **`id`** (string): Unique identifier (kebab-case) used directly as the runtime agent spec ID - **`name`** (string): Display name - **`description`** (string): Agent capabilities description @@ -88,12 +88,12 @@ This folder structure: 1. **Prevents ID conflicts**: Multiple agents can have the same base ID (e.g., "simple") in different folders 2. **Improves organization**: Related agents are grouped together 3. **Enables categorization**: Frontend can display agents by category -4. **Maintains clarity**: Full IDs like "code-ai/simple" clearly show the agent's purpose +4. **Maintains clarity**: Folder structure still communicates category without changing runtime ID format ### Example ```yaml # File: agentspecs/agents/codemode-paper/financial-viz.yaml -# Full ID will be: "codemode-paper/financial-viz" +# Runtime agent ID will be: "financial-viz" id: financial-viz name: Financial Visualization Agent (Viz) description: > From c3c2a9ab36d1ebcf41a077e3e71d1a4c8c137ccc Mon Sep 17 00:00:00 2001 From: Eric Charles Date: Wed, 18 Mar 2026 16:45:57 +0100 Subject: [PATCH 10/44] spatial --- .../agents/analyze-campaign-performance.yaml | 2 + .../agents/analyze-support-tickets.yaml | 2 + agentspecs/agents/audit-inventory-levels.yaml | 2 + .../agents/automate-regulatory-reporting.yaml | 2 + agentspecs/agents/classify-route-emails.yaml | 2 + .../agents/comprehensive-sales-analytics.yaml | 6 ++ agentspecs/agents/crawler.yaml | 6 ++ agentspecs/agents/data-acquisition.yaml | 6 ++ .../agents/end-of-month-performance.yaml | 2 + .../agents/extract-data-from-files.yaml | 2 + agentspecs/agents/financial-viz.yaml | 9 +- agentspecs/agents/financial.yaml | 21 +++-- .../agents/generate-weekly-reports.yaml | 2 + agentspecs/agents/github-agent.yaml | 8 +- agentspecs/agents/information-routing.yaml | 9 +- agentspecs/agents/monitor-sales-kpis.yaml | 2 + .../agents/optimize-dynamic-pricing.yaml | 2 + .../agents/optimize-grid-operations.yaml | 2 + .../agents/process-citizen-requests.yaml | 2 + .../agents/process-clinical-trial-data.yaml | 2 + .../process-financial-transactions.yaml | 2 + agentspecs/agents/simple.yaml | 9 +- agentspecs/agents/spatial-data-analysis.yaml | 94 +++++++++++++++++++ agentspecs/agents/summarize-documents.yaml | 2 + agentspecs/agents/sync-crm-contacts.yaml | 2 + agentspecs/mcp-servers/earthdata.yaml | 30 ++++++ agentspecs/mcp-servers/eurus.yaml | 22 +++++ agentspecs/skills/events.yaml | 19 ++++ agentspecs/triggers/event.yaml | 5 + agentspecs/triggers/once.yaml | 6 ++ agentspecs/triggers/schedule.yaml | 5 + 31 files changed, 272 insertions(+), 15 deletions(-) create mode 100644 agentspecs/agents/spatial-data-analysis.yaml create mode 100644 agentspecs/mcp-servers/earthdata.yaml create mode 100644 agentspecs/mcp-servers/eurus.yaml create mode 100644 agentspecs/skills/events.yaml diff --git a/agentspecs/agents/analyze-campaign-performance.yaml b/agentspecs/agents/analyze-campaign-performance.yaml index 6082a42..afa3dc0 100644 --- a/agentspecs/agents/analyze-campaign-performance.yaml +++ b/agentspecs/agents/analyze-campaign-performance.yaml @@ -39,6 +39,7 @@ mcp_servers: skills: - pdf - crawl + - events # Runtime environment environment_name: ai-agents-env @@ -94,6 +95,7 @@ trigger: type: schedule cron: "0 */4 * * *" description: Every 4 hours for cross-platform campaign data sync and analysis + prompt: "Run the scheduled workflow and produce the configured deliverable." # Output configuration output: diff --git a/agentspecs/agents/analyze-support-tickets.yaml b/agentspecs/agents/analyze-support-tickets.yaml index 4bebfc8..70f694d 100644 --- a/agentspecs/agents/analyze-support-tickets.yaml +++ b/agentspecs/agents/analyze-support-tickets.yaml @@ -36,6 +36,7 @@ mcp_servers: skills: - pdf - crawl + - events # Runtime environment environment_name: ai-agents-env @@ -85,6 +86,7 @@ trigger: type: schedule cron: "0 */2 * * *" description: Every 2 hours + prompt: "Run the scheduled workflow and produce the configured deliverable." # Output configuration output: diff --git a/agentspecs/agents/audit-inventory-levels.yaml b/agentspecs/agents/audit-inventory-levels.yaml index 93acf73..06aaa7d 100644 --- a/agentspecs/agents/audit-inventory-levels.yaml +++ b/agentspecs/agents/audit-inventory-levels.yaml @@ -35,6 +35,7 @@ mcp_servers: # Skills available to this agent team skills: - pdf + - events # Runtime environment environment_name: ai-agents-env @@ -78,6 +79,7 @@ trigger: type: schedule cron: "0 */6 * * *" description: Every 6 hours + prompt: "Run the scheduled workflow and produce the configured deliverable." # Guardrails guardrails: diff --git a/agentspecs/agents/automate-regulatory-reporting.yaml b/agentspecs/agents/automate-regulatory-reporting.yaml index 6ea915f..7149a39 100644 --- a/agentspecs/agents/automate-regulatory-reporting.yaml +++ b/agentspecs/agents/automate-regulatory-reporting.yaml @@ -39,6 +39,7 @@ mcp_servers: # Skills available to this agent team skills: - pdf + - events # Runtime environment environment_name: ai-agents-env @@ -94,6 +95,7 @@ trigger: type: schedule cron: "0 6 3 * *" description: Monthly on the 3rd at 06:00 for regulatory reporting deadlines + prompt: "Run the scheduled workflow and produce the configured deliverable." # Output configuration output: diff --git a/agentspecs/agents/classify-route-emails.yaml b/agentspecs/agents/classify-route-emails.yaml index 72eb394..add1b39 100644 --- a/agentspecs/agents/classify-route-emails.yaml +++ b/agentspecs/agents/classify-route-emails.yaml @@ -35,6 +35,7 @@ mcp_servers: # Skills available to this agent skills: - github + - events # Runtime environment environment_name: ai-agents-env @@ -60,6 +61,7 @@ trigger: type: event event: email_received description: Triggered on each incoming email via webhook + prompt: "Handle the 'email_received' event and execute the workflow end-to-end." # Model configuration model_config: diff --git a/agentspecs/agents/comprehensive-sales-analytics.yaml b/agentspecs/agents/comprehensive-sales-analytics.yaml index 02fa8d3..80dfd63 100644 --- a/agentspecs/agents/comprehensive-sales-analytics.yaml +++ b/agentspecs/agents/comprehensive-sales-analytics.yaml @@ -45,6 +45,7 @@ mcp_servers: skills: - pdf - github + - events # Runtime environment environment_name: ai-agents-env @@ -111,3 +112,8 @@ output: - JSON template: executive-sales-dashboard-v2 storage: s3://acme-sales-reports/ + +# Trigger configuration +trigger: + type: once + prompt: "Start when requested by a user and complete the workflow once." diff --git a/agentspecs/agents/crawler.yaml b/agentspecs/agents/crawler.yaml index f5322e0..9567786 100644 --- a/agentspecs/agents/crawler.yaml +++ b/agentspecs/agents/crawler.yaml @@ -32,6 +32,7 @@ mcp_servers: # Skills available to this agent skills: - github + - events # Runtime environment environment_name: ai-agents-env @@ -96,3 +97,8 @@ welcome_notebook: null # Optional: Lexical document to show on agent creation welcome_document: null + +# Trigger configuration +trigger: + type: once + prompt: "Start when requested by a user and complete the workflow once." diff --git a/agentspecs/agents/data-acquisition.yaml b/agentspecs/agents/data-acquisition.yaml index 5f94be4..bf36027 100644 --- a/agentspecs/agents/data-acquisition.yaml +++ b/agentspecs/agents/data-acquisition.yaml @@ -34,6 +34,7 @@ mcp_servers: # Skills available to this agent skills: - github + - events # Runtime environment environment_name: ai-agents-env @@ -99,3 +100,8 @@ welcome_notebook: null # Optional: Lexical document to show on agent creation welcome_document: null + +# Trigger configuration +trigger: + type: once + prompt: "Start when requested by a user and complete the workflow once." diff --git a/agentspecs/agents/end-of-month-performance.yaml b/agentspecs/agents/end-of-month-performance.yaml index 7343933..cb1a9ae 100644 --- a/agentspecs/agents/end-of-month-performance.yaml +++ b/agentspecs/agents/end-of-month-performance.yaml @@ -45,6 +45,7 @@ mcp_servers: # Skills available to this agent skills: - pdf + - events # Runtime environment environment_name: ai-agents-env @@ -64,6 +65,7 @@ trigger: cron: "0 6 1 * *" description: > Monthly on the 1st at 06:00 to process prior month Salesforce sales performance. + prompt: "Run the scheduled workflow and produce the configured deliverable." # Model configuration model_config: diff --git a/agentspecs/agents/extract-data-from-files.yaml b/agentspecs/agents/extract-data-from-files.yaml index fadde11..baabcd5 100644 --- a/agentspecs/agents/extract-data-from-files.yaml +++ b/agentspecs/agents/extract-data-from-files.yaml @@ -37,6 +37,7 @@ mcp_servers: skills: - pdf - github + - events # Runtime environment environment_name: ai-agents-env @@ -62,6 +63,7 @@ trigger: type: event event: file_uploaded description: Triggered when new files are dropped into the extraction folder + prompt: "Handle the 'file_uploaded' event and execute the workflow end-to-end." # Model configuration model_config: diff --git a/agentspecs/agents/financial-viz.yaml b/agentspecs/agents/financial-viz.yaml index 854f5b8..32f0019 100644 --- a/agentspecs/agents/financial-viz.yaml +++ b/agentspecs/agents/financial-viz.yaml @@ -29,8 +29,8 @@ mcp_servers: - chart # Skills available to this agent -skills: [] - +skills: + - events # Runtime environment environment_name: ai-agents-env @@ -95,3 +95,8 @@ welcome_notebook: null # Optional: Lexical document to show on agent creation welcome_document: null + +# Trigger configuration +trigger: + type: once + prompt: "Start when requested by a user and complete the workflow once." diff --git a/agentspecs/agents/financial.yaml b/agentspecs/agents/financial.yaml index 62f57ad..ecce00a 100644 --- a/agentspecs/agents/financial.yaml +++ b/agentspecs/agents/financial.yaml @@ -1,13 +1,13 @@ # Copyright (c) 2025-2026 Datalayer, Inc. # Distributed under the terms of the Modified BSD License. -# Agent Specification: Financial Visualization Agent -# Analyzes financial market data and creates visualizations and charts. +# Agent Specification: Financial Data Analysis Agent +# Analyzes financial market data and provides chart-ready insights. id: financial -name: Financial Visualization Agent +name: Financial Data Analysis Agent description: > - Analyzes financial market data and creates visualizations and charts. + Analyzes financial market data and provides chart-ready insights. tags: - finance @@ -15,7 +15,7 @@ tags: - visualization - charts -enabled: true +enabled: false model: "bedrock:us.anthropic.claude-sonnet-4-5-20250929-v1:0" sandbox_variant: jupyter @@ -28,8 +28,8 @@ mcp_servers: - alphavantage # Skills available to this agent -skills: [] - +skills: + - events # Runtime environment environment_name: ai-agents-env @@ -47,7 +47,7 @@ suggestions: # Welcome message shown when agent starts welcome_message: > - Welcome! I'm the Financial Visualization Agent. I can help you analyze + Welcome! I'm the Financial Data Analysis Agent. I can help you analyze stock market data, track financial instruments, and create charts to visualize market trends. @@ -94,3 +94,8 @@ welcome_notebook: null # Optional: Lexical document to show on agent creation welcome_document: null + +# Trigger configuration +trigger: + type: once + prompt: "Start when requested by a user and complete the workflow once." diff --git a/agentspecs/agents/generate-weekly-reports.yaml b/agentspecs/agents/generate-weekly-reports.yaml index cd9adca..7aac50b 100644 --- a/agentspecs/agents/generate-weekly-reports.yaml +++ b/agentspecs/agents/generate-weekly-reports.yaml @@ -36,6 +36,7 @@ mcp_servers: # Skills available to this agent skills: - pdf + - events # Runtime environment environment_name: ai-agents-env @@ -60,6 +61,7 @@ trigger: type: schedule cron: "0 6 * * 1" description: Every Monday at 6:00 AM UTC + prompt: "Run the scheduled workflow and produce the configured deliverable." # Model configuration model_config: diff --git a/agentspecs/agents/github-agent.yaml b/agentspecs/agents/github-agent.yaml index 98d4fa9..da09c3b 100644 --- a/agentspecs/agents/github-agent.yaml +++ b/agentspecs/agents/github-agent.yaml @@ -16,7 +16,7 @@ tags: - code - email -enabled: true +enabled: false model: "bedrock:us.anthropic.claude-sonnet-4-5-20250929-v1:0" sandbox_variant: jupyter @@ -31,6 +31,7 @@ mcp_servers: # Skills available to this agent skills: - github + - events # Runtime environment environment_name: ai-agents-env @@ -96,3 +97,8 @@ welcome_notebook: null # Optional: Lexical document to show on agent creation welcome_document: null + +# Trigger configuration +trigger: + type: once + prompt: "Start when requested by a user and complete the workflow once." diff --git a/agentspecs/agents/information-routing.yaml b/agentspecs/agents/information-routing.yaml index f9c6ab7..5f05dbc 100644 --- a/agentspecs/agents/information-routing.yaml +++ b/agentspecs/agents/information-routing.yaml @@ -29,8 +29,8 @@ mcp_servers: - github # Skills available to this agent -skills: [] - +skills: + - events # Runtime environment environment_name: ai-agents-env @@ -95,3 +95,8 @@ welcome_notebook: null # Optional: Lexical document to show on agent creation welcome_document: null + +# Trigger configuration +trigger: + type: once + prompt: "Start when requested by a user and complete the workflow once." diff --git a/agentspecs/agents/monitor-sales-kpis.yaml b/agentspecs/agents/monitor-sales-kpis.yaml index 26da03c..113bc67 100644 --- a/agentspecs/agents/monitor-sales-kpis.yaml +++ b/agentspecs/agents/monitor-sales-kpis.yaml @@ -36,6 +36,7 @@ mcp_servers: skills: - github - pdf + - events # Runtime environment environment_name: ai-agents-env @@ -60,6 +61,7 @@ trigger: type: schedule cron: "0 8 * * *" description: Every day at 8:00 AM UTC + prompt: "Run the scheduled workflow and produce the configured deliverable." # Model configuration model_config: diff --git a/agentspecs/agents/optimize-dynamic-pricing.yaml b/agentspecs/agents/optimize-dynamic-pricing.yaml index 0cbdb78..ca890ed 100644 --- a/agentspecs/agents/optimize-dynamic-pricing.yaml +++ b/agentspecs/agents/optimize-dynamic-pricing.yaml @@ -38,6 +38,7 @@ mcp_servers: skills: - pdf - crawl + - events # Runtime environment environment_name: ai-agents-env @@ -63,6 +64,7 @@ trigger: type: schedule cron: "0 * * * *" description: Hourly competitive price scan and demand forecast update + prompt: "Run the scheduled workflow and produce the configured deliverable." # Model configuration model_config: diff --git a/agentspecs/agents/optimize-grid-operations.yaml b/agentspecs/agents/optimize-grid-operations.yaml index 7308d8c..0b48968 100644 --- a/agentspecs/agents/optimize-grid-operations.yaml +++ b/agentspecs/agents/optimize-grid-operations.yaml @@ -37,6 +37,7 @@ mcp_servers: # Skills available to this agent team skills: - pdf + - events # Runtime environment environment_name: ai-agents-env @@ -92,6 +93,7 @@ trigger: type: schedule cron: "*/5 * * * *" description: Every 5 minutes for real-time grid monitoring and optimization + prompt: "Run the scheduled workflow and produce the configured deliverable." # Output configuration output: diff --git a/agentspecs/agents/process-citizen-requests.yaml b/agentspecs/agents/process-citizen-requests.yaml index 9ae6856..03db5e7 100644 --- a/agentspecs/agents/process-citizen-requests.yaml +++ b/agentspecs/agents/process-citizen-requests.yaml @@ -38,6 +38,7 @@ mcp_servers: # Skills available to this agent team skills: - pdf + - events # Runtime environment environment_name: ai-agents-env @@ -92,6 +93,7 @@ authorization_policy: "" trigger: type: event description: Triggered on new citizen request submission from any channel + prompt: "Handle this event trigger: Triggered on new citizen request submission from any channel" # Output configuration output: diff --git a/agentspecs/agents/process-clinical-trial-data.yaml b/agentspecs/agents/process-clinical-trial-data.yaml index e77331e..8c7589d 100644 --- a/agentspecs/agents/process-clinical-trial-data.yaml +++ b/agentspecs/agents/process-clinical-trial-data.yaml @@ -37,6 +37,7 @@ mcp_servers: # Skills available to this agent team skills: - pdf + - events # Runtime environment environment_name: ai-agents-env @@ -91,6 +92,7 @@ authorization_policy: "" trigger: type: event description: Triggered on new data batch arrival from clinical sites + prompt: "Handle this event trigger: Triggered on new data batch arrival from clinical sites" # Output configuration output: diff --git a/agentspecs/agents/process-financial-transactions.yaml b/agentspecs/agents/process-financial-transactions.yaml index 388d102..86154cf 100644 --- a/agentspecs/agents/process-financial-transactions.yaml +++ b/agentspecs/agents/process-financial-transactions.yaml @@ -35,6 +35,7 @@ mcp_servers: # Skills available to this agent skills: - pdf + - events # Runtime environment environment_name: ai-agents-env @@ -58,6 +59,7 @@ ui_extension: a2ui trigger: type: event description: Triggered on new transaction batch arrival + prompt: "Handle this event trigger: Triggered on new transaction batch arrival" # Model configuration model_config: diff --git a/agentspecs/agents/simple.yaml b/agentspecs/agents/simple.yaml index b2a3f1f..239f3c8 100644 --- a/agentspecs/agents/simple.yaml +++ b/agentspecs/agents/simple.yaml @@ -27,8 +27,8 @@ memory: ephemeral mcp_servers: [] # No skills -skills: [] - +skills: + - events # Runtime environment environment_name: ai-agents-env @@ -64,3 +64,8 @@ welcome_notebook: null # Optional: Lexical document to show on agent creation welcome_document: null + +# Trigger configuration +trigger: + type: once + prompt: "Start when requested by a user and complete the workflow once." diff --git a/agentspecs/agents/spatial-data-analysis.yaml b/agentspecs/agents/spatial-data-analysis.yaml new file mode 100644 index 0000000..de2394c --- /dev/null +++ b/agentspecs/agents/spatial-data-analysis.yaml @@ -0,0 +1,94 @@ +# Copyright (c) 2025-2026 Datalayer, Inc. +# Distributed under the terms of the Modified BSD License. + +# Agent Specification: Spatial Data Analysis Agent +# Inspired by Eurus climate workflows and Earthdata catalog exploration. + +id: spatial-data-analysis +name: Spatial Data Analysis Agent +description: > + Discovers, acquires, and analyzes geospatial datasets using Earthdata and + Eurus tools. Produces map-ready summaries, anomaly diagnostics, and + reproducible analysis artifacts for environmental and climate use cases. + +tags: + - geospatial + - climate + - earth-observation + - analytics + +enabled: true +model: "bedrock:us.anthropic.claude-sonnet-4-5-20250929-v1:0" + +sandbox_variant: jupyter + +# Memory backend +memory: ephemeral + +# MCP servers used by this agent +mcp_servers: + - earthdata + - eurus + - filesystem + +# Skills available to this agent +skills: + - events + +# Runtime environment +environment_name: ai-agents-env + +# UI customization +icon: globe +emoji: ๐Ÿ›ฐ๏ธ +color: "#0EA5E9" + +# Chat suggestions to show users what this agent can do +suggestions: + - Find precipitation datasets for West Africa from the last 10 years + - Build a monthly anomaly map for ERA5 temperature + - Compare two regions for drought indicators and summarize differences + - Generate an event log for each processing step + +# Welcome message shown when agent starts +welcome_message: > + Hello, I am the Spatial Data Analysis Agent. I can discover Earthdata + datasets, run Eurus-powered spatial analyses, and generate reproducible + outputs for geospatial investigations. + +# System prompt for the agent +system_prompt: > + You are a geospatial and climate analysis specialist. + Use Earthdata tools to discover and filter relevant datasets. + Use Eurus tools to retrieve, transform, and analyze spatial data. + Clearly state assumptions, geographic bounds, time windows, and units. + Record lifecycle state transitions with event records for traceability. + +# Additional system prompt for code mode +system_prompt_codemode_addons: > + ## IMPORTANT: Be Honest About Your Capabilities + NEVER claim to have tools or capabilities you haven't verified. + + ## Core Codemode Tools + Use these 4 tools to accomplish any task: + 1. **list_servers** - List available MCP servers + 2. **search_tools** - Progressive tool discovery by natural language query + 3. **get_tool_details** - Get full tool schema and documentation + 4. **execute_code** - Run Python code that composes multiple tools + + ## Workflow Guidance + 1. Discover available Earthdata and Eurus tools. + 2. Validate spatial/temporal parameters before execution. + 3. Execute transformations in code and keep outputs concise. + 4. Persist important run states as events. + +# Trigger configuration +trigger: + type: once + prompt: "Start when requested by a user, discover relevant spatial datasets, and produce one complete analysis output." + +# Optional: Jupyter notebook to show on agent creation +welcome_notebook: null + +# Optional: Lexical document to show on agent creation +welcome_document: null diff --git a/agentspecs/agents/summarize-documents.yaml b/agentspecs/agents/summarize-documents.yaml index 87675b4..c1965b5 100644 --- a/agentspecs/agents/summarize-documents.yaml +++ b/agentspecs/agents/summarize-documents.yaml @@ -35,6 +35,7 @@ mcp_servers: # Skills available to this agent skills: - pdf + - events # Runtime environment environment_name: ai-agents-env @@ -60,6 +61,7 @@ trigger: type: event event: document_uploaded description: Triggered when a new document is uploaded to the workspace + prompt: "Handle the 'document_uploaded' event and execute the workflow end-to-end." # Model configuration model_config: diff --git a/agentspecs/agents/sync-crm-contacts.yaml b/agentspecs/agents/sync-crm-contacts.yaml index 7122682..417876b 100644 --- a/agentspecs/agents/sync-crm-contacts.yaml +++ b/agentspecs/agents/sync-crm-contacts.yaml @@ -35,6 +35,7 @@ mcp_servers: # Skills available to this agent team skills: - pdf + - events # Runtime environment environment_name: ai-agents-env @@ -102,6 +103,7 @@ trigger: cron: "0 2 * * *" description: > Daily at 02:00 โ€” sync CRM contacts across all sources during off-peak hours. + prompt: "Run the scheduled workflow and produce the configured deliverable." # Output configuration output: diff --git a/agentspecs/mcp-servers/earthdata.yaml b/agentspecs/mcp-servers/earthdata.yaml new file mode 100644 index 0000000..41f7fbe --- /dev/null +++ b/agentspecs/mcp-servers/earthdata.yaml @@ -0,0 +1,30 @@ +# Copyright (c) 2025-2026 Datalayer, Inc. +# Distributed under the terms of the Modified BSD License. + +id: earthdata +name: Earthdata MCP +description: Access NASA Earthdata search and metadata capabilities + +command: npx +args: + - "-y" + - "earthdata-mcp-server" + +transport: stdio +enabled: true + +env: + EARTHDATA_USERNAME: ${EARTHDATA_USERNAME} + EARTHDATA_PASSWORD: ${EARTHDATA_PASSWORD} + +envvars: + - EARTHDATA_USERNAME + - EARTHDATA_PASSWORD + +tags: + - geospatial + - earth-observation + - datasets + +icon: globe +emoji: ๐ŸŒ diff --git a/agentspecs/mcp-servers/eurus.yaml b/agentspecs/mcp-servers/eurus.yaml new file mode 100644 index 0000000..328616f --- /dev/null +++ b/agentspecs/mcp-servers/eurus.yaml @@ -0,0 +1,22 @@ +# Copyright (c) 2025-2026 Datalayer, Inc. +# Distributed under the terms of the Modified BSD License. + +id: eurus +name: Eurus Climate MCP +description: Climate and reanalysis analysis tools for spatial workflows + +command: eurus-mcp +args: [] + +transport: stdio +enabled: true + +env: {} + +tags: + - geospatial + - climate + - analysis + +icon: graph +emoji: ๐ŸŒฆ๏ธ diff --git a/agentspecs/skills/events.yaml b/agentspecs/skills/events.yaml new file mode 100644 index 0000000..bd08081 --- /dev/null +++ b/agentspecs/skills/events.yaml @@ -0,0 +1,19 @@ +# Copyright (c) 2025-2026 Datalayer, Inc. +# Distributed under the terms of the Modified BSD License. + +id: events +name: Events Skill +description: Event generation, enrichment, and lifecycle orchestration + +module: agent_skills.events + +dependencies: + - httpx>=0.27.0 + +tags: + - events + - orchestration + - automation + +icon: bell +emoji: ๐Ÿ“… \ No newline at end of file diff --git a/agentspecs/triggers/event.yaml b/agentspecs/triggers/event.yaml index c5c5e44..f60b328 100644 --- a/agentspecs/triggers/event.yaml +++ b/agentspecs/triggers/event.yaml @@ -24,3 +24,8 @@ fields: type: string required: false placeholder: "Description (e.g. 'Triggered on incoming email')" + - name: prompt + label: Trigger Prompt + type: string + required: false + placeholder: "Handle the incoming event and execute the workflow end-to-end." diff --git a/agentspecs/triggers/once.yaml b/agentspecs/triggers/once.yaml index 827414f..97cfeda 100644 --- a/agentspecs/triggers/once.yaml +++ b/agentspecs/triggers/once.yaml @@ -5,3 +5,9 @@ id: once name: Run Once description: Execute agent immediately after deployment. type: once +fields: + - name: prompt + label: Trigger Prompt + type: string + required: false + placeholder: "Start when requested by a user and complete the workflow once." diff --git a/agentspecs/triggers/schedule.yaml b/agentspecs/triggers/schedule.yaml index 19f84bf..f4ccb36 100644 --- a/agentspecs/triggers/schedule.yaml +++ b/agentspecs/triggers/schedule.yaml @@ -19,3 +19,8 @@ fields: type: string required: false placeholder: "Description (e.g. 'Monthly sales report')" + - name: prompt + label: Trigger Prompt + type: string + required: false + placeholder: "Run the scheduled workflow and produce the configured deliverable." From 3ecf53051f2b6803c2653de94d55f0150da222fb Mon Sep 17 00:00:00 2001 From: Eric Charles Date: Mon, 23 Mar 2026 13:46:01 +0100 Subject: [PATCH 11/44] tools --- .../agents/analyze-campaign-performance.yaml | 2 +- agentspecs/agents/analyze-support-tickets.yaml | 2 +- agentspecs/agents/audit-inventory-levels.yaml | 2 +- .../agents/automate-regulatory-reporting.yaml | 2 +- agentspecs/agents/classify-route-emails.yaml | 2 +- .../agents/comprehensive-sales-analytics.yaml | 2 +- agentspecs/agents/end-of-month-performance.yaml | 2 +- agentspecs/agents/extract-data-from-files.yaml | 2 +- agentspecs/agents/generate-weekly-reports.yaml | 2 +- agentspecs/agents/monitor-sales-kpis.yaml | 7 ++++++- agentspecs/agents/optimize-dynamic-pricing.yaml | 2 +- agentspecs/agents/optimize-grid-operations.yaml | 2 +- agentspecs/agents/process-citizen-requests.yaml | 2 +- agentspecs/agents/process-clinical-trial-data.yaml | 2 +- .../agents/process-financial-transactions.yaml | 2 +- agentspecs/agents/simple.yaml | 4 ++++ agentspecs/agents/summarize-documents.yaml | 2 +- agentspecs/agents/sync-crm-contacts.yaml | 2 +- agentspecs/tools/runtime-echo.yaml | 14 ++++++++++++++ agentspecs/tools/runtime-sensitive-echo.yaml | 14 ++++++++++++++ 20 files changed, 54 insertions(+), 17 deletions(-) create mode 100644 agentspecs/tools/runtime-echo.yaml create mode 100644 agentspecs/tools/runtime-sensitive-echo.yaml diff --git a/agentspecs/agents/analyze-campaign-performance.yaml b/agentspecs/agents/analyze-campaign-performance.yaml index afa3dc0..f8ef675 100644 --- a/agentspecs/agents/analyze-campaign-performance.yaml +++ b/agentspecs/agents/analyze-campaign-performance.yaml @@ -57,7 +57,7 @@ goal: >- generate budget reallocation recommendations to maximise ROAS. # Protocols & UI Extensions -protocol: ag-ui +protocol: vercel-ai ui_extension: a2ui # Evals diff --git a/agentspecs/agents/analyze-support-tickets.yaml b/agentspecs/agents/analyze-support-tickets.yaml index 70f694d..8ca1d38 100644 --- a/agentspecs/agents/analyze-support-tickets.yaml +++ b/agentspecs/agents/analyze-support-tickets.yaml @@ -53,7 +53,7 @@ goal: >- recommendations with escalation paths for critical issues. # Protocols & UI Extensions -protocol: ag-ui +protocol: vercel-ai ui_extension: a2ui # Evals diff --git a/agentspecs/agents/audit-inventory-levels.yaml b/agentspecs/agents/audit-inventory-levels.yaml index 06aaa7d..7aa4402 100644 --- a/agentspecs/agents/audit-inventory-levels.yaml +++ b/agentspecs/agents/audit-inventory-levels.yaml @@ -52,7 +52,7 @@ goal: >- generate reorder recommendations, and compile audit reports with findings. # Protocols & UI Extensions -protocol: ag-ui +protocol: vercel-ai ui_extension: a2ui # Evals diff --git a/agentspecs/agents/automate-regulatory-reporting.yaml b/agentspecs/agents/automate-regulatory-reporting.yaml index 7149a39..f9030cf 100644 --- a/agentspecs/agents/automate-regulatory-reporting.yaml +++ b/agentspecs/agents/automate-regulatory-reporting.yaml @@ -57,7 +57,7 @@ goal: >- and generate submission-ready compliance reports with full audit trails. # Protocols & UI Extensions -protocol: ag-ui +protocol: vercel-ai ui_extension: a2ui # Evals diff --git a/agentspecs/agents/classify-route-emails.yaml b/agentspecs/agents/classify-route-emails.yaml index add1b39..5f85d08 100644 --- a/agentspecs/agents/classify-route-emails.yaml +++ b/agentspecs/agents/classify-route-emails.yaml @@ -53,7 +53,7 @@ goal: >- Flag urgent items for immediate human review. # Protocols & UI Extensions -protocol: ag-ui +protocol: vercel-ai ui_extension: a2ui # Trigger configuration diff --git a/agentspecs/agents/comprehensive-sales-analytics.yaml b/agentspecs/agents/comprehensive-sales-analytics.yaml index 80dfd63..70dcad7 100644 --- a/agentspecs/agents/comprehensive-sales-analytics.yaml +++ b/agentspecs/agents/comprehensive-sales-analytics.yaml @@ -63,7 +63,7 @@ goal: >- via Slack and email. Flag critical deviations for immediate human review. # Protocols & UI Extensions -protocol: ag-ui +protocol: vercel-ai ui_extension: a2ui # Evals diff --git a/agentspecs/agents/end-of-month-performance.yaml b/agentspecs/agents/end-of-month-performance.yaml index cb1a9ae..ecc57c4 100644 --- a/agentspecs/agents/end-of-month-performance.yaml +++ b/agentspecs/agents/end-of-month-performance.yaml @@ -56,7 +56,7 @@ emoji: ๐Ÿ“Š color: "#1f883d" # Green โ€” performance & growth # Protocols & UI Extensions -protocol: ag-ui +protocol: vercel-ai ui_extension: a2ui # Trigger configuration diff --git a/agentspecs/agents/extract-data-from-files.yaml b/agentspecs/agents/extract-data-from-files.yaml index baabcd5..a35f0f0 100644 --- a/agentspecs/agents/extract-data-from-files.yaml +++ b/agentspecs/agents/extract-data-from-files.yaml @@ -55,7 +55,7 @@ goal: >- confidence scores for each extracted field. # Protocols & UI Extensions -protocol: ag-ui +protocol: vercel-ai ui_extension: a2ui # Trigger configuration diff --git a/agentspecs/agents/generate-weekly-reports.yaml b/agentspecs/agents/generate-weekly-reports.yaml index 7aac50b..fa8c759 100644 --- a/agentspecs/agents/generate-weekly-reports.yaml +++ b/agentspecs/agents/generate-weekly-reports.yaml @@ -53,7 +53,7 @@ goal: >- trend analysis, and the top 3 actionable takeaways for leadership. # Protocols & UI Extensions -protocol: ag-ui +protocol: vercel-ai ui_extension: a2ui # Trigger configuration diff --git a/agentspecs/agents/monitor-sales-kpis.yaml b/agentspecs/agents/monitor-sales-kpis.yaml index 113bc67..8b4f2f8 100644 --- a/agentspecs/agents/monitor-sales-kpis.yaml +++ b/agentspecs/agents/monitor-sales-kpis.yaml @@ -38,6 +38,11 @@ skills: - pdf - events +# Runtime tools available to this agent +tools: + - runtime-echo + - runtime-sensitive-echo + # Runtime environment environment_name: ai-agents-env @@ -53,7 +58,7 @@ goal: >- Send notifications when KPIs deviate more than 10% from targets. # Protocols & UI Extensions -protocol: ag-ui +protocol: vercel-ai ui_extension: a2ui # Trigger configuration diff --git a/agentspecs/agents/optimize-dynamic-pricing.yaml b/agentspecs/agents/optimize-dynamic-pricing.yaml index ca890ed..297f555 100644 --- a/agentspecs/agents/optimize-dynamic-pricing.yaml +++ b/agentspecs/agents/optimize-dynamic-pricing.yaml @@ -56,7 +56,7 @@ goal: >- recommendations with confidence intervals and projected revenue impact. # Protocols & UI Extensions -protocol: ag-ui +protocol: vercel-ai ui_extension: a2ui # Trigger configuration diff --git a/agentspecs/agents/optimize-grid-operations.yaml b/agentspecs/agents/optimize-grid-operations.yaml index 0b48968..b27dcb6 100644 --- a/agentspecs/agents/optimize-grid-operations.yaml +++ b/agentspecs/agents/optimize-grid-operations.yaml @@ -55,7 +55,7 @@ goal: >- renewable and conventional sources to reduce unplanned downtime by 50%. # Protocols & UI Extensions -protocol: ag-ui +protocol: vercel-ai ui_extension: a2ui # Evals diff --git a/agentspecs/agents/process-citizen-requests.yaml b/agentspecs/agents/process-citizen-requests.yaml index 03db5e7..3c21a01 100644 --- a/agentspecs/agents/process-citizen-requests.yaml +++ b/agentspecs/agents/process-citizen-requests.yaml @@ -56,7 +56,7 @@ goal: >- and generate explainable, auditable decision documentation for public record. # Protocols & UI Extensions -protocol: ag-ui +protocol: vercel-ai ui_extension: a2ui # Evals diff --git a/agentspecs/agents/process-clinical-trial-data.yaml b/agentspecs/agents/process-clinical-trial-data.yaml index 8c7589d..7f6058d 100644 --- a/agentspecs/agents/process-clinical-trial-data.yaml +++ b/agentspecs/agents/process-clinical-trial-data.yaml @@ -55,7 +55,7 @@ goal: >- submission-ready datasets with full validation and audit trails. # Protocols & UI Extensions -protocol: ag-ui +protocol: vercel-ai ui_extension: a2ui # Evals diff --git a/agentspecs/agents/process-financial-transactions.yaml b/agentspecs/agents/process-financial-transactions.yaml index 86154cf..e7332e9 100644 --- a/agentspecs/agents/process-financial-transactions.yaml +++ b/agentspecs/agents/process-financial-transactions.yaml @@ -52,7 +52,7 @@ goal: >- transactions for human review, and generate audit-ready reports. # Protocols & UI Extensions -protocol: ag-ui +protocol: vercel-ai ui_extension: a2ui # Trigger configuration diff --git a/agentspecs/agents/simple.yaml b/agentspecs/agents/simple.yaml index 239f3c8..c3f5f7e 100644 --- a/agentspecs/agents/simple.yaml +++ b/agentspecs/agents/simple.yaml @@ -29,6 +29,10 @@ mcp_servers: [] # No skills skills: - events + +# Runtime tools +tools: + - runtime-echo # Runtime environment environment_name: ai-agents-env diff --git a/agentspecs/agents/summarize-documents.yaml b/agentspecs/agents/summarize-documents.yaml index c1965b5..d539e92 100644 --- a/agentspecs/agents/summarize-documents.yaml +++ b/agentspecs/agents/summarize-documents.yaml @@ -53,7 +53,7 @@ goal: >- in JSON format. # Protocols & UI Extensions -protocol: ag-ui +protocol: vercel-ai ui_extension: a2ui # Trigger configuration diff --git a/agentspecs/agents/sync-crm-contacts.yaml b/agentspecs/agents/sync-crm-contacts.yaml index 417876b..dd90fef 100644 --- a/agentspecs/agents/sync-crm-contacts.yaml +++ b/agentspecs/agents/sync-crm-contacts.yaml @@ -52,7 +52,7 @@ goal: >- sync summary reports with notifications. # Protocols & UI Extensions -protocol: ag-ui +protocol: vercel-ai ui_extension: a2ui # Guardrails diff --git a/agentspecs/tools/runtime-echo.yaml b/agentspecs/tools/runtime-echo.yaml new file mode 100644 index 0000000..21d2679 --- /dev/null +++ b/agentspecs/tools/runtime-echo.yaml @@ -0,0 +1,14 @@ +# Copyright (c) 2025-2026 Datalayer, Inc. +# Distributed under the terms of the Modified BSD License. + +id: runtime-echo +name: Runtime Echo +description: Echo text back to the caller for quick runtime verification. +tags: + - runtime + - utility +enabled: true +approval: auto +icon: comment +emoji: "๐Ÿ’ฌ" + diff --git a/agentspecs/tools/runtime-sensitive-echo.yaml b/agentspecs/tools/runtime-sensitive-echo.yaml new file mode 100644 index 0000000..c2ad1ca --- /dev/null +++ b/agentspecs/tools/runtime-sensitive-echo.yaml @@ -0,0 +1,14 @@ +# Copyright (c) 2025-2026 Datalayer, Inc. +# Distributed under the terms of the Modified BSD License. + +id: runtime-sensitive-echo +name: Runtime Sensitive Echo +description: Echo text with a manual approval checkpoint before execution. +tags: + - runtime + - approval +enabled: true +approval: manual +icon: shield +emoji: "๐Ÿ›ก๏ธ" + From be899ee1a13278468582d84cb75d445e968c445c Mon Sep 17 00:00:00 2001 From: Eric Charles Date: Mon, 23 Mar 2026 14:05:34 +0100 Subject: [PATCH 12/44] tools --- agentspecs/agents/monitor-sales-kpis.yaml | 1 + agentspecs/tools/runtime-echo.yaml | 4 ++++ agentspecs/tools/runtime-send-mail.yaml | 18 ++++++++++++++++++ agentspecs/tools/runtime-sensitive-echo.yaml | 4 ++++ 4 files changed, 27 insertions(+) create mode 100644 agentspecs/tools/runtime-send-mail.yaml diff --git a/agentspecs/agents/monitor-sales-kpis.yaml b/agentspecs/agents/monitor-sales-kpis.yaml index 8b4f2f8..d643fd7 100644 --- a/agentspecs/agents/monitor-sales-kpis.yaml +++ b/agentspecs/agents/monitor-sales-kpis.yaml @@ -42,6 +42,7 @@ skills: tools: - runtime-echo - runtime-sensitive-echo + - runtime-send-mail # Runtime environment environment_name: ai-agents-env diff --git a/agentspecs/tools/runtime-echo.yaml b/agentspecs/tools/runtime-echo.yaml index 21d2679..5d77e98 100644 --- a/agentspecs/tools/runtime-echo.yaml +++ b/agentspecs/tools/runtime-echo.yaml @@ -9,6 +9,10 @@ tags: - utility enabled: true approval: auto +runtime: + language: python + package: agent_runtimes.examples.tools + method: runtime_echo icon: comment emoji: "๐Ÿ’ฌ" diff --git a/agentspecs/tools/runtime-send-mail.yaml b/agentspecs/tools/runtime-send-mail.yaml new file mode 100644 index 0000000..51b250e --- /dev/null +++ b/agentspecs/tools/runtime-send-mail.yaml @@ -0,0 +1,18 @@ +# Copyright (c) 2025-2026 Datalayer, Inc. +# Distributed under the terms of the Modified BSD License. + +id: runtime-send-mail +name: Runtime Send Mail (Fake) +description: Fake mail sender for tool approval demos; returns a simulated send receipt. +tags: + - runtime + - approval + - mail +enabled: true +approval: manual +runtime: + language: python + package: agent_runtimes.examples.tools + method: runtime_send_mail +icon: mail +emoji: "๐Ÿ“ง" diff --git a/agentspecs/tools/runtime-sensitive-echo.yaml b/agentspecs/tools/runtime-sensitive-echo.yaml index c2ad1ca..ebd3711 100644 --- a/agentspecs/tools/runtime-sensitive-echo.yaml +++ b/agentspecs/tools/runtime-sensitive-echo.yaml @@ -9,6 +9,10 @@ tags: - approval enabled: true approval: manual +runtime: + language: python + package: agent_runtimes.examples.tools + method: runtime_sensitive_echo icon: shield emoji: "๐Ÿ›ก๏ธ" From 7019945c77a7a7ed9a5ef65848e52ad6a39573e1 Mon Sep 17 00:00:00 2001 From: Eric Charles Date: Tue, 24 Mar 2026 10:23:24 +0100 Subject: [PATCH 13/44] simple --- .../agents/{simple.yaml => simple-base.yaml} | 2 +- agentspecs/agents/simple-full.yaml | 83 +++++++++++++++++++ agentspecs/tools/runtime-echo.yaml | 1 - agentspecs/tools/runtime-sensitive-echo.yaml | 1 - 4 files changed, 84 insertions(+), 3 deletions(-) rename agentspecs/agents/{simple.yaml => simple-base.yaml} (99%) create mode 100644 agentspecs/agents/simple-full.yaml diff --git a/agentspecs/agents/simple.yaml b/agentspecs/agents/simple-base.yaml similarity index 99% rename from agentspecs/agents/simple.yaml rename to agentspecs/agents/simple-base.yaml index c3f5f7e..6081e91 100644 --- a/agentspecs/agents/simple.yaml +++ b/agentspecs/agents/simple-base.yaml @@ -4,7 +4,7 @@ # Agent Specification: A Simple Agent # A minimal agent with no MCP servers or skills. -id: simple +id: simple-base name: A Simple Agent description: > A simple conversational agent. No tools, no MCP servers, no skills โ€” diff --git a/agentspecs/agents/simple-full.yaml b/agentspecs/agents/simple-full.yaml new file mode 100644 index 0000000..ef704d7 --- /dev/null +++ b/agentspecs/agents/simple-full.yaml @@ -0,0 +1,83 @@ +# Copyright (c) 2025-2026 Datalayer, Inc. +# Distributed under the terms of the Modified BSD License. + +# Agent Specification: Tool Approval Demo Agent +# Minimal agent that demonstrates the tool approval flow: +# - runtime-echo: executes immediately (no approval needed) +# - runtime-sensitive-echo: requires human approval before execution +# - Tavily MCP server for web search +# - Events skill + +id: simple-full +name: Tool Approval Demo +description: > + A minimal demonstration agent showcasing the human-in-the-loop tool + approval flow. Includes one tool that runs automatically and one that + requires explicit human approval before execution, plus Tavily web search. + +tags: + - demo + - approval + - human-in-the-loop + - utility + +enabled: true +model: "bedrock:us.anthropic.claude-sonnet-4-5-20250929-v1:0" + +sandbox_variant: jupyter + +# Memory backend +memory: ephemeral + +# MCP servers +mcp_servers: + - tavily + +# Skills +skills: + - events + +# Runtime tools (runtime-echo = auto approval, runtime-sensitive-echo = manual approval) +tools: + - runtime-echo + - runtime-sensitive-echo + +# Runtime environment +environment_name: ai-agents-env + +# UI customization +icon: shield +emoji: ๐Ÿ›ก๏ธ +color: "#6366F1" # Indigo + +# Chat suggestions +suggestions: + - list your tools + - "Call the runtime_sensitive_echo tool with text 'hello' and reason 'audit'. Use a tool call only and do not write Python code." + - "Call the runtime_echo tool with text 'hello world'. Use a tool call only and do not write Python code." + +# Welcome message +welcome_message: > + Hi! I'm the Tool Approval Demo agent. I have two echo tools โ€” one runs + immediately, the other requires your approval before executing. I can also + search the web with Tavily. + +# System prompt +system_prompt: > + You are a helpful assistant demonstrating the tool approval workflow. + You have access to two runtime tools: + - runtime_echo: echoes text back immediately, no approval required. + - runtime_sensitive_echo: echoes text with a reason, but requires human approval before executing. + You also have access to the Tavily MCP server for web search. + When asked to list your tools, briefly describe each one and ask the user which to run. + Do not call list_skills, load_skill, read_skill_resource, or run_skill_script. + +system_prompt_codemode_addons: null + +welcome_notebook: null +welcome_document: null + +# Trigger configuration +trigger: + type: once + prompt: "Start when requested by a user and complete the workflow once." diff --git a/agentspecs/tools/runtime-echo.yaml b/agentspecs/tools/runtime-echo.yaml index 5d77e98..4b69a88 100644 --- a/agentspecs/tools/runtime-echo.yaml +++ b/agentspecs/tools/runtime-echo.yaml @@ -15,4 +15,3 @@ runtime: method: runtime_echo icon: comment emoji: "๐Ÿ’ฌ" - diff --git a/agentspecs/tools/runtime-sensitive-echo.yaml b/agentspecs/tools/runtime-sensitive-echo.yaml index ebd3711..3e87c32 100644 --- a/agentspecs/tools/runtime-sensitive-echo.yaml +++ b/agentspecs/tools/runtime-sensitive-echo.yaml @@ -15,4 +15,3 @@ runtime: method: runtime_sensitive_echo icon: shield emoji: "๐Ÿ›ก๏ธ" - From 934385ea6f6ff7373236f7a72ebd09021968b6fe Mon Sep 17 00:00:00 2001 From: Eric Charles Date: Tue, 24 Mar 2026 20:26:44 +0100 Subject: [PATCH 14/44] version --- .../agents/analyze-campaign-performance.yaml | 11 ++++++----- agentspecs/agents/analyze-support-tickets.yaml | 11 ++++++----- agentspecs/agents/audit-inventory-levels.yaml | 9 +++++---- .../agents/automate-regulatory-reporting.yaml | 9 +++++---- agentspecs/agents/classify-route-emails.yaml | 7 ++++--- .../agents/comprehensive-sales-analytics.yaml | 11 ++++++----- agentspecs/agents/crawler.yaml | 7 ++++--- agentspecs/agents/data-acquisition.yaml | 11 ++++++----- agentspecs/agents/end-of-month-performance.yaml | 7 ++++--- agentspecs/agents/extract-data-from-files.yaml | 9 +++++---- agentspecs/agents/financial-viz.yaml | 7 ++++--- agentspecs/agents/financial.yaml | 5 +++-- agentspecs/agents/generate-weekly-reports.yaml | 9 +++++---- agentspecs/agents/github-agent.yaml | 7 ++++--- agentspecs/agents/information-routing.yaml | 7 ++++--- agentspecs/agents/monitor-sales-kpis.yaml | 15 ++++++++------- agentspecs/agents/optimize-dynamic-pricing.yaml | 9 +++++---- agentspecs/agents/optimize-grid-operations.yaml | 7 ++++--- agentspecs/agents/process-citizen-requests.yaml | 7 ++++--- .../agents/process-clinical-trial-data.yaml | 7 ++++--- .../agents/process-financial-transactions.yaml | 7 ++++--- agentspecs/agents/simple-base.yaml | 5 +++-- agentspecs/agents/simple-full.yaml | 9 +++++---- agentspecs/agents/spatial-data-analysis.yaml | 9 +++++---- agentspecs/agents/summarize-documents.yaml | 7 ++++--- agentspecs/agents/sync-crm-contacts.yaml | 9 +++++---- agentspecs/envvars/ALPHAVANTAGE_API_KEY.yaml | 1 + agentspecs/envvars/GITHUB_TOKEN.yaml | 1 + agentspecs/envvars/GOOGLE_OAUTH_CLIENT_ID.yaml | 1 + .../envvars/GOOGLE_OAUTH_CLIENT_SECRET.yaml | 1 + agentspecs/envvars/HF_TOKEN.yaml | 1 + agentspecs/envvars/KAGGLE_TOKEN.yaml | 1 + agentspecs/envvars/SLACK_BOT_TOKEN.yaml | 1 + agentspecs/envvars/SLACK_CHANNEL_IDS.yaml | 1 + agentspecs/envvars/SLACK_TEAM_ID.yaml | 1 + agentspecs/envvars/TAVILY_API_KEY.yaml | 1 + agentspecs/evals/agentbench.yaml | 1 + agentspecs/evals/gpqa-diamond.yaml | 1 + agentspecs/evals/humaneval.yaml | 1 + agentspecs/evals/mmlu.yaml | 1 + agentspecs/evals/swe-bench-verified.yaml | 1 + agentspecs/evals/swe-bench.yaml | 1 + agentspecs/evals/toolbench.yaml | 1 + agentspecs/evals/truthfulqa.yaml | 1 + .../guardrails/data-engineering-power-user.yaml | 1 + agentspecs/guardrails/default-platform-user.yaml | 1 + agentspecs/guardrails/github-actions-deploy.yaml | 1 + agentspecs/guardrails/github-ci-bot.yaml | 1 + agentspecs/guardrails/google-workspace-agent.yaml | 1 + agentspecs/guardrails/restricted-viewer.yaml | 1 + agentspecs/mcp-servers/alphavantage.yaml | 3 ++- agentspecs/mcp-servers/chart.yaml | 1 + agentspecs/mcp-servers/earthdata.yaml | 5 +++-- agentspecs/mcp-servers/eurus.yaml | 1 + agentspecs/mcp-servers/filesystem.yaml | 1 + agentspecs/mcp-servers/github.yaml | 3 ++- agentspecs/mcp-servers/google-workspace.yaml | 5 +++-- agentspecs/mcp-servers/huggingface.yaml | 3 ++- agentspecs/mcp-servers/kaggle.yaml | 3 ++- agentspecs/mcp-servers/salesforce.yaml | 5 +++-- agentspecs/mcp-servers/slack.yaml | 7 ++++--- agentspecs/mcp-servers/tavily.yaml | 3 ++- agentspecs/memory/ephemeral.yaml | 1 + agentspecs/memory/mem0.yaml | 1 + agentspecs/memory/memu.yaml | 1 + agentspecs/memory/simplemem.yaml | 1 + agentspecs/models/anthropic-claude-haiku-3-5.yaml | 1 + agentspecs/models/anthropic-claude-opus-4.yaml | 1 + .../models/anthropic-claude-sonnet-4-5.yaml | 1 + agentspecs/models/anthropic-claude-sonnet-4.yaml | 1 + agentspecs/models/azure-openai-gpt-4-1-mini.yaml | 1 + agentspecs/models/azure-openai-gpt-4-1-nano.yaml | 1 + agentspecs/models/azure-openai-gpt-4-1.yaml | 1 + agentspecs/models/azure-openai-gpt-4o-mini.yaml | 1 + agentspecs/models/azure-openai-gpt-4o.yaml | 1 + agentspecs/models/bedrock-claude-haiku-3-5.yaml | 1 + agentspecs/models/bedrock-claude-opus-4-6.yaml | 1 + agentspecs/models/bedrock-claude-opus-4.yaml | 1 + agentspecs/models/bedrock-claude-sonnet-4-5.yaml | 1 + agentspecs/models/bedrock-claude-sonnet-4.yaml | 1 + agentspecs/models/openai-gpt-4-1-mini.yaml | 1 + agentspecs/models/openai-gpt-4-1-nano.yaml | 1 + agentspecs/models/openai-gpt-4-1.yaml | 1 + agentspecs/models/openai-gpt-4o-mini.yaml | 1 + agentspecs/models/openai-gpt-4o.yaml | 1 + agentspecs/models/openai-o3-mini.yaml | 1 + agentspecs/notifications/email.yaml | 1 + agentspecs/notifications/slack.yaml | 1 + agentspecs/notifications/teams.yaml | 1 + agentspecs/notifications/webhook.yaml | 1 + agentspecs/outputs/api-push.yaml | 1 + agentspecs/outputs/csv.yaml | 1 + agentspecs/outputs/dashboard.yaml | 1 + agentspecs/outputs/document.yaml | 1 + agentspecs/outputs/email.yaml | 1 + agentspecs/outputs/json.yaml | 1 + agentspecs/outputs/notebook.yaml | 1 + agentspecs/outputs/spreadsheet.yaml | 1 + agentspecs/skills/crawl.yaml | 3 ++- agentspecs/skills/events.yaml | 1 + agentspecs/skills/github.yaml | 3 ++- agentspecs/skills/pdf.yaml | 1 + .../teams/analyze-campaign-performance.yaml | 3 ++- agentspecs/teams/analyze-support-tickets.yaml | 3 ++- agentspecs/teams/audit-inventory-levels.yaml | 3 ++- .../teams/automate-regulatory-reporting.yaml | 3 ++- .../teams/comprehensive-sales-analytics.yaml | 3 ++- agentspecs/teams/optimize-grid-operations.yaml | 3 ++- agentspecs/teams/process-citizen-requests.yaml | 3 ++- agentspecs/teams/process-clinical-trial-data.yaml | 3 ++- agentspecs/teams/sync-crm-contacts.yaml | 3 ++- agentspecs/tools/runtime-echo.yaml | 1 + agentspecs/tools/runtime-send-mail.yaml | 1 + agentspecs/tools/runtime-sensitive-echo.yaml | 1 + agentspecs/triggers/event.yaml | 1 + agentspecs/triggers/once.yaml | 1 + agentspecs/triggers/schedule.yaml | 1 + 117 files changed, 238 insertions(+), 121 deletions(-) diff --git a/agentspecs/agents/analyze-campaign-performance.yaml b/agentspecs/agents/analyze-campaign-performance.yaml index f8ef675..4fc48f6 100644 --- a/agentspecs/agents/analyze-campaign-performance.yaml +++ b/agentspecs/agents/analyze-campaign-performance.yaml @@ -7,6 +7,7 @@ # and optimises budget allocation across advertising channels. id: analyze-campaign-performance +version: 0.0.1 name: Analyze Campaign Performance description: > A multi-agent team that unifies marketing data from Google Ads, Meta, @@ -32,14 +33,14 @@ memory: ephemeral # MCP servers used by this agent team mcp_servers: - - filesystem - - slack + - filesystem:0.0.1 + - slack:0.0.1 # Skills available to this agent team skills: - - pdf - - crawl - - events + - pdf:0.0.1 + - crawl:0.0.1 + - events:0.0.1 # Runtime environment environment_name: ai-agents-env diff --git a/agentspecs/agents/analyze-support-tickets.yaml b/agentspecs/agents/analyze-support-tickets.yaml index 8ca1d38..54f5e68 100644 --- a/agentspecs/agents/analyze-support-tickets.yaml +++ b/agentspecs/agents/analyze-support-tickets.yaml @@ -7,6 +7,7 @@ # Source: UI mock flow id=4 (Agents.tsx) id: analyze-support-tickets +version: 0.0.1 name: Analyze Support Tickets description: > A multi-agent team that triages incoming support tickets, categorizes by @@ -29,14 +30,14 @@ memory: ephemeral # MCP servers used by this agent team mcp_servers: - - filesystem - - slack + - filesystem:0.0.1 + - slack:0.0.1 # Skills available to this agent team skills: - - pdf - - crawl - - events + - pdf:0.0.1 + - crawl:0.0.1 + - events:0.0.1 # Runtime environment environment_name: ai-agents-env diff --git a/agentspecs/agents/audit-inventory-levels.yaml b/agentspecs/agents/audit-inventory-levels.yaml index 7aa4402..3f8567e 100644 --- a/agentspecs/agents/audit-inventory-levels.yaml +++ b/agentspecs/agents/audit-inventory-levels.yaml @@ -7,6 +7,7 @@ # Source: UI mock flow id=6 (Agents.tsx) id: audit-inventory-levels +version: 0.0.1 name: Audit Inventory Levels description: > A multi-agent team that monitors inventory levels across warehouses, @@ -29,13 +30,13 @@ memory: ephemeral # MCP servers used by this agent team mcp_servers: - - filesystem - - slack + - filesystem:0.0.1 + - slack:0.0.1 # Skills available to this agent team skills: - - pdf - - events + - pdf:0.0.1 + - events:0.0.1 # Runtime environment environment_name: ai-agents-env diff --git a/agentspecs/agents/automate-regulatory-reporting.yaml b/agentspecs/agents/automate-regulatory-reporting.yaml index f9030cf..d13e32c 100644 --- a/agentspecs/agents/automate-regulatory-reporting.yaml +++ b/agentspecs/agents/automate-regulatory-reporting.yaml @@ -7,6 +7,7 @@ # across Basel III/IV, MiFID II, SOX, and AML/KYC requirements. id: automate-regulatory-reporting +version: 0.0.1 name: Automate Regulatory Reporting description: > A multi-agent team that automates end-to-end regulatory reporting for @@ -33,13 +34,13 @@ memory: ephemeral # MCP servers used by this agent team mcp_servers: - - filesystem - - slack + - filesystem:0.0.1 + - slack:0.0.1 # Skills available to this agent team skills: - - pdf - - events + - pdf:0.0.1 + - events:0.0.1 # Runtime environment environment_name: ai-agents-env diff --git a/agentspecs/agents/classify-route-emails.yaml b/agentspecs/agents/classify-route-emails.yaml index 5f85d08..fdf8f03 100644 --- a/agentspecs/agents/classify-route-emails.yaml +++ b/agentspecs/agents/classify-route-emails.yaml @@ -6,6 +6,7 @@ # priority, and department, then routes them to the correct queue. id: classify-route-emails +version: 0.0.1 name: Classify & Route Emails description: > A generic email classification and routing agent. Analyzes incoming emails @@ -30,12 +31,12 @@ memory: ephemeral # MCP servers used by this agent mcp_servers: - - slack + - slack:0.0.1 # Skills available to this agent skills: - - github - - events + - github:0.0.1 + - events:0.0.1 # Runtime environment environment_name: ai-agents-env diff --git a/agentspecs/agents/comprehensive-sales-analytics.yaml b/agentspecs/agents/comprehensive-sales-analytics.yaml index 70dcad7..3448554 100644 --- a/agentspecs/agents/comprehensive-sales-analytics.yaml +++ b/agentspecs/agents/comprehensive-sales-analytics.yaml @@ -12,6 +12,7 @@ # excelling at one specific task โ€” orchestrated by a supervisor. id: comprehensive-sales-analytics +version: 0.0.1 name: Comprehensive Sales Analytics description: > A multi-agent team that replaces a single KPI monitor with four specialized @@ -38,14 +39,14 @@ memory: ephemeral # MCP servers used by this agent team mcp_servers: - - filesystem - - slack + - filesystem:0.0.1 + - slack:0.0.1 # Skills available to this agent team skills: - - pdf - - github - - events + - pdf:0.0.1 + - github:0.0.1 + - events:0.0.1 # Runtime environment environment_name: ai-agents-env diff --git a/agentspecs/agents/crawler.yaml b/agentspecs/agents/crawler.yaml index 9567786..8a8638d 100644 --- a/agentspecs/agents/crawler.yaml +++ b/agentspecs/agents/crawler.yaml @@ -5,6 +5,7 @@ # Web crawling and research agent that searches the web and GitHub repositories. id: crawler +version: 0.0.1 name: Crawler Agent description: > Web crawling and research agent that searches the web and GitHub @@ -27,12 +28,12 @@ memory: ephemeral # MCP servers used by this agent mcp_servers: - - tavily + - tavily:0.0.1 # Skills available to this agent skills: - - github - - events + - github:0.0.1 + - events:0.0.1 # Runtime environment environment_name: ai-agents-env diff --git a/agentspecs/agents/data-acquisition.yaml b/agentspecs/agents/data-acquisition.yaml index bf36027..e46aecd 100644 --- a/agentspecs/agents/data-acquisition.yaml +++ b/agentspecs/agents/data-acquisition.yaml @@ -6,6 +6,7 @@ # Kaggle datasets and local filesystem operations. id: data-acquisition +version: 0.0.1 name: Data Acquisition Agent description: > Acquires and manages data from various sources including Kaggle datasets @@ -27,14 +28,14 @@ memory: ephemeral # MCP servers used by this agent mcp_servers: - - kaggle - - filesystem - - tavily + - kaggle:0.0.1 + - filesystem:0.0.1 + - tavily:0.0.1 # Skills available to this agent skills: - - github - - events + - github:0.0.1 + - events:0.0.1 # Runtime environment environment_name: ai-agents-env diff --git a/agentspecs/agents/end-of-month-performance.yaml b/agentspecs/agents/end-of-month-performance.yaml index ecc57c4..904e47e 100644 --- a/agentspecs/agents/end-of-month-performance.yaml +++ b/agentspecs/agents/end-of-month-performance.yaml @@ -6,6 +6,7 @@ # directly from Salesforce and generates executive-ready performance reports. id: end-of-month-sales-performance +version: 0.0.1 name: End of Month Sales Performance description: > Consolidates and analyzes end-of-month retail sales data directly from Salesforce. @@ -40,12 +41,12 @@ memory: ephemeral # MCP servers used by this agent mcp_servers: - - salesforce + - salesforce:0.0.1 # Skills available to this agent skills: - - pdf - - events + - pdf:0.0.1 + - events:0.0.1 # Runtime environment environment_name: ai-agents-env diff --git a/agentspecs/agents/extract-data-from-files.yaml b/agentspecs/agents/extract-data-from-files.yaml index a35f0f0..cc3420f 100644 --- a/agentspecs/agents/extract-data-from-files.yaml +++ b/agentspecs/agents/extract-data-from-files.yaml @@ -6,6 +6,7 @@ # files โ€” invoices, receipts, forms, tables in PDFs, spreadsheets. id: extract-data-from-files +version: 0.0.1 name: Extract Data from Files description: > A generic data extraction agent that processes unstructured files (PDFs, @@ -31,13 +32,13 @@ memory: ephemeral # MCP servers used by this agent mcp_servers: - - filesystem + - filesystem:0.0.1 # Skills available to this agent skills: - - pdf - - github - - events + - pdf:0.0.1 + - github:0.0.1 + - events:0.0.1 # Runtime environment environment_name: ai-agents-env diff --git a/agentspecs/agents/financial-viz.yaml b/agentspecs/agents/financial-viz.yaml index 32f0019..0894d40 100644 --- a/agentspecs/agents/financial-viz.yaml +++ b/agentspecs/agents/financial-viz.yaml @@ -5,6 +5,7 @@ # Analyzes financial market data and creates visualizations and charts. id: financial-viz +version: 0.0.1 name: Financial Visualization Agent description: > Analyzes financial market data and creates visualizations and charts. @@ -25,12 +26,12 @@ memory: ephemeral # MCP servers used by this agent mcp_servers: - - alphavantage - - chart + - alphavantage:0.0.1 + - chart:0.0.1 # Skills available to this agent skills: - - events + - events:0.0.1 # Runtime environment environment_name: ai-agents-env diff --git a/agentspecs/agents/financial.yaml b/agentspecs/agents/financial.yaml index ecce00a..84e63bd 100644 --- a/agentspecs/agents/financial.yaml +++ b/agentspecs/agents/financial.yaml @@ -5,6 +5,7 @@ # Analyzes financial market data and provides chart-ready insights. id: financial +version: 0.0.1 name: Financial Data Analysis Agent description: > Analyzes financial market data and provides chart-ready insights. @@ -25,11 +26,11 @@ memory: ephemeral # MCP servers used by this agent mcp_servers: - - alphavantage + - alphavantage:0.0.1 # Skills available to this agent skills: - - events + - events:0.0.1 # Runtime environment environment_name: ai-agents-env diff --git a/agentspecs/agents/generate-weekly-reports.yaml b/agentspecs/agents/generate-weekly-reports.yaml index fa8c759..5e69881 100644 --- a/agentspecs/agents/generate-weekly-reports.yaml +++ b/agentspecs/agents/generate-weekly-reports.yaml @@ -7,6 +7,7 @@ # Source: UI mock flow id=5 (Agents.tsx) id: generate-weekly-reports +version: 0.0.1 name: Generate Weekly Reports description: > Aggregates data across marketing, sales, and operations departments. @@ -30,13 +31,13 @@ memory: ephemeral # MCP servers used by this agent mcp_servers: - - filesystem - - slack + - filesystem:0.0.1 + - slack:0.0.1 # Skills available to this agent skills: - - pdf - - events + - pdf:0.0.1 + - events:0.0.1 # Runtime environment environment_name: ai-agents-env diff --git a/agentspecs/agents/github-agent.yaml b/agentspecs/agents/github-agent.yaml index da09c3b..b055bd2 100644 --- a/agentspecs/agents/github-agent.yaml +++ b/agentspecs/agents/github-agent.yaml @@ -5,6 +5,7 @@ # Manages GitHub repositories, issues, and pull requests with email capabilities. id: github-agent +version: 0.0.1 name: GitHub Agent description: > Manages GitHub repositories, issues, and pull requests with email @@ -26,12 +27,12 @@ memory: ephemeral # MCP servers used by this agent mcp_servers: - - google-workspace + - google-workspace:0.0.1 # Skills available to this agent skills: - - github - - events + - github:0.0.1 + - events:0.0.1 # Runtime environment environment_name: ai-agents-env diff --git a/agentspecs/agents/information-routing.yaml b/agentspecs/agents/information-routing.yaml index 5f05dbc..e91f6ec 100644 --- a/agentspecs/agents/information-routing.yaml +++ b/agentspecs/agents/information-routing.yaml @@ -5,6 +5,7 @@ # Routes information between Google Drive and Slack, managing workflows. id: information-routing +version: 0.0.1 name: Information Routing Agent description: > Routes information between Google Drive and other services, managing document @@ -25,12 +26,12 @@ memory: ephemeral # MCP servers used by this agent mcp_servers: - - google-workspace - - github + - google-workspace:0.0.1 + - github:0.0.1 # Skills available to this agent skills: - - events + - events:0.0.1 # Runtime environment environment_name: ai-agents-env diff --git a/agentspecs/agents/monitor-sales-kpis.yaml b/agentspecs/agents/monitor-sales-kpis.yaml index d643fd7..e767b41 100644 --- a/agentspecs/agents/monitor-sales-kpis.yaml +++ b/agentspecs/agents/monitor-sales-kpis.yaml @@ -7,6 +7,7 @@ # Source: UI mock flow id=1 (Agents.tsx, AgentFlow.tsx) id: monitor-sales-kpis +version: 0.0.1 name: Monitor Sales KPIs description: > Monitor and analyze sales KPIs from the CRM system. Generate daily reports @@ -30,19 +31,19 @@ memory: mem0 # MCP servers used by this agent mcp_servers: - - filesystem + - filesystem:0.0.1 # Skills available to this agent skills: - - github - - pdf - - events + - github:0.0.1 + - pdf:0.0.1 + - events:0.0.1 # Runtime tools available to this agent tools: - - runtime-echo - - runtime-sensitive-echo - - runtime-send-mail + - runtime-echo:0.0.1 + - runtime-sensitive-echo:0.0.1 + - runtime-send-mail:0.0.1 # Runtime environment environment_name: ai-agents-env diff --git a/agentspecs/agents/optimize-dynamic-pricing.yaml b/agentspecs/agents/optimize-dynamic-pricing.yaml index 297f555..6aee7ca 100644 --- a/agentspecs/agents/optimize-dynamic-pricing.yaml +++ b/agentspecs/agents/optimize-dynamic-pricing.yaml @@ -7,6 +7,7 @@ # pricing recommendations across product catalogs. id: optimize-dynamic-pricing +version: 0.0.1 name: Optimize Dynamic Pricing description: > Monitors competitor pricing across marketplaces, forecasts demand per SKU, @@ -32,13 +33,13 @@ memory: ephemeral # MCP servers used by this agent mcp_servers: - - filesystem + - filesystem:0.0.1 # Skills available to this agent skills: - - pdf - - crawl - - events + - pdf:0.0.1 + - crawl:0.0.1 + - events:0.0.1 # Runtime environment environment_name: ai-agents-env diff --git a/agentspecs/agents/optimize-grid-operations.yaml b/agentspecs/agents/optimize-grid-operations.yaml index b27dcb6..7f0de3f 100644 --- a/agentspecs/agents/optimize-grid-operations.yaml +++ b/agentspecs/agents/optimize-grid-operations.yaml @@ -7,6 +7,7 @@ # grid load balancing across renewable and conventional sources. id: optimize-grid-operations +version: 0.0.1 name: Optimize Grid Operations description: > A multi-agent team that processes millions of IoT sensor data points @@ -32,12 +33,12 @@ memory: ephemeral # MCP servers used by this agent team mcp_servers: - - filesystem + - filesystem:0.0.1 # Skills available to this agent team skills: - - pdf - - events + - pdf:0.0.1 + - events:0.0.1 # Runtime environment environment_name: ai-agents-env diff --git a/agentspecs/agents/process-citizen-requests.yaml b/agentspecs/agents/process-citizen-requests.yaml index 3c21a01..8256202 100644 --- a/agentspecs/agents/process-citizen-requests.yaml +++ b/agentspecs/agents/process-citizen-requests.yaml @@ -7,6 +7,7 @@ # analysis, and transparent decision documentation. id: process-citizen-requests +version: 0.0.1 name: Process Citizen Requests description: > A multi-agent team that automates citizen request processing for @@ -33,12 +34,12 @@ memory: ephemeral # MCP servers used by this agent team mcp_servers: - - filesystem + - filesystem:0.0.1 # Skills available to this agent team skills: - - pdf - - events + - pdf:0.0.1 + - events:0.0.1 # Runtime environment environment_name: ai-agents-env diff --git a/agentspecs/agents/process-clinical-trial-data.yaml b/agentspecs/agents/process-clinical-trial-data.yaml index 7f6058d..c5a2ad7 100644 --- a/agentspecs/agents/process-clinical-trial-data.yaml +++ b/agentspecs/agents/process-clinical-trial-data.yaml @@ -7,6 +7,7 @@ # and submission-ready dataset preparation across multi-site trials. id: process-clinical-trial-data +version: 0.0.1 name: Process Clinical Trial Data description: > A multi-agent team that automates clinical trial data processing across @@ -32,12 +33,12 @@ memory: ephemeral # MCP servers used by this agent team mcp_servers: - - filesystem + - filesystem:0.0.1 # Skills available to this agent team skills: - - pdf - - events + - pdf:0.0.1 + - events:0.0.1 # Runtime environment environment_name: ai-agents-env diff --git a/agentspecs/agents/process-financial-transactions.yaml b/agentspecs/agents/process-financial-transactions.yaml index e7332e9..088ef2a 100644 --- a/agentspecs/agents/process-financial-transactions.yaml +++ b/agentspecs/agents/process-financial-transactions.yaml @@ -7,6 +7,7 @@ # Source: UI mock flow id=3 (Agents.tsx) id: process-financial-transactions +version: 0.0.1 name: Process Financial Transactions description: > Processes and validates financial transactions across accounts. Reconciles @@ -30,12 +31,12 @@ memory: ephemeral # MCP servers used by this agent mcp_servers: - - filesystem + - filesystem:0.0.1 # Skills available to this agent skills: - - pdf - - events + - pdf:0.0.1 + - events:0.0.1 # Runtime environment environment_name: ai-agents-env diff --git a/agentspecs/agents/simple-base.yaml b/agentspecs/agents/simple-base.yaml index 6081e91..b79c31d 100644 --- a/agentspecs/agents/simple-base.yaml +++ b/agentspecs/agents/simple-base.yaml @@ -5,6 +5,7 @@ # A minimal agent with no MCP servers or skills. id: simple-base +version: 0.0.1 name: A Simple Agent description: > A simple conversational agent. No tools, no MCP servers, no skills โ€” @@ -28,11 +29,11 @@ mcp_servers: [] # No skills skills: - - events + - events:0.0.1 # Runtime tools tools: - - runtime-echo + - runtime-echo:0.0.1 # Runtime environment environment_name: ai-agents-env diff --git a/agentspecs/agents/simple-full.yaml b/agentspecs/agents/simple-full.yaml index ef704d7..45d2f3b 100644 --- a/agentspecs/agents/simple-full.yaml +++ b/agentspecs/agents/simple-full.yaml @@ -9,6 +9,7 @@ # - Events skill id: simple-full +version: 0.0.1 name: Tool Approval Demo description: > A minimal demonstration agent showcasing the human-in-the-loop tool @@ -31,16 +32,16 @@ memory: ephemeral # MCP servers mcp_servers: - - tavily + - tavily:0.0.1 # Skills skills: - - events + - events:0.0.1 # Runtime tools (runtime-echo = auto approval, runtime-sensitive-echo = manual approval) tools: - - runtime-echo - - runtime-sensitive-echo + - runtime-echo:0.0.1 + - runtime-sensitive-echo:0.0.1 # Runtime environment environment_name: ai-agents-env diff --git a/agentspecs/agents/spatial-data-analysis.yaml b/agentspecs/agents/spatial-data-analysis.yaml index de2394c..7fcbd04 100644 --- a/agentspecs/agents/spatial-data-analysis.yaml +++ b/agentspecs/agents/spatial-data-analysis.yaml @@ -5,6 +5,7 @@ # Inspired by Eurus climate workflows and Earthdata catalog exploration. id: spatial-data-analysis +version: 0.0.1 name: Spatial Data Analysis Agent description: > Discovers, acquires, and analyzes geospatial datasets using Earthdata and @@ -27,13 +28,13 @@ memory: ephemeral # MCP servers used by this agent mcp_servers: - - earthdata - - eurus - - filesystem + - earthdata:0.0.1 + - eurus:0.0.1 + - filesystem:0.0.1 # Skills available to this agent skills: - - events + - events:0.0.1 # Runtime environment environment_name: ai-agents-env diff --git a/agentspecs/agents/summarize-documents.yaml b/agentspecs/agents/summarize-documents.yaml index d539e92..3a97545 100644 --- a/agentspecs/agents/summarize-documents.yaml +++ b/agentspecs/agents/summarize-documents.yaml @@ -6,6 +6,7 @@ # contracts, research papers โ€” producing structured executive summaries. id: summarize-documents +version: 0.0.1 name: Summarize Documents description: > A generic document summarization agent that processes PDFs, Word files, @@ -30,12 +31,12 @@ memory: ephemeral # MCP servers used by this agent mcp_servers: - - filesystem + - filesystem:0.0.1 # Skills available to this agent skills: - - pdf - - events + - pdf:0.0.1 + - events:0.0.1 # Runtime environment environment_name: ai-agents-env diff --git a/agentspecs/agents/sync-crm-contacts.yaml b/agentspecs/agents/sync-crm-contacts.yaml index dd90fef..d068bf6 100644 --- a/agentspecs/agents/sync-crm-contacts.yaml +++ b/agentspecs/agents/sync-crm-contacts.yaml @@ -7,6 +7,7 @@ # Source: UI mock flow id=2 (Agents.tsx, AgentTeam.tsx) id: sync-crm-contacts +version: 0.0.1 name: Sync CRM Contacts description: > A multi-agent team that collects and aggregates contact data from multiple @@ -29,13 +30,13 @@ memory: ephemeral # MCP servers used by this agent team mcp_servers: - - filesystem - - slack + - filesystem:0.0.1 + - slack:0.0.1 # Skills available to this agent team skills: - - pdf - - events + - pdf:0.0.1 + - events:0.0.1 # Runtime environment environment_name: ai-agents-env diff --git a/agentspecs/envvars/ALPHAVANTAGE_API_KEY.yaml b/agentspecs/envvars/ALPHAVANTAGE_API_KEY.yaml index 820539e..6faf6f4 100644 --- a/agentspecs/envvars/ALPHAVANTAGE_API_KEY.yaml +++ b/agentspecs/envvars/ALPHAVANTAGE_API_KEY.yaml @@ -2,6 +2,7 @@ # Distributed under the terms of the Modified BSD License. id: ALPHAVANTAGE_API_KEY +version: 0.0.1 name: Alpha Vantage API Key description: API key for accessing Alpha Vantage financial market data and stock information. Provides real-time and historical stock prices, forex data, and cryptocurrency information. registrationUrl: https://www.alphavantage.co/support/#api-key diff --git a/agentspecs/envvars/GITHUB_TOKEN.yaml b/agentspecs/envvars/GITHUB_TOKEN.yaml index fde73e7..9b791db 100644 --- a/agentspecs/envvars/GITHUB_TOKEN.yaml +++ b/agentspecs/envvars/GITHUB_TOKEN.yaml @@ -2,6 +2,7 @@ # Distributed under the terms of the Modified BSD License. id: GITHUB_TOKEN +version: 0.0.1 name: GitHub Token description: GitHub API token for repository management and code operations. Required for GitHub MCP server and GitHub skill to interact with GitHub repositories programmatically. registrationUrl: https://github.com/settings/tokens diff --git a/agentspecs/envvars/GOOGLE_OAUTH_CLIENT_ID.yaml b/agentspecs/envvars/GOOGLE_OAUTH_CLIENT_ID.yaml index 94ebe73..32870b6 100644 --- a/agentspecs/envvars/GOOGLE_OAUTH_CLIENT_ID.yaml +++ b/agentspecs/envvars/GOOGLE_OAUTH_CLIENT_ID.yaml @@ -2,6 +2,7 @@ # Distributed under the terms of the Modified BSD License. id: GOOGLE_OAUTH_CLIENT_ID +version: 0.0.1 name: Google OAuth Client ID description: OAuth 2.0 client ID for Google Workspace authentication. Required for Google Drive, Gmail, Calendar, and Docs integration through the Google Workspace MCP server. registrationUrl: https://console.cloud.google.com/apis/credentials diff --git a/agentspecs/envvars/GOOGLE_OAUTH_CLIENT_SECRET.yaml b/agentspecs/envvars/GOOGLE_OAUTH_CLIENT_SECRET.yaml index 8a0c83f..06cd046 100644 --- a/agentspecs/envvars/GOOGLE_OAUTH_CLIENT_SECRET.yaml +++ b/agentspecs/envvars/GOOGLE_OAUTH_CLIENT_SECRET.yaml @@ -2,6 +2,7 @@ # Distributed under the terms of the Modified BSD License. id: GOOGLE_OAUTH_CLIENT_SECRET +version: 0.0.1 name: Google OAuth Client Secret description: OAuth 2.0 client secret for Google Workspace authentication. Used in conjunction with client ID for secure API access to Google services. registrationUrl: https://console.cloud.google.com/apis/credentials diff --git a/agentspecs/envvars/HF_TOKEN.yaml b/agentspecs/envvars/HF_TOKEN.yaml index f3f588f..21be925 100644 --- a/agentspecs/envvars/HF_TOKEN.yaml +++ b/agentspecs/envvars/HF_TOKEN.yaml @@ -2,6 +2,7 @@ # Distributed under the terms of the Modified BSD License. id: HF_TOKEN +version: 0.0.1 name: Hugging Face Token description: Access token for Hugging Face API. Required for Hugging Face MCP server authentication. Create a READ token from your settings. registrationUrl: https://huggingface.co/settings/tokens diff --git a/agentspecs/envvars/KAGGLE_TOKEN.yaml b/agentspecs/envvars/KAGGLE_TOKEN.yaml index a6bc9a1..c618dd6 100644 --- a/agentspecs/envvars/KAGGLE_TOKEN.yaml +++ b/agentspecs/envvars/KAGGLE_TOKEN.yaml @@ -2,6 +2,7 @@ # Distributed under the terms of the Modified BSD License. id: KAGGLE_TOKEN +version: 0.0.1 name: Kaggle API Token description: API token for accessing Kaggle datasets, competitions, notebooks, and models. Required for Kaggle MCP server authentication. registrationUrl: https://www.kaggle.com/settings/account diff --git a/agentspecs/envvars/SLACK_BOT_TOKEN.yaml b/agentspecs/envvars/SLACK_BOT_TOKEN.yaml index decdd0e..9f94e39 100644 --- a/agentspecs/envvars/SLACK_BOT_TOKEN.yaml +++ b/agentspecs/envvars/SLACK_BOT_TOKEN.yaml @@ -2,6 +2,7 @@ # Distributed under the terms of the Modified BSD License. id: SLACK_BOT_TOKEN +version: 0.0.1 name: Slack Bot Token description: OAuth token for Slack bot authentication. Required for Slack MCP server to send messages, manage channels, and interact with workspace members. registrationUrl: https://api.slack.com/apps diff --git a/agentspecs/envvars/SLACK_CHANNEL_IDS.yaml b/agentspecs/envvars/SLACK_CHANNEL_IDS.yaml index 1430f47..2130ecd 100644 --- a/agentspecs/envvars/SLACK_CHANNEL_IDS.yaml +++ b/agentspecs/envvars/SLACK_CHANNEL_IDS.yaml @@ -2,6 +2,7 @@ # Distributed under the terms of the Modified BSD License. id: SLACK_CHANNEL_IDS +version: 0.0.1 name: Slack Channel IDs description: Comma-separated list of Slack channel IDs that the bot is allowed to access. Restricts bot operations to specific channels for security and organization. tags: diff --git a/agentspecs/envvars/SLACK_TEAM_ID.yaml b/agentspecs/envvars/SLACK_TEAM_ID.yaml index 6403614..dc7cf79 100644 --- a/agentspecs/envvars/SLACK_TEAM_ID.yaml +++ b/agentspecs/envvars/SLACK_TEAM_ID.yaml @@ -2,6 +2,7 @@ # Distributed under the terms of the Modified BSD License. id: SLACK_TEAM_ID +version: 0.0.1 name: Slack Team ID description: Unique identifier for the Slack workspace (team). Required to specify which workspace the bot should connect to. registrationUrl: https://api.slack.com/apps diff --git a/agentspecs/envvars/TAVILY_API_KEY.yaml b/agentspecs/envvars/TAVILY_API_KEY.yaml index c6f1e45..3c134b9 100644 --- a/agentspecs/envvars/TAVILY_API_KEY.yaml +++ b/agentspecs/envvars/TAVILY_API_KEY.yaml @@ -2,6 +2,7 @@ # Distributed under the terms of the Modified BSD License. id: TAVILY_API_KEY +version: 0.0.1 name: Tavily API Key description: API key for Tavily web search and research capabilities. Required for web crawling, content extraction, and search operations. registrationUrl: https://tavily.com/api-keys diff --git a/agentspecs/evals/agentbench.yaml b/agentspecs/evals/agentbench.yaml index 9d035b3..9c348a8 100644 --- a/agentspecs/evals/agentbench.yaml +++ b/agentspecs/evals/agentbench.yaml @@ -2,6 +2,7 @@ # Distributed under the terms of the Modified BSD License. id: agentbench +version: 0.0.1 name: AgentBench description: >- Multi-dimensional LLM-as-agent evaluation across 8 diverse environments diff --git a/agentspecs/evals/gpqa-diamond.yaml b/agentspecs/evals/gpqa-diamond.yaml index 160c3d7..b9c2c13 100644 --- a/agentspecs/evals/gpqa-diamond.yaml +++ b/agentspecs/evals/gpqa-diamond.yaml @@ -2,6 +2,7 @@ # Distributed under the terms of the Modified BSD License. id: gpqa-diamond +version: 0.0.1 name: GPQA Diamond description: >- Graduate-level science questions crafted by domain experts. diff --git a/agentspecs/evals/humaneval.yaml b/agentspecs/evals/humaneval.yaml index 12640dc..c22db17 100644 --- a/agentspecs/evals/humaneval.yaml +++ b/agentspecs/evals/humaneval.yaml @@ -2,6 +2,7 @@ # Distributed under the terms of the Modified BSD License. id: humaneval +version: 0.0.1 name: HumanEval description: >- Python function implementation from docstrings. Measures functional diff --git a/agentspecs/evals/mmlu.yaml b/agentspecs/evals/mmlu.yaml index 0c0138c..0fce67f 100644 --- a/agentspecs/evals/mmlu.yaml +++ b/agentspecs/evals/mmlu.yaml @@ -2,6 +2,7 @@ # Distributed under the terms of the Modified BSD License. id: mmlu +version: 0.0.1 name: MMLU description: >- Massive Multitask Language Understanding: 57-subject knowledge diff --git a/agentspecs/evals/swe-bench-verified.yaml b/agentspecs/evals/swe-bench-verified.yaml index f31809e..564fc71 100644 --- a/agentspecs/evals/swe-bench-verified.yaml +++ b/agentspecs/evals/swe-bench-verified.yaml @@ -2,6 +2,7 @@ # Distributed under the terms of the Modified BSD License. id: swe-bench-verified +version: 0.0.1 name: SWE-bench Verified description: >- Human-validated subset of SWE-bench with verified ground-truth patches. diff --git a/agentspecs/evals/swe-bench.yaml b/agentspecs/evals/swe-bench.yaml index 5a3c7a4..9f9853c 100644 --- a/agentspecs/evals/swe-bench.yaml +++ b/agentspecs/evals/swe-bench.yaml @@ -2,6 +2,7 @@ # Distributed under the terms of the Modified BSD License. id: swe-bench +version: 0.0.1 name: SWE-bench description: >- Real-world software engineering tasks from GitHub issues. Tests an diff --git a/agentspecs/evals/toolbench.yaml b/agentspecs/evals/toolbench.yaml index db194df..f1c88e3 100644 --- a/agentspecs/evals/toolbench.yaml +++ b/agentspecs/evals/toolbench.yaml @@ -2,6 +2,7 @@ # Distributed under the terms of the Modified BSD License. id: toolbench +version: 0.0.1 name: ToolBench description: >- Large-scale benchmark for tool-augmented LLMs covering 16000+ real-world diff --git a/agentspecs/evals/truthfulqa.yaml b/agentspecs/evals/truthfulqa.yaml index a9b9331..225d666 100644 --- a/agentspecs/evals/truthfulqa.yaml +++ b/agentspecs/evals/truthfulqa.yaml @@ -2,6 +2,7 @@ # Distributed under the terms of the Modified BSD License. id: truthfulqa +version: 0.0.1 name: TruthfulQA description: >- Benchmark measuring whether a language model generates truthful answers diff --git a/agentspecs/guardrails/data-engineering-power-user.yaml b/agentspecs/guardrails/data-engineering-power-user.yaml index ad2f328..af39499 100644 --- a/agentspecs/guardrails/data-engineering-power-user.yaml +++ b/agentspecs/guardrails/data-engineering-power-user.yaml @@ -2,6 +2,7 @@ # Distributed under the terms of the Modified BSD License. id: data-engineering-power-user +version: 0.0.1 name: Data Engineering Power User description: >- Power-user guardrail for data engineering agents with full diff --git a/agentspecs/guardrails/default-platform-user.yaml b/agentspecs/guardrails/default-platform-user.yaml index 29d7471..58a30fd 100644 --- a/agentspecs/guardrails/default-platform-user.yaml +++ b/agentspecs/guardrails/default-platform-user.yaml @@ -2,6 +2,7 @@ # Distributed under the terms of the Modified BSD License. id: default-platform-user +version: 0.0.1 name: Default Platform User description: >- Standard platform user guardrail with moderate permissions. diff --git a/agentspecs/guardrails/github-actions-deploy.yaml b/agentspecs/guardrails/github-actions-deploy.yaml index 3fa65b3..eb6653e 100644 --- a/agentspecs/guardrails/github-actions-deploy.yaml +++ b/agentspecs/guardrails/github-actions-deploy.yaml @@ -2,6 +2,7 @@ # Distributed under the terms of the Modified BSD License. id: github-actions-deploy +version: 0.0.1 name: GitHub Actions Deploy description: >- Full-access guardrail for deployment agents running via GitHub Actions. diff --git a/agentspecs/guardrails/github-ci-bot.yaml b/agentspecs/guardrails/github-ci-bot.yaml index dd74a3d..4f7096a 100644 --- a/agentspecs/guardrails/github-ci-bot.yaml +++ b/agentspecs/guardrails/github-ci-bot.yaml @@ -2,6 +2,7 @@ # Distributed under the terms of the Modified BSD License. id: github-ci-bot +version: 0.0.1 name: GitHub CI Bot description: >- Guardrail for automated CI/CD agents running via GitHub Actions. diff --git a/agentspecs/guardrails/google-workspace-agent.yaml b/agentspecs/guardrails/google-workspace-agent.yaml index 679d7dd..4442875 100644 --- a/agentspecs/guardrails/google-workspace-agent.yaml +++ b/agentspecs/guardrails/google-workspace-agent.yaml @@ -2,6 +2,7 @@ # Distributed under the terms of the Modified BSD License. id: google-workspace-agent +version: 0.0.1 name: Google Workspace Agent description: >- Guardrail for agents integrating with Google Workspace services diff --git a/agentspecs/guardrails/restricted-viewer.yaml b/agentspecs/guardrails/restricted-viewer.yaml index 2008056..4d41839 100644 --- a/agentspecs/guardrails/restricted-viewer.yaml +++ b/agentspecs/guardrails/restricted-viewer.yaml @@ -2,6 +2,7 @@ # Distributed under the terms of the Modified BSD License. id: restricted-viewer +version: 0.0.1 name: Restricted Viewer description: >- Minimal-permissions guardrail for read-only monitoring agents. diff --git a/agentspecs/mcp-servers/alphavantage.yaml b/agentspecs/mcp-servers/alphavantage.yaml index 925564c..36ed586 100644 --- a/agentspecs/mcp-servers/alphavantage.yaml +++ b/agentspecs/mcp-servers/alphavantage.yaml @@ -2,6 +2,7 @@ # Distributed under the terms of the Modified BSD License. id: alphavantage +version: 0.0.1 name: Alpha Vantage description: Financial market data and stock information @@ -13,7 +14,7 @@ args: transport: stdio envvars: - - ALPHAVANTAGE_API_KEY + - ALPHAVANTAGE_API_KEY:0.0.1 env: MAX_RESPONSE_TOKENS: "100000" diff --git a/agentspecs/mcp-servers/chart.yaml b/agentspecs/mcp-servers/chart.yaml index 64c2266..18a6e07 100644 --- a/agentspecs/mcp-servers/chart.yaml +++ b/agentspecs/mcp-servers/chart.yaml @@ -2,6 +2,7 @@ # Distributed under the terms of the Modified BSD License. id: chart +version: 0.0.1 name: Chart Generator description: Generate charts and visualizations diff --git a/agentspecs/mcp-servers/earthdata.yaml b/agentspecs/mcp-servers/earthdata.yaml index 41f7fbe..bd59cd4 100644 --- a/agentspecs/mcp-servers/earthdata.yaml +++ b/agentspecs/mcp-servers/earthdata.yaml @@ -2,6 +2,7 @@ # Distributed under the terms of the Modified BSD License. id: earthdata +version: 0.0.1 name: Earthdata MCP description: Access NASA Earthdata search and metadata capabilities @@ -18,8 +19,8 @@ env: EARTHDATA_PASSWORD: ${EARTHDATA_PASSWORD} envvars: - - EARTHDATA_USERNAME - - EARTHDATA_PASSWORD + - EARTHDATA_USERNAME:0.0.1 + - EARTHDATA_PASSWORD:0.0.1 tags: - geospatial diff --git a/agentspecs/mcp-servers/eurus.yaml b/agentspecs/mcp-servers/eurus.yaml index 328616f..7ed9726 100644 --- a/agentspecs/mcp-servers/eurus.yaml +++ b/agentspecs/mcp-servers/eurus.yaml @@ -2,6 +2,7 @@ # Distributed under the terms of the Modified BSD License. id: eurus +version: 0.0.1 name: Eurus Climate MCP description: Climate and reanalysis analysis tools for spatial workflows diff --git a/agentspecs/mcp-servers/filesystem.yaml b/agentspecs/mcp-servers/filesystem.yaml index f0e95d8..06c21c3 100644 --- a/agentspecs/mcp-servers/filesystem.yaml +++ b/agentspecs/mcp-servers/filesystem.yaml @@ -5,6 +5,7 @@ # Local filesystem read/write operations id: filesystem +version: 0.0.1 name: Filesystem description: Local filesystem read/write operations diff --git a/agentspecs/mcp-servers/github.yaml b/agentspecs/mcp-servers/github.yaml index a5f7e6b..f53ba13 100644 --- a/agentspecs/mcp-servers/github.yaml +++ b/agentspecs/mcp-servers/github.yaml @@ -5,6 +5,7 @@ # Provides GitHub repository operations (issues, PRs, code search) id: github +version: 0.0.1 name: GitHub description: GitHub repository operations (issues, PRs, code search) @@ -24,7 +25,7 @@ env: GITHUB_PERSONAL_ACCESS_TOKEN: "${GITHUB_TOKEN}" envvars: - - GITHUB_TOKEN + - GITHUB_TOKEN:0.0.1 tags: - development diff --git a/agentspecs/mcp-servers/google-workspace.yaml b/agentspecs/mcp-servers/google-workspace.yaml index 5b21569..1b13c38 100644 --- a/agentspecs/mcp-servers/google-workspace.yaml +++ b/agentspecs/mcp-servers/google-workspace.yaml @@ -2,6 +2,7 @@ # Distributed under the terms of the Modified BSD License. id: google-workspace +version: 0.0.1 name: Google Workspace description: Google Drive, Gmail, Calendar, and Docs integration @@ -12,8 +13,8 @@ args: transport: stdio envvars: - - GOOGLE_OAUTH_CLIENT_ID - - GOOGLE_OAUTH_CLIENT_SECRET + - GOOGLE_OAUTH_CLIENT_ID:0.0.1 + - GOOGLE_OAUTH_CLIENT_SECRET:0.0.1 env: GOOGLE_OAUTH_CLIENT_ID: "${GOOGLE_OAUTH_CLIENT_ID}" diff --git a/agentspecs/mcp-servers/huggingface.yaml b/agentspecs/mcp-servers/huggingface.yaml index 1ec8523..028ae42 100644 --- a/agentspecs/mcp-servers/huggingface.yaml +++ b/agentspecs/mcp-servers/huggingface.yaml @@ -5,6 +5,7 @@ # Provides access to Hugging Face models, datasets, spaces, and papers id: huggingface +version: 0.0.1 name: Hugging Face description: Hugging Face models, datasets, spaces, and papers access @@ -25,7 +26,7 @@ enabled: true # Environment variable specifications envvars: - - HF_TOKEN + - HF_TOKEN:0.0.1 # Optional environment variables to pass to the server process env: {} diff --git a/agentspecs/mcp-servers/kaggle.yaml b/agentspecs/mcp-servers/kaggle.yaml index 79f86f7..967937e 100644 --- a/agentspecs/mcp-servers/kaggle.yaml +++ b/agentspecs/mcp-servers/kaggle.yaml @@ -5,6 +5,7 @@ # Provides access to Kaggle datasets, competitions, models, and notebooks id: kaggle +version: 0.0.1 name: Kaggle description: Kaggle datasets, models, competitions, and notebooks access @@ -25,7 +26,7 @@ enabled: true # Environment variable specifications envvars: - - KAGGLE_TOKEN + - KAGGLE_TOKEN:0.0.1 # Optional environment variables to pass to the server process env: {} diff --git a/agentspecs/mcp-servers/salesforce.yaml b/agentspecs/mcp-servers/salesforce.yaml index d2e3612..77719a0 100644 --- a/agentspecs/mcp-servers/salesforce.yaml +++ b/agentspecs/mcp-servers/salesforce.yaml @@ -5,6 +5,7 @@ # Provides Salesforce CRM operations (queries, reports, objects, SOQL) id: salesforce +version: 0.0.1 name: Salesforce description: Salesforce CRM operations (queries, reports, objects, SOQL) @@ -21,8 +22,8 @@ env: SALESFORCE_INSTANCE_URL: "${SALESFORCE_INSTANCE_URL}" envvars: - - SALESFORCE_ACCESS_TOKEN - - SALESFORCE_INSTANCE_URL + - SALESFORCE_ACCESS_TOKEN:0.0.1 + - SALESFORCE_INSTANCE_URL:0.0.1 tags: - crm diff --git a/agentspecs/mcp-servers/slack.yaml b/agentspecs/mcp-servers/slack.yaml index f13bba1..c8a9030 100644 --- a/agentspecs/mcp-servers/slack.yaml +++ b/agentspecs/mcp-servers/slack.yaml @@ -2,6 +2,7 @@ # Distributed under the terms of the Modified BSD License. id: slack +version: 0.0.1 name: Slack description: Slack messaging and channel operations @@ -13,9 +14,9 @@ args: transport: stdio envvars: - - SLACK_BOT_TOKEN - - SLACK_TEAM_ID - - SLACK_CHANNEL_IDS + - SLACK_BOT_TOKEN:0.0.1 + - SLACK_TEAM_ID:0.0.1 + - SLACK_CHANNEL_IDS:0.0.1 env: SLACK_BOT_TOKEN: "${SLACK_BOT_TOKEN}" diff --git a/agentspecs/mcp-servers/tavily.yaml b/agentspecs/mcp-servers/tavily.yaml index 0149a8d..cf30cc1 100644 --- a/agentspecs/mcp-servers/tavily.yaml +++ b/agentspecs/mcp-servers/tavily.yaml @@ -2,6 +2,7 @@ # Distributed under the terms of the Modified BSD License. id: tavily +version: 0.0.1 name: Tavily Search description: Web search and research capabilities via Tavily API @@ -16,7 +17,7 @@ env: TAVILY_API_KEY: ${TAVILY_API_KEY} envvars: - - TAVILY_API_KEY + - TAVILY_API_KEY:0.0.1 tags: - search diff --git a/agentspecs/memory/ephemeral.yaml b/agentspecs/memory/ephemeral.yaml index 55301b3..d712d93 100644 --- a/agentspecs/memory/ephemeral.yaml +++ b/agentspecs/memory/ephemeral.yaml @@ -7,6 +7,7 @@ # that only need to remember context within a single session. id: ephemeral +version: 0.0.1 name: Ephemeral Memory description: > Simple in-process memory that lives and dies with the agent. Stores diff --git a/agentspecs/memory/mem0.yaml b/agentspecs/memory/mem0.yaml index fba1f56..408469e 100644 --- a/agentspecs/memory/mem0.yaml +++ b/agentspecs/memory/mem0.yaml @@ -7,6 +7,7 @@ # extraction, deduplication, and semantic search. id: mem0 +version: 0.0.1 name: Mem0 Memory description: > Universal memory layer powered by Mem0 (mem-zero). Enhances AI agents diff --git a/agentspecs/memory/memu.yaml b/agentspecs/memory/memu.yaml index 24c656e..3150676 100644 --- a/agentspecs/memory/memu.yaml +++ b/agentspecs/memory/memu.yaml @@ -8,6 +8,7 @@ # items, and resources. Designed for long-running, always-on agents. id: memu +version: 0.0.1 name: memU Proactive Memory description: > Proactive memory framework built for 24/7 always-on agents. Continuously diff --git a/agentspecs/memory/simplemem.yaml b/agentspecs/memory/simplemem.yaml index 69a2b7e..87302cc 100644 --- a/agentspecs/memory/simplemem.yaml +++ b/agentspecs/memory/simplemem.yaml @@ -8,6 +8,7 @@ # with intent-aware retrieval planning. id: simplemem +version: 0.0.1 name: SimpleMem Lifelong Memory description: > Efficient lifelong memory framework based on semantic lossless compression. diff --git a/agentspecs/models/anthropic-claude-haiku-3-5.yaml b/agentspecs/models/anthropic-claude-haiku-3-5.yaml index 0e7383f..6845fca 100644 --- a/agentspecs/models/anthropic-claude-haiku-3-5.yaml +++ b/agentspecs/models/anthropic-claude-haiku-3-5.yaml @@ -4,6 +4,7 @@ # AI Model Specification: Anthropic Claude Haiku 3.5 id: "anthropic:claude-3-5-haiku-20241022" +version: 0.0.1 name: Anthropic Claude Haiku 3.5 description: Claude Haiku 3.5 by Anthropic - fast and efficient provider: anthropic diff --git a/agentspecs/models/anthropic-claude-opus-4.yaml b/agentspecs/models/anthropic-claude-opus-4.yaml index 05d0e7f..defb26f 100644 --- a/agentspecs/models/anthropic-claude-opus-4.yaml +++ b/agentspecs/models/anthropic-claude-opus-4.yaml @@ -4,6 +4,7 @@ # AI Model Specification: Anthropic Claude Opus 4 id: "anthropic:claude-opus-4-20250514" +version: 0.0.1 name: Anthropic Claude Opus 4 description: Claude Opus 4 by Anthropic - highest capability model provider: anthropic diff --git a/agentspecs/models/anthropic-claude-sonnet-4-5.yaml b/agentspecs/models/anthropic-claude-sonnet-4-5.yaml index f31fb6d..71f4900 100644 --- a/agentspecs/models/anthropic-claude-sonnet-4-5.yaml +++ b/agentspecs/models/anthropic-claude-sonnet-4-5.yaml @@ -4,6 +4,7 @@ # AI Model Specification: Anthropic Claude Sonnet 4.5 id: "anthropic:claude-sonnet-4-5-20250514" +version: 0.0.1 name: Anthropic Claude Sonnet 4.5 description: Claude Sonnet 4.5 by Anthropic - balanced performance and speed provider: anthropic diff --git a/agentspecs/models/anthropic-claude-sonnet-4.yaml b/agentspecs/models/anthropic-claude-sonnet-4.yaml index b105c36..0871405 100644 --- a/agentspecs/models/anthropic-claude-sonnet-4.yaml +++ b/agentspecs/models/anthropic-claude-sonnet-4.yaml @@ -4,6 +4,7 @@ # AI Model Specification: Anthropic Claude Sonnet 4 id: "anthropic:claude-sonnet-4-20250514" +version: 0.0.1 name: Anthropic Claude Sonnet 4 description: Claude Sonnet 4 by Anthropic - strong reasoning and coding provider: anthropic diff --git a/agentspecs/models/azure-openai-gpt-4-1-mini.yaml b/agentspecs/models/azure-openai-gpt-4-1-mini.yaml index e811ce7..42d9813 100644 --- a/agentspecs/models/azure-openai-gpt-4-1-mini.yaml +++ b/agentspecs/models/azure-openai-gpt-4-1-mini.yaml @@ -4,6 +4,7 @@ # AI Model Specification: Azure OpenAI GPT-4.1 Mini id: "azure-openai:gpt-4.1-mini" +version: 0.0.1 name: Azure OpenAI GPT-4.1 Mini description: GPT-4.1 Mini via Azure OpenAI - compact version provider: azure-openai diff --git a/agentspecs/models/azure-openai-gpt-4-1-nano.yaml b/agentspecs/models/azure-openai-gpt-4-1-nano.yaml index c264a9d..9957b58 100644 --- a/agentspecs/models/azure-openai-gpt-4-1-nano.yaml +++ b/agentspecs/models/azure-openai-gpt-4-1-nano.yaml @@ -4,6 +4,7 @@ # AI Model Specification: Azure OpenAI GPT-4.1 Nano id: "azure-openai:gpt-4.1-nano" +version: 0.0.1 name: Azure OpenAI GPT-4.1 Nano description: GPT-4.1 Nano via Azure OpenAI - smallest and fastest provider: azure-openai diff --git a/agentspecs/models/azure-openai-gpt-4-1.yaml b/agentspecs/models/azure-openai-gpt-4-1.yaml index 951f846..d1fca01 100644 --- a/agentspecs/models/azure-openai-gpt-4-1.yaml +++ b/agentspecs/models/azure-openai-gpt-4-1.yaml @@ -4,6 +4,7 @@ # AI Model Specification: Azure OpenAI GPT-4.1 id: "azure-openai:gpt-4.1" +version: 0.0.1 name: Azure OpenAI GPT-4.1 description: GPT-4.1 via Azure OpenAI - strong general purpose provider: azure-openai diff --git a/agentspecs/models/azure-openai-gpt-4o-mini.yaml b/agentspecs/models/azure-openai-gpt-4o-mini.yaml index ff0c507..f4ba69c 100644 --- a/agentspecs/models/azure-openai-gpt-4o-mini.yaml +++ b/agentspecs/models/azure-openai-gpt-4o-mini.yaml @@ -4,6 +4,7 @@ # AI Model Specification: Azure OpenAI GPT-4o Mini id: "azure-openai:gpt-4o-mini" +version: 0.0.1 name: Azure OpenAI GPT-4o Mini description: GPT-4o Mini via Azure OpenAI - compact enterprise deployment provider: azure-openai diff --git a/agentspecs/models/azure-openai-gpt-4o.yaml b/agentspecs/models/azure-openai-gpt-4o.yaml index 9ad33ba..c6c4f27 100644 --- a/agentspecs/models/azure-openai-gpt-4o.yaml +++ b/agentspecs/models/azure-openai-gpt-4o.yaml @@ -4,6 +4,7 @@ # AI Model Specification: Azure OpenAI GPT-4o id: "azure-openai:gpt-4o" +version: 0.0.1 name: Azure OpenAI GPT-4o description: GPT-4o via Azure OpenAI - enterprise deployment provider: azure-openai diff --git a/agentspecs/models/bedrock-claude-haiku-3-5.yaml b/agentspecs/models/bedrock-claude-haiku-3-5.yaml index 1a77dc4..49b9bc2 100644 --- a/agentspecs/models/bedrock-claude-haiku-3-5.yaml +++ b/agentspecs/models/bedrock-claude-haiku-3-5.yaml @@ -4,6 +4,7 @@ # AI Model Specification: Bedrock Claude Haiku 3.5 id: "bedrock:us.anthropic.claude-3-5-haiku-20241022-v1:0" +version: 0.0.1 name: Bedrock Claude Haiku 3.5 description: Claude Haiku 3.5 via AWS Bedrock - fast and efficient provider: bedrock diff --git a/agentspecs/models/bedrock-claude-opus-4-6.yaml b/agentspecs/models/bedrock-claude-opus-4-6.yaml index deb2214..dbff078 100644 --- a/agentspecs/models/bedrock-claude-opus-4-6.yaml +++ b/agentspecs/models/bedrock-claude-opus-4-6.yaml @@ -4,6 +4,7 @@ # AI Model Specification: Bedrock Claude Opus 4.6 id: "bedrock:us.anthropic.claude-opus-4-6-v1" +version: 0.0.1 name: Bedrock Claude Opus 4.6 description: Claude Opus 4.6 via AWS Bedrock provider: bedrock diff --git a/agentspecs/models/bedrock-claude-opus-4.yaml b/agentspecs/models/bedrock-claude-opus-4.yaml index b630005..f657ac0 100644 --- a/agentspecs/models/bedrock-claude-opus-4.yaml +++ b/agentspecs/models/bedrock-claude-opus-4.yaml @@ -4,6 +4,7 @@ # AI Model Specification: Bedrock Claude Opus 4 id: "bedrock:us.anthropic.claude-opus-4-20250514-v1:0" +version: 0.0.1 name: Bedrock Claude Opus 4 description: Claude Opus 4 via AWS Bedrock - highest capability provider: bedrock diff --git a/agentspecs/models/bedrock-claude-sonnet-4-5.yaml b/agentspecs/models/bedrock-claude-sonnet-4-5.yaml index 84b6777..f6a2dae 100644 --- a/agentspecs/models/bedrock-claude-sonnet-4-5.yaml +++ b/agentspecs/models/bedrock-claude-sonnet-4-5.yaml @@ -4,6 +4,7 @@ # AI Model Specification: Bedrock Claude Sonnet 4.5 id: "bedrock:us.anthropic.claude-sonnet-4-5-20250929-v1:0" +version: 0.0.1 name: Bedrock Claude Sonnet 4.5 description: Claude Sonnet 4.5 via AWS Bedrock - balanced performance provider: bedrock diff --git a/agentspecs/models/bedrock-claude-sonnet-4.yaml b/agentspecs/models/bedrock-claude-sonnet-4.yaml index 302bfd2..f4efc1a 100644 --- a/agentspecs/models/bedrock-claude-sonnet-4.yaml +++ b/agentspecs/models/bedrock-claude-sonnet-4.yaml @@ -4,6 +4,7 @@ # AI Model Specification: Bedrock Claude Sonnet 4 id: "bedrock:us.anthropic.claude-sonnet-4-20250514-v1:0" +version: 0.0.1 name: Bedrock Claude Sonnet 4 description: Claude Sonnet 4 via AWS Bedrock - strong reasoning provider: bedrock diff --git a/agentspecs/models/openai-gpt-4-1-mini.yaml b/agentspecs/models/openai-gpt-4-1-mini.yaml index 98d1bbf..fbd7dea 100644 --- a/agentspecs/models/openai-gpt-4-1-mini.yaml +++ b/agentspecs/models/openai-gpt-4-1-mini.yaml @@ -4,6 +4,7 @@ # AI Model Specification: OpenAI GPT-4.1 Mini id: "openai:gpt-4.1-mini" +version: 0.0.1 name: OpenAI GPT-4.1 Mini description: GPT-4.1 Mini by OpenAI - compact version of GPT-4.1 provider: openai diff --git a/agentspecs/models/openai-gpt-4-1-nano.yaml b/agentspecs/models/openai-gpt-4-1-nano.yaml index 8f71871..b868c83 100644 --- a/agentspecs/models/openai-gpt-4-1-nano.yaml +++ b/agentspecs/models/openai-gpt-4-1-nano.yaml @@ -4,6 +4,7 @@ # AI Model Specification: OpenAI GPT-4.1 Nano id: "openai:gpt-4.1-nano" +version: 0.0.1 name: OpenAI GPT-4.1 Nano description: GPT-4.1 Nano by OpenAI - smallest and fastest provider: openai diff --git a/agentspecs/models/openai-gpt-4-1.yaml b/agentspecs/models/openai-gpt-4-1.yaml index d1398d3..93e308b 100644 --- a/agentspecs/models/openai-gpt-4-1.yaml +++ b/agentspecs/models/openai-gpt-4-1.yaml @@ -4,6 +4,7 @@ # AI Model Specification: OpenAI GPT-4.1 id: "openai:gpt-4.1" +version: 0.0.1 name: OpenAI GPT-4.1 description: GPT-4.1 by OpenAI - strong general purpose model provider: openai diff --git a/agentspecs/models/openai-gpt-4o-mini.yaml b/agentspecs/models/openai-gpt-4o-mini.yaml index 1daa9bb..145baba 100644 --- a/agentspecs/models/openai-gpt-4o-mini.yaml +++ b/agentspecs/models/openai-gpt-4o-mini.yaml @@ -4,6 +4,7 @@ # AI Model Specification: OpenAI GPT-4o Mini id: "openai:gpt-4o-mini" +version: 0.0.1 name: OpenAI GPT-4o Mini description: GPT-4o Mini by OpenAI - compact and cost-effective provider: openai diff --git a/agentspecs/models/openai-gpt-4o.yaml b/agentspecs/models/openai-gpt-4o.yaml index df42ce4..2a2f043 100644 --- a/agentspecs/models/openai-gpt-4o.yaml +++ b/agentspecs/models/openai-gpt-4o.yaml @@ -4,6 +4,7 @@ # AI Model Specification: OpenAI GPT-4o id: "openai:gpt-4o" +version: 0.0.1 name: OpenAI GPT-4o description: GPT-4o by OpenAI - fast multimodal model provider: openai diff --git a/agentspecs/models/openai-o3-mini.yaml b/agentspecs/models/openai-o3-mini.yaml index 2e9518c..891ca74 100644 --- a/agentspecs/models/openai-o3-mini.yaml +++ b/agentspecs/models/openai-o3-mini.yaml @@ -4,6 +4,7 @@ # AI Model Specification: OpenAI o3 Mini id: "openai:o3-mini" +version: 0.0.1 name: OpenAI o3 Mini description: o3 Mini by OpenAI - reasoning-focused compact model provider: openai diff --git a/agentspecs/notifications/email.yaml b/agentspecs/notifications/email.yaml index c6ddc71..a371e3f 100644 --- a/agentspecs/notifications/email.yaml +++ b/agentspecs/notifications/email.yaml @@ -2,6 +2,7 @@ # Distributed under the terms of the Modified BSD License. id: email +version: 0.0.1 name: Email description: >- Send notifications via email when agent events occur. diff --git a/agentspecs/notifications/slack.yaml b/agentspecs/notifications/slack.yaml index d34728b..27049e7 100644 --- a/agentspecs/notifications/slack.yaml +++ b/agentspecs/notifications/slack.yaml @@ -2,6 +2,7 @@ # Distributed under the terms of the Modified BSD License. id: slack +version: 0.0.1 name: Slack description: >- Post notifications to a Slack channel or direct message when diff --git a/agentspecs/notifications/teams.yaml b/agentspecs/notifications/teams.yaml index b8ef4c5..dcfbe5c 100644 --- a/agentspecs/notifications/teams.yaml +++ b/agentspecs/notifications/teams.yaml @@ -2,6 +2,7 @@ # Distributed under the terms of the Modified BSD License. id: teams +version: 0.0.1 name: Teams description: >- Post notifications to a Microsoft Teams channel via incoming diff --git a/agentspecs/notifications/webhook.yaml b/agentspecs/notifications/webhook.yaml index 42307dd..7327486 100644 --- a/agentspecs/notifications/webhook.yaml +++ b/agentspecs/notifications/webhook.yaml @@ -2,6 +2,7 @@ # Distributed under the terms of the Modified BSD License. id: webhook +version: 0.0.1 name: Webhook description: >- Send notifications to a custom HTTP endpoint via POST request. diff --git a/agentspecs/outputs/api-push.yaml b/agentspecs/outputs/api-push.yaml index e1bf805..50ff346 100644 --- a/agentspecs/outputs/api-push.yaml +++ b/agentspecs/outputs/api-push.yaml @@ -2,6 +2,7 @@ # Distributed under the terms of the Modified BSD License. id: api-push +version: 0.0.1 name: API Push description: >- Push results to an external API endpoint via HTTP POST. diff --git a/agentspecs/outputs/csv.yaml b/agentspecs/outputs/csv.yaml index fa80870..5b584a8 100644 --- a/agentspecs/outputs/csv.yaml +++ b/agentspecs/outputs/csv.yaml @@ -2,6 +2,7 @@ # Distributed under the terms of the Modified BSD License. id: csv +version: 0.0.1 name: CSV description: >- Deliver results as a CSV file for easy import into spreadsheets, diff --git a/agentspecs/outputs/dashboard.yaml b/agentspecs/outputs/dashboard.yaml index 7894328..6223ce9 100644 --- a/agentspecs/outputs/dashboard.yaml +++ b/agentspecs/outputs/dashboard.yaml @@ -2,6 +2,7 @@ # Distributed under the terms of the Modified BSD License. id: dashboard +version: 0.0.1 name: Dashboard description: >- Deliver results as an interactive dashboard with charts, diff --git a/agentspecs/outputs/document.yaml b/agentspecs/outputs/document.yaml index d6049eb..6147a19 100644 --- a/agentspecs/outputs/document.yaml +++ b/agentspecs/outputs/document.yaml @@ -2,6 +2,7 @@ # Distributed under the terms of the Modified BSD License. id: document +version: 0.0.1 name: Document description: >- Deliver results as a structured document (PDF, DOCX, or Markdown) diff --git a/agentspecs/outputs/email.yaml b/agentspecs/outputs/email.yaml index 5ad8b53..ba28704 100644 --- a/agentspecs/outputs/email.yaml +++ b/agentspecs/outputs/email.yaml @@ -2,6 +2,7 @@ # Distributed under the terms of the Modified BSD License. id: email +version: 0.0.1 name: Email description: >- Send results as an email attachment or inline HTML body. diff --git a/agentspecs/outputs/json.yaml b/agentspecs/outputs/json.yaml index a22ca3c..89420da 100644 --- a/agentspecs/outputs/json.yaml +++ b/agentspecs/outputs/json.yaml @@ -2,6 +2,7 @@ # Distributed under the terms of the Modified BSD License. id: json +version: 0.0.1 name: JSON description: >- Deliver results as structured JSON data, suitable for diff --git a/agentspecs/outputs/notebook.yaml b/agentspecs/outputs/notebook.yaml index 5c6c9f7..1b05b2e 100644 --- a/agentspecs/outputs/notebook.yaml +++ b/agentspecs/outputs/notebook.yaml @@ -2,6 +2,7 @@ # Distributed under the terms of the Modified BSD License. id: notebook +version: 0.0.1 name: Notebook description: >- Deliver results as a Jupyter notebook with executable cells, diff --git a/agentspecs/outputs/spreadsheet.yaml b/agentspecs/outputs/spreadsheet.yaml index 5de4e47..49b3358 100644 --- a/agentspecs/outputs/spreadsheet.yaml +++ b/agentspecs/outputs/spreadsheet.yaml @@ -2,6 +2,7 @@ # Distributed under the terms of the Modified BSD License. id: spreadsheet +version: 0.0.1 name: Spreadsheet description: >- Deliver results as an Excel spreadsheet with formatted tables, diff --git a/agentspecs/skills/crawl.yaml b/agentspecs/skills/crawl.yaml index 00ae12d..c3c08b1 100644 --- a/agentspecs/skills/crawl.yaml +++ b/agentspecs/skills/crawl.yaml @@ -2,13 +2,14 @@ # Distributed under the terms of the Modified BSD License. id: crawl +version: 0.0.1 name: Web Crawl Skill description: Web crawling and content extraction capabilities module: agent_skills.crawl envvars: - - TAVILY_API_KEY + - TAVILY_API_KEY:0.0.1 dependencies: - requests>=2.31.0 diff --git a/agentspecs/skills/events.yaml b/agentspecs/skills/events.yaml index bd08081..1579e9c 100644 --- a/agentspecs/skills/events.yaml +++ b/agentspecs/skills/events.yaml @@ -2,6 +2,7 @@ # Distributed under the terms of the Modified BSD License. id: events +version: 0.0.1 name: Events Skill description: Event generation, enrichment, and lifecycle orchestration diff --git a/agentspecs/skills/github.yaml b/agentspecs/skills/github.yaml index ef3053c..b21efa4 100644 --- a/agentspecs/skills/github.yaml +++ b/agentspecs/skills/github.yaml @@ -2,13 +2,14 @@ # Distributed under the terms of the Modified BSD License. id: github +version: 0.0.1 name: GitHub Skill description: GitHub repository management and code operations module: agent_skills.github envvars: - - GITHUB_TOKEN + - GITHUB_TOKEN:0.0.1 dependencies: - PyGithub>=2.1.0 diff --git a/agentspecs/skills/pdf.yaml b/agentspecs/skills/pdf.yaml index 5904bc7..42ca2b9 100644 --- a/agentspecs/skills/pdf.yaml +++ b/agentspecs/skills/pdf.yaml @@ -2,6 +2,7 @@ # Distributed under the terms of the Modified BSD License. id: pdf +version: 0.0.1 name: PDF Processing Skill description: PDF document reading, parsing, and extraction diff --git a/agentspecs/teams/analyze-campaign-performance.yaml b/agentspecs/teams/analyze-campaign-performance.yaml index 726062e..91e11e8 100644 --- a/agentspecs/teams/analyze-campaign-performance.yaml +++ b/agentspecs/teams/analyze-campaign-performance.yaml @@ -5,6 +5,7 @@ # Auto-extracted from agent spec analyze-campaign-performance id: analyze-campaign-performance +version: 0.0.1 name: Analyze Campaign Performance description: 'A multi-agent team that unifies marketing data from Google Ads, Meta, TikTok, LinkedIn, GA4, CRM, and email platforms. Normalises metrics into a unified view, detects performance anomalies @@ -22,7 +23,7 @@ enabled: true icon: megaphone emoji: ๐Ÿ“ข color: '#8250df' -agent_spec_id: analyze-campaign-performance +agent_spec_id: analyze-campaign-performance:0.0.1 orchestration_protocol: datalayer execution_mode: sequential supervisor: diff --git a/agentspecs/teams/analyze-support-tickets.yaml b/agentspecs/teams/analyze-support-tickets.yaml index c957a57..2101cbf 100644 --- a/agentspecs/teams/analyze-support-tickets.yaml +++ b/agentspecs/teams/analyze-support-tickets.yaml @@ -5,6 +5,7 @@ # Auto-extracted from agent spec analyze-support-tickets id: analyze-support-tickets +version: 0.0.1 name: Analyze Support Tickets description: 'A multi-agent team that triages incoming support tickets, categorizes by urgency and topic, identifies recurring patterns, and generates resolution recommendations with escalation paths. @@ -19,7 +20,7 @@ enabled: true icon: issue-opened emoji: ๐ŸŽซ color: '#bf8700' -agent_spec_id: analyze-support-tickets +agent_spec_id: analyze-support-tickets:0.0.1 orchestration_protocol: datalayer execution_mode: sequential supervisor: diff --git a/agentspecs/teams/audit-inventory-levels.yaml b/agentspecs/teams/audit-inventory-levels.yaml index b029bbc..2257400 100644 --- a/agentspecs/teams/audit-inventory-levels.yaml +++ b/agentspecs/teams/audit-inventory-levels.yaml @@ -5,6 +5,7 @@ # Auto-extracted from agent spec audit-inventory-levels id: audit-inventory-levels +version: 0.0.1 name: Audit Inventory Levels description: 'A multi-agent team that monitors inventory levels across warehouses, detects discrepancies between physical and system counts, forecasts demand by SKU, and generates automated reorder recommendations. @@ -19,7 +20,7 @@ enabled: true icon: package emoji: ๐Ÿ“ฆ color: '#0969da' -agent_spec_id: audit-inventory-levels +agent_spec_id: audit-inventory-levels:0.0.1 orchestration_protocol: datalayer execution_mode: sequential supervisor: diff --git a/agentspecs/teams/automate-regulatory-reporting.yaml b/agentspecs/teams/automate-regulatory-reporting.yaml index c17afd3..94e4fa4 100644 --- a/agentspecs/teams/automate-regulatory-reporting.yaml +++ b/agentspecs/teams/automate-regulatory-reporting.yaml @@ -5,6 +5,7 @@ # Auto-extracted from agent spec automate-regulatory-reporting id: automate-regulatory-reporting +version: 0.0.1 name: Automate Regulatory Reporting description: 'A multi-agent team that automates end-to-end regulatory reporting for financial institutions. Ingests data from trading systems, risk engines, and accounting platforms, reconciles positions, computes @@ -23,7 +24,7 @@ enabled: true icon: shield-check emoji: ๐Ÿฆ color: '#0969da' -agent_spec_id: automate-regulatory-reporting +agent_spec_id: automate-regulatory-reporting:0.0.1 orchestration_protocol: datalayer execution_mode: sequential supervisor: diff --git a/agentspecs/teams/comprehensive-sales-analytics.yaml b/agentspecs/teams/comprehensive-sales-analytics.yaml index abb6168..c40e8ae 100644 --- a/agentspecs/teams/comprehensive-sales-analytics.yaml +++ b/agentspecs/teams/comprehensive-sales-analytics.yaml @@ -5,6 +5,7 @@ # Auto-extracted from agent spec comprehensive-sales-analytics id: comprehensive-sales-analytics +version: 0.0.1 name: Comprehensive Sales Analytics description: 'A multi-agent team that replaces a single KPI monitor with four specialized agents: a Data Collector that pulls real-time CRM metrics, an Anomaly Detector that flags statistical outliers, a Trend @@ -23,7 +24,7 @@ enabled: true icon: graph emoji: ๐Ÿ“ˆ color: '#1a7f37' -agent_spec_id: comprehensive-sales-analytics +agent_spec_id: comprehensive-sales-analytics:0.0.1 orchestration_protocol: datalayer execution_mode: sequential supervisor: diff --git a/agentspecs/teams/optimize-grid-operations.yaml b/agentspecs/teams/optimize-grid-operations.yaml index 05fadc8..c7e83f8 100644 --- a/agentspecs/teams/optimize-grid-operations.yaml +++ b/agentspecs/teams/optimize-grid-operations.yaml @@ -5,6 +5,7 @@ # Auto-extracted from agent spec optimize-grid-operations id: optimize-grid-operations +version: 0.0.1 name: Optimize Grid Operations description: 'A multi-agent team that processes millions of IoT sensor data points from smart meters, substations, and renewable generation assets. Predicts equipment failures 2โ€“4 weeks in advance, optimises @@ -22,7 +23,7 @@ enabled: true icon: zap emoji: โšก color: '#1a7f37' -agent_spec_id: optimize-grid-operations +agent_spec_id: optimize-grid-operations:0.0.1 orchestration_protocol: datalayer execution_mode: sequential supervisor: diff --git a/agentspecs/teams/process-citizen-requests.yaml b/agentspecs/teams/process-citizen-requests.yaml index 06c1422..6a3a7c8 100644 --- a/agentspecs/teams/process-citizen-requests.yaml +++ b/agentspecs/teams/process-citizen-requests.yaml @@ -5,6 +5,7 @@ # Auto-extracted from agent spec process-citizen-requests id: process-citizen-requests +version: 0.0.1 name: Process Citizen Requests description: 'A multi-agent team that automates citizen request processing for government agencies. Classifies and triages permits, FOIA requests, and benefit claims from multiple channels. Models policy impacts @@ -23,7 +24,7 @@ enabled: true icon: organization emoji: ๐Ÿ›๏ธ color: '#0550ae' -agent_spec_id: process-citizen-requests +agent_spec_id: process-citizen-requests:0.0.1 orchestration_protocol: datalayer execution_mode: sequential supervisor: diff --git a/agentspecs/teams/process-clinical-trial-data.yaml b/agentspecs/teams/process-clinical-trial-data.yaml index f98af73..547168d 100644 --- a/agentspecs/teams/process-clinical-trial-data.yaml +++ b/agentspecs/teams/process-clinical-trial-data.yaml @@ -5,6 +5,7 @@ # Auto-extracted from agent spec process-clinical-trial-data id: process-clinical-trial-data +version: 0.0.1 name: Process Clinical Trial Data description: 'A multi-agent team that automates clinical trial data processing across dozens of trial sites. Harmonises patient records and lab results to CDISC SDTM format, detects safety signals and adverse @@ -22,7 +23,7 @@ enabled: true icon: heart emoji: ๐Ÿฅ color: '#cf222e' -agent_spec_id: process-clinical-trial-data +agent_spec_id: process-clinical-trial-data:0.0.1 orchestration_protocol: datalayer execution_mode: sequential supervisor: diff --git a/agentspecs/teams/sync-crm-contacts.yaml b/agentspecs/teams/sync-crm-contacts.yaml index 36b2a3f..70bc8b4 100644 --- a/agentspecs/teams/sync-crm-contacts.yaml +++ b/agentspecs/teams/sync-crm-contacts.yaml @@ -5,6 +5,7 @@ # Auto-extracted from agent spec sync-crm-contacts id: sync-crm-contacts +version: 0.0.1 name: Sync CRM Contacts description: 'A multi-agent team that collects and aggregates contact data from multiple CRM sources, analyzes and deduplicates records, writes cleaned data back, and generates sync summary reports. @@ -19,7 +20,7 @@ enabled: true icon: people emoji: ๐Ÿ”„ color: '#0969da' -agent_spec_id: sync-crm-contacts +agent_spec_id: sync-crm-contacts:0.0.1 orchestration_protocol: datalayer execution_mode: sequential supervisor: diff --git a/agentspecs/tools/runtime-echo.yaml b/agentspecs/tools/runtime-echo.yaml index 4b69a88..118eb78 100644 --- a/agentspecs/tools/runtime-echo.yaml +++ b/agentspecs/tools/runtime-echo.yaml @@ -2,6 +2,7 @@ # Distributed under the terms of the Modified BSD License. id: runtime-echo +version: 0.0.1 name: Runtime Echo description: Echo text back to the caller for quick runtime verification. tags: diff --git a/agentspecs/tools/runtime-send-mail.yaml b/agentspecs/tools/runtime-send-mail.yaml index 51b250e..d637180 100644 --- a/agentspecs/tools/runtime-send-mail.yaml +++ b/agentspecs/tools/runtime-send-mail.yaml @@ -2,6 +2,7 @@ # Distributed under the terms of the Modified BSD License. id: runtime-send-mail +version: 0.0.1 name: Runtime Send Mail (Fake) description: Fake mail sender for tool approval demos; returns a simulated send receipt. tags: diff --git a/agentspecs/tools/runtime-sensitive-echo.yaml b/agentspecs/tools/runtime-sensitive-echo.yaml index 3e87c32..cdbb6c5 100644 --- a/agentspecs/tools/runtime-sensitive-echo.yaml +++ b/agentspecs/tools/runtime-sensitive-echo.yaml @@ -2,6 +2,7 @@ # Distributed under the terms of the Modified BSD License. id: runtime-sensitive-echo +version: 0.0.1 name: Runtime Sensitive Echo description: Echo text with a manual approval checkpoint before execution. tags: diff --git a/agentspecs/triggers/event.yaml b/agentspecs/triggers/event.yaml index f60b328..cb70d53 100644 --- a/agentspecs/triggers/event.yaml +++ b/agentspecs/triggers/event.yaml @@ -2,6 +2,7 @@ # Distributed under the terms of the Modified BSD License. id: event +version: 0.0.1 name: Event-Based description: >- Trigger on specific events such as a webhook call, API request, diff --git a/agentspecs/triggers/once.yaml b/agentspecs/triggers/once.yaml index 97cfeda..cb04d03 100644 --- a/agentspecs/triggers/once.yaml +++ b/agentspecs/triggers/once.yaml @@ -2,6 +2,7 @@ # Distributed under the terms of the Modified BSD License. id: once +version: 0.0.1 name: Run Once description: Execute agent immediately after deployment. type: once diff --git a/agentspecs/triggers/schedule.yaml b/agentspecs/triggers/schedule.yaml index f4ccb36..2989729 100644 --- a/agentspecs/triggers/schedule.yaml +++ b/agentspecs/triggers/schedule.yaml @@ -2,6 +2,7 @@ # Distributed under the terms of the Modified BSD License. id: schedule +version: 0.0.1 name: Schedule description: >- Run on a recurring schedule using a cron expression From 94a4c62e55f78c0bbe9b16d7b95bc5ccdf193152 Mon Sep 17 00:00:00 2001 From: Eric Charles Date: Wed, 25 Mar 2026 05:21:25 +0100 Subject: [PATCH 15/44] docs --- README.md | 577 +++++++------------------ docs/docs/agents/index.mdx | 201 ++++----- docs/docs/env-vars/index.mdx | 12 +- docs/docs/evals/_category_.yml | 2 + docs/docs/evals/index.mdx | 26 ++ docs/docs/guardrails/_category_.yml | 2 + docs/docs/guardrails/index.mdx | 28 ++ docs/docs/index.mdx | 127 +++--- docs/docs/mcp-servers/index.mdx | 27 +- docs/docs/memory/_category_.yml | 2 + docs/docs/memory/index.mdx | 26 ++ docs/docs/models/index.mdx | 19 + docs/docs/notifications/_category_.yml | 2 + docs/docs/notifications/index.mdx | 36 ++ docs/docs/outputs/_category_.yml | 2 + docs/docs/outputs/index.mdx | 38 ++ docs/docs/skills/index.mdx | 26 +- docs/docs/teams/_category_.yml | 2 + docs/docs/teams/index.mdx | 39 ++ docs/docs/tools/_category_.yml | 2 + docs/docs/tools/index.mdx | 47 ++ docs/docs/triggers/_category_.yml | 2 + docs/docs/triggers/index.mdx | 25 ++ docs/docusaurus.config.js | 2 +- 24 files changed, 656 insertions(+), 616 deletions(-) create mode 100644 docs/docs/evals/_category_.yml create mode 100644 docs/docs/evals/index.mdx create mode 100644 docs/docs/guardrails/_category_.yml create mode 100644 docs/docs/guardrails/index.mdx create mode 100644 docs/docs/memory/_category_.yml create mode 100644 docs/docs/memory/index.mdx create mode 100644 docs/docs/notifications/_category_.yml create mode 100644 docs/docs/notifications/index.mdx create mode 100644 docs/docs/outputs/_category_.yml create mode 100644 docs/docs/outputs/index.mdx create mode 100644 docs/docs/teams/_category_.yml create mode 100644 docs/docs/teams/index.mdx create mode 100644 docs/docs/tools/_category_.yml create mode 100644 docs/docs/tools/index.mdx create mode 100644 docs/docs/triggers/_category_.yml create mode 100644 docs/docs/triggers/index.mdx diff --git a/README.md b/README.md index 0772b6e..8e8dc98 100644 --- a/README.md +++ b/README.md @@ -1,484 +1,233 @@ -# ๐Ÿค–๐Ÿ‘ทโ€โ™‚๏ธ Agent Specs + -YAML-based specifications for AI agents, MCP servers, skills, and environment variables. +[![Datalayer](https://assets.datalayer.tech/datalayer-25.svg)](https://datalayer.ai) -## Overview +[![Become a Sponsor](https://img.shields.io/static/v1?label=Become%20a%20Sponsor&message=%E2%9D%A4&logo=GitHub&style=flat&color=1ABC9C)](https://github.com/sponsors/datalayer) -This repository contains declarative specifications in YAML format that define: +# ๐Ÿงพ Agentspecs -### Specification Types -- **Agent Specs** (`agentspecs/agents/`) - Agent configurations organized by category (code-ai/, codemode-paper/, datalayer-ai/) -- **MCP Server Specs** (`agentspecs/mcp-servers/`) - MCP server commands and environment variables -- **Skill Specs** (`agentspecs/skills/`) - Agent skills with dependencies and env vars -- **Envvar Specs** (`agentspecs/envvars/`) - Environment variable definitions with registration URLs +YAML-based specifications for agents, teams, MCP servers, tools, and related runtime catalogs. -These YAML specifications serve as the single source of truth for agent configurations and can be consumed by any system that implements the schema. +## Overview -## Directory Structure +This repository is the source of truth for declarative specs consumed by Agent Runtimes code generation. -``` -agentspecs/ -โ”œโ”€โ”€ agents/ # Agent specifications (organized by category) -โ”‚ โ”œโ”€โ”€ code-ai/ # Code-focused agents -โ”‚ โ”‚ โ”œโ”€โ”€ coder.yaml -โ”‚ โ”‚ โ”œโ”€โ”€ simple.yaml -โ”‚ โ”‚ โ””โ”€โ”€ tux.yaml -โ”‚ โ”œโ”€โ”€ codemode-paper/ # Research paper agents -โ”‚ โ”‚ โ”œโ”€โ”€ crawler-mcp.yaml -โ”‚ โ”‚ โ”œโ”€โ”€ financial-viz.yaml -โ”‚ โ”‚ โ”œโ”€โ”€ information-routing.yaml -โ”‚ โ”‚ โ””โ”€โ”€ task-decomposition.yaml -โ”‚ โ””โ”€โ”€ datalayer-ai/ # Data-focused agents -โ”‚ โ”œโ”€โ”€ data-acquisition.yaml -โ”‚ โ”œโ”€โ”€ github-agent.yaml -โ”‚ โ”œโ”€โ”€ simple.yaml -โ”‚ โ””โ”€โ”€ web-search.yaml -โ”œโ”€โ”€ mcp-servers/ # MCP server specifications -โ”‚ โ”œโ”€โ”€ kaggle.yaml -โ”‚ โ”œโ”€โ”€ github.yaml -โ”‚ โ”œโ”€โ”€ filesystem.yaml -โ”‚ โ”œโ”€โ”€ tavily.yaml -โ”‚ โ””โ”€โ”€ ... -โ”œโ”€โ”€ skills/ # Skill specifications -โ”‚ โ”œโ”€โ”€ data-analysis.yaml -โ”‚ โ””โ”€โ”€ ... -โ”œโ”€โ”€ envvars/ # Environment variable specifications -โ”‚ โ”œโ”€โ”€ KAGGLE_TOKEN.yaml -โ”‚ โ”œโ”€โ”€ GITHUB_TOKEN.yaml -โ”‚ โ”œโ”€โ”€ TAVILY_API_KEY.yaml -โ”‚ โ””โ”€โ”€ ... -โ”œโ”€โ”€ agent-spec.schema.yaml # JSON Schema for validation -โ””โ”€โ”€ README.md # This file -``` +The YAML files in [agentspecs/agentspecs](agentspecs) are compiled into Python and TypeScript catalogs used by runtime and UI layers. -## Agent Specifications - -Agent IDs are not prefixed by folder name. -For example, an agent in `code-ai/simple.yaml` has ID `"simple"` (same as any other `id` value defined in YAML). - -### Required Fields -- **`id`** (string): Unique identifier (kebab-case) used directly as the runtime agent spec ID -- **`name`** (string): Display name -- **`description`** (string): Agent capabilities description - -### Optional Fields -- **`tags`** (list): Categorization tags -- **`enabled`** (boolean): Whether agent is active (default: `true`) -- **`mcp_servers`** (list): MCP server IDs to use -- **`skills`** (list): Agent skills -- **`environment_name`** (string): Runtime environment (default: `"ai-agents"`) -- **`icon`** (string): UI icon identifier -- **`emoji`** (string): UI emoji identifier (e.g., `"๐Ÿ“Š"`) -- **`color`** (string): Hex color code (e.g., `"#3B82F6"`) -- **`suggestions`** (list): Chat examples -- **`welcome_message`** (string): Greeting message -- **`system_prompt`** (string): Base system prompt for the agent -- **`system_prompt_codemode_addons`** (string): Additional instructions for Code Mode execution environment -- **`welcome_notebook`** (string): Jupyter notebook path -- **`welcome_document`** (string): Lexical document path - -### Agent Organization - -Agents are organized in subfolders by category: -- **`code-ai/`**: Code-focused agents (coder, simple, tux) -- **`codemode-paper/`**: Research paper agents (crawler-mcp, financial-viz, information-routing, task-decomposition) -- **`datalayer-ai/`**: Data-focused agents (data-acquisition, github-agent, simple, web-search) - -This folder structure: -1. **Prevents ID conflicts**: Multiple agents can have the same base ID (e.g., "simple") in different folders -2. **Improves organization**: Related agents are grouped together -3. **Enables categorization**: Frontend can display agents by category -4. **Maintains clarity**: Folder structure still communicates category without changing runtime ID format - -### Example -```yaml -# File: agentspecs/agents/codemode-paper/financial-viz.yaml -# Runtime agent ID will be: "financial-viz" -id: financial-viz -name: Financial Visualization Agent (Viz) -description: > - Analyzes financial market data and creates visualizations and charts. +## Current Repository Structure -tags: - - finance - - stocks - - visualization +```text +agentspecs/ +โ”œโ”€โ”€ agents/ # Agent specs +โ”œโ”€โ”€ teams/ # Team orchestration specs +โ”œโ”€โ”€ mcp-servers/ # MCP server specs +โ”œโ”€โ”€ skills/ # Skill specs +โ”œโ”€โ”€ tools/ # Runtime tool specs +โ”œโ”€โ”€ envvars/ # Environment variable specs +โ”œโ”€โ”€ models/ # Model specs +โ”œโ”€โ”€ memory/ # Memory backend specs +โ”œโ”€โ”€ guardrails/ # Guardrail policy specs +โ”œโ”€โ”€ evals/ # Evaluation suite specs +โ”œโ”€โ”€ triggers/ # Trigger specs +โ”œโ”€โ”€ outputs/ # Output format specs +โ””โ”€โ”€ notifications/ # Notification channel specs +``` + +Current YAML file counts: + +- Agents: 26 +- Teams: 9 +- MCP servers: 12 +- Skills: 4 +- Tools: 3 +- Env vars: 10 +- Models: 20 +- Memory backends: 4 +- Guardrails: 6 +- Evals: 8 +- Triggers: 3 +- Outputs: 8 +- Notifications: 4 + +## Versioning + +All specs are versioned. + +### Required Version Field + +Each spec includes: + +- `id`: logical identifier +- `version`: semantic version string (currently `0.0.1` for all shipped specs) -enabled: true +Example: -mcp_servers: - - alphavantage - - chart - -skills: [] - -environment_name: ai-agents-env - -icon: trending-up -emoji: ๐Ÿ“ˆ -color: "#F59E0B" - -suggestions: - - Show me the stock price history for AAPL - - Create a chart comparing MSFT and GOOGL over the last year - - Analyze the trading volume trends for Tesla - -welcome_message: > - Welcome! I'm the Financial Visualization Agent. I can help you analyze - stock market data, track financial instruments, and create charts to - visualize market trends. - -system_prompt: > - You are a financial market analyst with access to Alpha Vantage market data and chart generation tools. - You can fetch stock prices, analyze trading volumes, create visualizations, and track market trends. - Provide clear insights with relevant data points and generate charts to illustrate patterns. - -system_prompt_codemode_addons: > - ## IMPORTANT: Be Honest About Your Capabilities - NEVER claim to have tools or capabilities you haven't verified. - - ## Core Codemode Tools - Use these 4 tools to accomplish any task: - 1. **list_servers** - List available MCP servers - 2. **search_tools** - Progressive tool discovery by natural language query - 3. **get_tool_details** - Get full tool schema and documentation - 4. **execute_code** - Run Python code that composes multiple tools - - ## Recommended Workflow - 1. **Discover**: Use list_servers and search_tools to find relevant tools - 2. **Understand**: Use get_tool_details to check parameters - 3. **Execute**: Use execute_code to perform multi-step tasks +```yaml +id: data-acquisition +version: 0.0.1 +name: Data Acquisition Agent ``` -## MCP Server Specifications +### Versioned References -### Required Fields -- **`id`** (string): Unique identifier (kebab-case) -- **`name`** (string): Display name -- **`description`** (string): Server capabilities description -- **`command`** (string): Executable command (e.g., `"npx"`, `"python"`) -- **`args`** (list): Command arguments +Cross-spec references should use `id:version` format. -### Optional Fields -- **`transport`** (string): Transport protocol (`"stdio"`, `"remote"`) -- **`envvars`** (list): References to environment variable specification IDs -- **`env`** (dict): Environment variables to set for the server process -- **`tags`** (list): Categorization tags +Examples: -### Environment Variables -Use `${VAR_NAME}` syntax in args for environment variable expansion: ```yaml -args: - - "-m" - - "mcp_remote" - - "--Authorization" - - "Bearer ${KAGGLE_TOKEN}" -``` +mcp_servers: + - tavily:0.0.1 -### Example -```yaml -id: kaggle -name: Kaggle MCP Server -description: Access Kaggle datasets, competitions, and kernels - -command: python -args: - - "-m" - - "mcp_remote" - - "--Authorization" - - "Bearer ${KAGGLE_TOKEN}" - - "--accept" - - "application/json" - - "--" - - "https://mcp.kaggle.com" - -transport: remote +skills: + - github:0.0.1 envvars: - - KAGGLE_TOKEN + - TAVILY_API_KEY:0.0.1 -tags: - - data - - kaggle - - datasets +agent_spec_id: comprehensive-sales-analytics:0.0.1 ``` -## Skill Specifications +### Runtime Catalog Aliases -### Required Fields -- **`id`** (string): Unique identifier (kebab-case) -- **`name`** (string): Display name -- **`description`** (string): Skill capabilities description -- **`module`** (string): Python module path (e.g., `"agent_skills.data_analysis"`) +Generated catalogs expose both keys: -### Optional Fields -- **`envvars`** (list): References to environment variable specification IDs -- **`optional_env_vars`** (list): Optional environment variables -- **`dependencies`** (list): Required Python packages -- **`tags`** (list): Categorization tags +- unversioned alias: `data-acquisition` +- versioned key: `data-acquisition:0.0.1` -### Example -```yaml -id: data-analysis -name: Data Analysis Skill -description: Perform statistical analysis and data visualization +Both resolve to the same spec object. This preserves compatibility while enabling strict versioned refs. -module: agent_skills.data_analysis +Important for consumers: iterating raw catalog values can include duplicates because both keys point to the same spec. Deduplicate by versionless id when rendering lists. -envvars: - - OPENAI_API_KEY - -optional_env_vars: - - PLOT_DPI - - CHART_THEME - -dependencies: - - pandas>=2.0.0 - - matplotlib>=3.7.0 - - seaborn>=0.12.0 - - numpy>=1.24.0 - -tags: - - data - - analysis - - visualization -``` +### Default Version During Codegen -## Environment Variable Specifications +Code generation enforces a default spec version of `0.0.1` if omitted (`scripts/codegen/versioning.py`). -### Required Fields -- **`id`** (string): Unique identifier (UPPER_SNAKE_CASE, e.g., `"KAGGLE_TOKEN"`) -- **`name`** (string): Display name -- **`description`** (string): Purpose and usage description +In practice, specs in this repository should always declare `version` explicitly. -### Optional Fields -- **`registrationUrl`** (string): URL where users can obtain the variable (e.g., API key registration page) -- **`tags`** (list): Categorization tags +## Spec Types -### Linking to Specs -Environment variables are linked to MCP servers and skills through the `envvars` field: +### Agents (`agentspecs/agents`) -```yaml -# In MCP server or skill spec -envvars: - - KAGGLE_TOKEN - - GITHUB_TOKEN -``` +Defines agent behavior and runtime defaults. -### Example -```yaml -id: KAGGLE_TOKEN -name: Kaggle API Token -description: > - API token for accessing Kaggle datasets, competitions, notebooks, and models. - Required for Kaggle MCP server authentication. -registrationUrl: https://www.kaggle.com/settings/account - -tags: - - authentication - - api-key - - kaggle - - data -``` +Common fields: -### Available Environment Variables -See `specs/envvars/` for all defined environment variables: -- **KAGGLE_TOKEN**: Kaggle API authentication -- **GITHUB_TOKEN**: GitHub authentication for MCP server and skills -- **TAVILY_API_KEY**: Tavily search and web crawling -- **ALPHAVANTAGE_API_KEY**: Alpha Vantage financial data -- **SLACK_BOT_TOKEN**: Slack bot authentication -- **SLACK_TEAM_ID**: Slack workspace identifier -- **SLACK_CHANNEL_IDS**: Slack channel access list -- **GOOGLE_OAUTH_CLIENT_ID**: Google Workspace OAuth client ID -- **GOOGLE_OAUTH_CLIENT_SECRET**: Google Workspace OAuth secret +- `id`, `version`, `name`, `description`, `enabled` +- `model`, `sandbox_variant`, `memory` +- `mcp_servers`, `skills`, `tools` +- `environment_name` +- `icon`, `emoji`, `color` +- `suggestions`, `welcome_message`, `welcome_notebook`, `welcome_document` +- `system_prompt`, `system_prompt_codemode_addons` +- Optional workflow fields such as `goal`, `trigger`, `guardrails`, `evals`, `output`, `notifications`, `advanced` -## Schema Validation +### Teams (`agentspecs/teams`) -All YAML specifications are validated against the JSON Schema defined in `agent-spec.schema.yaml`. +Defines multi-agent orchestration over an underlying agent spec. -The schema validates: -- Required fields are present -- ID format (kebab-case for most, UPPER_SNAKE_CASE for envvars) -- Color format (hex codes like `#3B82F6`) -- List and object structures -- Field types and constraints +Common fields: +- `id`, `version`, `name`, `description`, `enabled` +- `agent_spec_id` (versioned) +- `orchestration_protocol`, `execution_mode`, `supervisor` +- `agents` (team members), `reaction_rules`, `health_monitoring` +- `notifications`, `output` +### MCP Servers (`agentspecs/mcp-servers`) -## Creating New Specifications +Defines MCP integrations and process startup configuration. -### Adding a New Agent -1. Choose the appropriate folder: `code-ai/`, `codemode-paper/`, or `datalayer-ai/` -2. Create `agentspecs/agents//my-agent.yaml` -3. The agent ID will automatically become `/my-agent` -4. Follow the Agent Specification format described above +Common fields: -### Adding a New MCP Server -1. Create `agentspecs/mcp-servers/my-server.yaml` -2. Follow the MCP Server Specification format described above +- `id`, `version`, `name`, `description` +- `command`, `args`, `transport` +- `env`, `envvars` (usually versioned) +- `tags`, `icon`, `emoji` -### Adding a New Skill -1. Create `agentspecs/skills/my-skill.yaml` -2. Follow the Skill Specification format described above +### Skills (`agentspecs/skills`) -### Adding a New Environment Variable -1. Create `agentspecs/envvars/MY_VAR.yaml` -2. Use UPPER_SNAKE_CASE for the filename and `id` field -3. Follow the Environment Variable Specification format described above +Defines reusable skill modules. -## Environment Variable References +Common fields: -MCP servers and skills can reference environment variables defined in the `envvars/` directory: +- `id`, `version`, `name`, `description`, `module` +- `envvars`, `optional_env_vars`, `dependencies` +- `tags`, `icon`, `emoji` -- **`envvars`**: List of environment variable IDs that are required -- **`optional_env_vars`**: List of environment variable IDs that are optional -- **`env`**: Dictionary of environment variables to set for the server process -- **Variable Expansion**: Use `${VAR_NAME}` syntax in args for runtime expansion +### Tools (`agentspecs/tools`) -Example: -```yaml -# MCP server with auth token -args: - - "--Authorization" - - "Bearer ${KAGGLE_TOKEN}" +Defines runtime tool metadata and implementation binding. -envvars: - - KAGGLE_TOKEN -``` +Common fields: -The `${KAGGLE_TOKEN}` will be expanded at runtime by consuming systems. +- `id`, `version`, `name`, `description`, `enabled` +- `approval` +- `runtime.language`, `runtime.package`, `runtime.method` +- `tags`, `icon`, `emoji` -## Best Practices +### Env Vars (`agentspecs/envvars`) -1. **Naming**: Use kebab-case for IDs (`data-acquisition`, not `data_acquisition`). Exception: envvars use UPPER_SNAKE_CASE. -2. **Descriptions**: Be specific about capabilities and use cases -3. **Tags**: Use consistent tags across related specs for better categorization -4. **Environment Variables**: Always define envvars in `envvars/` directory and reference them by ID -5. **Dependencies**: Pin major versions for skills (`pandas>=2.0.0`) to avoid breaking changes -6. **Colors**: Use hex color codes consistently (e.g., `#3B82F6` for blue) -7. **Suggestions**: Provide 3-5 clear, actionable example prompts -8. **System Prompts**: Keep base `system_prompt` general, use `system_prompt_codemode_addons` for execution-specific instructions -9. **Organization**: Place agents in appropriate subfolders (code-ai/, codemode-paper/, datalayer-ai/) based on their purpose - -## YAML Guidelines - -### Valid YAML -- Use 2 spaces for indentation (not tabs) -- Quote strings that contain special characters -- Use `>` or `|` for multi-line strings -- Ensure all required fields are present - -### Common Issues -- **Invalid indentation**: Use 2 spaces consistently -- **Missing required fields**: Check schema for required fields (id, name, description) -- **Invalid ID format**: Use kebab-case (lowercase with hyphens) -- **Invalid color codes**: Use 6-digit hex codes starting with # (e.g., `#3B82F6`) -- **Broken references**: Ensure referenced envvars, skills, or mcp_servers exist - -## Contributing - -When adding new specifications: -1. Follow the YAML schema format defined in `agent-spec.schema.yaml` -2. Add appropriate tags for categorization -3. Define environment variables in `envvars/` directory -4. Use consistent naming conventions (kebab-case for most, UPPER_SNAKE_CASE for envvars) -5. Provide clear descriptions and examples -6. Update this README if adding new patterns or conventions - -## Available MCP Servers - -The following MCP servers are defined in `agentspecs/mcp-servers/`: - -- `tavily` - Web search via Tavily API -- `filesystem` - Local filesystem operations -- `github` - GitHub repository operations -- `google-workspace` - Google Workspace integration -- `slack` - Slack messaging -- `kaggle` - Kaggle datasets and competitions -- `alphavantage` - Financial market data -- `chart` - Chart generation - -Reference these server IDs in the `mcp_servers` field of agent specifications. +Defines environment variable metadata. -## Best Practices +Common fields: -### Naming -- **ID**: kebab-case (`data-acquisition`) -- **Name**: Title Case with "Agent" suffix -- **Constants**: Auto-generated as `SCREAMING_SNAKE_CASE_AGENT_SPEC` +- `id`, `version`, `name`, `description` +- `registrationUrl`, `tags`, `icon`, `emoji` -### Colors -- **Blue** (`#3B82F6`): Data and information -- **Green** (`#10B981`): Web and networking -- **Indigo** (`#6366F1`): Development and code -- **Amber** (`#F59E0B`): Finance and analytics -- **Pink** (`#EC4899`): Communication and workflow +### Models (`agentspecs/models`) -### Content Guidelines -- **Descriptions**: 1-2 sentences, present tense -- **Suggestions**: 3-5 concrete examples with action verbs -- **Tags**: 2-5 relevant categorization keywords +Defines model options available to specs. -## Design Principles +Common fields: -1. **Single Source of Truth**: YAML files are the authoritative specification -2. **Declarative**: Define what agents can do, not how they do it -3. **Composable**: Agents reference MCP servers and skills by ID -4. **Validated**: JSON Schema ensures consistency and correctness -5. **Extensible**: Easy to add new fields or specification types -6. **Human-Readable**: YAML format is easy to read and edit +- `id`, `version`, `name`, `description`, `provider` +- `default` +- `required_env_vars` -## Specification Structure +### Other Catalogs -### Agent Hierarchy -``` -Agent Specification -โ”œโ”€โ”€ Basic Info (id, name, description, tags) -โ”œโ”€โ”€ Configuration (enabled, environment_name) -โ”œโ”€โ”€ Capabilities -โ”‚ โ”œโ”€โ”€ MCP Servers (references to mcp-servers/*.yaml) -โ”‚ โ””โ”€โ”€ Skills (references to skills/*.yaml) -โ”œโ”€โ”€ UI Customization (icon, emoji, color) -โ”œโ”€โ”€ User Guidance (suggestions, welcome_message) -โ””โ”€โ”€ Prompts - โ”œโ”€โ”€ system_prompt (base instructions) - โ””โ”€โ”€ system_prompt_codemode_addons (execution mode instructions) -``` +- `memory`: memory backend options +- `guardrails`: security and policy profiles +- `evals`: evaluation suites +- `triggers`: reusable trigger templates +- `outputs`: output format templates/capabilities +- `notifications`: notification channel templates -### MCP Server Specification -``` -MCP Server Specification -โ”œโ”€โ”€ Basic Info (id, name, description, tags) -โ”œโ”€โ”€ Execution (command, args, transport) -โ”œโ”€โ”€ Environment -โ”‚ โ”œโ”€โ”€ envvars (required environment variables) -โ”‚ โ””โ”€โ”€ env (variables to set for the process) -โ””โ”€โ”€ UI (icon, emoji) -``` +## Generation and Consumption -### Skill Specification -``` -Skill Specification -โ”œโ”€โ”€ Basic Info (id, name, description, tags) -โ”œโ”€โ”€ Implementation (module) -โ”œโ”€โ”€ Environment -โ”‚ โ”œโ”€โ”€ envvars (required environment variables) -โ”‚ โ””โ”€โ”€ optional_env_vars (optional variables) -โ”œโ”€โ”€ Dependencies (Python packages) -โ””โ”€โ”€ UI (icon, emoji) -``` +From Agent Runtimes, generated catalogs are produced via: -### Environment Variable Specification -``` -Environment Variable Specification -โ”œโ”€โ”€ Basic Info (id, name, description) -โ”œโ”€โ”€ Registration (registrationUrl) -โ”œโ”€โ”€ Categorization (tags) -โ””โ”€โ”€ UI (icon, emoji) +```bash +make specs ``` +Generation scripts are under [scripts/codegen](../scripts/codegen), and outputs are written to: + +- Python: [agent_runtimes/specs](../agent_runtimes/specs) +- TypeScript: [src/specs](../src/specs) + +## Adding or Updating Specs + +1. Add or edit YAML in the relevant folder under [agentspecs/agentspecs](agentspecs). +2. Always set `id` and `version`. +3. Use versioned cross-references (`name:version`) in fields that reference other specs. +4. Keep IDs stable; bump `version` when introducing breaking changes. +5. Regenerate catalogs in Agent Runtimes (`make specs`) and validate consumers. + +## Best Practices + +- Use kebab-case IDs for most specs (`analyze-support-tickets`). +- Use UPPER_SNAKE_CASE for env var IDs (`TAVILY_API_KEY`). +- Keep descriptions concise and action-oriented. +- Prefer explicit versioned references, even when alias lookup works. +- Maintain backward compatibility by preserving old versions when possible. + ## License Copyright (c) 2025-2026 Datalayer, Inc. + Distributed under the terms of the Modified BSD License. diff --git a/docs/docs/agents/index.mdx b/docs/docs/agents/index.mdx index b21227f..83e6d14 100644 --- a/docs/docs/agents/index.mdx +++ b/docs/docs/agents/index.mdx @@ -5,30 +5,31 @@ title: Agents # Agent Specifications -Agent specifications define AI agent configurations, capabilities, and behavior. +Agent specifications define runtime behavior, capabilities, and UX defaults for individual agents. ## Overview -Agent IDs are automatically prefixed with their folder name, ensuring uniqueness across categories. -For example, an agent in `code-ai/simple.yaml` will have ID `"code-ai/simple"`, while `datalayer-ai/simple.yaml` has ID `"datalayer-ai/simple"`. +Agents are stored flat under `agentspecs/agents/` and include explicit `version`. -## Agent Organization +Use versioned references in linked fields: -Agents are organized in subfolders by category: -- **`code-ai/`**: Code-focused agents (coder, simple, tux) -- **`codemode-paper/`**: Research paper agents (crawler-mcp, financial-viz, information-routing, task-decomposition) -- **`datalayer-ai/`**: Data-focused agents (data-acquisition, github-agent, simple, web-search) +```yaml +skills: + - github:0.0.1 -This folder structure: -1. **Prevents ID conflicts**: Multiple agents can have the same base ID (e.g., "simple") in different folders -2. **Improves organization**: Related agents are grouped together -3. **Enables categorization**: Frontend can display agents by category -4. **Maintains clarity**: Full IDs like "code-ai/simple" clearly show the agent's purpose +mcp_servers: + - tavily:0.0.1 +``` + +Generated catalogs expose both `id` and `id:version` aliases. ## Required Fields ### `id` (string) -Unique identifier within folder (kebab-case). The full ID becomes `folder/id` (e.g., `code-ai/simple`) +Unique identifier (kebab-case). + +### `version` (string) +Spec version (currently `0.0.1`). ### `name` (string) Display name shown in the UI @@ -51,20 +52,20 @@ tags: Whether agent is active (default: `true`) ### `mcp_servers` (list of strings) -MCP server IDs to use. References specs in `mcp-servers/` directory. +MCP server references. Prefer `id:version` format. ```yaml mcp_servers: - - alphavantage - - chart - - github + - alphavantage:0.0.1 + - chart:0.0.1 + - github:0.0.1 ``` ### `skills` (list of strings) -Agent skills. References specs in `skills/` directory. +Skill references. Prefer `id:version` format. ```yaml skills: - - data-analysis - - visualization + - github:0.0.1 + - events:0.0.1 ``` ### `environment_name` (string) @@ -149,117 +150,71 @@ Lexical document path to show on agent creation (optional) ## Complete Example ```yaml -# Copyright (c) 2025-2026 Datalayer, Inc. -# Distributed under the terms of the Modified BSD License. - -# File: agentspecs/agents/codemode-paper/financial-viz.yaml -# Full ID will be: "codemode-paper/financial-viz" - -id: financial-viz -name: Financial Visualization Agent (Viz) -description: > - Analyzes financial market data and creates visualizations and charts. - -tags: - - finance - - stocks - - visualization +id: data-acquisition +version: 0.0.1 +name: Data Acquisition Agent +description: Acquire and manage data from external and local sources. enabled: true +model: "bedrock:us.anthropic.claude-sonnet-4-5-20250929-v1:0" -# MCP servers used by this agent mcp_servers: - - alphavantage - - chart + - kaggle:0.0.1 + - filesystem:0.0.1 + - tavily:0.0.1 -# Skills available to this agent -skills: [] - -# AI model (omit to use system default) -model: "bedrock:us.anthropic.claude-sonnet-4-5-20250929-v1:0" +skills: + - github:0.0.1 + - events:0.0.1 -# Runtime environment environment_name: ai-agents-env - -# UI customization -icon: trending-up -emoji: ๐Ÿ“ˆ -color: "#F59E0B" # Amber - -# Chat suggestions -suggestions: - - Show me the stock price history for AAPL - - Create a chart comparing MSFT and GOOGL over the last year - - Analyze the trading volume trends for Tesla - -# Welcome message -welcome_message: > - Welcome! I'm the Financial Visualization Agent. I can help you analyze - stock market data, track financial instruments, and create charts to - visualize market trends. - -# System prompt for the agent -system_prompt: > - You are a financial market analyst with access to Alpha Vantage market data - and chart generation tools. You can fetch stock prices, analyze trading volumes, - create visualizations, and track market trends. Provide clear insights with - relevant data points and generate charts to illustrate patterns. - -# Additional system prompt for code mode -system_prompt_codemode_addons: > - ## IMPORTANT: Be Honest About Your Capabilities - NEVER claim to have tools or capabilities you haven't verified. - - ## Core Codemode Tools - Use these 4 tools to accomplish any task: - 1. **list_servers** - List available MCP servers - Use this to see what MCP servers you can access. - - 2. **search_tools** - Progressive tool discovery by natural language query - Use this to find relevant tools before executing tasks. - - 3. **get_tool_details** - Get full tool schema and documentation - Use this to understand tool parameters before calling them. - - 4. **execute_code** - Run Python code that composes multiple tools - Use this for complex multi-step operations. Code runs in a PERSISTENT sandbox. - Variables, functions, and state PERSIST between execute_code calls. - Import tools using: `from generated.servers. import ` - NEVER use `import *` - always use explicit named imports. - - ## Recommended Workflow - 1. **Discover**: Use list_servers and search_tools to find relevant tools - 2. **Understand**: Use get_tool_details to check parameters - 3. **Execute**: Use execute_code to perform multi-step tasks, calling tools as needed - - ## Token Efficiency - When possible, chain multiple tool calls in a single execute_code block. - This reduces output tokens by processing intermediate results in code rather - than returning them. If you want to examine results, print subsets, preview - (maximum 20 first characters) and/or counts instead of full data. - -# Optional: Jupyter notebook to show on agent creation -welcome_notebook: null - -# Optional: Lexical document to show on agent creation -welcome_document: null +icon: database +emoji: "๐Ÿ“Š" +color: "#3B82F6" ``` -## Agent Hierarchy - -``` -Agent Specification -โ”œโ”€โ”€ Basic Info (id, name, description, tags) -โ”œโ”€โ”€ Configuration (enabled, environment_name) -โ”œโ”€โ”€ Capabilities -โ”‚ โ”œโ”€โ”€ MCP Servers (references to mcp-servers/*.yaml) -โ”‚ โ””โ”€โ”€ Skills (references to skills/*.yaml) -โ”œโ”€โ”€ UI Customization (icon, emoji, color) -โ”œโ”€โ”€ User Guidance (suggestions, welcome_message) -โ””โ”€โ”€ Prompts - โ”œโ”€โ”€ system_prompt (base instructions) - โ””โ”€โ”€ system_prompt_codemode_addons (execution mode instructions) -``` +## Full Field Coverage + +Commonly used fields: + +- `enabled` +- `model` +- `sandbox_variant` +- `memory` +- `mcp_servers` (use `id:version` refs) +- `skills` (use `id:version` refs) +- `tools` (use `id:version` refs) +- `environment_name` +- `tags` +- `icon`, `emoji`, `color` +- `suggestions` +- `welcome_message`, `welcome_notebook`, `welcome_document` +- `system_prompt`, `system_prompt_codemode_addons` + +Advanced workflow fields: + +- `goal` +- `protocol` +- `ui_extension` +- `trigger` +- `model_configuration` +- `mcp_server_tools` +- `guardrails` +- `evals` +- `codemode` +- `output` +- `advanced` +- `authorization_policy` +- `notifications` + +## Catalog Alias Behavior + +Generated catalogs expose both aliases: + +- unversioned (`crawler`) +- versioned (`crawler:0.0.1`) + +Both map to the same spec object. UI consumers should dedupe by versionless id when listing all specs. ## Best Practices diff --git a/docs/docs/env-vars/index.mdx b/docs/docs/env-vars/index.mdx index a3297a9..73b8156 100644 --- a/docs/docs/env-vars/index.mdx +++ b/docs/docs/env-vars/index.mdx @@ -20,6 +20,9 @@ Unique identifier (UPPER_SNAKE_CASE, e.g., `KAGGLE_TOKEN`, `GITHUB_TOKEN`, `OPEN ### `name` (string) Display name shown in the UI +### `version` (string) +Spec version (currently `0.0.1`). + ### `description` (string) Purpose and usage description @@ -56,6 +59,7 @@ UI emoji identifier # Distributed under the terms of the Modified BSD License. id: KAGGLE_TOKEN +version: 0.0.1 name: Kaggle API Token description: > API token for accessing Kaggle datasets, competitions, notebooks, and models. @@ -91,7 +95,7 @@ name: Kaggle MCP Server # ... other fields ... envvars: - - KAGGLE_TOKEN + - KAGGLE_TOKEN:0.0.1 args: - "--Authorization" @@ -105,7 +109,7 @@ name: Data Analysis Skill # ... other fields ... envvars: - - OPENAI_API_KEY + - OPENAI_API_KEY:0.0.1 optional_env_vars: - PLOT_DPI @@ -137,3 +141,7 @@ The following environment variables are defined in `agentspecs/envvars/`: 6. **Security**: Never include actual values in the specification 7. **Documentation**: Be clear about whether the variable is required or optional 8. **Scope**: Define one variable per specification file + +## Details + +For additional conventions around references and catalog behavior, see [Agentspecs Overview](../index). diff --git a/docs/docs/evals/_category_.yml b/docs/docs/evals/_category_.yml new file mode 100644 index 0000000..3194059 --- /dev/null +++ b/docs/docs/evals/_category_.yml @@ -0,0 +1,2 @@ +label: "Evals" +position: 10 diff --git a/docs/docs/evals/index.mdx b/docs/docs/evals/index.mdx new file mode 100644 index 0000000..7cfce9f --- /dev/null +++ b/docs/docs/evals/index.mdx @@ -0,0 +1,26 @@ +--- +sidebar_position: 1 +title: Evals +--- + +# Eval Specifications + +Eval specs define reusable benchmark/evaluation suites. + +## Required Fields + +- `id` +- `version` +- `name` +- `description` + +## Common Fields + +- category +- task metadata +- optional provider/model constraints + +## Notes + +- Evals are referenced from agent specs and runtime workflows. +- Prefer explicit `id:version` references. diff --git a/docs/docs/guardrails/_category_.yml b/docs/docs/guardrails/_category_.yml new file mode 100644 index 0000000..b11537d --- /dev/null +++ b/docs/docs/guardrails/_category_.yml @@ -0,0 +1,2 @@ +label: "Guardrails" +position: 9 diff --git a/docs/docs/guardrails/index.mdx b/docs/docs/guardrails/index.mdx new file mode 100644 index 0000000..21a635f --- /dev/null +++ b/docs/docs/guardrails/index.mdx @@ -0,0 +1,28 @@ +--- +sidebar_position: 1 +title: Guardrails +--- + +# Guardrail Specifications + +Guardrail specs define policy and permission envelopes for agents. + +## Required Fields + +- `id` +- `version` +- `name` +- `description` + +## Common Fields + +- identity/provider context +- permission maps +- approval policy +- token limits +- data handling constraints + +## Notes + +- Guardrails are referenced from agent specs. +- Keep policy IDs stable and versioned. diff --git a/docs/docs/index.mdx b/docs/docs/index.mdx index 6d2379c..e377e01 100644 --- a/docs/docs/index.mdx +++ b/docs/docs/index.mdx @@ -7,107 +7,90 @@ slug: / import DocCardList from '@theme/DocCardList'; import { useDocsSidebar } from '@docusaurus/plugin-content-docs/client'; -# ๐Ÿค–๐Ÿ‘ทโ€โ™‚๏ธ Agentspecs +# Agentspecs -YAML-based specifications for AI agents, MCP servers, skills, and environment variables. +Declarative YAML specifications for the Agent Runtimes ecosystem. -## What is Agentspecs? +## What Is Agentspecs? -**Agentspecs** is a repository of declarative specifications that define AI agent configurations and their capabilities. All specifications are written in YAML format and serve as the single source of truth for agent systems. +Agentspecs is the source of truth for runtime catalogs compiled into Python and TypeScript. -## Specification Types +The repository currently defines these spec families: -This repository contains five types of specifications: +- Agent specs +- Team specs +- MCP server specs +- Skill specs +- Tool specs +- Environment variable specs +- Model specs +- Memory specs +- Guardrail specs +- Eval specs +- Trigger specs +- Output specs +- Notification specs -### ๐Ÿ“Š Agent Specifications -Agent configurations organized by category (code-ai/, codemode-paper/, datalayer-ai/). Each agent spec defines its capabilities, model, MCP servers, skills, UI customization, and system prompts. - -### ๐Ÿ”Œ MCP Server Specifications -MCP (Model Context Protocol) server configurations including commands, arguments, environment variables, and transport protocols. - -### ๐Ÿ› ๏ธ Skill Specifications -Agent skills with Python module references, dependencies, and environment variable requirements. - -### ๐Ÿ” Environment Variable Specifications -Environment variable definitions with descriptions, registration URLs, and metadata. - -### ๐Ÿง  Model Specifications -AI model configurations with provider, credentials, and default designation. - -## Key Features +## Key Properties - **Single Source of Truth**: YAML files are the authoritative specification -- **Declarative**: Define what agents can do, not how they do it -- **Composable**: Agents reference MCP servers, skills, and models by ID +- **Declarative**: Define what the system should do, not implementation details +- **Composable**: Specs reference each other by stable IDs - **Validated**: JSON Schema ensures consistency and correctness - **Extensible**: Easy to add new fields or specification types - **Human-Readable**: YAML format is easy to read and edit -## Directory Structure +## Versioning -``` -agentspecs/ -โ”œโ”€โ”€ agents/ # Agent specifications (organized by category) -โ”‚ โ”œโ”€โ”€ code-ai/ # Code-focused agents -โ”‚ โ”œโ”€โ”€ codemode-paper/ # Research paper agents -โ”‚ โ””โ”€โ”€ datalayer-ai/ # Data-focused agents -โ”œโ”€โ”€ mcp-servers/ # MCP server specifications -โ”œโ”€โ”€ models/ # AI model specifications -โ”œโ”€โ”€ skills/ # Skill specifications -โ”œโ”€โ”€ envvars/ # Environment variable specifications -โ””โ”€โ”€ agent-spec.schema.yaml # JSON Schema for validation -``` +All specs are versioned and include: -## Quick Start +- `id` +- `version` (currently `0.0.1`) -### Creating a New Agent +Cross-spec references should use `id:version` format (for example `tavily:0.0.1`). -1. Choose the appropriate folder: `code-ai/`, `codemode-paper/`, or `datalayer-ai/` -2. Create `agentspecs/agents//my-agent.yaml` -3. The agent ID will automatically become `/my-agent` +Generated catalogs expose both: -Example: -```yaml -# File: agentspecs/agents/code-ai/my-agent.yaml -# Full ID: "code-ai/my-agent" -id: my-agent -name: My Custom Agent -description: A helpful agent for coding tasks +- unversioned alias (`tavily`) +- versioned key (`tavily:0.0.1`) -tags: - - code - - development +When rendering lists from catalog maps, dedupe by versionless id to avoid duplicate entries. -enabled: true -mcp_servers: - - github - - filesystem +## Directory Structure -icon: code -emoji: ๐Ÿ’ป -color: "#6366F1" +``` +agentspecs/ +โ”œโ”€โ”€ agents/ +โ”œโ”€โ”€ teams/ +โ”œโ”€โ”€ mcp-servers/ +โ”œโ”€โ”€ skills/ +โ”œโ”€โ”€ tools/ +โ”œโ”€โ”€ envvars/ +โ”œโ”€โ”€ models/ +โ”œโ”€โ”€ memory/ +โ”œโ”€โ”€ guardrails/ +โ”œโ”€โ”€ evals/ +โ”œโ”€โ”€ triggers/ +โ”œโ”€โ”€ outputs/ +โ””โ”€โ”€ notifications/ ``` -### Agent ID Format - -Agents are automatically prefixed with their folder name: -- `code-ai/simple` - Simple agent in code-ai folder -- `codemode-paper/financial-viz` - Financial visualization in codemode-paper folder -- `datalayer-ai/data-acquisition` - Data acquisition in datalayer-ai folder +## Writing Specs -This prevents ID conflicts and improves organization. +1. Create or update a YAML file in the relevant folder. +2. Always set `id` and `version`. +3. Prefer explicit versioned references (`id:version`) for linked specs. +4. Keep IDs stable and bump `version` for breaking changes. ## Documentation -## Best Practices +## Notes -1. **Naming**: Use kebab-case for IDs (`data-acquisition`). Exception: envvars use UPPER_SNAKE_CASE -2. **Descriptions**: Be specific about capabilities and use cases -3. **Tags**: Use consistent tags for better categorization -4. **Environment Variables**: Always define in `envvars/` directory and reference by ID -5. **System Prompts**: Keep base `system_prompt` general, use `system_prompt_codemode_addons` for execution-specific instructions +- Use kebab-case IDs for most specs. +- Use UPPER_SNAKE_CASE IDs for env vars. +- Keep references explicit and versioned. ## License diff --git a/docs/docs/mcp-servers/index.mdx b/docs/docs/mcp-servers/index.mdx index 6ea3537..8952987 100644 --- a/docs/docs/mcp-servers/index.mdx +++ b/docs/docs/mcp-servers/index.mdx @@ -15,6 +15,9 @@ MCP servers provide tools and resources to agents through a standardized protoco ### `id` (string) Unique identifier (kebab-case, e.g., `kaggle`, `github`, `filesystem`) +### `version` (string) +Spec version (currently `0.0.1`). + ### `name` (string) Display name shown in the UI @@ -52,7 +55,7 @@ transport: remote # Remote HTTP connection Required environment variable IDs. References specs in `envvars/` directory. ```yaml envvars: - - KAGGLE_TOKEN + - KAGGLE_TOKEN:0.0.1 - GITHUB_TOKEN ``` @@ -107,6 +110,7 @@ The `${KAGGLE_TOKEN}` will be expanded at runtime by consuming systems. # Distributed under the terms of the Modified BSD License. id: kaggle +version: 0.0.1 name: Kaggle MCP Server description: Access Kaggle datasets, competitions, and kernels @@ -124,7 +128,7 @@ args: transport: remote envvars: - - KAGGLE_TOKEN + - KAGGLE_TOKEN:0.0.1 tags: - data @@ -167,3 +171,22 @@ The following MCP servers are defined in `agentspecs/mcp-servers/`: 6. **Transport**: Specify `stdio` for local processes, `remote` for HTTP connections 7. **Tags**: Use consistent tags for better categorization 8. **Description**: Be specific about what tools and resources the server provides + +## Full Field Coverage + +Required fields: + +- `id` +- `version` +- `name` +- `description` +- `command` +- `args` + +Common optional fields: + +- `transport` (`stdio` or `remote`) +- `envvars` (prefer versioned refs) +- `env` (process env injection) +- `tags` +- `icon`, `emoji` diff --git a/docs/docs/memory/_category_.yml b/docs/docs/memory/_category_.yml new file mode 100644 index 0000000..9f68554 --- /dev/null +++ b/docs/docs/memory/_category_.yml @@ -0,0 +1,2 @@ +label: "Memory" +position: 8 diff --git a/docs/docs/memory/index.mdx b/docs/docs/memory/index.mdx new file mode 100644 index 0000000..f4062a0 --- /dev/null +++ b/docs/docs/memory/index.mdx @@ -0,0 +1,26 @@ +--- +sidebar_position: 1 +title: Memory +--- + +# Memory Specifications + +Memory specs define selectable memory backends for agents. + +## Required Fields + +- `id` +- `version` +- `name` +- `description` + +## Typical Fields + +- `enabled` +- backend-specific configuration fields +- `tags` + +## Notes + +- Use memory IDs in agent `memory` fields. +- Keep backend selection explicit and versioned in catalogs. diff --git a/docs/docs/models/index.mdx b/docs/docs/models/index.mdx index 811b5a7..82ca474 100644 --- a/docs/docs/models/index.mdx +++ b/docs/docs/models/index.mdx @@ -20,6 +20,9 @@ id: "openai:gpt-4.1" id: "anthropic:claude-opus-4-20250514" ``` +### `version` (string) +Spec version (currently `0.0.1`). + ### `name` (string) Display name shown in the UI. ```yaml @@ -69,6 +72,7 @@ required_env_vars: # AI Model Specification: Bedrock Claude Sonnet 4.5 id: "bedrock:us.anthropic.claude-sonnet-4-5-20250929-v1:0" +version: 0.0.1 name: Bedrock Claude Sonnet 4.5 description: Claude Sonnet 4.5 via AWS Bedrock - balanced performance provider: bedrock @@ -168,3 +172,18 @@ Run `make specs` in the agent-runtimes repository to regenerate from the YAML fi 4. **Descriptions**: Keep descriptions short โ€” mention the provider, model tier, and key characteristic 5. **Provider Consistency**: Use the canonical provider names (`anthropic`, `bedrock`, `azure-openai`, `openai`) 6. **File Naming**: Use kebab-case matching the provider and model name (e.g., `bedrock-claude-sonnet-4-5.yaml`) + +## Full Field Coverage + +Required fields: + +- `id` +- `version` +- `name` +- `description` +- `provider` + +Common optional fields: + +- `default` (bool) +- `required_env_vars` diff --git a/docs/docs/notifications/_category_.yml b/docs/docs/notifications/_category_.yml new file mode 100644 index 0000000..35e6548 --- /dev/null +++ b/docs/docs/notifications/_category_.yml @@ -0,0 +1,2 @@ +label: "Notifications" +position: 13 diff --git a/docs/docs/notifications/index.mdx b/docs/docs/notifications/index.mdx new file mode 100644 index 0000000..bb73889 --- /dev/null +++ b/docs/docs/notifications/index.mdx @@ -0,0 +1,36 @@ +--- +sidebar_position: 1 +title: Notifications +--- + +# Notification Specifications + +Notification specs define reusable notification channels and field templates. + +## Required Fields + +- `id` +- `version` +- `name` +- `description` + +## Common Fields + +- `available` +- `icon` +- `fields` (typed channel configuration fields) + +## Example + +```yaml +id: slack +version: 0.0.1 +name: Slack +description: Post notifications to Slack channels +icon: bell +available: true +fields: + - name: channel + type: string + required: true +``` diff --git a/docs/docs/outputs/_category_.yml b/docs/docs/outputs/_category_.yml new file mode 100644 index 0000000..3a69c45 --- /dev/null +++ b/docs/docs/outputs/_category_.yml @@ -0,0 +1,2 @@ +label: "Outputs" +position: 12 diff --git a/docs/docs/outputs/index.mdx b/docs/docs/outputs/index.mdx new file mode 100644 index 0000000..d1e9727 --- /dev/null +++ b/docs/docs/outputs/index.mdx @@ -0,0 +1,38 @@ +--- +sidebar_position: 1 +title: Outputs +--- + +# Output Specifications + +Output specs define standardized output channel/templates for agent results. + +## Required Fields + +- `id` +- `version` +- `name` +- `description` + +## Common Fields + +- format capabilities +- template support +- storage support +- mime types +- icon + +## Example + +```yaml +id: dashboard +version: 0.0.1 +name: Dashboard +description: Deliver results as an interactive dashboard +supports_template: true +supports_storage: true +mime_types: + - text/html + - application/json +icon: graph +``` diff --git a/docs/docs/skills/index.mdx b/docs/docs/skills/index.mdx index 77b4a10..36dc244 100644 --- a/docs/docs/skills/index.mdx +++ b/docs/docs/skills/index.mdx @@ -15,6 +15,9 @@ Skills are Python modules that provide specific capabilities to agents. Each ski ### `id` (string) Unique identifier (kebab-case, e.g., `data-analysis`, `code-generation`) +### `version` (string) +Spec version (currently `0.0.1`). + ### `name` (string) Display name shown in the UI @@ -35,7 +38,7 @@ module: agent_skills.web_search Required environment variable IDs. References specs in `envvars/` directory. ```yaml envvars: - - OPENAI_API_KEY + - OPENAI_API_KEY:0.0.1 - GITHUB_TOKEN ``` @@ -80,13 +83,14 @@ UI emoji identifier # Distributed under the terms of the Modified BSD License. id: data-analysis +version: 0.0.1 name: Data Analysis Skill description: Perform statistical analysis and data visualization module: agent_skills.data_analysis envvars: - - OPENAI_API_KEY + - OPENAI_API_KEY:0.0.1 optional_env_vars: - PLOT_DPI @@ -141,3 +145,21 @@ skills: 6. **Description**: Focus on what the skill enables the agent to do 7. **Version Constraints**: Use `>=` for minimum versions, avoid overly restrictive pinning 8. **Documentation**: Ensure the module path points to existing Python code + +## Full Field Coverage + +Required fields: + +- `id` +- `version` +- `name` +- `description` +- `module` + +Common optional fields: + +- `envvars` (prefer `id:version` refs) +- `optional_env_vars` +- `dependencies` +- `tags` +- `icon`, `emoji` diff --git a/docs/docs/teams/_category_.yml b/docs/docs/teams/_category_.yml new file mode 100644 index 0000000..3bbd952 --- /dev/null +++ b/docs/docs/teams/_category_.yml @@ -0,0 +1,2 @@ +label: "Teams" +position: 7 diff --git a/docs/docs/teams/index.mdx b/docs/docs/teams/index.mdx new file mode 100644 index 0000000..fcfc032 --- /dev/null +++ b/docs/docs/teams/index.mdx @@ -0,0 +1,39 @@ +--- +sidebar_position: 1 +title: Teams +--- + +# Team Specifications + +Team specs define multi-agent orchestration behavior. + +## Required Fields + +- `id` +- `version` +- `name` +- `description` + +## Common Fields + +- `enabled` +- `agent_spec_id` (use versioned reference) +- `orchestration_protocol` +- `execution_mode` +- `supervisor` +- `agents` +- `reaction_rules` +- `health_monitoring` +- `notifications` +- `output` + +## Example + +```yaml +id: comprehensive-sales-analytics +version: 0.0.1 +name: Comprehensive Sales Analytics +agent_spec_id: comprehensive-sales-analytics:0.0.1 +orchestration_protocol: datalayer +execution_mode: sequential +``` diff --git a/docs/docs/tools/_category_.yml b/docs/docs/tools/_category_.yml new file mode 100644 index 0000000..172cd31 --- /dev/null +++ b/docs/docs/tools/_category_.yml @@ -0,0 +1,2 @@ +label: "Tools" +position: 6 diff --git a/docs/docs/tools/index.mdx b/docs/docs/tools/index.mdx new file mode 100644 index 0000000..7db64c2 --- /dev/null +++ b/docs/docs/tools/index.mdx @@ -0,0 +1,47 @@ +--- +sidebar_position: 1 +title: Tools +--- + +# Tool Specifications + +Tool specs define runtime-callable tools and their implementation bindings. + +## Required Fields + +- `id` +- `version` +- `name` +- `description` + +## Common Fields + +- `enabled` +- `approval` (`auto` or `manual`) +- `runtime.language` +- `runtime.package` +- `runtime.method` +- `tags` +- `icon`, `emoji` + +## Example + +```yaml +id: runtime-echo +version: 0.0.1 +name: Runtime Echo +description: Echo text back to caller for runtime verification +enabled: true +approval: auto +runtime: + language: python + package: agent_runtimes.examples.tools + method: runtime_echo +icon: comment +emoji: "๐Ÿ’ฌ" +``` + +## Notes + +- Use stable IDs and bump `version` for breaking changes. +- Use explicit tool refs (`id:version`) from agent specs when present. diff --git a/docs/docs/triggers/_category_.yml b/docs/docs/triggers/_category_.yml new file mode 100644 index 0000000..1367098 --- /dev/null +++ b/docs/docs/triggers/_category_.yml @@ -0,0 +1,2 @@ +label: "Triggers" +position: 11 diff --git a/docs/docs/triggers/index.mdx b/docs/docs/triggers/index.mdx new file mode 100644 index 0000000..8147bc1 --- /dev/null +++ b/docs/docs/triggers/index.mdx @@ -0,0 +1,25 @@ +--- +sidebar_position: 1 +title: Triggers +--- + +# Trigger Specifications + +Trigger specs define reusable run triggers (for example once, schedule, event). + +## Required Fields + +- `id` +- `version` +- `name` +- `description` + +## Common Fields + +- trigger type (`once`, `schedule`, `event`) +- schedule/cron details +- prompt templates + +## Notes + +- Agents can embed triggers directly or reference templates depending on runtime flow. diff --git a/docs/docusaurus.config.js b/docs/docusaurus.config.js index b0c272c..05d00c5 100644 --- a/docs/docusaurus.config.js +++ b/docs/docusaurus.config.js @@ -5,7 +5,7 @@ /** @type {import('@docusaurus/types').DocusaurusConfig} */ module.exports = { - title: '๐Ÿค– ๐Ÿ‘ท Agentspecs', + title: '๐Ÿงพ Agentspecs', tagline: 'Agentspecs', url: 'https://agentspecs.datalayer.tech', baseUrl: '/', From 3a7b6e46180f4c093478b365f3a4d440a0e7a316 Mon Sep 17 00:00:00 2001 From: Eric Charles Date: Wed, 25 Mar 2026 05:31:38 +0100 Subject: [PATCH 16/44] docs --- docs/docs/env-vars/_category_.yml | 2 +- docs/docs/index.mdx | 4 +-- docs/docusaurus.config.js | 52 +++++++++++++++++++++++++++++-- 3 files changed, 53 insertions(+), 5 deletions(-) diff --git a/docs/docs/env-vars/_category_.yml b/docs/docs/env-vars/_category_.yml index c34f38e..e223061 100644 --- a/docs/docs/env-vars/_category_.yml +++ b/docs/docs/env-vars/_category_.yml @@ -1,2 +1,2 @@ -label: "Environment Variables" +label: "Env Vars" position: 4 diff --git a/docs/docs/index.mdx b/docs/docs/index.mdx index e377e01..0e97f06 100644 --- a/docs/docs/index.mdx +++ b/docs/docs/index.mdx @@ -7,9 +7,9 @@ slug: / import DocCardList from '@theme/DocCardList'; import { useDocsSidebar } from '@docusaurus/plugin-content-docs/client'; -# Agentspecs +# ๐Ÿงพ Agentspecs -Declarative YAML specifications for the Agent Runtimes ecosystem. +Declarative YAML specifications for the [Agent Runtimes](https://github.com/datalayer/agent-runtimes) package. ## What Is Agentspecs? diff --git a/docs/docusaurus.config.js b/docs/docusaurus.config.js index 05d00c5..26f1d30 100644 --- a/docs/docusaurus.config.js +++ b/docs/docusaurus.config.js @@ -46,7 +46,7 @@ module.exports = { type: 'doc', docId: 'mcp-servers/index', position: 'left', - label: 'MCP Servers', + label: 'MCP', }, { type: 'doc', @@ -58,7 +58,7 @@ module.exports = { type: 'doc', docId: 'env-vars/index', position: 'left', - label: 'Environment Variables', + label: 'Env Vars', }, { type: 'doc', @@ -66,6 +66,54 @@ module.exports = { position: 'left', label: 'Models', }, + { + type: 'doc', + docId: 'tools/index', + position: 'left', + label: 'Tools', + }, + { + type: 'doc', + docId: 'teams/index', + position: 'left', + label: 'Teams', + }, + { + type: 'doc', + docId: 'memory/index', + position: 'left', + label: 'Memory', + }, + { + type: 'doc', + docId: 'guardrails/index', + position: 'left', + label: 'Guardrails', + }, + { + type: 'doc', + docId: 'evals/index', + position: 'left', + label: 'Evals', + }, + { + type: 'doc', + docId: 'triggers/index', + position: 'left', + label: 'Triggers', + }, + { + type: 'doc', + docId: 'outputs/index', + position: 'left', + label: 'Outputs', + }, + { + type: 'doc', + docId: 'notifications/index', + position: 'left', + label: 'Notifications', + }, { href: 'https://discord.gg/YQFwvmSSuR', position: 'right', From dbd7864a880f22760bb01f7aa7b92670ec163c7c Mon Sep 17 00:00:00 2001 From: Eric Charles Date: Wed, 25 Mar 2026 05:34:56 +0100 Subject: [PATCH 17/44] fix: docs --- docs/docs/env-vars/index.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/docs/env-vars/index.mdx b/docs/docs/env-vars/index.mdx index 73b8156..b583d13 100644 --- a/docs/docs/env-vars/index.mdx +++ b/docs/docs/env-vars/index.mdx @@ -144,4 +144,4 @@ The following environment variables are defined in `agentspecs/envvars/`: ## Details -For additional conventions around references and catalog behavior, see [Agentspecs Overview](../index). +For additional conventions around references and catalog behavior, see [Agentspecs Overview](/). From 1dbc6208fb825edfe4bf6c23215c2162acf63e02 Mon Sep 17 00:00:00 2001 From: Eric Charles Date: Wed, 25 Mar 2026 15:28:52 +0100 Subject: [PATCH 18/44] docs --- README.md | 9 +++------ docs/docs/agents/index.mdx | 9 ++------- docs/docs/index.mdx | 7 +------ 3 files changed, 6 insertions(+), 19 deletions(-) diff --git a/README.md b/README.md index 8e8dc98..f9aac0a 100644 --- a/README.md +++ b/README.md @@ -93,14 +93,11 @@ agent_spec_id: comprehensive-sales-analytics:0.0.1 ### Runtime Catalog Aliases -Generated catalogs expose both keys: +Generated catalogs are keyed by unversioned id only (e.g. `data-acquisition`). -- unversioned alias: `data-acquisition` -- versioned key: `data-acquisition:0.0.1` +The `get_*` / `get*Spec` accessor functions accept both bare ids and versioned refs (`data-acquisition:0.0.1`), stripping the version suffix automatically. -Both resolve to the same spec object. This preserves compatibility while enabling strict versioned refs. - -Important for consumers: iterating raw catalog values can include duplicates because both keys point to the same spec. Deduplicate by versionless id when rendering lists. +Iterating catalog values (`.values()` / `Object.values()`) returns each spec exactly once โ€” no deduplication is needed. ### Default Version During Codegen diff --git a/docs/docs/agents/index.mdx b/docs/docs/agents/index.mdx index 83e6d14..22436e3 100644 --- a/docs/docs/agents/index.mdx +++ b/docs/docs/agents/index.mdx @@ -207,14 +207,9 @@ Advanced workflow fields: - `authorization_policy` - `notifications` -## Catalog Alias Behavior +## Catalog Key Convention -Generated catalogs expose both aliases: - -- unversioned (`crawler`) -- versioned (`crawler:0.0.1`) - -Both map to the same spec object. UI consumers should dedupe by versionless id when listing all specs. +Generated catalogs are keyed by unversioned id only (e.g. `crawler`). The `getAgentSpec` accessor accepts both bare ids and versioned refs (`crawler:0.0.1`), stripping the version suffix automatically. Iterating catalog values returns each spec exactly once. ## Best Practices diff --git a/docs/docs/index.mdx b/docs/docs/index.mdx index 0e97f06..4d33390 100644 --- a/docs/docs/index.mdx +++ b/docs/docs/index.mdx @@ -49,12 +49,7 @@ All specs are versioned and include: Cross-spec references should use `id:version` format (for example `tavily:0.0.1`). -Generated catalogs expose both: - -- unversioned alias (`tavily`) -- versioned key (`tavily:0.0.1`) - -When rendering lists from catalog maps, dedupe by versionless id to avoid duplicate entries. +Generated catalogs are keyed by unversioned id only (e.g. `tavily`). The `get_*` / `get*Spec` accessor functions accept both bare ids and versioned refs (`tavily:0.0.1`), stripping the version suffix automatically. Iterating catalog values returns each spec exactly once. ## Directory Structure From e5b5067e71eb9727b2e118e08fd6cc8fc8e2702b Mon Sep 17 00:00:00 2001 From: Eric Charles Date: Thu, 26 Mar 2026 14:47:58 +0100 Subject: [PATCH 19/44] frontend tools --- .../agents/analyze-campaign-performance.yaml | 3 +++ agentspecs/agents/analyze-support-tickets.yaml | 3 +++ agentspecs/agents/audit-inventory-levels.yaml | 3 +++ .../agents/automate-regulatory-reporting.yaml | 3 +++ agentspecs/agents/classify-route-emails.yaml | 3 +++ .../agents/comprehensive-sales-analytics.yaml | 3 +++ agentspecs/agents/crawler.yaml | 3 +++ agentspecs/agents/data-acquisition.yaml | 3 +++ agentspecs/agents/end-of-month-performance.yaml | 3 +++ agentspecs/agents/extract-data-from-files.yaml | 3 +++ agentspecs/agents/financial-viz.yaml | 3 +++ agentspecs/agents/financial.yaml | 3 +++ agentspecs/agents/generate-weekly-reports.yaml | 3 +++ agentspecs/agents/github-agent.yaml | 3 +++ agentspecs/agents/information-routing.yaml | 3 +++ agentspecs/agents/monitor-sales-kpis.yaml | 3 +++ agentspecs/agents/optimize-dynamic-pricing.yaml | 3 +++ agentspecs/agents/optimize-grid-operations.yaml | 3 +++ agentspecs/agents/process-citizen-requests.yaml | 3 +++ .../agents/process-clinical-trial-data.yaml | 3 +++ .../agents/process-financial-transactions.yaml | 3 +++ agentspecs/agents/simple-base.yaml | 3 +++ agentspecs/agents/simple-full.yaml | 3 +++ agentspecs/agents/spatial-data-analysis.yaml | 3 +++ agentspecs/agents/summarize-documents.yaml | 3 +++ agentspecs/agents/sync-crm-contacts.yaml | 3 +++ agentspecs/frontend-tools/jupyter-notebook.yaml | 15 +++++++++++++++ agentspecs/frontend-tools/lexical-document.yaml | 15 +++++++++++++++ 28 files changed, 108 insertions(+) create mode 100644 agentspecs/frontend-tools/jupyter-notebook.yaml create mode 100644 agentspecs/frontend-tools/lexical-document.yaml diff --git a/agentspecs/agents/analyze-campaign-performance.yaml b/agentspecs/agents/analyze-campaign-performance.yaml index 4fc48f6..b48c684 100644 --- a/agentspecs/agents/analyze-campaign-performance.yaml +++ b/agentspecs/agents/analyze-campaign-performance.yaml @@ -43,6 +43,9 @@ skills: - events:0.0.1 # Runtime environment +frontend_tools: + - jupyter-notebook:0.0.1 + - lexical-document:0.0.1 environment_name: ai-agents-env # UI customization diff --git a/agentspecs/agents/analyze-support-tickets.yaml b/agentspecs/agents/analyze-support-tickets.yaml index 54f5e68..104bd15 100644 --- a/agentspecs/agents/analyze-support-tickets.yaml +++ b/agentspecs/agents/analyze-support-tickets.yaml @@ -40,6 +40,9 @@ skills: - events:0.0.1 # Runtime environment +frontend_tools: + - jupyter-notebook:0.0.1 + - lexical-document:0.0.1 environment_name: ai-agents-env # UI customization diff --git a/agentspecs/agents/audit-inventory-levels.yaml b/agentspecs/agents/audit-inventory-levels.yaml index 3f8567e..d63b117 100644 --- a/agentspecs/agents/audit-inventory-levels.yaml +++ b/agentspecs/agents/audit-inventory-levels.yaml @@ -39,6 +39,9 @@ skills: - events:0.0.1 # Runtime environment +frontend_tools: + - jupyter-notebook:0.0.1 + - lexical-document:0.0.1 environment_name: ai-agents-env # UI customization diff --git a/agentspecs/agents/automate-regulatory-reporting.yaml b/agentspecs/agents/automate-regulatory-reporting.yaml index d13e32c..cea8a4a 100644 --- a/agentspecs/agents/automate-regulatory-reporting.yaml +++ b/agentspecs/agents/automate-regulatory-reporting.yaml @@ -43,6 +43,9 @@ skills: - events:0.0.1 # Runtime environment +frontend_tools: + - jupyter-notebook:0.0.1 + - lexical-document:0.0.1 environment_name: ai-agents-env # UI customization diff --git a/agentspecs/agents/classify-route-emails.yaml b/agentspecs/agents/classify-route-emails.yaml index fdf8f03..e222b0b 100644 --- a/agentspecs/agents/classify-route-emails.yaml +++ b/agentspecs/agents/classify-route-emails.yaml @@ -39,6 +39,9 @@ skills: - events:0.0.1 # Runtime environment +frontend_tools: + - jupyter-notebook:0.0.1 + - lexical-document:0.0.1 environment_name: ai-agents-env # UI customization diff --git a/agentspecs/agents/comprehensive-sales-analytics.yaml b/agentspecs/agents/comprehensive-sales-analytics.yaml index 3448554..db23b45 100644 --- a/agentspecs/agents/comprehensive-sales-analytics.yaml +++ b/agentspecs/agents/comprehensive-sales-analytics.yaml @@ -49,6 +49,9 @@ skills: - events:0.0.1 # Runtime environment +frontend_tools: + - jupyter-notebook:0.0.1 + - lexical-document:0.0.1 environment_name: ai-agents-env # UI customization diff --git a/agentspecs/agents/crawler.yaml b/agentspecs/agents/crawler.yaml index 8a8638d..04dd61a 100644 --- a/agentspecs/agents/crawler.yaml +++ b/agentspecs/agents/crawler.yaml @@ -36,6 +36,9 @@ skills: - events:0.0.1 # Runtime environment +frontend_tools: + - jupyter-notebook:0.0.1 + - lexical-document:0.0.1 environment_name: ai-agents-env # UI customization diff --git a/agentspecs/agents/data-acquisition.yaml b/agentspecs/agents/data-acquisition.yaml index e46aecd..2f8de18 100644 --- a/agentspecs/agents/data-acquisition.yaml +++ b/agentspecs/agents/data-acquisition.yaml @@ -38,6 +38,9 @@ skills: - events:0.0.1 # Runtime environment +frontend_tools: + - jupyter-notebook:0.0.1 + - lexical-document:0.0.1 environment_name: ai-agents-env # UI customization diff --git a/agentspecs/agents/end-of-month-performance.yaml b/agentspecs/agents/end-of-month-performance.yaml index 904e47e..f6749ec 100644 --- a/agentspecs/agents/end-of-month-performance.yaml +++ b/agentspecs/agents/end-of-month-performance.yaml @@ -49,6 +49,9 @@ skills: - events:0.0.1 # Runtime environment +frontend_tools: + - jupyter-notebook:0.0.1 + - lexical-document:0.0.1 environment_name: ai-agents-env # UI customization diff --git a/agentspecs/agents/extract-data-from-files.yaml b/agentspecs/agents/extract-data-from-files.yaml index cc3420f..dcc6360 100644 --- a/agentspecs/agents/extract-data-from-files.yaml +++ b/agentspecs/agents/extract-data-from-files.yaml @@ -41,6 +41,9 @@ skills: - events:0.0.1 # Runtime environment +frontend_tools: + - jupyter-notebook:0.0.1 + - lexical-document:0.0.1 environment_name: ai-agents-env # UI customization diff --git a/agentspecs/agents/financial-viz.yaml b/agentspecs/agents/financial-viz.yaml index 0894d40..c020d0f 100644 --- a/agentspecs/agents/financial-viz.yaml +++ b/agentspecs/agents/financial-viz.yaml @@ -33,6 +33,9 @@ mcp_servers: skills: - events:0.0.1 # Runtime environment +frontend_tools: + - jupyter-notebook:0.0.1 + - lexical-document:0.0.1 environment_name: ai-agents-env # UI customization diff --git a/agentspecs/agents/financial.yaml b/agentspecs/agents/financial.yaml index 84e63bd..5dda0c5 100644 --- a/agentspecs/agents/financial.yaml +++ b/agentspecs/agents/financial.yaml @@ -32,6 +32,9 @@ mcp_servers: skills: - events:0.0.1 # Runtime environment +frontend_tools: + - jupyter-notebook:0.0.1 + - lexical-document:0.0.1 environment_name: ai-agents-env # UI customization diff --git a/agentspecs/agents/generate-weekly-reports.yaml b/agentspecs/agents/generate-weekly-reports.yaml index 5e69881..2885bec 100644 --- a/agentspecs/agents/generate-weekly-reports.yaml +++ b/agentspecs/agents/generate-weekly-reports.yaml @@ -40,6 +40,9 @@ skills: - events:0.0.1 # Runtime environment +frontend_tools: + - jupyter-notebook:0.0.1 + - lexical-document:0.0.1 environment_name: ai-agents-env # UI customization diff --git a/agentspecs/agents/github-agent.yaml b/agentspecs/agents/github-agent.yaml index b055bd2..2762f65 100644 --- a/agentspecs/agents/github-agent.yaml +++ b/agentspecs/agents/github-agent.yaml @@ -35,6 +35,9 @@ skills: - events:0.0.1 # Runtime environment +frontend_tools: + - jupyter-notebook:0.0.1 + - lexical-document:0.0.1 environment_name: ai-agents-env # UI customization diff --git a/agentspecs/agents/information-routing.yaml b/agentspecs/agents/information-routing.yaml index e91f6ec..c976e8d 100644 --- a/agentspecs/agents/information-routing.yaml +++ b/agentspecs/agents/information-routing.yaml @@ -33,6 +33,9 @@ mcp_servers: skills: - events:0.0.1 # Runtime environment +frontend_tools: + - jupyter-notebook:0.0.1 + - lexical-document:0.0.1 environment_name: ai-agents-env # UI customization diff --git a/agentspecs/agents/monitor-sales-kpis.yaml b/agentspecs/agents/monitor-sales-kpis.yaml index e767b41..8cf0891 100644 --- a/agentspecs/agents/monitor-sales-kpis.yaml +++ b/agentspecs/agents/monitor-sales-kpis.yaml @@ -44,6 +44,9 @@ tools: - runtime-echo:0.0.1 - runtime-sensitive-echo:0.0.1 - runtime-send-mail:0.0.1 +frontend_tools: + - jupyter-notebook:0.0.1 + - lexical-document:0.0.1 # Runtime environment environment_name: ai-agents-env diff --git a/agentspecs/agents/optimize-dynamic-pricing.yaml b/agentspecs/agents/optimize-dynamic-pricing.yaml index 6aee7ca..e98e1bb 100644 --- a/agentspecs/agents/optimize-dynamic-pricing.yaml +++ b/agentspecs/agents/optimize-dynamic-pricing.yaml @@ -42,6 +42,9 @@ skills: - events:0.0.1 # Runtime environment +frontend_tools: + - jupyter-notebook:0.0.1 + - lexical-document:0.0.1 environment_name: ai-agents-env # UI customization diff --git a/agentspecs/agents/optimize-grid-operations.yaml b/agentspecs/agents/optimize-grid-operations.yaml index 7f0de3f..70fbaff 100644 --- a/agentspecs/agents/optimize-grid-operations.yaml +++ b/agentspecs/agents/optimize-grid-operations.yaml @@ -41,6 +41,9 @@ skills: - events:0.0.1 # Runtime environment +frontend_tools: + - jupyter-notebook:0.0.1 + - lexical-document:0.0.1 environment_name: ai-agents-env # UI customization diff --git a/agentspecs/agents/process-citizen-requests.yaml b/agentspecs/agents/process-citizen-requests.yaml index 8256202..b8cbf2c 100644 --- a/agentspecs/agents/process-citizen-requests.yaml +++ b/agentspecs/agents/process-citizen-requests.yaml @@ -42,6 +42,9 @@ skills: - events:0.0.1 # Runtime environment +frontend_tools: + - jupyter-notebook:0.0.1 + - lexical-document:0.0.1 environment_name: ai-agents-env # UI customization diff --git a/agentspecs/agents/process-clinical-trial-data.yaml b/agentspecs/agents/process-clinical-trial-data.yaml index c5a2ad7..210a963 100644 --- a/agentspecs/agents/process-clinical-trial-data.yaml +++ b/agentspecs/agents/process-clinical-trial-data.yaml @@ -41,6 +41,9 @@ skills: - events:0.0.1 # Runtime environment +frontend_tools: + - jupyter-notebook:0.0.1 + - lexical-document:0.0.1 environment_name: ai-agents-env # UI customization diff --git a/agentspecs/agents/process-financial-transactions.yaml b/agentspecs/agents/process-financial-transactions.yaml index 088ef2a..0b0f197 100644 --- a/agentspecs/agents/process-financial-transactions.yaml +++ b/agentspecs/agents/process-financial-transactions.yaml @@ -39,6 +39,9 @@ skills: - events:0.0.1 # Runtime environment +frontend_tools: + - jupyter-notebook:0.0.1 + - lexical-document:0.0.1 environment_name: ai-agents-env # UI customization diff --git a/agentspecs/agents/simple-base.yaml b/agentspecs/agents/simple-base.yaml index b79c31d..99c57fe 100644 --- a/agentspecs/agents/simple-base.yaml +++ b/agentspecs/agents/simple-base.yaml @@ -34,6 +34,9 @@ skills: # Runtime tools tools: - runtime-echo:0.0.1 +frontend_tools: + - jupyter-notebook:0.0.1 + - lexical-document:0.0.1 # Runtime environment environment_name: ai-agents-env diff --git a/agentspecs/agents/simple-full.yaml b/agentspecs/agents/simple-full.yaml index 45d2f3b..1812ca6 100644 --- a/agentspecs/agents/simple-full.yaml +++ b/agentspecs/agents/simple-full.yaml @@ -42,6 +42,9 @@ skills: tools: - runtime-echo:0.0.1 - runtime-sensitive-echo:0.0.1 +frontend_tools: + - jupyter-notebook:0.0.1 + - lexical-document:0.0.1 # Runtime environment environment_name: ai-agents-env diff --git a/agentspecs/agents/spatial-data-analysis.yaml b/agentspecs/agents/spatial-data-analysis.yaml index 7fcbd04..8505a6a 100644 --- a/agentspecs/agents/spatial-data-analysis.yaml +++ b/agentspecs/agents/spatial-data-analysis.yaml @@ -37,6 +37,9 @@ skills: - events:0.0.1 # Runtime environment +frontend_tools: + - jupyter-notebook:0.0.1 + - lexical-document:0.0.1 environment_name: ai-agents-env # UI customization diff --git a/agentspecs/agents/summarize-documents.yaml b/agentspecs/agents/summarize-documents.yaml index 3a97545..4b9314a 100644 --- a/agentspecs/agents/summarize-documents.yaml +++ b/agentspecs/agents/summarize-documents.yaml @@ -39,6 +39,9 @@ skills: - events:0.0.1 # Runtime environment +frontend_tools: + - jupyter-notebook:0.0.1 + - lexical-document:0.0.1 environment_name: ai-agents-env # UI customization diff --git a/agentspecs/agents/sync-crm-contacts.yaml b/agentspecs/agents/sync-crm-contacts.yaml index d068bf6..2cecdb0 100644 --- a/agentspecs/agents/sync-crm-contacts.yaml +++ b/agentspecs/agents/sync-crm-contacts.yaml @@ -39,6 +39,9 @@ skills: - events:0.0.1 # Runtime environment +frontend_tools: + - jupyter-notebook:0.0.1 + - lexical-document:0.0.1 environment_name: ai-agents-env # UI customization diff --git a/agentspecs/frontend-tools/jupyter-notebook.yaml b/agentspecs/frontend-tools/jupyter-notebook.yaml new file mode 100644 index 0000000..e9e6816 --- /dev/null +++ b/agentspecs/frontend-tools/jupyter-notebook.yaml @@ -0,0 +1,15 @@ +# Copyright (c) 2025-2026 Datalayer, Inc. +# Distributed under the terms of the Modified BSD License. + +id: jupyter-notebook +version: 0.0.1 +name: Jupyter Notebook +description: Frontend tools for interacting with Jupyter notebooks. +tags: + - frontend + - notebook + - jupyter +enabled: true +toolset: all +icon: notebook +emoji: "๐Ÿ““" diff --git a/agentspecs/frontend-tools/lexical-document.yaml b/agentspecs/frontend-tools/lexical-document.yaml new file mode 100644 index 0000000..ff7d55f --- /dev/null +++ b/agentspecs/frontend-tools/lexical-document.yaml @@ -0,0 +1,15 @@ +# Copyright (c) 2025-2026 Datalayer, Inc. +# Distributed under the terms of the Modified BSD License. + +id: lexical-document +version: 0.0.1 +name: Lexical Document +description: Frontend tools for interacting with Lexical documents. +tags: + - frontend + - document + - lexical +enabled: true +toolset: all +icon: file +emoji: "๐Ÿ“„" From 62b993668a88311279b63a190f6ccbb1382a043e Mon Sep 17 00:00:00 2001 From: Eric Charles Date: Thu, 26 Mar 2026 20:27:33 +0100 Subject: [PATCH 20/44] skills --- agentspecs/skills/text-summarizer.yaml | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 agentspecs/skills/text-summarizer.yaml diff --git a/agentspecs/skills/text-summarizer.yaml b/agentspecs/skills/text-summarizer.yaml new file mode 100644 index 0000000..17aeb25 --- /dev/null +++ b/agentspecs/skills/text-summarizer.yaml @@ -0,0 +1,24 @@ +# Copyright (c) 2025-2026 Datalayer, Inc. +# Distributed under the terms of the Modified BSD License. + +id: text-summarizer +version: 0.0.1 +name: Text Summarizer Skill +description: Summarize text content using extractive and abstractive techniques. Use when the user asks for summaries, key points, or condensed versions of documents. + +# Variant 2: package + method reference +# Attributes (license, compatibility, allowed-tools, metadata) are read +# from the SKILL.md packaged inside the Python package at runtime. +package: agent_skills.skills.text_summarizer +method: summarize_text + +dependencies: + - agent-skills>=0.0.1 + +tags: + - nlp + - summarization + - text-processing + +icon: note +emoji: ๐Ÿ“ From 20bfdd934fd2f13fbe08942d1b0cc3fc949b8ea7 Mon Sep 17 00:00:00 2001 From: Eric Charles Date: Sat, 28 Mar 2026 07:36:21 +0100 Subject: [PATCH 21/44] skills --- agentspecs/agents/simple-full.yaml | 7 ++++++- agentspecs/skills/crawl.yaml | 2 +- agentspecs/skills/events.yaml | 2 +- agentspecs/skills/github.yaml | 2 +- agentspecs/skills/jokes.yaml | 18 ++++++++++++++++++ agentspecs/skills/pdf.yaml | 2 +- 6 files changed, 28 insertions(+), 5 deletions(-) create mode 100644 agentspecs/skills/jokes.yaml diff --git a/agentspecs/agents/simple-full.yaml b/agentspecs/agents/simple-full.yaml index 1812ca6..4335094 100644 --- a/agentspecs/agents/simple-full.yaml +++ b/agentspecs/agents/simple-full.yaml @@ -6,7 +6,7 @@ # - runtime-echo: executes immediately (no approval needed) # - runtime-sensitive-echo: requires human approval before execution # - Tavily MCP server for web search -# - Events skill +# - All catalog skills + local path-based jokes skill id: simple-full version: 0.0.1 @@ -36,7 +36,12 @@ mcp_servers: # Skills skills: + - crawl:0.0.1 - events:0.0.1 + - github:0.0.1 + - pdf:0.0.1 + - text-summarizer:0.0.1 + - jokes:0.0.1 # Runtime tools (runtime-echo = auto approval, runtime-sensitive-echo = manual approval) tools: diff --git a/agentspecs/skills/crawl.yaml b/agentspecs/skills/crawl.yaml index c3c08b1..673ad9b 100644 --- a/agentspecs/skills/crawl.yaml +++ b/agentspecs/skills/crawl.yaml @@ -6,7 +6,7 @@ version: 0.0.1 name: Web Crawl Skill description: Web crawling and content extraction capabilities -module: agent_skills.crawl +module: agent_skills.skills.crawl envvars: - TAVILY_API_KEY:0.0.1 diff --git a/agentspecs/skills/events.yaml b/agentspecs/skills/events.yaml index 1579e9c..11fdc25 100644 --- a/agentspecs/skills/events.yaml +++ b/agentspecs/skills/events.yaml @@ -6,7 +6,7 @@ version: 0.0.1 name: Events Skill description: Event generation, enrichment, and lifecycle orchestration -module: agent_skills.events +module: agent_skills.skills.events dependencies: - httpx>=0.27.0 diff --git a/agentspecs/skills/github.yaml b/agentspecs/skills/github.yaml index b21efa4..78d1fae 100644 --- a/agentspecs/skills/github.yaml +++ b/agentspecs/skills/github.yaml @@ -6,7 +6,7 @@ version: 0.0.1 name: GitHub Skill description: GitHub repository management and code operations -module: agent_skills.github +module: agent_skills.skills.github envvars: - GITHUB_TOKEN:0.0.1 diff --git a/agentspecs/skills/jokes.yaml b/agentspecs/skills/jokes.yaml new file mode 100644 index 0000000..cacfd50 --- /dev/null +++ b/agentspecs/skills/jokes.yaml @@ -0,0 +1,18 @@ +# Copyright (c) 2025-2026 Datalayer, Inc. +# Distributed under the terms of the Modified BSD License. + +id: jokes +version: 0.0.1 +name: Jokes Skill +description: Return random jokes from a local path-based skill. + +# path-based local skill (relative to configured skills folder) +path: jokes + +tags: + - fun + - humor + - demo + +icon: smiley +emoji: ๐Ÿ˜„ diff --git a/agentspecs/skills/pdf.yaml b/agentspecs/skills/pdf.yaml index 42ca2b9..abab74e 100644 --- a/agentspecs/skills/pdf.yaml +++ b/agentspecs/skills/pdf.yaml @@ -6,7 +6,7 @@ version: 0.0.1 name: PDF Processing Skill description: PDF document reading, parsing, and extraction -module: agent_skills.pdf +module: agent_skills.skills.pdf dependencies: - PyPDF2>=3.0.0 From f689805ca71fa28c80e61d6567d99ab925a0de63 Mon Sep 17 00:00:00 2001 From: Eric Charles Date: Sat, 28 Mar 2026 08:45:04 +0100 Subject: [PATCH 22/44] docs --- README.md | 2 +- docs/docs/index.mdx | 2 +- docs/docusaurus.config.js | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index f9aac0a..3ae7b32 100644 --- a/README.md +++ b/README.md @@ -10,7 +10,7 @@ # ๐Ÿงพ Agentspecs -YAML-based specifications for agents, teams, MCP servers, tools, and related runtime catalogs. +YAML-based specifications for AI agents, MCP servers, skills and more... ## Overview diff --git a/docs/docs/index.mdx b/docs/docs/index.mdx index 4d33390..294f6a1 100644 --- a/docs/docs/index.mdx +++ b/docs/docs/index.mdx @@ -9,7 +9,7 @@ import { useDocsSidebar } from '@docusaurus/plugin-content-docs/client'; # ๐Ÿงพ Agentspecs -Declarative YAML specifications for the [Agent Runtimes](https://github.com/datalayer/agent-runtimes) package. +Declarative YAML specifications for AI agents, MCP servers, skills and more... ## What Is Agentspecs? diff --git a/docs/docusaurus.config.js b/docs/docusaurus.config.js index 26f1d30..2c4bd3b 100644 --- a/docs/docusaurus.config.js +++ b/docs/docusaurus.config.js @@ -6,7 +6,7 @@ /** @type {import('@docusaurus/types').DocusaurusConfig} */ module.exports = { title: '๐Ÿงพ Agentspecs', - tagline: 'Agentspecs', + tagline: 'YAML-based specifications for AI agents, MCP servers, skills and more...', url: 'https://agentspecs.datalayer.tech', baseUrl: '/', onBrokenLinks: 'throw', From 9207e38913f6eaec79badc3d58fc4ab8225878a1 Mon Sep 17 00:00:00 2001 From: Eric Charles Date: Sat, 28 Mar 2026 12:42:09 +0100 Subject: [PATCH 23/44] triggers --- agentspecs/__version__.py | 2 +- agentspecs/agents/{simple-full.yaml => demo-full.yaml} | 2 +- agentspecs/agents/{simple-base.yaml => demo-simple.yaml} | 2 +- agentspecs/triggers/event.yaml | 2 +- agentspecs/triggers/once.yaml | 2 +- agentspecs/triggers/schedule.yaml | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) rename agentspecs/agents/{simple-full.yaml => demo-full.yaml} (99%) rename agentspecs/agents/{simple-base.yaml => demo-simple.yaml} (99%) diff --git a/agentspecs/__version__.py b/agentspecs/__version__.py index ae0a29c..291eb90 100644 --- a/agentspecs/__version__.py +++ b/agentspecs/__version__.py @@ -4,4 +4,4 @@ """Agentspecs.""" -__version__ = "0.0.2" +__version__ = "0.0.3" diff --git a/agentspecs/agents/simple-full.yaml b/agentspecs/agents/demo-full.yaml similarity index 99% rename from agentspecs/agents/simple-full.yaml rename to agentspecs/agents/demo-full.yaml index 4335094..642a62d 100644 --- a/agentspecs/agents/simple-full.yaml +++ b/agentspecs/agents/demo-full.yaml @@ -8,7 +8,7 @@ # - Tavily MCP server for web search # - All catalog skills + local path-based jokes skill -id: simple-full +id: demo-full version: 0.0.1 name: Tool Approval Demo description: > diff --git a/agentspecs/agents/simple-base.yaml b/agentspecs/agents/demo-simple.yaml similarity index 99% rename from agentspecs/agents/simple-base.yaml rename to agentspecs/agents/demo-simple.yaml index 99c57fe..e0381d6 100644 --- a/agentspecs/agents/simple-base.yaml +++ b/agentspecs/agents/demo-simple.yaml @@ -4,7 +4,7 @@ # Agent Specification: A Simple Agent # A minimal agent with no MCP servers or skills. -id: simple-base +id: demo-simple version: 0.0.1 name: A Simple Agent description: > diff --git a/agentspecs/triggers/event.yaml b/agentspecs/triggers/event.yaml index cb70d53..fd19fdd 100644 --- a/agentspecs/triggers/event.yaml +++ b/agentspecs/triggers/event.yaml @@ -29,4 +29,4 @@ fields: label: Trigger Prompt type: string required: false - placeholder: "Handle the incoming event and execute the workflow end-to-end." + placeholder: "Handle the incoming event and execute the agent end-to-end." diff --git a/agentspecs/triggers/once.yaml b/agentspecs/triggers/once.yaml index cb04d03..128a724 100644 --- a/agentspecs/triggers/once.yaml +++ b/agentspecs/triggers/once.yaml @@ -11,4 +11,4 @@ fields: label: Trigger Prompt type: string required: false - placeholder: "Start when requested by a user and complete the workflow once." + placeholder: "Start when requested by a user and complete the agent once." diff --git a/agentspecs/triggers/schedule.yaml b/agentspecs/triggers/schedule.yaml index 2989729..5280918 100644 --- a/agentspecs/triggers/schedule.yaml +++ b/agentspecs/triggers/schedule.yaml @@ -24,4 +24,4 @@ fields: label: Trigger Prompt type: string required: false - placeholder: "Run the scheduled workflow and produce the configured deliverable." + placeholder: "Run the scheduled agent and produce the configured deliverable." From 2bcb46d0a24fb35bde20a64e7c4802d17144205e Mon Sep 17 00:00:00 2001 From: Eric Charles Date: Sat, 28 Mar 2026 21:07:43 +0100 Subject: [PATCH 24/44] one trigger --- .../agents/comprehensive-sales-analytics.yaml | 6 +- agentspecs/agents/crawler.yaml | 6 +- agentspecs/agents/data-acquisition.yaml | 6 +- agentspecs/agents/demo-full.yaml | 6 +- agentspecs/agents/demo-one-trigger.yaml | 58 +++++++++++++++++++ agentspecs/agents/demo-simple.yaml | 6 +- agentspecs/agents/financial-viz.yaml | 6 +- agentspecs/agents/financial.yaml | 6 +- agentspecs/agents/github-agent.yaml | 6 +- agentspecs/agents/information-routing.yaml | 6 +- agentspecs/agents/spatial-data-analysis.yaml | 6 +- 11 files changed, 78 insertions(+), 40 deletions(-) create mode 100644 agentspecs/agents/demo-one-trigger.yaml diff --git a/agentspecs/agents/comprehensive-sales-analytics.yaml b/agentspecs/agents/comprehensive-sales-analytics.yaml index db23b45..aea0597 100644 --- a/agentspecs/agents/comprehensive-sales-analytics.yaml +++ b/agentspecs/agents/comprehensive-sales-analytics.yaml @@ -117,7 +117,5 @@ output: template: executive-sales-dashboard-v2 storage: s3://acme-sales-reports/ -# Trigger configuration -trigger: - type: once - prompt: "Start when requested by a user and complete the workflow once." +# No trigger โ€” this is an interactive agent +trigger: null diff --git a/agentspecs/agents/crawler.yaml b/agentspecs/agents/crawler.yaml index 04dd61a..07e6aba 100644 --- a/agentspecs/agents/crawler.yaml +++ b/agentspecs/agents/crawler.yaml @@ -102,7 +102,5 @@ welcome_notebook: null # Optional: Lexical document to show on agent creation welcome_document: null -# Trigger configuration -trigger: - type: once - prompt: "Start when requested by a user and complete the workflow once." +# No trigger โ€” this is an interactive chat agent +trigger: null diff --git a/agentspecs/agents/data-acquisition.yaml b/agentspecs/agents/data-acquisition.yaml index 2f8de18..c65ef4d 100644 --- a/agentspecs/agents/data-acquisition.yaml +++ b/agentspecs/agents/data-acquisition.yaml @@ -105,7 +105,5 @@ welcome_notebook: null # Optional: Lexical document to show on agent creation welcome_document: null -# Trigger configuration -trigger: - type: once - prompt: "Start when requested by a user and complete the workflow once." +# No trigger โ€” this is an interactive agent +trigger: null diff --git a/agentspecs/agents/demo-full.yaml b/agentspecs/agents/demo-full.yaml index 642a62d..b3bf1cc 100644 --- a/agentspecs/agents/demo-full.yaml +++ b/agentspecs/agents/demo-full.yaml @@ -86,7 +86,5 @@ system_prompt_codemode_addons: null welcome_notebook: null welcome_document: null -# Trigger configuration -trigger: - type: once - prompt: "Start when requested by a user and complete the workflow once." +# No trigger โ€” this is an interactive agent +trigger: null diff --git a/agentspecs/agents/demo-one-trigger.yaml b/agentspecs/agents/demo-one-trigger.yaml new file mode 100644 index 0000000..c001732 --- /dev/null +++ b/agentspecs/agents/demo-one-trigger.yaml @@ -0,0 +1,58 @@ +# Copyright (c) 2025-2026 Datalayer, Inc. +# Distributed under the terms of the Modified BSD License. + +# Agent Specification: Once Trigger Demo +# Demonstrates the "once" trigger type: the agent runs its trigger prompt +# once, emits lifecycle events, and then the runtime is terminated. + +id: demo-one-trigger +version: 0.0.1 +name: Once Trigger Demo +description: > + A demonstration agent for the "once" trigger type. When launched, the agent + executes its trigger prompt exactly once, emits AGENT_STARTED and + AGENT_ENDED lifecycle events, and then terminates the runtime automatically. + +tags: + - demo + - trigger + - once + - lifecycle + +enabled: true +model: "bedrock:us.anthropic.claude-sonnet-4-5-20250929-v1:0" + +sandbox_variant: jupyter + +# Memory backend +memory: ephemeral + +# Skills +skills: + - github:0.0.1 + - events:0.0.1 + +# Runtime tools +tools: + - runtime-echo:0.0.1 +frontend_tools: + - jupyter-notebook:0.0.1 + +# Runtime environment +environment_name: ai-agents-env + +# UI customization +icon: zap +emoji: โšก +color: "#f59e0b" # Amber + +# Goal / Prompt +goal: >- + Run a one-shot task: list the user's public GitHub repositories and provide + a brief summary of the most active ones. + +# Trigger configuration +trigger: + type: once + description: Run once and terminate + prompt: "List the user's public GitHub repositories and provide a summary." diff --git a/agentspecs/agents/demo-simple.yaml b/agentspecs/agents/demo-simple.yaml index e0381d6..6fc4586 100644 --- a/agentspecs/agents/demo-simple.yaml +++ b/agentspecs/agents/demo-simple.yaml @@ -73,7 +73,5 @@ welcome_notebook: null # Optional: Lexical document to show on agent creation welcome_document: null -# Trigger configuration -trigger: - type: once - prompt: "Start when requested by a user and complete the workflow once." +# No trigger โ€” this is an interactive chat agent +trigger: null diff --git a/agentspecs/agents/financial-viz.yaml b/agentspecs/agents/financial-viz.yaml index c020d0f..6a079d7 100644 --- a/agentspecs/agents/financial-viz.yaml +++ b/agentspecs/agents/financial-viz.yaml @@ -100,7 +100,5 @@ welcome_notebook: null # Optional: Lexical document to show on agent creation welcome_document: null -# Trigger configuration -trigger: - type: once - prompt: "Start when requested by a user and complete the workflow once." +# No trigger โ€” this is an interactive agent +trigger: null diff --git a/agentspecs/agents/financial.yaml b/agentspecs/agents/financial.yaml index 5dda0c5..4f33d66 100644 --- a/agentspecs/agents/financial.yaml +++ b/agentspecs/agents/financial.yaml @@ -99,7 +99,5 @@ welcome_notebook: null # Optional: Lexical document to show on agent creation welcome_document: null -# Trigger configuration -trigger: - type: once - prompt: "Start when requested by a user and complete the workflow once." +# No trigger โ€” this is an interactive agent +trigger: null diff --git a/agentspecs/agents/github-agent.yaml b/agentspecs/agents/github-agent.yaml index 2762f65..7377812 100644 --- a/agentspecs/agents/github-agent.yaml +++ b/agentspecs/agents/github-agent.yaml @@ -102,7 +102,5 @@ welcome_notebook: null # Optional: Lexical document to show on agent creation welcome_document: null -# Trigger configuration -trigger: - type: once - prompt: "Start when requested by a user and complete the workflow once." +# No trigger โ€” this is an interactive agent +trigger: null diff --git a/agentspecs/agents/information-routing.yaml b/agentspecs/agents/information-routing.yaml index c976e8d..f453371 100644 --- a/agentspecs/agents/information-routing.yaml +++ b/agentspecs/agents/information-routing.yaml @@ -100,7 +100,5 @@ welcome_notebook: null # Optional: Lexical document to show on agent creation welcome_document: null -# Trigger configuration -trigger: - type: once - prompt: "Start when requested by a user and complete the workflow once." +# No trigger โ€” this is an interactive agent +trigger: null diff --git a/agentspecs/agents/spatial-data-analysis.yaml b/agentspecs/agents/spatial-data-analysis.yaml index 8505a6a..aeec08c 100644 --- a/agentspecs/agents/spatial-data-analysis.yaml +++ b/agentspecs/agents/spatial-data-analysis.yaml @@ -86,10 +86,8 @@ system_prompt_codemode_addons: > 3. Execute transformations in code and keep outputs concise. 4. Persist important run states as events. -# Trigger configuration -trigger: - type: once - prompt: "Start when requested by a user, discover relevant spatial datasets, and produce one complete analysis output." +# No trigger โ€” this is an interactive agent +trigger: null # Optional: Jupyter notebook to show on agent creation welcome_notebook: null From 8edabfdef68f6e026e48891ab46f1a33e08be423 Mon Sep 17 00:00:00 2001 From: Eric Charles Date: Mon, 30 Mar 2026 12:08:09 +0200 Subject: [PATCH 25/44] triggers --- agentspecs/agents/demo-full.yaml | 27 ++++++-- .../agents/demo-one-trigger-approval.yaml | 66 +++++++++++++++++++ agentspecs/agents/demo-one-trigger.yaml | 12 ++-- agentspecs/events/agent-ended.yaml | 51 ++++++++++++++ agentspecs/events/agent-started.yaml | 36 ++++++++++ .../events/tool-approval-requested.yaml | 31 +++++++++ agentspecs/notifications/api-push.yaml | 29 ++++++++ agentspecs/outputs/api-push.yaml | 15 ----- 8 files changed, 241 insertions(+), 26 deletions(-) create mode 100644 agentspecs/agents/demo-one-trigger-approval.yaml create mode 100644 agentspecs/events/agent-ended.yaml create mode 100644 agentspecs/events/agent-started.yaml create mode 100644 agentspecs/events/tool-approval-requested.yaml create mode 100644 agentspecs/notifications/api-push.yaml delete mode 100644 agentspecs/outputs/api-push.yaml diff --git a/agentspecs/agents/demo-full.yaml b/agentspecs/agents/demo-full.yaml index b3bf1cc..4092df5 100644 --- a/agentspecs/agents/demo-full.yaml +++ b/agentspecs/agents/demo-full.yaml @@ -10,11 +10,11 @@ id: demo-full version: 0.0.1 -name: Tool Approval Demo +name: Demo with MCP, Skills, Tool Approvals... description: > - A minimal demonstration agent showcasing the human-in-the-loop tool - approval flow. Includes one tool that runs automatically and one that - requires explicit human approval before execution, plus Tavily web search. + A full-featured demonstration agent showcasing MCP servers (Tavily web search), + skills (GitHub, PDF, crawl, events, text summarizer, jokes), human-in-the-loop + tool approval, and frontend tools (Jupyter notebooks, Lexical documents). tags: - demo @@ -43,6 +43,10 @@ skills: - text-summarizer:0.0.1 - jokes:0.0.1 +# Secrets / environment variables +envvars: + - GITHUB_TOKEN:0.0.1 + # Runtime tools (runtime-echo = auto approval, runtime-sensitive-echo = manual approval) tools: - runtime-echo:0.0.1 @@ -62,14 +66,19 @@ color: "#6366F1" # Indigo # Chat suggestions suggestions: - list your tools - - "Call the runtime_sensitive_echo tool with text 'hello' and reason 'audit'. Use a tool call only and do not write Python code." - - "Call the runtime_echo tool with text 'hello world'. Use a tool call only and do not write Python code." + - "Search the web for the latest news on AI agents using Tavily." + - "List my public GitHub repositories and summarize the most active ones." + - "Echo with text 'hello' and reason 'audit', then share the result." + - "Echo 'hello world' and share the result in a short sentence." + - "Call the runtime_sensitive_echo tool with text 'hello' and reason 'audit', then reply with the tool result." + - "Call the runtime_echo tool with text 'hello world', then reply with the tool result." + - "Tell me a joke using your skills." # Welcome message welcome_message: > Hi! I'm the Tool Approval Demo agent. I have two echo tools โ€” one runs immediately, the other requires your approval before executing. I can also - search the web with Tavily. + search the web with Tavily and tell jokes using my skills. # System prompt system_prompt: > @@ -79,6 +88,10 @@ system_prompt: > - runtime_sensitive_echo: echoes text with a reason, but requires human approval before executing. You also have access to the Tavily MCP server for web search. When asked to list your tools, briefly describe each one and ask the user which to run. + IMPORTANT RUNTIME RULE: After every tool call, you MUST produce a final plain-text response summarizing the tool result. + Never end your turn with only a tool call. + If the user asks for "tool call only" or says "do not write Python code", still run the tool and then provide a short natural-language result message. + The final assistant output must be text (string), not only tool calls. Do not call list_skills, load_skill, read_skill_resource, or run_skill_script. system_prompt_codemode_addons: null diff --git a/agentspecs/agents/demo-one-trigger-approval.yaml b/agentspecs/agents/demo-one-trigger-approval.yaml new file mode 100644 index 0000000..a86ecf8 --- /dev/null +++ b/agentspecs/agents/demo-one-trigger-approval.yaml @@ -0,0 +1,66 @@ +# Copyright (c) 2025-2026 Datalayer, Inc. +# Distributed under the terms of the Modified BSD License. + +# Agent Specification: Once Trigger with Approval Demo +# Demonstrates the "once" trigger type combined with tool approval: +# the agent runs its trigger prompt once, requests manual approval +# before executing the sensitive echo tool, and then terminates. + +id: demo-one-trigger-approval +version: 0.0.1 +name: Demo with the Once Trigger and Tool Approval +description: > + A demonstration agent for the "once" trigger type with manual tool approval. + When launched, the agent executes its trigger prompt once and invokes the + runtime-sensitive-echo tool, which requires manual approval before execution. + After completion, the runtime is terminated automatically. + +tags: + - demo + - trigger + - once + - lifecycle + - approval + +enabled: true +model: "bedrock:us.anthropic.claude-sonnet-4-5-20250929-v1:0" + +sandbox_variant: jupyter + +# Memory backend +memory: ephemeral + +# Skills +skills: + - github:0.0.1 + - events:0.0.1 + +# Runtime tools +tools: + - runtime-sensitive-echo:0.0.1 +frontend_tools: + - jupyter-notebook:0.0.1 + +# Secrets / environment variables +envvars: + - GITHUB_TOKEN:0.0.1 + +# Runtime environment +environment_name: ai-agents-env + +# UI customization +icon: shield +emoji: ๐Ÿ›ก๏ธ +color: "#ef4444" # Red + +# Goal / Prompt +goal: >- + Run a one-shot task: use the runtime-sensitive-echo tool to echo a summary + of the user's top 3 public GitHub repositories ranked by recent activity. + The tool requires manual approval before execution. + +# Trigger configuration +trigger: + type: once + description: Run once with approval and terminate + prompt: "Use the runtime-sensitive-echo tool to echo a summary of the user's top 3 public GitHub repositories ranked by recent activity." diff --git a/agentspecs/agents/demo-one-trigger.yaml b/agentspecs/agents/demo-one-trigger.yaml index c001732..9cd64a0 100644 --- a/agentspecs/agents/demo-one-trigger.yaml +++ b/agentspecs/agents/demo-one-trigger.yaml @@ -7,7 +7,7 @@ id: demo-one-trigger version: 0.0.1 -name: Once Trigger Demo +name: Demo with the Once Trigger description: > A demonstration agent for the "once" trigger type. When launched, the agent executes its trigger prompt exactly once, emits AGENT_STARTED and @@ -38,6 +38,10 @@ tools: frontend_tools: - jupyter-notebook:0.0.1 +# Secrets / environment variables +envvars: + - GITHUB_TOKEN:0.0.1 + # Runtime environment environment_name: ai-agents-env @@ -48,11 +52,11 @@ color: "#f59e0b" # Amber # Goal / Prompt goal: >- - Run a one-shot task: list the user's public GitHub repositories and provide - a brief summary of the most active ones. + Run a one-shot task: list the user's top 3 public and top 3 private GitHub + repositories, ranked by recent activity, and provide a brief summary of each. # Trigger configuration trigger: type: once description: Run once and terminate - prompt: "List the user's public GitHub repositories and provide a summary." + prompt: "List the user's top 3 public and top 3 private GitHub repositories, ranked by recent activity, and provide a brief summary of each." diff --git a/agentspecs/events/agent-ended.yaml b/agentspecs/events/agent-ended.yaml new file mode 100644 index 0000000..dd98206 --- /dev/null +++ b/agentspecs/events/agent-ended.yaml @@ -0,0 +1,51 @@ +# Copyright (c) 2025-2026 Datalayer, Inc. +# Distributed under the terms of the Modified BSD License. + +id: agent-ended +version: 0.0.1 +name: Agent Ended +description: >- + Emitted when an agent finishes execution. Contains timing information, + exit status, optional output summary, and error details if applicable. +kind: agent-ended +fields: + - name: agent_runtime_id + label: Agent Runtime ID + type: string + required: true + description: Runtime pod or instance identifier. + - name: agent_spec_id + label: Agent Spec ID + type: string + required: true + description: Identifier of the agent specification that was executed. + - name: started_at + label: Started At + type: string + required: true + description: ISO 8601 timestamp when the agent started. + - name: ended_at + label: Ended At + type: string + required: true + description: ISO 8601 timestamp when the agent ended. + - name: duration_ms + label: Duration (ms) + type: number + required: true + description: Total execution time in milliseconds. + - name: exit_status + label: Exit Status + type: string + required: true + description: "Final status of the agent run (e.g. completed, error)." + - name: outputs + label: Outputs + type: string + required: false + description: Summary of the agent output or generated artifacts. + - name: error_message + label: Error Message + type: string + required: false + description: Error description if the agent run failed. diff --git a/agentspecs/events/agent-started.yaml b/agentspecs/events/agent-started.yaml new file mode 100644 index 0000000..90e83f2 --- /dev/null +++ b/agentspecs/events/agent-started.yaml @@ -0,0 +1,36 @@ +# Copyright (c) 2025-2026 Datalayer, Inc. +# Distributed under the terms of the Modified BSD License. + +id: agent-started +version: 0.0.1 +name: Agent Started +description: >- + Emitted when an agent begins execution. Contains the runtime identifier, + agent spec, trigger type, and the prompt being executed. +kind: agent-started +fields: + - name: agent_runtime_id + label: Agent Runtime ID + type: string + required: true + description: Runtime pod or instance identifier. + - name: agent_spec_id + label: Agent Spec ID + type: string + required: true + description: Identifier of the agent specification being executed. + - name: started_at + label: Started At + type: string + required: true + description: ISO 8601 timestamp when the agent started. + - name: trigger_type + label: Trigger Type + type: string + required: true + description: "Type of trigger that launched the agent (e.g. once, cron, webhook)." + - name: trigger_prompt + label: Trigger Prompt + type: string + required: false + description: The prompt passed to the agent by the trigger. diff --git a/agentspecs/events/tool-approval-requested.yaml b/agentspecs/events/tool-approval-requested.yaml new file mode 100644 index 0000000..46cd07b --- /dev/null +++ b/agentspecs/events/tool-approval-requested.yaml @@ -0,0 +1,31 @@ +# Copyright (c) 2025-2026 Datalayer, Inc. +# Distributed under the terms of the Modified BSD License. + +id: tool-approval-requested +version: 0.0.1 +name: Tool Approval Requested +description: >- + Emitted when an agent invokes a tool that requires manual approval + before execution. The agent pauses until the request is approved or rejected. +kind: tool-approval-requested +fields: + - name: agent_runtime_id + label: Agent Runtime ID + type: string + required: true + description: Runtime pod or instance identifier. + - name: agent_spec_id + label: Agent Spec ID + type: string + required: false + description: Identifier of the agent specification requesting approval. + - name: tool_name + label: Tool Name + type: string + required: true + description: Name of the tool requiring approval. + - name: tool_args + label: Tool Arguments + type: string + required: false + description: JSON-serialized arguments passed to the tool. diff --git a/agentspecs/notifications/api-push.yaml b/agentspecs/notifications/api-push.yaml new file mode 100644 index 0000000..956c4b2 --- /dev/null +++ b/agentspecs/notifications/api-push.yaml @@ -0,0 +1,29 @@ +# Copyright (c) 2025-2026 Datalayer, Inc. +# Distributed under the terms of the Modified BSD License. + +id: api-push +version: 0.0.1 +name: API Push +description: >- + Push results to an external API endpoint via HTTP POST. + Useful for integrating with downstream services, data warehouses, + or event-driven architectures. +icon: upload +available: false +coming_soon: true +fields: + - name: url + label: Endpoint URL + type: string + required: true + placeholder: "https://api.example.com/agent-results" + - name: secret + label: Signing Secret + type: string + required: false + placeholder: "Optional HMAC secret for payload signing" + - name: include_output + label: Include Output + type: boolean + required: false + default: true diff --git a/agentspecs/outputs/api-push.yaml b/agentspecs/outputs/api-push.yaml deleted file mode 100644 index 50ff346..0000000 --- a/agentspecs/outputs/api-push.yaml +++ /dev/null @@ -1,15 +0,0 @@ -# Copyright (c) 2025-2026 Datalayer, Inc. -# Distributed under the terms of the Modified BSD License. - -id: api-push -version: 0.0.1 -name: API Push -description: >- - Push results to an external API endpoint via HTTP POST. - Useful for integrating with downstream services, data warehouses, - or event-driven architectures. -icon: upload -supports_template: false -supports_storage: false -mime_types: - - application/json From 52721e29c25d5c5dabef58b763bf127922e86beb Mon Sep 17 00:00:00 2001 From: Eric Charles Date: Mon, 30 Mar 2026 18:29:39 +0200 Subject: [PATCH 26/44] demo --- agentspecs/agents/demo-one-trigger-approval.yaml | 16 +++++----------- 1 file changed, 5 insertions(+), 11 deletions(-) diff --git a/agentspecs/agents/demo-one-trigger-approval.yaml b/agentspecs/agents/demo-one-trigger-approval.yaml index a86ecf8..de40d00 100644 --- a/agentspecs/agents/demo-one-trigger-approval.yaml +++ b/agentspecs/agents/demo-one-trigger-approval.yaml @@ -31,9 +31,7 @@ sandbox_variant: jupyter memory: ephemeral # Skills -skills: - - github:0.0.1 - - events:0.0.1 +skills: [] # Runtime tools tools: @@ -41,10 +39,6 @@ tools: frontend_tools: - jupyter-notebook:0.0.1 -# Secrets / environment variables -envvars: - - GITHUB_TOKEN:0.0.1 - # Runtime environment environment_name: ai-agents-env @@ -55,12 +49,12 @@ color: "#ef4444" # Red # Goal / Prompt goal: >- - Run a one-shot task: use the runtime-sensitive-echo tool to echo a summary - of the user's top 3 public GitHub repositories ranked by recent activity. - The tool requires manual approval before execution. + Call runtime_sensitive_echo exactly once with + message="Tool approval demo executed" and reason="audit". + Do not call any other tool. # Trigger configuration trigger: type: once description: Run once with approval and terminate - prompt: "Use the runtime-sensitive-echo tool to echo a summary of the user's top 3 public GitHub repositories ranked by recent activity." + prompt: "Call runtime_sensitive_echo exactly once with message='Tool approval demo executed' and reason='audit'. Do not call any other tool." From 36cc2b84e854196223ea6850cfcf21e4b4c3aa00 Mon Sep 17 00:00:00 2001 From: Eric Charles Date: Tue, 14 Apr 2026 07:21:05 +0200 Subject: [PATCH 27/44] mode: haiku --- agentspecs/agents/crawler.yaml | 2 +- agentspecs/agents/data-acquisition.yaml | 2 +- agentspecs/agents/demo-full.yaml | 2 +- agentspecs/agents/demo-one-trigger-approval.yaml | 2 +- agentspecs/agents/demo-one-trigger.yaml | 2 +- agentspecs/agents/demo-simple.yaml | 2 +- agentspecs/agents/financial-viz.yaml | 2 +- agentspecs/agents/financial.yaml | 2 +- agentspecs/agents/github-agent.yaml | 2 +- agentspecs/agents/spatial-data-analysis.yaml | 2 +- 10 files changed, 10 insertions(+), 10 deletions(-) diff --git a/agentspecs/agents/crawler.yaml b/agentspecs/agents/crawler.yaml index 07e6aba..b9f99af 100644 --- a/agentspecs/agents/crawler.yaml +++ b/agentspecs/agents/crawler.yaml @@ -19,7 +19,7 @@ tags: - github enabled: true -model: "bedrock:us.anthropic.claude-sonnet-4-5-20250929-v1:0" +model: "bedrock:us.anthropic.claude-3-5-haiku-20241022-v1:0" sandbox_variant: jupyter diff --git a/agentspecs/agents/data-acquisition.yaml b/agentspecs/agents/data-acquisition.yaml index c65ef4d..14bbb77 100644 --- a/agentspecs/agents/data-acquisition.yaml +++ b/agentspecs/agents/data-acquisition.yaml @@ -19,7 +19,7 @@ tags: - filesystem enabled: true -model: "bedrock:us.anthropic.claude-sonnet-4-5-20250929-v1:0" +model: "bedrock:us.anthropic.claude-3-5-haiku-20241022-v1:0" sandbox_variant: jupyter diff --git a/agentspecs/agents/demo-full.yaml b/agentspecs/agents/demo-full.yaml index 4092df5..f7b8c13 100644 --- a/agentspecs/agents/demo-full.yaml +++ b/agentspecs/agents/demo-full.yaml @@ -23,7 +23,7 @@ tags: - utility enabled: true -model: "bedrock:us.anthropic.claude-sonnet-4-5-20250929-v1:0" +model: "bedrock:us.anthropic.claude-3-5-haiku-20241022-v1:0" sandbox_variant: jupyter diff --git a/agentspecs/agents/demo-one-trigger-approval.yaml b/agentspecs/agents/demo-one-trigger-approval.yaml index de40d00..4454fea 100644 --- a/agentspecs/agents/demo-one-trigger-approval.yaml +++ b/agentspecs/agents/demo-one-trigger-approval.yaml @@ -23,7 +23,7 @@ tags: - approval enabled: true -model: "bedrock:us.anthropic.claude-sonnet-4-5-20250929-v1:0" +model: "bedrock:us.anthropic.claude-3-5-haiku-20241022-v1:0" sandbox_variant: jupyter diff --git a/agentspecs/agents/demo-one-trigger.yaml b/agentspecs/agents/demo-one-trigger.yaml index 9cd64a0..a334daa 100644 --- a/agentspecs/agents/demo-one-trigger.yaml +++ b/agentspecs/agents/demo-one-trigger.yaml @@ -20,7 +20,7 @@ tags: - lifecycle enabled: true -model: "bedrock:us.anthropic.claude-sonnet-4-5-20250929-v1:0" +model: "bedrock:us.anthropic.claude-3-5-haiku-20241022-v1:0" sandbox_variant: jupyter diff --git a/agentspecs/agents/demo-simple.yaml b/agentspecs/agents/demo-simple.yaml index 6fc4586..bd9eaac 100644 --- a/agentspecs/agents/demo-simple.yaml +++ b/agentspecs/agents/demo-simple.yaml @@ -17,7 +17,7 @@ tags: - assistant enabled: true -model: "bedrock:us.anthropic.claude-sonnet-4-5-20250929-v1:0" +model: "bedrock:us.anthropic.claude-3-5-haiku-20241022-v1:0" sandbox_variant: jupyter diff --git a/agentspecs/agents/financial-viz.yaml b/agentspecs/agents/financial-viz.yaml index 6a079d7..11fefbc 100644 --- a/agentspecs/agents/financial-viz.yaml +++ b/agentspecs/agents/financial-viz.yaml @@ -17,7 +17,7 @@ tags: - charts enabled: false -model: "bedrock:us.anthropic.claude-sonnet-4-5-20250929-v1:0" +model: "bedrock:us.anthropic.claude-3-5-haiku-20241022-v1:0" sandbox_variant: local-eval diff --git a/agentspecs/agents/financial.yaml b/agentspecs/agents/financial.yaml index 4f33d66..39e2872 100644 --- a/agentspecs/agents/financial.yaml +++ b/agentspecs/agents/financial.yaml @@ -17,7 +17,7 @@ tags: - charts enabled: false -model: "bedrock:us.anthropic.claude-sonnet-4-5-20250929-v1:0" +model: "bedrock:us.anthropic.claude-3-5-haiku-20241022-v1:0" sandbox_variant: jupyter diff --git a/agentspecs/agents/github-agent.yaml b/agentspecs/agents/github-agent.yaml index 7377812..0c2a956 100644 --- a/agentspecs/agents/github-agent.yaml +++ b/agentspecs/agents/github-agent.yaml @@ -18,7 +18,7 @@ tags: - email enabled: false -model: "bedrock:us.anthropic.claude-sonnet-4-5-20250929-v1:0" +model: "bedrock:us.anthropic.claude-3-5-haiku-20241022-v1:0" sandbox_variant: jupyter diff --git a/agentspecs/agents/spatial-data-analysis.yaml b/agentspecs/agents/spatial-data-analysis.yaml index aeec08c..bbfac81 100644 --- a/agentspecs/agents/spatial-data-analysis.yaml +++ b/agentspecs/agents/spatial-data-analysis.yaml @@ -19,7 +19,7 @@ tags: - analytics enabled: true -model: "bedrock:us.anthropic.claude-sonnet-4-5-20250929-v1:0" +model: "bedrock:us.anthropic.claude-3-5-haiku-20241022-v1:0" sandbox_variant: jupyter From db146d25b61ef38798ef4c4f160a15a2ce73b887 Mon Sep 17 00:00:00 2001 From: Eric Charles Date: Wed, 15 Apr 2026 19:31:09 +0200 Subject: [PATCH 28/44] model: sonnet for triggered agents --- agentspecs/agents/demo-one-trigger-approval.yaml | 2 +- agentspecs/agents/demo-one-trigger.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/agentspecs/agents/demo-one-trigger-approval.yaml b/agentspecs/agents/demo-one-trigger-approval.yaml index 4454fea..de40d00 100644 --- a/agentspecs/agents/demo-one-trigger-approval.yaml +++ b/agentspecs/agents/demo-one-trigger-approval.yaml @@ -23,7 +23,7 @@ tags: - approval enabled: true -model: "bedrock:us.anthropic.claude-3-5-haiku-20241022-v1:0" +model: "bedrock:us.anthropic.claude-sonnet-4-5-20250929-v1:0" sandbox_variant: jupyter diff --git a/agentspecs/agents/demo-one-trigger.yaml b/agentspecs/agents/demo-one-trigger.yaml index a334daa..9cd64a0 100644 --- a/agentspecs/agents/demo-one-trigger.yaml +++ b/agentspecs/agents/demo-one-trigger.yaml @@ -20,7 +20,7 @@ tags: - lifecycle enabled: true -model: "bedrock:us.anthropic.claude-3-5-haiku-20241022-v1:0" +model: "bedrock:us.anthropic.claude-sonnet-4-5-20250929-v1:0" sandbox_variant: jupyter From 06339953c20f6c6cf4f357f640f8d29e5e706418 Mon Sep 17 00:00:00 2001 From: Eric Charles Date: Mon, 20 Apr 2026 08:48:32 +0200 Subject: [PATCH 29/44] docs: params and hooks --- README.md | 72 ++++++++++--- agentspecs/agents/demo-hooks.yaml | 103 ++++++++++++++++++ agentspecs/agents/demo-parameters.yaml | 83 ++++++++++++++ docs/README.md | 7 ++ docs/docs/hooks/_category_.yml | 2 + docs/docs/hooks/index.mdx | 143 +++++++++++++++++++++++++ docs/docs/index.mdx | 57 ++++++++++ docs/docusaurus.config.js | 6 ++ 8 files changed, 460 insertions(+), 13 deletions(-) create mode 100644 agentspecs/agents/demo-hooks.yaml create mode 100644 agentspecs/agents/demo-parameters.yaml create mode 100644 docs/docs/hooks/_category_.yml create mode 100644 docs/docs/hooks/index.mdx diff --git a/README.md b/README.md index 3ae7b32..d6aac2f 100644 --- a/README.md +++ b/README.md @@ -194,19 +194,6 @@ Common fields: - `outputs`: output format templates/capabilities - `notifications`: notification channel templates -## Generation and Consumption - -From Agent Runtimes, generated catalogs are produced via: - -```bash -make specs -``` - -Generation scripts are under [scripts/codegen](../scripts/codegen), and outputs are written to: - -- Python: [agent_runtimes/specs](../agent_runtimes/specs) -- TypeScript: [src/specs](../src/specs) - ## Adding or Updating Specs 1. Add or edit YAML in the relevant folder under [agentspecs/agentspecs](agentspecs). @@ -215,6 +202,65 @@ Generation scripts are under [scripts/codegen](../scripts/codegen), and outputs 4. Keep IDs stable; bump `version` when introducing breaking changes. 5. Regenerate catalogs in Agent Runtimes (`make specs`) and validate consumers. +## Parameters (Launch-Time Inputs) + +Agent specs support a `parameters` field using JSON Schema. This lets one spec +be reused across multiple launches while keeping runtime inputs validated and +explicit. + +### What parameters provide + +- **Validation**: enforce `type`, `enum`, `required`, and defaults. +- **Templating**: inject values into text fields using `{{parameter_name}}`. +- **Reusability**: same agent spec, different runtime contexts. + +### Typical template targets + +- `system_prompt` +- `welcome_message` +- `pre_hooks.sandbox` +- other template-aware text fields + +### Example + +```yaml +id: demo-parameters +version: 0.0.1 + +parameters: + type: object + properties: + project: + type: string + default: Orbit + role: + type: string + enum: + - product analyst + - engineering lead + - support specialist + default: product analyst + required: + - project + +welcome_message: > + This runtime was launched for project {{project}}. + +system_prompt: > + You are an assistant dedicated to {{project}}. + +pre_hooks: + sandbox: + - | + project_name = """{{project}}""" +``` + +### Validation notes + +- Missing required parameters fail validation. +- Invalid enum values fail validation. +- Optional parameters use defaults when available. + ## Best Practices - Use kebab-case IDs for most specs (`analyze-support-tickets`). diff --git a/agentspecs/agents/demo-hooks.yaml b/agentspecs/agents/demo-hooks.yaml new file mode 100644 index 0000000..0f2aaab --- /dev/null +++ b/agentspecs/agents/demo-hooks.yaml @@ -0,0 +1,103 @@ +# Copyright (c) 2025-2026 Datalayer, Inc. +# Distributed under the terms of the Modified BSD License. + +id: demo-hooks +version: 0.0.1 +name: Demo Hooks Agent +description: > + Demonstrates pre-hooks and post-hooks executed in the sandbox lifecycle. + +tags: + - demo + - hooks + - lifecycle + +enabled: true +model: "bedrock:us.anthropic.claude-3-5-haiku-20241022-v1:0" + +sandbox_variant: eval +memory: ephemeral + +mcp_servers: [] +skills: [] +tools: + - runtime-echo:0.0.1 +frontend_tools: [] + +environment_name: ai-agents-env + +icon: zap +emoji: "๐Ÿช" +color: "#0E7490" + +suggestions: + - "Read the pre-hook marker file at /tmp/agent_runtimes_pre_hook_demo.txt using execute_code." + - "Print the hook_ran_at and hook_name variables that the pre-hook set in the sandbox." + - "Run execute_code to verify that the 'rich' package was installed by the pre-hook." + - "Show me all variables that the pre-hook defined in the sandbox namespace." + +welcome_message: > + I ran a pre-hook before starting up. It installed the 'rich' package, wrote a + marker file, and set several sandbox variables (hook_name, hook_ran_at, + hook_env). Ask me to read the file or inspect those variables. + +system_prompt: > + You are a demo assistant for lifecycle hooks. + + The sandbox pre-hook ran before this agent started and did three things: + + 1. Installed the Python package 'rich' (pip install). + 2. Wrote a UTF-8 marker file to /tmp/agent_runtimes_pre_hook_demo.txt + with the content: "pre-hook executed for demo-hooks at ". + 3. Defined these Python variables in the sandbox namespace: + - hook_name (str) - "demo-hooks:pre" + - hook_ran_at (str) - ISO-8601 timestamp of when the pre-hook ran + - hook_env (dict) - subset of os.environ captured at hook time + + A post-hook is also configured โ€” it will write + /tmp/agent_runtimes_post_hook_demo.txt when the agent shuts down. + + When the user asks about hooks, use execute_code to show concrete evidence: + read the marker file, print the variables, or import rich to confirm it + was installed. + +pre_hooks: + packages: + - rich + sandbox: + - | + import datetime + import os + from pathlib import Path + + hook_name = "demo-hooks:pre" + hook_ran_at = datetime.datetime.now().isoformat() + hook_env = { + k: os.environ[k] + for k in ("PATH", "HOME", "DATALAYER_CODE_SANDBOX_VARIANT") + if k in os.environ + } + + Path('/tmp/agent_runtimes_pre_hook_demo.txt').write_text( + f'pre-hook executed for demo-hooks at {hook_ran_at}\n', + encoding='utf-8', + ) + print(f"[demo-hooks] pre-hook done: hook_ran_at={hook_ran_at!r}") + +post_hooks: + sandbox: + - | + import datetime + from pathlib import Path + + post_ran_at = datetime.datetime.now().isoformat() + Path('/tmp/agent_runtimes_post_hook_demo.txt').write_text( + f'post-hook executed for demo-hooks at {post_ran_at}\n', + encoding='utf-8', + ) + print(f"[demo-hooks] post-hook done: post_ran_at={post_ran_at!r}") + +system_prompt_codemode_addons: null +welcome_notebook: null +welcome_document: null +trigger: null diff --git a/agentspecs/agents/demo-parameters.yaml b/agentspecs/agents/demo-parameters.yaml new file mode 100644 index 0000000..73f6d17 --- /dev/null +++ b/agentspecs/agents/demo-parameters.yaml @@ -0,0 +1,83 @@ +# Copyright (c) 2025-2026 Datalayer, Inc. +# Distributed under the terms of the Modified BSD License. + +id: demo-parameters +version: 0.0.1 +name: Demo Parameters Agent +description: > + Demonstrates launch-time parameterization with JSON schema validation. + +tags: + - demo + - parameters + - schema + +enabled: true +model: "bedrock:us.anthropic.claude-sonnet-4-5-20250929-v1:0" + +sandbox_variant: jupyter +memory: ephemeral + +mcp_servers: [] +skills: [] +tools: + - runtime-echo:0.0.1 +frontend_tools: [] + +environment_name: ai-agents-env + +icon: sliders +emoji: "๐ŸŽ›๏ธ" +color: "#0F766E" + +parameters: + type: object + properties: + demo_params: + type: string + title: Demo Params + default: hello + project: + type: string + title: Project + default: Orbit + role: + type: string + title: Role + enum: + - product analyst + - engineering lead + - support specialist + default: product analyst + tone: + type: string + title: Tone + enum: + - concise + - detailed + default: concise + required: + - project + +suggestions: + - "Use execute_code to print(demo_params) from the sandbox, then explain the value." + - "Use execute_code to print('demo_params =', demo_params)." + +pre_hooks: + sandbox: + - | + demo_params = """{{demo_params}}""" + print(f"[demo-parameters] demo_params initialized: {demo_params!r}") + +welcome_message: > + This runtime was launched for project {{project}} and role {{role}}. + +system_prompt: > + You are an assistant dedicated to {{project}}. + Assume the user is a {{role}} and answer in a {{tone}} style. + A sandbox pre-hook set a Python variable named demo_params with value {{demo_params}}. + +system_prompt_codemode_addons: null +welcome_notebook: null +welcome_document: null +trigger: null diff --git a/docs/README.md b/docs/README.md index 1f03ae0..d3bc364 100644 --- a/docs/README.md +++ b/docs/README.md @@ -6,6 +6,13 @@ > Documentation for [Agentspecs](https://agentspecs.datalayer.tech) - Generate programmatic tools from MCP Servers and Skills. Built with [Docusaurus](https://docusaurus.io). +Agentspecs covers declarative YAML catalogs including: + +- Agents, teams, MCP servers, skills, tools, models, memory, guardrails, evals +- Workflow and delivery specs (triggers, outputs, notifications) +- Agent launch-time **parameters** (JSON Schema validated) +- Agent lifecycle **hooks** (`pre_hooks`, `post_hooks`) for sandbox setup/teardown + ```bash # Install the dependencies. make install diff --git a/docs/docs/hooks/_category_.yml b/docs/docs/hooks/_category_.yml new file mode 100644 index 0000000..7efd109 --- /dev/null +++ b/docs/docs/hooks/_category_.yml @@ -0,0 +1,2 @@ +label: "Hooks" +position: 14 diff --git a/docs/docs/hooks/index.mdx b/docs/docs/hooks/index.mdx new file mode 100644 index 0000000..fb5c8df --- /dev/null +++ b/docs/docs/hooks/index.mdx @@ -0,0 +1,143 @@ +--- +title: Hooks +--- + +# Hooks + +Hooks let an agent spec run setup and teardown logic around the sandbox +lifecycle. + +Use hooks when you need to: + +- Install Python packages before first execution. +- Seed sandbox state (variables, files, context). +- Perform cleanup or write final markers at shutdown. + +## Supported Hook Fields + +Hooks are defined in agent specs under these fields: + +### `pre_hooks.packages` (list of strings) + +Install Python packages before the runtime starts serving requests. + +```yaml +pre_hooks: + packages: + - rich + - pandas +``` + +### `pre_hooks.sandbox` (list of Python blocks) + +Run Python setup code in the sandbox after startup and before the agent handles +user requests. + +```yaml +pre_hooks: + sandbox: + - | + from pathlib import Path + Path('/tmp/startup.txt').write_text('ready\n', encoding='utf-8') +``` + +### `post_hooks.sandbox` (list of Python blocks) + +Run Python teardown/finalization code when the agent is shutting down. + +```yaml +post_hooks: + sandbox: + - | + from pathlib import Path + Path('/tmp/shutdown.txt').write_text('done\n', encoding='utf-8') +``` + +## Execution Order + +For an agent with hooks enabled: + +1. Sandbox is created (`eval` or `jupyter`, depending on `sandbox_variant`). +2. `pre_hooks.packages` are installed. +3. `pre_hooks.sandbox` scripts run. +4. Agent starts handling prompts/tools. +5. During shutdown, `post_hooks.sandbox` scripts run. + +If multiple scripts are defined in the same hook list, they run in list order. + +## Parameters and Templating + +Hooks support runtime templating with `{{parameter_name}}` values from the +agent spec `parameters` schema. + +```yaml +parameters: + type: object + properties: + demo_params: + type: string + default: hello + +pre_hooks: + sandbox: + - | + demo_params = """{{demo_params}}""" + print(f"demo_params initialized: {demo_params!r}") +``` + +## Complete Example + +```yaml +id: demo-hooks +version: 0.0.1 +sandbox_variant: eval + +pre_hooks: + packages: + - rich + sandbox: + - | + import datetime + import os + from pathlib import Path + + hook_name = "demo-hooks:pre" + hook_ran_at = datetime.datetime.now().isoformat() + hook_env = { + k: os.environ[k] + for k in ("PATH", "HOME", "DATALAYER_CODE_SANDBOX_VARIANT") + if k in os.environ + } + + Path('/tmp/agent_runtimes_pre_hook_demo.txt').write_text( + f'pre-hook executed at {hook_ran_at}\n', + encoding='utf-8', + ) + +post_hooks: + sandbox: + - | + import datetime + from pathlib import Path + + post_ran_at = datetime.datetime.now().isoformat() + Path('/tmp/agent_runtimes_post_hook_demo.txt').write_text( + f'post-hook executed at {post_ran_at}\n', + encoding='utf-8', + ) +``` + +## Best Practices + +1. Keep hooks idempotent where possible. +2. Keep setup fast; install only necessary packages. +3. Prefer deterministic file paths and explicit UTF-8 writes. +4. Validate critical hook outputs with a follow-up suggestion/tool call. +5. Use `pre_hooks` for initialization and `post_hooks` for finalization only. + +## Related Docs + +- [Agents](/agents) +- [Triggers](/triggers) +- [Outputs](/outputs) +- [Notifications](/notifications) diff --git a/docs/docs/index.mdx b/docs/docs/index.mdx index 294f6a1..d6601bf 100644 --- a/docs/docs/index.mdx +++ b/docs/docs/index.mdx @@ -18,6 +18,7 @@ Agentspecs is the source of truth for runtime catalogs compiled into Python and The repository currently defines these spec families: - Agent specs +- Hook specs - Team specs - MCP server specs - Skill specs @@ -77,6 +78,62 @@ agentspecs/ 3. Prefer explicit versioned references (`id:version`) for linked specs. 4. Keep IDs stable and bump `version` for breaking changes. +## Parameters + +Agent specs can declare launch-time `parameters` using JSON Schema. These +parameters are validated before runtime creation and then injected into +templated fields. + +### Why use parameters? + +- Build one reusable spec for many runtime contexts. +- Enforce input shape (`type`, `enum`, `required`, defaults). +- Drive prompts, hooks, and messages from validated values. + +### Where parameters are used + +Parameter values can be referenced with `{{name}}` templating in fields such as: + +- `system_prompt` +- `welcome_message` +- `pre_hooks.sandbox` +- other text fields that support runtime templating + +### Example + +```yaml +id: demo-parameters +version: 0.0.1 + +parameters: + type: object + properties: + project: + type: string + default: Orbit + role: + type: string + enum: [product analyst, engineering lead, support specialist] + default: product analyst + required: + - project + +system_prompt: > + You are an assistant dedicated to {{project}}. + Assume the user is a {{role}}. + +pre_hooks: + sandbox: + - | + project_name = """{{project}}""" +``` + +### Validation behavior + +- Missing required parameters fail validation. +- Invalid values (for example enum mismatch) fail validation. +- Optional parameters use their schema defaults when provided. + ## Documentation diff --git a/docs/docusaurus.config.js b/docs/docusaurus.config.js index 2c4bd3b..72027d9 100644 --- a/docs/docusaurus.config.js +++ b/docs/docusaurus.config.js @@ -114,6 +114,12 @@ module.exports = { position: 'left', label: 'Notifications', }, + { + type: 'doc', + docId: 'hooks/index', + position: 'left', + label: 'Hooks', + }, { href: 'https://discord.gg/YQFwvmSSuR', position: 'right', From 312b0795530cd27a7f8e35bfdb84a61b2c2226e5 Mon Sep 17 00:00:00 2001 From: Eric Charles Date: Sun, 24 May 2026 18:20:16 +0200 Subject: [PATCH 30/44] evals --- README.md | 9 ++- agentspecs/agents/eval-experiment-runner.yaml | 62 +++++++++++++++++++ .../{evals => benchmarks}/agentbench.yaml | 9 +++ .../{evals => benchmarks}/gpqa-diamond.yaml | 9 ++- .../{evals => benchmarks}/humaneval.yaml | 7 +++ agentspecs/{evals => benchmarks}/mmlu.yaml | 7 +++ .../swe-bench-verified.yaml | 8 +++ .../{evals => benchmarks}/swe-bench.yaml | 8 +++ .../{evals => benchmarks}/toolbench.yaml | 9 +++ .../{evals => benchmarks}/truthfulqa.yaml | 8 +++ .../evals/confusion-matrix-evaluator.yaml | 17 +++++ agentspecs/evals/contains.yaml | 17 +++++ agentspecs/evals/equals-expected.yaml | 17 +++++ agentspecs/evals/equals.yaml | 17 +++++ agentspecs/evals/has-matching-span.yaml | 17 +++++ agentspecs/evals/is-instance.yaml | 17 +++++ agentspecs/evals/llm-judge.yaml | 18 ++++++ agentspecs/evals/max-duration.yaml | 18 ++++++ .../evals/precision-recall-evaluator.yaml | 17 +++++ docs/docs/benchmarks/index.mdx | 43 +++++++++++++ docs/docs/evals/index.mdx | 17 +++-- docs/docs/index.mdx | 4 +- 22 files changed, 344 insertions(+), 11 deletions(-) create mode 100644 agentspecs/agents/eval-experiment-runner.yaml rename agentspecs/{evals => benchmarks}/agentbench.yaml (72%) rename agentspecs/{evals => benchmarks}/gpqa-diamond.yaml (71%) rename agentspecs/{evals => benchmarks}/humaneval.yaml (74%) rename agentspecs/{evals => benchmarks}/mmlu.yaml (74%) rename agentspecs/{evals => benchmarks}/swe-bench-verified.yaml (73%) rename agentspecs/{evals => benchmarks}/swe-bench.yaml (71%) rename agentspecs/{evals => benchmarks}/toolbench.yaml (72%) rename agentspecs/{evals => benchmarks}/truthfulqa.yaml (78%) create mode 100644 agentspecs/evals/confusion-matrix-evaluator.yaml create mode 100644 agentspecs/evals/contains.yaml create mode 100644 agentspecs/evals/equals-expected.yaml create mode 100644 agentspecs/evals/equals.yaml create mode 100644 agentspecs/evals/has-matching-span.yaml create mode 100644 agentspecs/evals/is-instance.yaml create mode 100644 agentspecs/evals/llm-judge.yaml create mode 100644 agentspecs/evals/max-duration.yaml create mode 100644 agentspecs/evals/precision-recall-evaluator.yaml create mode 100644 docs/docs/benchmarks/index.mdx diff --git a/README.md b/README.md index d6aac2f..67d0163 100644 --- a/README.md +++ b/README.md @@ -31,7 +31,8 @@ agentspecs/ โ”œโ”€โ”€ models/ # Model specs โ”œโ”€โ”€ memory/ # Memory backend specs โ”œโ”€โ”€ guardrails/ # Guardrail policy specs -โ”œโ”€โ”€ evals/ # Evaluation suite specs +โ”œโ”€โ”€ evals/ # Evaluator specs +โ”œโ”€โ”€ benchmarks/ # Benchmark suite specs โ”œโ”€โ”€ triggers/ # Trigger specs โ”œโ”€โ”€ outputs/ # Output format specs โ””โ”€โ”€ notifications/ # Notification channel specs @@ -48,7 +49,8 @@ Current YAML file counts: - Models: 20 - Memory backends: 4 - Guardrails: 6 -- Evals: 8 +- Evals: 9 +- Benchmarks: 8 - Triggers: 3 - Outputs: 8 - Notifications: 4 @@ -189,7 +191,8 @@ Common fields: - `memory`: memory backend options - `guardrails`: security and policy profiles -- `evals`: evaluation suites +- `evals`: evaluator definitions +- `benchmarks`: benchmark suites (with evaluator dependencies) - `triggers`: reusable trigger templates - `outputs`: output format templates/capabilities - `notifications`: notification channel templates diff --git a/agentspecs/agents/eval-experiment-runner.yaml b/agentspecs/agents/eval-experiment-runner.yaml new file mode 100644 index 0000000..020227a --- /dev/null +++ b/agentspecs/agents/eval-experiment-runner.yaml @@ -0,0 +1,62 @@ +# Copyright (c) 2025-2026 Datalayer, Inc. +# Distributed under the terms of the Modified BSD License. + +# Agent Specification: Eval Experiment Runner +# Purpose-built runtime agent used by the Evals UI to execute experiment runs. + +id: eval-experiment-runner +version: 0.0.1 +name: Eval Experiment Runner +description: >- + Dedicated agent spec for launching and running evaluation experiments from + the Evals interface. Includes baseline tooling for reproducible eval runs. + +tags: + - evals + - experiments + - runner + +enabled: true +model: "bedrock:us.anthropic.claude-3-5-haiku-20241022-v1:0" + +sandbox_variant: jupyter + +memory: ephemeral + +mcp_servers: [] + +skills: + - events:0.0.1 + +tools: + - runtime-echo:0.0.1 + +frontend_tools: + - jupyter-notebook:0.0.1 + - lexical-document:0.0.1 + +environment_name: ai-agents-env + +icon: pulse +emoji: "" +color: "#0EA5E9" + +suggestions: + - Run the selected evaluation experiment on the configured dataset + - Validate experiment configuration and report missing fields + - Summarize run results with pass rate and latency highlights + +welcome_message: >- + Ready to run eval experiments. Configure your benchmark and evaluator setup, + then launch a run. + +system_prompt: >- + You are the Eval Experiment Runner. Execute evaluation workflows reliably, + validate inputs before execution, and summarize outcomes clearly. + +system_prompt_codemode_addons: null + +welcome_notebook: null +welcome_document: null + +trigger: null diff --git a/agentspecs/evals/agentbench.yaml b/agentspecs/benchmarks/agentbench.yaml similarity index 72% rename from agentspecs/evals/agentbench.yaml rename to agentspecs/benchmarks/agentbench.yaml index 9c348a8..9e1bb07 100644 --- a/agentspecs/evals/agentbench.yaml +++ b/agentspecs/benchmarks/agentbench.yaml @@ -13,6 +13,15 @@ task_count: 4080 metric: success_rate source: https://github.com/THUDM/AgentBench difficulty: hard +dataset_source: hosted +supports_live_monitoring: true +supports_experiment_comparison: true +evaluator_shapes: + - pass_rate + - numeric +evaluators: + - precision-recall-evaluator:0.0.1 + - llm-judge:0.0.1 languages: - python - sql diff --git a/agentspecs/evals/gpqa-diamond.yaml b/agentspecs/benchmarks/gpqa-diamond.yaml similarity index 71% rename from agentspecs/evals/gpqa-diamond.yaml rename to agentspecs/benchmarks/gpqa-diamond.yaml index b9c2c13..a56e2fe 100644 --- a/agentspecs/evals/gpqa-diamond.yaml +++ b/agentspecs/benchmarks/gpqa-diamond.yaml @@ -8,10 +8,17 @@ description: >- Graduate-level science questions crafted by domain experts. Tests advanced reasoning in physics, chemistry, and biology with questions that require PhD-level understanding to answer correctly. -category: Reasoning +category: Knowledge task_count: 448 metric: accuracy source: https://github.com/idavidrein/gpqa difficulty: expert +dataset_source: hosted +supports_live_monitoring: false +supports_experiment_comparison: true +evaluator_shapes: + - numeric +evaluators: + - precision-recall-evaluator:0.0.1 languages: - english diff --git a/agentspecs/evals/humaneval.yaml b/agentspecs/benchmarks/humaneval.yaml similarity index 74% rename from agentspecs/evals/humaneval.yaml rename to agentspecs/benchmarks/humaneval.yaml index c22db17..93a11c2 100644 --- a/agentspecs/evals/humaneval.yaml +++ b/agentspecs/benchmarks/humaneval.yaml @@ -13,5 +13,12 @@ task_count: 164 metric: pass@k source: https://github.com/openai/human-eval difficulty: medium +dataset_source: hosted +supports_live_monitoring: false +supports_experiment_comparison: true +evaluator_shapes: + - pass_rate +evaluators: + - precision-recall-evaluator:0.0.1 languages: - python diff --git a/agentspecs/evals/mmlu.yaml b/agentspecs/benchmarks/mmlu.yaml similarity index 74% rename from agentspecs/evals/mmlu.yaml rename to agentspecs/benchmarks/mmlu.yaml index 0fce67f..086b97f 100644 --- a/agentspecs/evals/mmlu.yaml +++ b/agentspecs/benchmarks/mmlu.yaml @@ -13,5 +13,12 @@ task_count: 15908 metric: accuracy source: https://github.com/hendrycks/test difficulty: medium +dataset_source: hosted +supports_live_monitoring: false +supports_experiment_comparison: true +evaluator_shapes: + - numeric +evaluators: + - precision-recall-evaluator:0.0.1 languages: - english diff --git a/agentspecs/evals/swe-bench-verified.yaml b/agentspecs/benchmarks/swe-bench-verified.yaml similarity index 73% rename from agentspecs/evals/swe-bench-verified.yaml rename to agentspecs/benchmarks/swe-bench-verified.yaml index 564fc71..515f793 100644 --- a/agentspecs/evals/swe-bench-verified.yaml +++ b/agentspecs/benchmarks/swe-bench-verified.yaml @@ -13,5 +13,13 @@ task_count: 500 metric: pass@1 source: https://www.swebench.com/ difficulty: hard +dataset_source: hosted +supports_live_monitoring: true +supports_experiment_comparison: true +evaluator_shapes: + - pass_rate +evaluators: + - precision-recall-evaluator:0.0.1 + - llm-judge:0.0.1 languages: - python diff --git a/agentspecs/evals/swe-bench.yaml b/agentspecs/benchmarks/swe-bench.yaml similarity index 71% rename from agentspecs/evals/swe-bench.yaml rename to agentspecs/benchmarks/swe-bench.yaml index 9f9853c..6aef2ea 100644 --- a/agentspecs/evals/swe-bench.yaml +++ b/agentspecs/benchmarks/swe-bench.yaml @@ -13,5 +13,13 @@ task_count: 2294 metric: pass@1 source: https://www.swebench.com/ difficulty: hard +dataset_source: hosted +supports_live_monitoring: true +supports_experiment_comparison: true +evaluator_shapes: + - pass_rate +evaluators: + - precision-recall-evaluator:0.0.1 + - llm-judge:0.0.1 languages: - python diff --git a/agentspecs/evals/toolbench.yaml b/agentspecs/benchmarks/toolbench.yaml similarity index 72% rename from agentspecs/evals/toolbench.yaml rename to agentspecs/benchmarks/toolbench.yaml index f1c88e3..0a20e91 100644 --- a/agentspecs/evals/toolbench.yaml +++ b/agentspecs/benchmarks/toolbench.yaml @@ -13,6 +13,15 @@ task_count: 12657 metric: pass_rate source: https://github.com/OpenBMB/ToolBench difficulty: hard +dataset_source: hosted +supports_live_monitoring: true +supports_experiment_comparison: true +evaluator_shapes: + - pass_rate + - numeric +evaluators: + - precision-recall-evaluator:0.0.1 + - llm-judge:0.0.1 languages: - python - json diff --git a/agentspecs/evals/truthfulqa.yaml b/agentspecs/benchmarks/truthfulqa.yaml similarity index 78% rename from agentspecs/evals/truthfulqa.yaml rename to agentspecs/benchmarks/truthfulqa.yaml index 225d666..5140180 100644 --- a/agentspecs/evals/truthfulqa.yaml +++ b/agentspecs/benchmarks/truthfulqa.yaml @@ -14,5 +14,13 @@ task_count: 817 metric: truthful_informative source: https://github.com/sylinrl/TruthfulQA difficulty: medium +dataset_source: hosted +supports_live_monitoring: false +supports_experiment_comparison: true +evaluator_shapes: + - categorical + - numeric +evaluators: + - llm-judge:0.0.1 languages: - english diff --git a/agentspecs/evals/confusion-matrix-evaluator.yaml b/agentspecs/evals/confusion-matrix-evaluator.yaml new file mode 100644 index 0000000..729106c --- /dev/null +++ b/agentspecs/evals/confusion-matrix-evaluator.yaml @@ -0,0 +1,17 @@ +# Copyright (c) 2025-2026 Datalayer, Inc. +# Distributed under the terms of the Modified BSD License. + +id: confusion-matrix-evaluator +version: 0.0.1 +name: Confusion Matrix Evaluator +description: Aggregate evaluator for precision/recall style confusion-matrix reporting. +category: Report +evaluator_type: report +pydantic_class: ConfusionMatrixEvaluator +output_kind: report_table +cost_tier: free +latency: fast +requires: + - expected_output +source: https://ai.pydantic.dev/evals/ +default_config: {} diff --git a/agentspecs/evals/contains.yaml b/agentspecs/evals/contains.yaml new file mode 100644 index 0000000..916068b --- /dev/null +++ b/agentspecs/evals/contains.yaml @@ -0,0 +1,17 @@ +# Copyright (c) 2025-2026 Datalayer, Inc. +# Distributed under the terms of the Modified BSD License. + +id: contains +version: 0.0.1 +name: Contains +description: Assert that expected content appears in the model output. +category: Comparison +evaluator_type: case +pydantic_class: ContainsEvaluator +output_kind: boolean +cost_tier: free +latency: instant +requires: + - expected_output +source: https://ai.pydantic.dev/evals/ +default_config: {} diff --git a/agentspecs/evals/equals-expected.yaml b/agentspecs/evals/equals-expected.yaml new file mode 100644 index 0000000..b043ecf --- /dev/null +++ b/agentspecs/evals/equals-expected.yaml @@ -0,0 +1,17 @@ +# Copyright (c) 2025-2026 Datalayer, Inc. +# Distributed under the terms of the Modified BSD License. + +id: equals-expected +version: 0.0.1 +name: Equals Expected +description: Compare model output against an expected value with strict matching. +category: Comparison +evaluator_type: case +pydantic_class: EqualsExpectedEvaluator +output_kind: boolean +cost_tier: free +latency: instant +requires: + - expected_output +source: https://ai.pydantic.dev/evals/ +default_config: {} diff --git a/agentspecs/evals/equals.yaml b/agentspecs/evals/equals.yaml new file mode 100644 index 0000000..9069b1b --- /dev/null +++ b/agentspecs/evals/equals.yaml @@ -0,0 +1,17 @@ +# Copyright (c) 2025-2026 Datalayer, Inc. +# Distributed under the terms of the Modified BSD License. + +id: equals +version: 0.0.1 +name: Equals +description: Assert exact equality between expected and actual values. +category: Comparison +evaluator_type: case +pydantic_class: EqualsEvaluator +output_kind: boolean +cost_tier: free +latency: instant +requires: + - expected_output +source: https://ai.pydantic.dev/evals/ +default_config: {} diff --git a/agentspecs/evals/has-matching-span.yaml b/agentspecs/evals/has-matching-span.yaml new file mode 100644 index 0000000..fc15111 --- /dev/null +++ b/agentspecs/evals/has-matching-span.yaml @@ -0,0 +1,17 @@ +# Copyright (c) 2025-2026 Datalayer, Inc. +# Distributed under the terms of the Modified BSD License. + +id: has-matching-span +version: 0.0.1 +name: Has Matching Span +description: Validate expected spans in structured traces and tool-call transcripts. +category: Span-Based +evaluator_type: case +pydantic_class: HasMatchingSpanEvaluator +output_kind: boolean +cost_tier: free +latency: fast +requires: + - trace +source: https://ai.pydantic.dev/evals/ +default_config: {} diff --git a/agentspecs/evals/is-instance.yaml b/agentspecs/evals/is-instance.yaml new file mode 100644 index 0000000..1202762 --- /dev/null +++ b/agentspecs/evals/is-instance.yaml @@ -0,0 +1,17 @@ +# Copyright (c) 2025-2026 Datalayer, Inc. +# Distributed under the terms of the Modified BSD License. + +id: is-instance +version: 0.0.1 +name: Is Instance +description: Validate output type against an expected Python/JSON schema type. +category: Type Validation +evaluator_type: case +pydantic_class: IsInstanceEvaluator +output_kind: boolean +cost_tier: free +latency: instant +requires: + - expected_type +source: https://ai.pydantic.dev/evals/ +default_config: {} diff --git a/agentspecs/evals/llm-judge.yaml b/agentspecs/evals/llm-judge.yaml new file mode 100644 index 0000000..d5be838 --- /dev/null +++ b/agentspecs/evals/llm-judge.yaml @@ -0,0 +1,18 @@ +# Copyright (c) 2025-2026 Datalayer, Inc. +# Distributed under the terms of the Modified BSD License. + +id: llm-judge +version: 0.0.1 +name: LLM Judge +description: Use an LLM-as-a-judge prompt to score quality and provide rationale. +category: LLM-as-a-Judge +evaluator_type: case +pydantic_class: LLMJudgeEvaluator +output_kind: score_and_assertion +cost_tier: llm +latency: slow +requires: + - model +source: https://ai.pydantic.dev/evals/ +default_config: + threshold: 0.7 diff --git a/agentspecs/evals/max-duration.yaml b/agentspecs/evals/max-duration.yaml new file mode 100644 index 0000000..e0b65ea --- /dev/null +++ b/agentspecs/evals/max-duration.yaml @@ -0,0 +1,18 @@ +# Copyright (c) 2025-2026 Datalayer, Inc. +# Distributed under the terms of the Modified BSD License. + +id: max-duration +version: 0.0.1 +name: Max Duration +description: Assert response latency remains below a configured duration threshold. +category: Performance +evaluator_type: case +pydantic_class: MaxDurationEvaluator +output_kind: boolean_with_reason +cost_tier: free +latency: instant +requires: + - duration_ms +source: https://ai.pydantic.dev/evals/ +default_config: + max_duration_ms: 5000 diff --git a/agentspecs/evals/precision-recall-evaluator.yaml b/agentspecs/evals/precision-recall-evaluator.yaml new file mode 100644 index 0000000..0ad365c --- /dev/null +++ b/agentspecs/evals/precision-recall-evaluator.yaml @@ -0,0 +1,17 @@ +# Copyright (c) 2025-2026 Datalayer, Inc. +# Distributed under the terms of the Modified BSD License. + +id: precision-recall-evaluator +version: 0.0.1 +name: Precision Recall Evaluator +description: Aggregate evaluator for precision, recall, and pass-rate style benchmark reporting. +category: Report +evaluator_type: report +pydantic_class: PrecisionRecallEvaluator +output_kind: report_curve +cost_tier: free +latency: fast +requires: + - expected_output +source: https://ai.pydantic.dev/evals/ +default_config: {} diff --git a/docs/docs/benchmarks/index.mdx b/docs/docs/benchmarks/index.mdx new file mode 100644 index 0000000..b21d5e4 --- /dev/null +++ b/docs/docs/benchmarks/index.mdx @@ -0,0 +1,43 @@ +--- +sidebar_position: 2 +title: Benchmarks +--- + +# Benchmark Specifications + +Benchmark specs define runnable benchmark suites (datasets, metrics, and +difficulty metadata). + +Each benchmark must declare one or more evaluator dependencies in the +`evaluators` field. + +## Required Fields + +- `id` +- `version` +- `name` +- `description` +- `category` +- `task_count` +- `metric` +- `evaluators` + +## Common Fields + +- `difficulty` +- `languages` +- `dataset_source` +- `supports_live_monitoring` +- `supports_experiment_comparison` +- `evaluator_shapes` +- `recommended_windows` +- `trace_integration` +- `dataset_editability` +- `sdk_support` + +## Notes + +- Benchmarks are referenced from agent specs and runtime workflows. +- Benchmark generation validates that each evaluator reference exists in the + eval catalog. +- Prefer explicit `id:version` references. diff --git a/docs/docs/evals/index.mdx b/docs/docs/evals/index.mdx index 7cfce9f..400c271 100644 --- a/docs/docs/evals/index.mdx +++ b/docs/docs/evals/index.mdx @@ -3,9 +3,12 @@ sidebar_position: 1 title: Evals --- -# Eval Specifications +# Evaluator Specifications -Eval specs define reusable benchmark/evaluation suites. +Eval specs define reusable evaluator definitions. + +Benchmarks are defined separately and reference evaluators through their +`evaluators` field. ## Required Fields @@ -16,11 +19,13 @@ Eval specs define reusable benchmark/evaluation suites. ## Common Fields -- category -- task metadata -- optional provider/model constraints +- `category` +- `evaluator_type` +- `pydantic_class` +- `output_kind` +- optional `requires`, `default_config`, and source metadata ## Notes -- Evals are referenced from agent specs and runtime workflows. +- Evaluators are referenced from benchmark specs and runtime workflows. - Prefer explicit `id:version` references. diff --git a/docs/docs/index.mdx b/docs/docs/index.mdx index d6601bf..20d647f 100644 --- a/docs/docs/index.mdx +++ b/docs/docs/index.mdx @@ -27,7 +27,8 @@ The repository currently defines these spec families: - Model specs - Memory specs - Guardrail specs -- Eval specs +- Evaluator specs +- Benchmark specs - Trigger specs - Output specs - Notification specs @@ -66,6 +67,7 @@ agentspecs/ โ”œโ”€โ”€ memory/ โ”œโ”€โ”€ guardrails/ โ”œโ”€โ”€ evals/ +โ”œโ”€โ”€ benchmarks/ โ”œโ”€โ”€ triggers/ โ”œโ”€โ”€ outputs/ โ””โ”€โ”€ notifications/ From 4a2410f54c9ec1da48e88da70560ece5c6973e45 Mon Sep 17 00:00:00 2001 From: Eric Charles Date: Mon, 25 May 2026 18:11:49 +0200 Subject: [PATCH 31/44] evals --- .../agents/analyze-campaign-performance.yaml | 2 +- .../agents/analyze-support-tickets.yaml | 2 +- agentspecs/agents/audit-inventory-levels.yaml | 2 +- .../agents/automate-regulatory-reporting.yaml | 2 +- agentspecs/agents/classify-route-emails.yaml | 2 +- .../agents/comprehensive-sales-analytics.yaml | 2 +- agentspecs/agents/crawler.yaml | 2 +- agentspecs/agents/data-acquisition.yaml | 2 +- agentspecs/agents/demo-evals.yaml | 62 +++++++++++++++++++ agentspecs/agents/demo-full.yaml | 2 +- agentspecs/agents/demo-hooks.yaml | 2 +- agentspecs/agents/demo-simple.yaml | 2 +- .../agents/end-of-month-performance.yaml | 2 +- agentspecs/agents/eval-experiment-runner.yaml | 4 +- agentspecs/agents/eval-synthetic-runner.yaml | 61 ++++++++++++++++++ .../agents/extract-data-from-files.yaml | 2 +- agentspecs/agents/financial-viz.yaml | 2 +- agentspecs/agents/financial.yaml | 2 +- .../agents/generate-weekly-reports.yaml | 2 +- agentspecs/agents/github-agent.yaml | 2 +- agentspecs/agents/monitor-sales-kpis.yaml | 2 +- .../agents/optimize-dynamic-pricing.yaml | 2 +- .../agents/optimize-grid-operations.yaml | 2 +- .../agents/process-citizen-requests.yaml | 2 +- .../agents/process-clinical-trial-data.yaml | 2 +- .../process-financial-transactions.yaml | 2 +- agentspecs/agents/spatial-data-analysis.yaml | 2 +- agentspecs/agents/summarize-documents.yaml | 2 +- agentspecs/agents/sync-crm-contacts.yaml | 2 +- .../models/bedrock-claude-haiku-3-5.yaml | 2 +- 30 files changed, 152 insertions(+), 29 deletions(-) create mode 100644 agentspecs/agents/demo-evals.yaml create mode 100644 agentspecs/agents/eval-synthetic-runner.yaml diff --git a/agentspecs/agents/analyze-campaign-performance.yaml b/agentspecs/agents/analyze-campaign-performance.yaml index b48c684..0fdd548 100644 --- a/agentspecs/agents/analyze-campaign-performance.yaml +++ b/agentspecs/agents/analyze-campaign-performance.yaml @@ -24,7 +24,7 @@ tags: - social-media enabled: false -model: "bedrock:us.anthropic.claude-3-5-haiku-20241022-v1:0" +model: "bedrock:us.anthropic.claude-sonnet-4-5-20250929-v1:0" sandbox_variant: jupyter diff --git a/agentspecs/agents/analyze-support-tickets.yaml b/agentspecs/agents/analyze-support-tickets.yaml index 104bd15..786a117 100644 --- a/agentspecs/agents/analyze-support-tickets.yaml +++ b/agentspecs/agents/analyze-support-tickets.yaml @@ -21,7 +21,7 @@ tags: - tickets enabled: false -model: "bedrock:us.anthropic.claude-3-5-haiku-20241022-v1:0" +model: "bedrock:us.anthropic.claude-sonnet-4-5-20250929-v1:0" sandbox_variant: jupyter diff --git a/agentspecs/agents/audit-inventory-levels.yaml b/agentspecs/agents/audit-inventory-levels.yaml index d63b117..ad3dcdd 100644 --- a/agentspecs/agents/audit-inventory-levels.yaml +++ b/agentspecs/agents/audit-inventory-levels.yaml @@ -21,7 +21,7 @@ tags: - supply-chain enabled: false -model: "bedrock:us.anthropic.claude-3-5-haiku-20241022-v1:0" +model: "bedrock:us.anthropic.claude-sonnet-4-5-20250929-v1:0" sandbox_variant: jupyter diff --git a/agentspecs/agents/automate-regulatory-reporting.yaml b/agentspecs/agents/automate-regulatory-reporting.yaml index cea8a4a..c335021 100644 --- a/agentspecs/agents/automate-regulatory-reporting.yaml +++ b/agentspecs/agents/automate-regulatory-reporting.yaml @@ -25,7 +25,7 @@ tags: - audit enabled: false -model: "bedrock:us.anthropic.claude-3-5-haiku-20241022-v1:0" +model: "bedrock:us.anthropic.claude-sonnet-4-5-20250929-v1:0" sandbox_variant: jupyter diff --git a/agentspecs/agents/classify-route-emails.yaml b/agentspecs/agents/classify-route-emails.yaml index e222b0b..517a838 100644 --- a/agentspecs/agents/classify-route-emails.yaml +++ b/agentspecs/agents/classify-route-emails.yaml @@ -22,7 +22,7 @@ tags: - automation enabled: false -model: "bedrock:us.anthropic.claude-3-5-haiku-20241022-v1:0" +model: "bedrock:us.anthropic.claude-sonnet-4-5-20250929-v1:0" sandbox_variant: jupyter diff --git a/agentspecs/agents/comprehensive-sales-analytics.yaml b/agentspecs/agents/comprehensive-sales-analytics.yaml index aea0597..e4a0a1b 100644 --- a/agentspecs/agents/comprehensive-sales-analytics.yaml +++ b/agentspecs/agents/comprehensive-sales-analytics.yaml @@ -30,7 +30,7 @@ tags: - horizontal enabled: false -model: "bedrock:us.anthropic.claude-3-5-haiku-20241022-v1:0" +model: "bedrock:us.anthropic.claude-sonnet-4-5-20250929-v1:0" sandbox_variant: jupyter diff --git a/agentspecs/agents/crawler.yaml b/agentspecs/agents/crawler.yaml index b9f99af..07e6aba 100644 --- a/agentspecs/agents/crawler.yaml +++ b/agentspecs/agents/crawler.yaml @@ -19,7 +19,7 @@ tags: - github enabled: true -model: "bedrock:us.anthropic.claude-3-5-haiku-20241022-v1:0" +model: "bedrock:us.anthropic.claude-sonnet-4-5-20250929-v1:0" sandbox_variant: jupyter diff --git a/agentspecs/agents/data-acquisition.yaml b/agentspecs/agents/data-acquisition.yaml index 14bbb77..c65ef4d 100644 --- a/agentspecs/agents/data-acquisition.yaml +++ b/agentspecs/agents/data-acquisition.yaml @@ -19,7 +19,7 @@ tags: - filesystem enabled: true -model: "bedrock:us.anthropic.claude-3-5-haiku-20241022-v1:0" +model: "bedrock:us.anthropic.claude-sonnet-4-5-20250929-v1:0" sandbox_variant: jupyter diff --git a/agentspecs/agents/demo-evals.yaml b/agentspecs/agents/demo-evals.yaml new file mode 100644 index 0000000..c85dd2d --- /dev/null +++ b/agentspecs/agents/demo-evals.yaml @@ -0,0 +1,62 @@ +# Copyright (c) 2025-2026 Datalayer, Inc. +# Distributed under the terms of the Modified BSD License. + +# Agent Specification: Demo Evals +# Runtime agent used by eval examples for local and cloud execution. + +id: demo-evals +version: 0.0.1 +name: Demo Evals +description: >- + Default eval runner for local and cloud execution in SDK eval examples. + Includes baseline tooling for reproducible eval runs. + +tags: + - evals + - demo + - runner + +enabled: true +model: "bedrock:us.anthropic.claude-sonnet-4-5-20250929-v1:0" + +sandbox_variant: jupyter + +memory: ephemeral + +mcp_servers: [] + +skills: + - events:0.0.1 + +tools: + - runtime-echo:0.0.1 + +frontend_tools: + - jupyter-notebook:0.0.1 + - lexical-document:0.0.1 + +environment_name: ai-agents-env + +icon: pulse +emoji: "๐Ÿงช" +color: "#0EA5E9" + +suggestions: + - Run the selected evaluation experiment on the configured dataset + - Validate experiment configuration and report missing fields + - Summarize run results with pass rate and latency highlights + +welcome_message: >- + Ready to run eval experiments. Configure your benchmark and evaluator setup, + then launch a run. + +system_prompt: >- + You are the Demo Evals Runner. Execute evaluation workflows reliably, + validate inputs before execution, and summarize outcomes clearly. + +system_prompt_codemode_addons: null + +welcome_notebook: null +welcome_document: null + +trigger: null diff --git a/agentspecs/agents/demo-full.yaml b/agentspecs/agents/demo-full.yaml index f7b8c13..4092df5 100644 --- a/agentspecs/agents/demo-full.yaml +++ b/agentspecs/agents/demo-full.yaml @@ -23,7 +23,7 @@ tags: - utility enabled: true -model: "bedrock:us.anthropic.claude-3-5-haiku-20241022-v1:0" +model: "bedrock:us.anthropic.claude-sonnet-4-5-20250929-v1:0" sandbox_variant: jupyter diff --git a/agentspecs/agents/demo-hooks.yaml b/agentspecs/agents/demo-hooks.yaml index 0f2aaab..bf74599 100644 --- a/agentspecs/agents/demo-hooks.yaml +++ b/agentspecs/agents/demo-hooks.yaml @@ -13,7 +13,7 @@ tags: - lifecycle enabled: true -model: "bedrock:us.anthropic.claude-3-5-haiku-20241022-v1:0" +model: "bedrock:us.anthropic.claude-sonnet-4-5-20250929-v1:0" sandbox_variant: eval memory: ephemeral diff --git a/agentspecs/agents/demo-simple.yaml b/agentspecs/agents/demo-simple.yaml index bd9eaac..6fc4586 100644 --- a/agentspecs/agents/demo-simple.yaml +++ b/agentspecs/agents/demo-simple.yaml @@ -17,7 +17,7 @@ tags: - assistant enabled: true -model: "bedrock:us.anthropic.claude-3-5-haiku-20241022-v1:0" +model: "bedrock:us.anthropic.claude-sonnet-4-5-20250929-v1:0" sandbox_variant: jupyter diff --git a/agentspecs/agents/end-of-month-performance.yaml b/agentspecs/agents/end-of-month-performance.yaml index f6749ec..a24a5b0 100644 --- a/agentspecs/agents/end-of-month-performance.yaml +++ b/agentspecs/agents/end-of-month-performance.yaml @@ -32,7 +32,7 @@ goal: >- discounting, explain variances by region/segment/product/SKU, and generate an executive-ready PDF performance report with full data lineage. -model: "bedrock:us.anthropic.claude-3-5-haiku-20241022-v1:0" +model: "bedrock:us.anthropic.claude-sonnet-4-5-20250929-v1:0" sandbox_variant: jupyter diff --git a/agentspecs/agents/eval-experiment-runner.yaml b/agentspecs/agents/eval-experiment-runner.yaml index 020227a..c7a2db4 100644 --- a/agentspecs/agents/eval-experiment-runner.yaml +++ b/agentspecs/agents/eval-experiment-runner.yaml @@ -17,7 +17,7 @@ tags: - runner enabled: true -model: "bedrock:us.anthropic.claude-3-5-haiku-20241022-v1:0" +model: "bedrock:us.anthropic.claude-sonnet-4-5-20250929-v1:0" sandbox_variant: jupyter @@ -38,7 +38,7 @@ frontend_tools: environment_name: ai-agents-env icon: pulse -emoji: "" +emoji: "๐Ÿงช" color: "#0EA5E9" suggestions: diff --git a/agentspecs/agents/eval-synthetic-runner.yaml b/agentspecs/agents/eval-synthetic-runner.yaml new file mode 100644 index 0000000..12dd734 --- /dev/null +++ b/agentspecs/agents/eval-synthetic-runner.yaml @@ -0,0 +1,61 @@ +# Copyright (c) 2025-2026 Datalayer, Inc. +# Distributed under the terms of the Modified BSD License. + +# Agent Specification: Eval Synthetic Runner +# Synthetic eval runner used for deterministic no-agent evaluation flows. + +id: eval-synthetic-runner +version: 0.0.1 +name: Eval Synthetic Runner +description: >- + Dedicated synthetic eval runner for deterministic no-agent evaluation flows + and reproducible testing output. + +tags: + - evals + - synthetic + - runner + +enabled: true +model: "bedrock:us.anthropic.claude-sonnet-4-5-20250929-v1:0" + +sandbox_variant: jupyter + +memory: ephemeral + +mcp_servers: [] + +skills: + - events:0.0.1 + +tools: + - runtime-echo:0.0.1 + +frontend_tools: + - jupyter-notebook:0.0.1 + - lexical-document:0.0.1 + +environment_name: ai-agents-env + +icon: pulse +emoji: "๐Ÿงช" +color: "#0EA5E9" + +suggestions: + - Run the selected evaluation experiment on the configured dataset + - Validate experiment configuration and report missing fields + - Summarize run results with pass rate and latency highlights + +welcome_message: >- + Ready to run synthetic eval experiments with deterministic outputs. + +system_prompt: >- + You are the Eval Synthetic Runner. Produce deterministic synthetic evaluation + outputs for test and demo workflows. + +system_prompt_codemode_addons: null + +welcome_notebook: null +welcome_document: null + +trigger: null diff --git a/agentspecs/agents/extract-data-from-files.yaml b/agentspecs/agents/extract-data-from-files.yaml index dcc6360..8f88768 100644 --- a/agentspecs/agents/extract-data-from-files.yaml +++ b/agentspecs/agents/extract-data-from-files.yaml @@ -23,7 +23,7 @@ tags: - documents enabled: false -model: "bedrock:us.anthropic.claude-3-5-haiku-20241022-v1:0" +model: "bedrock:us.anthropic.claude-sonnet-4-5-20250929-v1:0" sandbox_variant: jupyter diff --git a/agentspecs/agents/financial-viz.yaml b/agentspecs/agents/financial-viz.yaml index 11fefbc..6a079d7 100644 --- a/agentspecs/agents/financial-viz.yaml +++ b/agentspecs/agents/financial-viz.yaml @@ -17,7 +17,7 @@ tags: - charts enabled: false -model: "bedrock:us.anthropic.claude-3-5-haiku-20241022-v1:0" +model: "bedrock:us.anthropic.claude-sonnet-4-5-20250929-v1:0" sandbox_variant: local-eval diff --git a/agentspecs/agents/financial.yaml b/agentspecs/agents/financial.yaml index 39e2872..4f33d66 100644 --- a/agentspecs/agents/financial.yaml +++ b/agentspecs/agents/financial.yaml @@ -17,7 +17,7 @@ tags: - charts enabled: false -model: "bedrock:us.anthropic.claude-3-5-haiku-20241022-v1:0" +model: "bedrock:us.anthropic.claude-sonnet-4-5-20250929-v1:0" sandbox_variant: jupyter diff --git a/agentspecs/agents/generate-weekly-reports.yaml b/agentspecs/agents/generate-weekly-reports.yaml index 2885bec..bbd28f9 100644 --- a/agentspecs/agents/generate-weekly-reports.yaml +++ b/agentspecs/agents/generate-weekly-reports.yaml @@ -22,7 +22,7 @@ tags: - automation enabled: false -model: "bedrock:us.anthropic.claude-3-5-haiku-20241022-v1:0" +model: "bedrock:us.anthropic.claude-sonnet-4-5-20250929-v1:0" sandbox_variant: jupyter diff --git a/agentspecs/agents/github-agent.yaml b/agentspecs/agents/github-agent.yaml index 0c2a956..7377812 100644 --- a/agentspecs/agents/github-agent.yaml +++ b/agentspecs/agents/github-agent.yaml @@ -18,7 +18,7 @@ tags: - email enabled: false -model: "bedrock:us.anthropic.claude-3-5-haiku-20241022-v1:0" +model: "bedrock:us.anthropic.claude-sonnet-4-5-20250929-v1:0" sandbox_variant: jupyter diff --git a/agentspecs/agents/monitor-sales-kpis.yaml b/agentspecs/agents/monitor-sales-kpis.yaml index 8cf0891..b46ae9b 100644 --- a/agentspecs/agents/monitor-sales-kpis.yaml +++ b/agentspecs/agents/monitor-sales-kpis.yaml @@ -22,7 +22,7 @@ tags: - monitoring enabled: false -model: "bedrock:us.anthropic.claude-3-5-haiku-20241022-v1:0" +model: "bedrock:us.anthropic.claude-sonnet-4-5-20250929-v1:0" sandbox_variant: jupyter diff --git a/agentspecs/agents/optimize-dynamic-pricing.yaml b/agentspecs/agents/optimize-dynamic-pricing.yaml index e98e1bb..01c10ac 100644 --- a/agentspecs/agents/optimize-dynamic-pricing.yaml +++ b/agentspecs/agents/optimize-dynamic-pricing.yaml @@ -24,7 +24,7 @@ tags: - margins enabled: false -model: "bedrock:us.anthropic.claude-3-5-haiku-20241022-v1:0" +model: "bedrock:us.anthropic.claude-sonnet-4-5-20250929-v1:0" sandbox_variant: jupyter diff --git a/agentspecs/agents/optimize-grid-operations.yaml b/agentspecs/agents/optimize-grid-operations.yaml index 70fbaff..726c84d 100644 --- a/agentspecs/agents/optimize-grid-operations.yaml +++ b/agentspecs/agents/optimize-grid-operations.yaml @@ -24,7 +24,7 @@ tags: - sustainability enabled: false -model: "bedrock:us.anthropic.claude-3-5-haiku-20241022-v1:0" +model: "bedrock:us.anthropic.claude-sonnet-4-5-20250929-v1:0" sandbox_variant: jupyter diff --git a/agentspecs/agents/process-citizen-requests.yaml b/agentspecs/agents/process-citizen-requests.yaml index b8cbf2c..13eff43 100644 --- a/agentspecs/agents/process-citizen-requests.yaml +++ b/agentspecs/agents/process-citizen-requests.yaml @@ -25,7 +25,7 @@ tags: - transparency enabled: false -model: "bedrock:us.anthropic.claude-3-5-haiku-20241022-v1:0" +model: "bedrock:us.anthropic.claude-sonnet-4-5-20250929-v1:0" sandbox_variant: jupyter diff --git a/agentspecs/agents/process-clinical-trial-data.yaml b/agentspecs/agents/process-clinical-trial-data.yaml index 210a963..5306989 100644 --- a/agentspecs/agents/process-clinical-trial-data.yaml +++ b/agentspecs/agents/process-clinical-trial-data.yaml @@ -24,7 +24,7 @@ tags: - compliance enabled: false -model: "bedrock:us.anthropic.claude-3-5-haiku-20241022-v1:0" +model: "bedrock:us.anthropic.claude-sonnet-4-5-20250929-v1:0" sandbox_variant: jupyter diff --git a/agentspecs/agents/process-financial-transactions.yaml b/agentspecs/agents/process-financial-transactions.yaml index 0b0f197..9d89c7b 100644 --- a/agentspecs/agents/process-financial-transactions.yaml +++ b/agentspecs/agents/process-financial-transactions.yaml @@ -22,7 +22,7 @@ tags: - reconciliation enabled: false -model: "bedrock:us.anthropic.claude-3-5-haiku-20241022-v1:0" +model: "bedrock:us.anthropic.claude-sonnet-4-5-20250929-v1:0" sandbox_variant: jupyter diff --git a/agentspecs/agents/spatial-data-analysis.yaml b/agentspecs/agents/spatial-data-analysis.yaml index bbfac81..aeec08c 100644 --- a/agentspecs/agents/spatial-data-analysis.yaml +++ b/agentspecs/agents/spatial-data-analysis.yaml @@ -19,7 +19,7 @@ tags: - analytics enabled: true -model: "bedrock:us.anthropic.claude-3-5-haiku-20241022-v1:0" +model: "bedrock:us.anthropic.claude-sonnet-4-5-20250929-v1:0" sandbox_variant: jupyter diff --git a/agentspecs/agents/summarize-documents.yaml b/agentspecs/agents/summarize-documents.yaml index 4b9314a..b104ea4 100644 --- a/agentspecs/agents/summarize-documents.yaml +++ b/agentspecs/agents/summarize-documents.yaml @@ -22,7 +22,7 @@ tags: - productivity enabled: false -model: "bedrock:us.anthropic.claude-3-5-haiku-20241022-v1:0" +model: "bedrock:us.anthropic.claude-sonnet-4-5-20250929-v1:0" sandbox_variant: jupyter diff --git a/agentspecs/agents/sync-crm-contacts.yaml b/agentspecs/agents/sync-crm-contacts.yaml index 2cecdb0..a5ae92c 100644 --- a/agentspecs/agents/sync-crm-contacts.yaml +++ b/agentspecs/agents/sync-crm-contacts.yaml @@ -21,7 +21,7 @@ tags: - deduplication enabled: false -model: "bedrock:us.anthropic.claude-3-5-haiku-20241022-v1:0" +model: "bedrock:us.anthropic.claude-sonnet-4-5-20250929-v1:0" sandbox_variant: jupyter diff --git a/agentspecs/models/bedrock-claude-haiku-3-5.yaml b/agentspecs/models/bedrock-claude-haiku-3-5.yaml index 49b9bc2..03a1c3e 100644 --- a/agentspecs/models/bedrock-claude-haiku-3-5.yaml +++ b/agentspecs/models/bedrock-claude-haiku-3-5.yaml @@ -3,7 +3,7 @@ # AI Model Specification: Bedrock Claude Haiku 3.5 -id: "bedrock:us.anthropic.claude-3-5-haiku-20241022-v1:0" +id: "bedrock:us.anthropic.claude-sonnet-4-5-20250929-v1:0" version: 0.0.1 name: Bedrock Claude Haiku 3.5 description: Claude Haiku 3.5 via AWS Bedrock - fast and efficient From 9e6f4a73acd27dd79a582251338bfca3fa836d73 Mon Sep 17 00:00:00 2001 From: Eric Charles Date: Mon, 25 May 2026 18:14:33 +0200 Subject: [PATCH 32/44] models --- agentspecs/agents/eval-synthetic-runner.yaml | 61 ------------------- .../models/bedrock-claude-haiku-3-5.yaml | 2 +- docs/docs/models/index.mdx | 1 - 3 files changed, 1 insertion(+), 63 deletions(-) delete mode 100644 agentspecs/agents/eval-synthetic-runner.yaml diff --git a/agentspecs/agents/eval-synthetic-runner.yaml b/agentspecs/agents/eval-synthetic-runner.yaml deleted file mode 100644 index 12dd734..0000000 --- a/agentspecs/agents/eval-synthetic-runner.yaml +++ /dev/null @@ -1,61 +0,0 @@ -# Copyright (c) 2025-2026 Datalayer, Inc. -# Distributed under the terms of the Modified BSD License. - -# Agent Specification: Eval Synthetic Runner -# Synthetic eval runner used for deterministic no-agent evaluation flows. - -id: eval-synthetic-runner -version: 0.0.1 -name: Eval Synthetic Runner -description: >- - Dedicated synthetic eval runner for deterministic no-agent evaluation flows - and reproducible testing output. - -tags: - - evals - - synthetic - - runner - -enabled: true -model: "bedrock:us.anthropic.claude-sonnet-4-5-20250929-v1:0" - -sandbox_variant: jupyter - -memory: ephemeral - -mcp_servers: [] - -skills: - - events:0.0.1 - -tools: - - runtime-echo:0.0.1 - -frontend_tools: - - jupyter-notebook:0.0.1 - - lexical-document:0.0.1 - -environment_name: ai-agents-env - -icon: pulse -emoji: "๐Ÿงช" -color: "#0EA5E9" - -suggestions: - - Run the selected evaluation experiment on the configured dataset - - Validate experiment configuration and report missing fields - - Summarize run results with pass rate and latency highlights - -welcome_message: >- - Ready to run synthetic eval experiments with deterministic outputs. - -system_prompt: >- - You are the Eval Synthetic Runner. Produce deterministic synthetic evaluation - outputs for test and demo workflows. - -system_prompt_codemode_addons: null - -welcome_notebook: null -welcome_document: null - -trigger: null diff --git a/agentspecs/models/bedrock-claude-haiku-3-5.yaml b/agentspecs/models/bedrock-claude-haiku-3-5.yaml index 03a1c3e..49b9bc2 100644 --- a/agentspecs/models/bedrock-claude-haiku-3-5.yaml +++ b/agentspecs/models/bedrock-claude-haiku-3-5.yaml @@ -3,7 +3,7 @@ # AI Model Specification: Bedrock Claude Haiku 3.5 -id: "bedrock:us.anthropic.claude-sonnet-4-5-20250929-v1:0" +id: "bedrock:us.anthropic.claude-3-5-haiku-20241022-v1:0" version: 0.0.1 name: Bedrock Claude Haiku 3.5 description: Claude Haiku 3.5 via AWS Bedrock - fast and efficient diff --git a/docs/docs/models/index.mdx b/docs/docs/models/index.mdx index 82ca474..21f1bef 100644 --- a/docs/docs/models/index.mdx +++ b/docs/docs/models/index.mdx @@ -111,7 +111,6 @@ Required env vars: `ANTHROPIC_API_KEY` | Model | ID | Description | |-------|-----|-------------| -| **Claude Haiku 3.5** | `bedrock:us.anthropic.claude-3-5-haiku-20241022-v1:0` | Fast and efficient | | **Claude Sonnet 4** | `bedrock:us.anthropic.claude-sonnet-4-20250514-v1:0` | Strong reasoning | | **Claude Sonnet 4.5** โญ | `bedrock:us.anthropic.claude-sonnet-4-5-20250929-v1:0` | Balanced performance (default) | | **Claude Opus 4** | `bedrock:us.anthropic.claude-opus-4-20250514-v1:0` | Highest capability | From 60486ef0d8ba76507d0402966a92ba82fdbbc750 Mon Sep 17 00:00:00 2001 From: Eric Charles Date: Mon, 25 May 2026 18:17:01 +0200 Subject: [PATCH 33/44] models --- agentspecs/models/bedrock-claude-haiku-3-5.yaml | 16 ---------------- 1 file changed, 16 deletions(-) delete mode 100644 agentspecs/models/bedrock-claude-haiku-3-5.yaml diff --git a/agentspecs/models/bedrock-claude-haiku-3-5.yaml b/agentspecs/models/bedrock-claude-haiku-3-5.yaml deleted file mode 100644 index 49b9bc2..0000000 --- a/agentspecs/models/bedrock-claude-haiku-3-5.yaml +++ /dev/null @@ -1,16 +0,0 @@ -# Copyright (c) 2025-2026 Datalayer, Inc. -# Distributed under the terms of the Modified BSD License. - -# AI Model Specification: Bedrock Claude Haiku 3.5 - -id: "bedrock:us.anthropic.claude-3-5-haiku-20241022-v1:0" -version: 0.0.1 -name: Bedrock Claude Haiku 3.5 -description: Claude Haiku 3.5 via AWS Bedrock - fast and efficient -provider: bedrock -default: false - -required_env_vars: - - AWS_ACCESS_KEY_ID - - AWS_SECRET_ACCESS_KEY - - AWS_DEFAULT_REGION From dd80abd06d060f2f636a7f8e0f184b5e49f438d6 Mon Sep 17 00:00:00 2001 From: Eric Charles Date: Tue, 26 May 2026 08:48:12 +0200 Subject: [PATCH 34/44] examples --- agentspecs/agents/demo-output.yaml | 75 +++++++++++++++++++ .../{demo-evals.yaml => example-evals.yaml} | 2 +- .../{demo-full.yaml => example-full.yaml} | 2 +- agentspecs/agents/example-guardrails.yaml | 69 +++++++++++++++++ .../{demo-hooks.yaml => example-hooks.yaml} | 16 ++-- agentspecs/agents/example-monitoring.yaml | 62 +++++++++++++++ ...yaml => example-one-trigger-approval.yaml} | 2 +- ...-trigger.yaml => example-one-trigger.yaml} | 2 +- ...arameters.yaml => example-parameters.yaml} | 2 +- .../{demo-simple.yaml => example-simple.yaml} | 2 +- agentspecs/agents/example-subagents.yaml | 63 ++++++++++++++++ 11 files changed, 283 insertions(+), 14 deletions(-) create mode 100644 agentspecs/agents/demo-output.yaml rename agentspecs/agents/{demo-evals.yaml => example-evals.yaml} (98%) rename agentspecs/agents/{demo-full.yaml => example-full.yaml} (99%) create mode 100644 agentspecs/agents/example-guardrails.yaml rename agentspecs/agents/{demo-hooks.yaml => example-hooks.yaml} (85%) create mode 100644 agentspecs/agents/example-monitoring.yaml rename agentspecs/agents/{demo-one-trigger-approval.yaml => example-one-trigger-approval.yaml} (97%) rename agentspecs/agents/{demo-one-trigger.yaml => example-one-trigger.yaml} (98%) rename agentspecs/agents/{demo-parameters.yaml => example-parameters.yaml} (98%) rename agentspecs/agents/{demo-simple.yaml => example-simple.yaml} (99%) create mode 100644 agentspecs/agents/example-subagents.yaml diff --git a/agentspecs/agents/demo-output.yaml b/agentspecs/agents/demo-output.yaml new file mode 100644 index 0000000..234cda5 --- /dev/null +++ b/agentspecs/agents/demo-output.yaml @@ -0,0 +1,75 @@ +# Copyright (c) 2025-2026 Datalayer, Inc. +# Distributed under the terms of the Modified BSD License. + +# Agent Specification: Demo Outputs +# Runtime agent used by AgentOutputsExample. + +id: demo-outputs +version: 0.0.1 +name: Demo Outputs +description: >- + Demonstrates structured response rendering (table, json, chart, and file) + for the AgentOutputsExample sidebar output parser. + +tags: + - demo + - outputs + - rendering + +enabled: true +model: "bedrock:us.anthropic.claude-sonnet-4-5-20250929-v1:0" + +sandbox_variant: jupyter + +memory: ephemeral + +mcp_servers: [] + +skills: + - events:0.0.1 + +tools: + - runtime-echo:0.0.1 + +frontend_tools: + - jupyter-notebook:0.0.1 + - lexical-document:0.0.1 + +environment_name: ai-agents-env + +icon: table +emoji: "๐Ÿ“ฆ" +color: "#7C3AED" + +suggestions: + - Return a TABLE of quarterly revenue by region + - Return JSON for a KPI summary object + - Return a CHART payload for monthly conversions + - Return a FILE named report.md with highlights + +welcome_message: >- + Outputs demo agent ready. Ask for TABLE, JSON, CHART, or FILE formats and + I will respond with exactly one structured output block. + +system_prompt: >- + You are the Demo Outputs Agent. + + The user may request one of exactly four output modes: TABLE, JSON, CHART, + or FILE. For each response, emit exactly one mode and no extra prose. + + Formatting rules: + - TABLE: Return one GitHub-flavored markdown table. + - JSON: Return exactly one fenced ```json code block. + - CHART: Return exactly one fenced ```json code block whose first line is + "// chart" and whose remaining body is valid ECharts option JSON. + - FILE: Return exactly one fenced code block whose info string is a file + extension, and whose first line is "# filename: ". + + If mode is ambiguous, default to JSON. + +system_prompt_codemode_addons: null + +welcome_notebook: null +welcome_document: null + +trigger: null diff --git a/agentspecs/agents/demo-evals.yaml b/agentspecs/agents/example-evals.yaml similarity index 98% rename from agentspecs/agents/demo-evals.yaml rename to agentspecs/agents/example-evals.yaml index c85dd2d..032ec86 100644 --- a/agentspecs/agents/demo-evals.yaml +++ b/agentspecs/agents/example-evals.yaml @@ -4,7 +4,7 @@ # Agent Specification: Demo Evals # Runtime agent used by eval examples for local and cloud execution. -id: demo-evals +id: example-evals version: 0.0.1 name: Demo Evals description: >- diff --git a/agentspecs/agents/demo-full.yaml b/agentspecs/agents/example-full.yaml similarity index 99% rename from agentspecs/agents/demo-full.yaml rename to agentspecs/agents/example-full.yaml index 4092df5..a405f67 100644 --- a/agentspecs/agents/demo-full.yaml +++ b/agentspecs/agents/example-full.yaml @@ -8,7 +8,7 @@ # - Tavily MCP server for web search # - All catalog skills + local path-based jokes skill -id: demo-full +id: example-full version: 0.0.1 name: Demo with MCP, Skills, Tool Approvals... description: > diff --git a/agentspecs/agents/example-guardrails.yaml b/agentspecs/agents/example-guardrails.yaml new file mode 100644 index 0000000..a454bf7 --- /dev/null +++ b/agentspecs/agents/example-guardrails.yaml @@ -0,0 +1,69 @@ +# Copyright (c) 2025-2026 Datalayer, Inc. +# Distributed under the terms of the Modified BSD License. + +# Agent Specification: Demo Guardrails +# Runtime agent used by AgentGuardrailsExample. + +id: example-guardrails +version: 0.0.1 +name: Demo Guardrails +description: >- + Guardrails-focused example agent for AgentGuardrailsExample. Includes budget + limits and a sensitive tool requiring manual approval. + +tags: + - demo + - guardrails + - approval + +enabled: true +model: "bedrock:us.anthropic.claude-sonnet-4-5-20250929-v1:0" + +sandbox_variant: jupyter + +memory: ephemeral + +mcp_servers: [] + +skills: + - events:0.0.1 + +tools: + - runtime-echo:0.0.1 + - runtime-sensitive-echo:0.0.1 + +frontend_tools: + - jupyter-notebook:0.0.1 + - lexical-document:0.0.1 + +environment_name: ai-agents-env + +guardrails: + - name: Demo Cost Budget + cost_budget: + per_run_usd: 0.05 + cumulative_usd: 5.00 + +icon: shield +emoji: "๐Ÿ›ก๏ธ" +color: "#EF4444" + +suggestions: + - Use runtime_echo to confirm basic tool execution + - Call runtime_sensitive_echo and approve/reject the request + - Summarize current cost usage vs configured run budget + +welcome_message: >- + Guardrails example agent ready. Try a sensitive tool call to exercise approvals, + and monitor run-cost budget consumption in real time. + +system_prompt: >- + You are the Demo Guardrails Agent. Prefer safe defaults, explain budget usage, + and clearly report whether tool approval is required. + +system_prompt_codemode_addons: null + +welcome_notebook: null +welcome_document: null + +trigger: null diff --git a/agentspecs/agents/demo-hooks.yaml b/agentspecs/agents/example-hooks.yaml similarity index 85% rename from agentspecs/agents/demo-hooks.yaml rename to agentspecs/agents/example-hooks.yaml index bf74599..d02cc3e 100644 --- a/agentspecs/agents/demo-hooks.yaml +++ b/agentspecs/agents/example-hooks.yaml @@ -1,7 +1,7 @@ # Copyright (c) 2025-2026 Datalayer, Inc. # Distributed under the terms of the Modified BSD License. -id: demo-hooks +id: example-hooks version: 0.0.1 name: Demo Hooks Agent description: > @@ -48,9 +48,9 @@ system_prompt: > 1. Installed the Python package 'rich' (pip install). 2. Wrote a UTF-8 marker file to /tmp/agent_runtimes_pre_hook_demo.txt - with the content: "pre-hook executed for demo-hooks at ". + with the content: "pre-hook executed for example-hooks at ". 3. Defined these Python variables in the sandbox namespace: - - hook_name (str) - "demo-hooks:pre" + - hook_name (str) - "example-hooks:pre" - hook_ran_at (str) - ISO-8601 timestamp of when the pre-hook ran - hook_env (dict) - subset of os.environ captured at hook time @@ -70,7 +70,7 @@ pre_hooks: import os from pathlib import Path - hook_name = "demo-hooks:pre" + hook_name = "example-hooks:pre" hook_ran_at = datetime.datetime.now().isoformat() hook_env = { k: os.environ[k] @@ -79,10 +79,10 @@ pre_hooks: } Path('/tmp/agent_runtimes_pre_hook_demo.txt').write_text( - f'pre-hook executed for demo-hooks at {hook_ran_at}\n', + f'pre-hook executed for example-hooks at {hook_ran_at}\n', encoding='utf-8', ) - print(f"[demo-hooks] pre-hook done: hook_ran_at={hook_ran_at!r}") + print(f"[example-hooks] pre-hook done: hook_ran_at={hook_ran_at!r}") post_hooks: sandbox: @@ -92,10 +92,10 @@ post_hooks: post_ran_at = datetime.datetime.now().isoformat() Path('/tmp/agent_runtimes_post_hook_demo.txt').write_text( - f'post-hook executed for demo-hooks at {post_ran_at}\n', + f'post-hook executed for example-hooks at {post_ran_at}\n', encoding='utf-8', ) - print(f"[demo-hooks] post-hook done: post_ran_at={post_ran_at!r}") + print(f"[example-hooks] post-hook done: post_ran_at={post_ran_at!r}") system_prompt_codemode_addons: null welcome_notebook: null diff --git a/agentspecs/agents/example-monitoring.yaml b/agentspecs/agents/example-monitoring.yaml new file mode 100644 index 0000000..4f5bf7a --- /dev/null +++ b/agentspecs/agents/example-monitoring.yaml @@ -0,0 +1,62 @@ +# Copyright (c) 2025-2026 Datalayer, Inc. +# Distributed under the terms of the Modified BSD License. + +# Agent Specification: Demo Monitoring +# Default agent used by AgentMonitoringExample. + +id: example-monitoring +version: 0.0.1 +name: Demo Monitoring +description: >- + Monitoring-focused example agent for AgentMonitoringExample. It is intentionally + lightweight so it starts reliably in local example runs. + +tags: + - demo + - monitoring + - observability + +enabled: true +model: "bedrock:us.anthropic.claude-sonnet-4-5-20250929-v1:0" + +sandbox_variant: jupyter + +memory: ephemeral + +mcp_servers: [] + +skills: + - events:0.0.1 + +tools: + - runtime-echo:0.0.1 + +frontend_tools: + - jupyter-notebook:0.0.1 + - lexical-document:0.0.1 + +environment_name: ai-agents-env + +icon: pulse +emoji: "๐Ÿ“Š" +color: "#0EA5E9" + +suggestions: + - Show my current monitoring context summary + - Explain the last turn cost and total token usage + - Summarize recent activity and potential anomalies + +welcome_message: >- + Monitoring example agent ready. Ask for runtime activity, cost trends, and token + usage summaries. + +system_prompt: >- + You are the Demo Monitoring Agent. Prioritize concise operational summaries, + highlight anomalies, and provide clear next-step recommendations. + +system_prompt_codemode_addons: null + +welcome_notebook: null +welcome_document: null + +trigger: null diff --git a/agentspecs/agents/demo-one-trigger-approval.yaml b/agentspecs/agents/example-one-trigger-approval.yaml similarity index 97% rename from agentspecs/agents/demo-one-trigger-approval.yaml rename to agentspecs/agents/example-one-trigger-approval.yaml index de40d00..c5131da 100644 --- a/agentspecs/agents/demo-one-trigger-approval.yaml +++ b/agentspecs/agents/example-one-trigger-approval.yaml @@ -6,7 +6,7 @@ # the agent runs its trigger prompt once, requests manual approval # before executing the sensitive echo tool, and then terminates. -id: demo-one-trigger-approval +id: example-one-trigger-approval version: 0.0.1 name: Demo with the Once Trigger and Tool Approval description: > diff --git a/agentspecs/agents/demo-one-trigger.yaml b/agentspecs/agents/example-one-trigger.yaml similarity index 98% rename from agentspecs/agents/demo-one-trigger.yaml rename to agentspecs/agents/example-one-trigger.yaml index 9cd64a0..66b4374 100644 --- a/agentspecs/agents/demo-one-trigger.yaml +++ b/agentspecs/agents/example-one-trigger.yaml @@ -5,7 +5,7 @@ # Demonstrates the "once" trigger type: the agent runs its trigger prompt # once, emits lifecycle events, and then the runtime is terminated. -id: demo-one-trigger +id: example-one-trigger version: 0.0.1 name: Demo with the Once Trigger description: > diff --git a/agentspecs/agents/demo-parameters.yaml b/agentspecs/agents/example-parameters.yaml similarity index 98% rename from agentspecs/agents/demo-parameters.yaml rename to agentspecs/agents/example-parameters.yaml index 73f6d17..a2ae3d6 100644 --- a/agentspecs/agents/demo-parameters.yaml +++ b/agentspecs/agents/example-parameters.yaml @@ -1,7 +1,7 @@ # Copyright (c) 2025-2026 Datalayer, Inc. # Distributed under the terms of the Modified BSD License. -id: demo-parameters +id: example-parameters version: 0.0.1 name: Demo Parameters Agent description: > diff --git a/agentspecs/agents/demo-simple.yaml b/agentspecs/agents/example-simple.yaml similarity index 99% rename from agentspecs/agents/demo-simple.yaml rename to agentspecs/agents/example-simple.yaml index 6fc4586..04b352a 100644 --- a/agentspecs/agents/demo-simple.yaml +++ b/agentspecs/agents/example-simple.yaml @@ -4,7 +4,7 @@ # Agent Specification: A Simple Agent # A minimal agent with no MCP servers or skills. -id: demo-simple +id: example-simple version: 0.0.1 name: A Simple Agent description: > diff --git a/agentspecs/agents/example-subagents.yaml b/agentspecs/agents/example-subagents.yaml new file mode 100644 index 0000000..69c63e1 --- /dev/null +++ b/agentspecs/agents/example-subagents.yaml @@ -0,0 +1,63 @@ +# Copyright (c) 2025-2026 Datalayer, Inc. +# Distributed under the terms of the Modified BSD License. + +# Agent Specification: Demo Subagents +# Runtime agent used by AgentSubagentsExample. + +id: example-subagents +version: 0.0.1 +name: Demo Subagents +description: >- + Demonstrates multi-agent delegation with a parent orchestrator that can split + work between a researcher and a writer subagent. + +tags: + - demo + - subagents + - orchestration + +enabled: true +model: "bedrock:us.anthropic.claude-sonnet-4-5-20250929-v1:0" + +sandbox_variant: jupyter + +memory: ephemeral + +mcp_servers: [] + +skills: + - events:0.0.1 + +tools: + - runtime-echo:0.0.1 + +frontend_tools: + - jupyter-notebook:0.0.1 + - lexical-document:0.0.1 + +environment_name: ai-agents-env + +icon: people +emoji: "๐Ÿ‘ฅ" +color: "#2563EB" + +suggestions: + - Research a topic and provide source-backed notes + - Write a concise summary from the research findings + - Split work between researcher and writer, then merge output + +welcome_message: >- + Subagents example agent ready. Ask me to delegate research and writing tasks + across specialist subagents. + +system_prompt: >- + You are the Demo Subagents Orchestrator. Decompose user requests into + specialist tasks, delegate effectively, and synthesize a coherent final + response. + +system_prompt_codemode_addons: null + +welcome_notebook: null +welcome_document: null + +trigger: null From bc7c4294404a64fe27590d7013760070fe3e29b0 Mon Sep 17 00:00:00 2001 From: Eric Charles Date: Tue, 26 May 2026 09:55:28 +0200 Subject: [PATCH 35/44] example: mcp --- agentspecs/agents/example-mcp.yaml | 66 ++++++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 agentspecs/agents/example-mcp.yaml diff --git a/agentspecs/agents/example-mcp.yaml b/agentspecs/agents/example-mcp.yaml new file mode 100644 index 0000000..6056bc1 --- /dev/null +++ b/agentspecs/agents/example-mcp.yaml @@ -0,0 +1,66 @@ +# Copyright (c) 2025-2026 Datalayer, Inc. +# Distributed under the terms of the Modified BSD License. + +# Agent Specification: Demo MCP +# Default agent used by AgentMCPExample. + +id: example-mcp +version: 0.0.1 +name: Demo MCP +description: >- + MCP-focused example agent for AgentMCPExample. It connects to the Tavily MCP + server and demonstrates search/research style tool usage from the chat panel. + +tags: + - demo + - mcp + - tools + - research + +enabled: true +model: "bedrock:us.anthropic.claude-sonnet-4-5-20250929-v1:0" + +sandbox_variant: jupyter + +memory: ephemeral + +mcp_servers: + - tavily:0.0.1 + +skills: + - events:0.0.1 + - jokes:0.0.1 + +tools: + - runtime-echo:0.0.1 + +frontend_tools: + - jupyter-notebook:0.0.1 + - lexical-document:0.0.1 + +environment_name: ai-agents-env + +icon: globe +emoji: "๐ŸŒ" +color: "#0EA5E9" + +suggestions: + - Search the web for recent news about AI agents + - Find trending open-source Python projects on GitHub + - Research best practices for building RAG applications + - Compare popular JavaScript frameworks in 2024 + +welcome_message: >- + MCP example agent ready. Ask me to search, extract, crawl, and research via + Tavily MCP tools. + +system_prompt: >- + You are the Demo MCP Agent. Use Tavily MCP tools for web search and research + requests, cite concise findings, and keep responses practical and clear. + +system_prompt_codemode_addons: null + +welcome_notebook: null +welcome_document: null + +trigger: null From 550b50990761e3fc048b1bfe8a41c1a5a482d4af Mon Sep 17 00:00:00 2001 From: Eric Charles Date: Tue, 26 May 2026 14:21:28 +0200 Subject: [PATCH 36/44] examples --- agentspecs/agents/example-full.yaml | 1 + agentspecs/agents/example-otel.yaml | 66 +++++++++++++++++++++++++ agentspecs/agents/example-skills.yaml | 69 +++++++++++++++++++++++++++ 3 files changed, 136 insertions(+) create mode 100644 agentspecs/agents/example-otel.yaml create mode 100644 agentspecs/agents/example-skills.yaml diff --git a/agentspecs/agents/example-full.yaml b/agentspecs/agents/example-full.yaml index a405f67..196a50a 100644 --- a/agentspecs/agents/example-full.yaml +++ b/agentspecs/agents/example-full.yaml @@ -42,6 +42,7 @@ skills: - pdf:0.0.1 - text-summarizer:0.0.1 - jokes:0.0.1 + - datalayer-whoami:1.0.0 # Secrets / environment variables envvars: diff --git a/agentspecs/agents/example-otel.yaml b/agentspecs/agents/example-otel.yaml new file mode 100644 index 0000000..c07bb21 --- /dev/null +++ b/agentspecs/agents/example-otel.yaml @@ -0,0 +1,66 @@ +# Copyright (c) 2025-2026 Datalayer, Inc. +# Distributed under the terms of the Modified BSD License. + +# Agent Specification: Demo OTEL +# Default agent used by AgentOtelExample. + +id: example-otel +version: 0.0.1 +name: Demo OTEL +description: >- + OTEL observability example agent for AgentOtelExample. It assists the user in + exploring traces, logs and metrics surfaced by the OTEL dashboard. + +tags: + - demo + - otel + - observability + - telemetry + +enabled: true +model: "bedrock:us.anthropic.claude-sonnet-4-5-20250929-v1:0" + +sandbox_variant: jupyter + +memory: ephemeral + +mcp_servers: [] + +skills: + - events:0.0.1 + +tools: + - runtime-echo:0.0.1 + +frontend_tools: + - jupyter-notebook:0.0.1 + - lexical-document:0.0.1 + +environment_name: ai-agents-env + +icon: telescope +emoji: "๐Ÿ”ญ" +color: "#7C3AED" + +suggestions: + - What do the most recent traces show? + - Are there any errors or anomalies in the telemetry? + - Give me a summary of the current metrics. + - Help me find the root cause of slow requests. + +welcome_message: >- + OTEL example agent ready. Ask me about your traces, logs, and metrics โ€” I can + help summarize activity, spot anomalies, and investigate root causes. + +system_prompt: >- + You are the Demo OTEL Agent. You observe OpenTelemetry telemetry data + (traces, logs, metrics) and help the user reason about service behavior. + Prioritize concise, evidence-grounded summaries, highlight anomalies, and + recommend concrete next investigation steps. + +system_prompt_codemode_addons: null + +welcome_notebook: null +welcome_document: null + +trigger: null diff --git a/agentspecs/agents/example-skills.yaml b/agentspecs/agents/example-skills.yaml new file mode 100644 index 0000000..131d339 --- /dev/null +++ b/agentspecs/agents/example-skills.yaml @@ -0,0 +1,69 @@ +# Copyright (c) 2025-2026 Datalayer, Inc. +# Distributed under the terms of the Modified BSD License. + +# Agent Specification: Skills Demo +# Runtime agent used by AgentSkillsExample to demonstrate +# file-based and package-based skills. + +id: example-skills +version: 0.0.1 +name: Skills Demo Agent +description: >- + Demo agent for skills usage with mixed discovery sources, including + built-in file skills and package-registered skills like datalayer-whoami. + +tags: + - demo + - skills + - discovery + +enabled: true +model: "bedrock:us.anthropic.claude-sonnet-4-5-20250929-v1:0" + +sandbox_variant: jupyter + +memory: ephemeral + +mcp_servers: [] + +skills: + - crawl:0.0.1 + - events:0.0.1 + - github:0.0.1 + - pdf:0.0.1 + - text-summarizer:0.0.1 + - jokes:0.0.1 + - datalayer-whoami:1.0.0 + +tools: [] + +frontend_tools: + - jupyter-notebook:0.0.1 + - lexical-document:0.0.1 + +environment_name: ai-agents-env + +icon: briefcase +emoji: "๐Ÿงฐ" +color: "#0D9488" + +suggestions: + - List all your available skills and group them by source type + - Use datalayer-whoami to return my user identity context + - Use crawl to summarize https://datalayer.ai + - Use github to list public repositories for an account + +welcome_message: >- + Hi! I am the Skills Demo Agent. I can use built-in file skills and + package-registered skills such as datalayer-whoami. + +system_prompt: >- + You are a skills-focused assistant. Use skills when they are relevant to + user intent, and summarize tool outputs clearly in natural language. + +system_prompt_codemode_addons: null + +welcome_notebook: null +welcome_document: null + +trigger: null \ No newline at end of file From 3c8a1c962da4185b4015a906931ae17cb7d5886f Mon Sep 17 00:00:00 2001 From: Eric Charles Date: Wed, 27 May 2026 19:26:22 +0200 Subject: [PATCH 37/44] name --- agentspecs/agents/demo-output.yaml | 2 +- agentspecs/agents/example-evals.yaml | 2 +- agentspecs/agents/example-full.yaml | 2 +- agentspecs/agents/example-guardrails.yaml | 4 ++-- agentspecs/agents/example-hooks.yaml | 2 +- agentspecs/agents/example-mcp.yaml | 2 +- agentspecs/agents/example-monitoring.yaml | 2 +- agentspecs/agents/example-one-trigger-approval.yaml | 2 +- agentspecs/agents/example-one-trigger.yaml | 2 +- agentspecs/agents/example-otel.yaml | 2 +- agentspecs/agents/example-parameters.yaml | 2 +- agentspecs/agents/example-skills.yaml | 2 +- agentspecs/agents/example-subagents.yaml | 2 +- 13 files changed, 14 insertions(+), 14 deletions(-) diff --git a/agentspecs/agents/demo-output.yaml b/agentspecs/agents/demo-output.yaml index 234cda5..e5e99ac 100644 --- a/agentspecs/agents/demo-output.yaml +++ b/agentspecs/agents/demo-output.yaml @@ -6,7 +6,7 @@ id: demo-outputs version: 0.0.1 -name: Demo Outputs +name: Example Outputs Agent description: >- Demonstrates structured response rendering (table, json, chart, and file) for the AgentOutputsExample sidebar output parser. diff --git a/agentspecs/agents/example-evals.yaml b/agentspecs/agents/example-evals.yaml index 032ec86..4305a9f 100644 --- a/agentspecs/agents/example-evals.yaml +++ b/agentspecs/agents/example-evals.yaml @@ -6,7 +6,7 @@ id: example-evals version: 0.0.1 -name: Demo Evals +name: Example Evals Agent description: >- Default eval runner for local and cloud execution in SDK eval examples. Includes baseline tooling for reproducible eval runs. diff --git a/agentspecs/agents/example-full.yaml b/agentspecs/agents/example-full.yaml index 196a50a..fa3cf6b 100644 --- a/agentspecs/agents/example-full.yaml +++ b/agentspecs/agents/example-full.yaml @@ -10,7 +10,7 @@ id: example-full version: 0.0.1 -name: Demo with MCP, Skills, Tool Approvals... +name: Example MCP, Skills, Tool Approvals... Agent description: > A full-featured demonstration agent showcasing MCP servers (Tavily web search), skills (GitHub, PDF, crawl, events, text summarizer, jokes), human-in-the-loop diff --git a/agentspecs/agents/example-guardrails.yaml b/agentspecs/agents/example-guardrails.yaml index a454bf7..0462a18 100644 --- a/agentspecs/agents/example-guardrails.yaml +++ b/agentspecs/agents/example-guardrails.yaml @@ -6,7 +6,7 @@ id: example-guardrails version: 0.0.1 -name: Demo Guardrails +name: Example Guardrails Agent description: >- Guardrails-focused example agent for AgentGuardrailsExample. Includes budget limits and a sensitive tool requiring manual approval. @@ -39,7 +39,7 @@ frontend_tools: environment_name: ai-agents-env guardrails: - - name: Demo Cost Budget + - name: Example Cost Budget cost_budget: per_run_usd: 0.05 cumulative_usd: 5.00 diff --git a/agentspecs/agents/example-hooks.yaml b/agentspecs/agents/example-hooks.yaml index d02cc3e..a98c41d 100644 --- a/agentspecs/agents/example-hooks.yaml +++ b/agentspecs/agents/example-hooks.yaml @@ -3,7 +3,7 @@ id: example-hooks version: 0.0.1 -name: Demo Hooks Agent +name: Example Hooks Agent description: > Demonstrates pre-hooks and post-hooks executed in the sandbox lifecycle. diff --git a/agentspecs/agents/example-mcp.yaml b/agentspecs/agents/example-mcp.yaml index 6056bc1..a56d20e 100644 --- a/agentspecs/agents/example-mcp.yaml +++ b/agentspecs/agents/example-mcp.yaml @@ -6,7 +6,7 @@ id: example-mcp version: 0.0.1 -name: Demo MCP +name: Example MCP Agent description: >- MCP-focused example agent for AgentMCPExample. It connects to the Tavily MCP server and demonstrates search/research style tool usage from the chat panel. diff --git a/agentspecs/agents/example-monitoring.yaml b/agentspecs/agents/example-monitoring.yaml index 4f5bf7a..6be089e 100644 --- a/agentspecs/agents/example-monitoring.yaml +++ b/agentspecs/agents/example-monitoring.yaml @@ -6,7 +6,7 @@ id: example-monitoring version: 0.0.1 -name: Demo Monitoring +name: Example Monitoring Agent description: >- Monitoring-focused example agent for AgentMonitoringExample. It is intentionally lightweight so it starts reliably in local example runs. diff --git a/agentspecs/agents/example-one-trigger-approval.yaml b/agentspecs/agents/example-one-trigger-approval.yaml index c5131da..83303e5 100644 --- a/agentspecs/agents/example-one-trigger-approval.yaml +++ b/agentspecs/agents/example-one-trigger-approval.yaml @@ -8,7 +8,7 @@ id: example-one-trigger-approval version: 0.0.1 -name: Demo with the Once Trigger and Tool Approval +name: Example Once Trigger and Tool Approval Agent description: > A demonstration agent for the "once" trigger type with manual tool approval. When launched, the agent executes its trigger prompt once and invokes the diff --git a/agentspecs/agents/example-one-trigger.yaml b/agentspecs/agents/example-one-trigger.yaml index 66b4374..e4b19a4 100644 --- a/agentspecs/agents/example-one-trigger.yaml +++ b/agentspecs/agents/example-one-trigger.yaml @@ -7,7 +7,7 @@ id: example-one-trigger version: 0.0.1 -name: Demo with the Once Trigger +name: Example Once Trigger Agent description: > A demonstration agent for the "once" trigger type. When launched, the agent executes its trigger prompt exactly once, emits AGENT_STARTED and diff --git a/agentspecs/agents/example-otel.yaml b/agentspecs/agents/example-otel.yaml index c07bb21..02a3650 100644 --- a/agentspecs/agents/example-otel.yaml +++ b/agentspecs/agents/example-otel.yaml @@ -6,7 +6,7 @@ id: example-otel version: 0.0.1 -name: Demo OTEL +name: Example OTEL Agent description: >- OTEL observability example agent for AgentOtelExample. It assists the user in exploring traces, logs and metrics surfaced by the OTEL dashboard. diff --git a/agentspecs/agents/example-parameters.yaml b/agentspecs/agents/example-parameters.yaml index a2ae3d6..5d846a6 100644 --- a/agentspecs/agents/example-parameters.yaml +++ b/agentspecs/agents/example-parameters.yaml @@ -3,7 +3,7 @@ id: example-parameters version: 0.0.1 -name: Demo Parameters Agent +name: Example Parameters Agent description: > Demonstrates launch-time parameterization with JSON schema validation. diff --git a/agentspecs/agents/example-skills.yaml b/agentspecs/agents/example-skills.yaml index 131d339..36d51ba 100644 --- a/agentspecs/agents/example-skills.yaml +++ b/agentspecs/agents/example-skills.yaml @@ -7,7 +7,7 @@ id: example-skills version: 0.0.1 -name: Skills Demo Agent +name: Example Skills Agent description: >- Demo agent for skills usage with mixed discovery sources, including built-in file skills and package-registered skills like datalayer-whoami. diff --git a/agentspecs/agents/example-subagents.yaml b/agentspecs/agents/example-subagents.yaml index 69c63e1..ca75217 100644 --- a/agentspecs/agents/example-subagents.yaml +++ b/agentspecs/agents/example-subagents.yaml @@ -6,7 +6,7 @@ id: example-subagents version: 0.0.1 -name: Demo Subagents +name: Example Subagents Agent description: >- Demonstrates multi-agent delegation with a parent orchestrator that can split work between a researcher and a writer subagent. From e6abc41bbdc58b486740a25fc2b8509a99df7dd8 Mon Sep 17 00:00:00 2001 From: Eric Charles Date: Thu, 28 May 2026 16:20:06 +0200 Subject: [PATCH 38/44] specs --- agentspecs/agents/example-codemode.yaml | 68 +++++++++++++++++ agentspecs/agents/example-guardrails.yaml | 41 ++++++++++ agentspecs/agents/example-hooks.yaml | 52 +++++++++++++ agentspecs/agents/example-no-codemode.yaml | 65 ++++++++++++++++ agentspecs/agents/example-tool-approvals.yaml | 76 +++++++++++++++++++ 5 files changed, 302 insertions(+) create mode 100644 agentspecs/agents/example-codemode.yaml create mode 100644 agentspecs/agents/example-no-codemode.yaml create mode 100644 agentspecs/agents/example-tool-approvals.yaml diff --git a/agentspecs/agents/example-codemode.yaml b/agentspecs/agents/example-codemode.yaml new file mode 100644 index 0000000..3ef7ee0 --- /dev/null +++ b/agentspecs/agents/example-codemode.yaml @@ -0,0 +1,68 @@ +# Copyright (c) 2025-2026 Datalayer, Inc. +# Distributed under the terms of the Modified BSD License. + +# Agent Specification: Tavily MCP Demo (Codemode) +# Used by AgentCodemodeExample to demonstrate codemode MCP orchestration. + +id: example-codemode +version: 0.0.1 +name: Example Tavily Codemode Agent +description: >- + Tavily MCP demo agent with codemode enabled. MCP tools can be composed through + codemode execution flows. + +tags: + - demo + - mcp + - tavily + - codemode + +enabled: true +model: "bedrock:us.anthropic.claude-sonnet-4-5-20250929-v1:0" + +sandbox_variant: jupyter +memory: ephemeral + +mcp_servers: + - tavily:0.0.1 + +skills: + - events:0.0.1 + +tools: + - runtime-echo:0.0.1 + +frontend_tools: + - jupyter-notebook:0.0.1 + - lexical-document:0.0.1 + +environment_name: ai-agents-env + +icon: code +emoji: "โš™๏ธ" +color: "#8250DF" + +suggestions: + - Search and extract key points about Datalayer in one step + - Research AI agent best practices and return a concise report + - Compare two web sources and summarize differences + +welcome_message: >- + Tavily MCP codemode agent ready. I can compose MCP-powered workflows. + +system_prompt: >- + You are a Tavily MCP demo assistant with codemode enabled. Prefer concise, + practical responses and use MCP tools when web search or extraction is needed. + +system_prompt_codemode_addons: >- + When helpful, compose MCP capabilities in a single run while keeping responses + concise and grounded in retrieved evidence. + +codemode: + enabled: true + token_reduction: "~80%" + speedup: "~1.5x" + +welcome_notebook: null +welcome_document: null +trigger: null diff --git a/agentspecs/agents/example-guardrails.yaml b/agentspecs/agents/example-guardrails.yaml index 0462a18..26fec76 100644 --- a/agentspecs/agents/example-guardrails.yaml +++ b/agentspecs/agents/example-guardrails.yaml @@ -52,6 +52,9 @@ suggestions: - Use runtime_echo to confirm basic tool execution - Call runtime_sensitive_echo and approve/reject the request - Summarize current cost usage vs configured run budget + - Trigger before_tool_execute by calling runtime_sensitive_echo with reason audit + - Trigger local deny policy with reason delete and explain the block + - Explain how deferred_tool_calls and approval queue interact for this run welcome_message: >- Guardrails example agent ready. Try a sensitive tool call to exercise approvals, @@ -61,6 +64,44 @@ system_prompt: >- You are the Demo Guardrails Agent. Prefer safe defaults, explain budget usage, and clearly report whether tool approval is required. + This agent also demonstrates pydantic-ai tool execution hook naming: + before_tool_execute, after_tool_execute, on_tool_execute_error, + and deferred_tool_calls. + +tool_hooks: + actor: "${USER}" + audit_log_path: "/tmp/agent_runtimes_tool_approvals_audit.jsonl" + current_delegations: + - "delegate:guardrails-low-risk" + before_tool_execute: + - function: agent_runtimes.integrations.tool_policy:evaluate_tool_request + - python: | + reason = str(request.get("arguments", {}).get("reason", "")).lower() + if "delete" in reason: + hook_result = { + "decision": "deny", + "reason": "guardrails_local_delete_policy" + } + after_tool_execute: + - python: | + print( + "[example-guardrails] after_tool_execute", + payload.get("tool"), + payload.get("status"), + payload.get("decision"), + ) + on_tool_execute_error: + - python: | + print( + "[example-guardrails] on_tool_execute_error", + payload.get("tool"), + payload.get("error_type"), + payload.get("decision"), + ) + deferred_tool_calls: + - python: | + print("[example-guardrails] deferred_tool_calls invoked") + system_prompt_codemode_addons: null welcome_notebook: null diff --git a/agentspecs/agents/example-hooks.yaml b/agentspecs/agents/example-hooks.yaml index a98c41d..f24238b 100644 --- a/agentspecs/agents/example-hooks.yaml +++ b/agentspecs/agents/example-hooks.yaml @@ -22,6 +22,7 @@ mcp_servers: [] skills: [] tools: - runtime-echo:0.0.1 + - runtime-sensitive-echo:0.0.1 frontend_tools: [] environment_name: ai-agents-env @@ -35,6 +36,8 @@ suggestions: - "Print the hook_ran_at and hook_name variables that the pre-hook set in the sandbox." - "Run execute_code to verify that the 'rich' package was installed by the pre-hook." - "Show me all variables that the pre-hook defined in the sandbox namespace." + - "Call runtime_sensitive_echo with reason 'audit' to trigger per-tool authorization hooks." + - "Use execute_code to read /tmp/agent_runtimes_tool_approvals_audit.jsonl and summarize the latest authorization + execution entries." welcome_message: > I ran a pre-hook before starting up. It installed the 'rich' package, wrote a @@ -57,6 +60,18 @@ system_prompt: > A post-hook is also configured โ€” it will write /tmp/agent_runtimes_post_hook_demo.txt when the agent shuts down. + This agent also demonstrates per-tool hooks for runtime-sensitive tool calls. + Each proposed tool call is converted into an authorization request with actor, + tool, arguments, resource, current delegations, and risk class. Hook decisions + can be allow, deny, approval_needed, or delegated_allow. Decisions and + execution results are logged. + + Hook names align with pydantic-ai capability hooks: + - before_tool_execute + - after_tool_execute + - on_tool_execute_error + - deferred_tool_calls + When the user asks about hooks, use execute_code to show concrete evidence: read the marker file, print the variables, or import rich to confirm it was installed. @@ -97,6 +112,43 @@ post_hooks: ) print(f"[example-hooks] post-hook done: post_ran_at={post_ran_at!r}") +tool_hooks: + actor: "${USER}" + audit_log_path: "/tmp/agent_runtimes_tool_approvals_audit.jsonl" + current_delegations: + - "delegate:read-only-low-risk" + before_tool_execute: + - function: agent_runtimes.integrations.tool_policy:evaluate_tool_request + - python: | + # Plain Python hook variant. It can enforce extra local policy. + reason = str(request.get("arguments", {}).get("reason", "")).lower() + if "delete" in reason or "drop" in reason: + hook_result = { + "decision": "deny", + "reason": "blocked_by_local_python_hook_reason_policy" + } + after_tool_execute: + - python: | + # Post hook receives execution result payload in `payload`. + print( + "[example-hooks] after_tool_execute", + payload.get("tool"), + payload.get("status"), + payload.get("decision"), + ) + on_tool_execute_error: + - python: | + print( + "[example-hooks] on_tool_execute_error", + payload.get("tool"), + payload.get("error_type"), + payload.get("decision"), + ) + deferred_tool_calls: + - python: | + # Demonstrates the deferred hook key in spec config. + print("[example-hooks] deferred_tool_calls invoked") + system_prompt_codemode_addons: null welcome_notebook: null welcome_document: null diff --git a/agentspecs/agents/example-no-codemode.yaml b/agentspecs/agents/example-no-codemode.yaml new file mode 100644 index 0000000..20a9104 --- /dev/null +++ b/agentspecs/agents/example-no-codemode.yaml @@ -0,0 +1,65 @@ +# Copyright (c) 2025-2026 Datalayer, Inc. +# Distributed under the terms of the Modified BSD License. + +# Agent Specification: Tavily MCP Demo (No Codemode) +# Used by AgentCodemodeExample to demonstrate raw MCP tool usage. + +id: example-no-codemode +version: 0.0.1 +name: Example Tavily No Codemode Agent +description: >- + Tavily MCP demo agent without codemode conversion. MCP tools are used directly + without codemode orchestration. + +tags: + - demo + - mcp + - tavily + - no-codemode + +enabled: true +model: "bedrock:us.anthropic.claude-sonnet-4-5-20250929-v1:0" + +sandbox_variant: jupyter +memory: ephemeral + +mcp_servers: + - tavily:0.0.1 + +skills: + - events:0.0.1 + +tools: + - runtime-echo:0.0.1 + +frontend_tools: + - jupyter-notebook:0.0.1 + - lexical-document:0.0.1 + +environment_name: ai-agents-env + +icon: globe +emoji: "๐ŸŒ" +color: "#0969DA" + +suggestions: + - Search for the latest updates about Datalayer + - Extract key points from the top result + - Summarize recent AI agent tooling trends + +welcome_message: >- + Tavily MCP no-codemode agent ready. I use MCP tools directly. + +system_prompt: >- + You are a Tavily MCP demo assistant without codemode. Use available MCP tools + directly for search and research requests, and provide concise summaries. + +system_prompt_codemode_addons: null + +# Explicitly disabled codemode behavior for this variant. +codemode: + enabled: false + +welcome_notebook: null +welcome_document: null +trigger: null diff --git a/agentspecs/agents/example-tool-approvals.yaml b/agentspecs/agents/example-tool-approvals.yaml new file mode 100644 index 0000000..7771dd4 --- /dev/null +++ b/agentspecs/agents/example-tool-approvals.yaml @@ -0,0 +1,76 @@ +id: example-tool-approvals +version: 0.0.1 +name: Example Tool Approvals +description: > + Demonstrates per-tool approval hooks with policy requests and decision/audit + logging. +icon: pi pi-shield +tags: + - approvals + - hooks + - policy +model: openai:gpt-4o-mini +tools: + - runtime-sensitive-echo:0.0.1 + - runtime-echo:0.0.1 +suggestions: + - "Call runtime_sensitive_echo with reason 'read logs' and message 'hello approvals'." + - "Call runtime_sensitive_echo with reason 'delete project' and observe deny behavior from Python policy hook." + - "Call runtime_echo with any message to compare a non-sensitive tool path." + - "Use execute_code to print the latest lines from /tmp/agent_runtimes_tool_approvals_audit.jsonl." + - "Explain how deferred_tool_calls resolves approval-required tool calls inline when decisions already exist." +welcome_message: | + Welcome to the Tool Approvals example. + + This agent demonstrates authorization hooks where each + sensitive tool call is evaluated against policy and logged for audit. +system_prompt: > + You are a demo assistant for tool approvals. + + Sensitive tool calls should go through the authorization flow. + + Explain decisions clearly: allow, deny, approval_needed, or delegated_allow. + + Keep responses concise and focused on what was authorized and executed. + + Hook names align with pydantic-ai capability hooks: + before_tool_execute, after_tool_execute, on_tool_execute_error, + and deferred_tool_calls. +tool_hooks: + actor: "${USER}" + audit_log_path: "/tmp/agent_runtimes_tool_approvals_audit.jsonl" + current_delegations: + - "delegate:read-only-low-risk" + before_tool_execute: + - function: agent_runtimes.integrations.tool_policy:evaluate_tool_request + - python: | + reason = str(request.get("arguments", {}).get("reason", "")).lower() + if "delete" in reason or "drop" in reason: + hook_result = { + "decision": "deny", + "reason": "blocked_by_local_python_reason_policy" + } + elif request.get("risk_class") == "low": + hook_result = { + "decision": "delegated_allow", + "reason": "delegated_low_risk_auto_allow" + } + after_tool_execute: + - python: | + print( + "[example-tool-approvals]", + payload.get("tool"), + payload.get("status"), + payload.get("decision"), + ) + on_tool_execute_error: + - python: | + print( + "[example-tool-approvals:error]", + payload.get("tool"), + payload.get("error_type"), + payload.get("decision"), + ) + deferred_tool_calls: + - python: | + print("[example-tool-approvals] deferred_tool_calls invoked") From fb8cdef11685dfd4a4eeca26bf2abf251f895d18 Mon Sep 17 00:00:00 2001 From: Eric Charles Date: Fri, 29 May 2026 08:51:59 +0200 Subject: [PATCH 39/44] examples --- agentspecs/agents/example-guardrails.yaml | 2 +- agentspecs/agents/example-hooks.yaml | 2 +- agentspecs/agents/example-memory.yaml | 63 +++++++++++++++++++ agentspecs/agents/example-notifications.yaml | 62 ++++++++++++++++++ agentspecs/agents/example-tool-approvals.yaml | 18 +++--- 5 files changed, 136 insertions(+), 11 deletions(-) create mode 100644 agentspecs/agents/example-memory.yaml create mode 100644 agentspecs/agents/example-notifications.yaml diff --git a/agentspecs/agents/example-guardrails.yaml b/agentspecs/agents/example-guardrails.yaml index 26fec76..3ea5a28 100644 --- a/agentspecs/agents/example-guardrails.yaml +++ b/agentspecs/agents/example-guardrails.yaml @@ -70,7 +70,7 @@ system_prompt: >- tool_hooks: actor: "${USER}" - audit_log_path: "/tmp/agent_runtimes_tool_approvals_audit.jsonl" + audit_log_path: "agent_runtimes_tool_approvals_audit.jsonl" current_delegations: - "delegate:guardrails-low-risk" before_tool_execute: diff --git a/agentspecs/agents/example-hooks.yaml b/agentspecs/agents/example-hooks.yaml index f24238b..076ef06 100644 --- a/agentspecs/agents/example-hooks.yaml +++ b/agentspecs/agents/example-hooks.yaml @@ -114,7 +114,7 @@ post_hooks: tool_hooks: actor: "${USER}" - audit_log_path: "/tmp/agent_runtimes_tool_approvals_audit.jsonl" + audit_log_path: "agent_runtimes_tool_approvals_audit.jsonl" current_delegations: - "delegate:read-only-low-risk" before_tool_execute: diff --git a/agentspecs/agents/example-memory.yaml b/agentspecs/agents/example-memory.yaml new file mode 100644 index 0000000..84151a5 --- /dev/null +++ b/agentspecs/agents/example-memory.yaml @@ -0,0 +1,63 @@ +# Copyright (c) 2025-2026 Datalayer, Inc. +# Distributed under the terms of the Modified BSD License. + +# Agent Specification: Example Memory +# Runtime agent used by the memory example for local and cloud execution. + +id: example-memory +version: 0.0.1 +name: Example Memory Agent +description: >- + Demonstrates durable conversational memory with the Mem0 backend. + Persists user preferences and supports memory inspection/search. + +tags: + - memory + - mem0 + - demo + +enabled: true +model: "bedrock:us.anthropic.claude-sonnet-4-5-20250929-v1:0" + +sandbox_variant: jupyter + +memory: mem0 + +mcp_servers: [] + +skills: + - events:0.0.1 + +tools: + - runtime-echo:0.0.1 + +frontend_tools: + - jupyter-notebook:0.0.1 + - lexical-document:0.0.1 + +environment_name: ai-agents-env + +icon: database +emoji: "๐Ÿง " +color: "#0D9488" + +suggestions: + - Remember a user preference and confirm it was stored + - Recall previously stored preferences from memory + - Search memory for key facts from earlier turns + +welcome_message: >- + Ready to demonstrate durable memory. Tell me a preference and I can recall it + across turns. + +system_prompt: >- + You are the Example Memory Agent. Capture durable user preferences and key + facts, recall them accurately when asked, and summarize memory context + clearly. + +system_prompt_codemode_addons: null + +welcome_notebook: null +welcome_document: null + +trigger: null diff --git a/agentspecs/agents/example-notifications.yaml b/agentspecs/agents/example-notifications.yaml new file mode 100644 index 0000000..6c04f4e --- /dev/null +++ b/agentspecs/agents/example-notifications.yaml @@ -0,0 +1,62 @@ +# Copyright (c) 2025-2026 Datalayer, Inc. +# Distributed under the terms of the Modified BSD License. + +# Agent Specification: Example Notifications +# Runtime agent used by the notifications example for local and cloud execution. + +id: example-notifications +version: 0.0.1 +name: Example Notifications Agent +description: >- + Demonstrates multi-channel notifications including in-app, email, and Slack + style destinations with preference management. + +tags: + - notifications + - alerts + - demo + +enabled: true +model: "bedrock:us.anthropic.claude-sonnet-4-5-20250929-v1:0" + +sandbox_variant: jupyter + +memory: ephemeral + +mcp_servers: [] + +skills: + - events:0.0.1 + +tools: + - runtime-echo:0.0.1 + +frontend_tools: + - jupyter-notebook:0.0.1 + - lexical-document:0.0.1 + +environment_name: ai-agents-env + +icon: bell +emoji: "๐Ÿ””" +color: "#F59E0B" + +suggestions: + - Configure notification channels for in-app, email, and Slack + - Trigger a test notification and verify delivery status + - Summarize unread notifications and recent alert activity + +welcome_message: >- + Ready to demonstrate notifications. Configure your channels and send a test + alert to validate delivery. + +system_prompt: >- + You are the Example Notifications Agent. Help users configure notification + channels, test delivery paths, and summarize recent notification activity. + +system_prompt_codemode_addons: null + +welcome_notebook: null +welcome_document: null + +trigger: null diff --git a/agentspecs/agents/example-tool-approvals.yaml b/agentspecs/agents/example-tool-approvals.yaml index 7771dd4..6d9f120 100644 --- a/agentspecs/agents/example-tool-approvals.yaml +++ b/agentspecs/agents/example-tool-approvals.yaml @@ -38,7 +38,7 @@ system_prompt: > and deferred_tool_calls. tool_hooks: actor: "${USER}" - audit_log_path: "/tmp/agent_runtimes_tool_approvals_audit.jsonl" + audit_log_path: "agent_runtimes_tool_approvals_audit.jsonl" current_delegations: - "delegate:read-only-low-risk" before_tool_execute: @@ -55,7 +55,7 @@ tool_hooks: "decision": "delegated_allow", "reason": "delegated_low_risk_auto_allow" } - after_tool_execute: + after_tool_execute: - python: | print( "[example-tool-approvals]", @@ -63,14 +63,14 @@ tool_hooks: payload.get("status"), payload.get("decision"), ) - on_tool_execute_error: - - python: | - print( + on_tool_execute_error: + - python: | + print( "[example-tool-approvals:error]", payload.get("tool"), payload.get("error_type"), payload.get("decision"), - ) - deferred_tool_calls: - - python: | - print("[example-tool-approvals] deferred_tool_calls invoked") + ) + deferred_tool_calls: + - python: | + print("[example-tool-approvals] deferred_tool_calls invoked") From 7ffe7eefb518422d10b9ec90922ede673dd2718e Mon Sep 17 00:00:00 2001 From: Eric Charles Date: Mon, 1 Jun 2026 19:24:44 +0200 Subject: [PATCH 40/44] example: inference --- agentspecs/agents/example-inference.yaml | 58 ++++++++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 agentspecs/agents/example-inference.yaml diff --git a/agentspecs/agents/example-inference.yaml b/agentspecs/agents/example-inference.yaml new file mode 100644 index 0000000..406a767 --- /dev/null +++ b/agentspecs/agents/example-inference.yaml @@ -0,0 +1,58 @@ +# Copyright (c) 2025-2026 Datalayer, Inc. +# Distributed under the terms of the Modified BSD License. + +id: example-inference +version: 0.0.1 +name: Example Inference Provider Agent +description: >- + Demonstrates inference-provider switching (local vs datalayer) for a local + agent runtime session. + +tags: + - demo + - inference + - provider + - runtime + +enabled: true +model: "bedrock:us.anthropic.claude-sonnet-4-5-20250929-v1:0" +inference_provider: local + +sandbox_variant: jupyter +memory: ephemeral + +mcp_servers: [] + +skills: + - events:0.0.1 + +tools: + - runtime-echo:0.0.1 + +frontend_tools: + - jupyter-notebook:0.0.1 + - lexical-document:0.0.1 + +environment_name: ai-agents-env + +icon: pulse +emoji: "๐Ÿง " +color: "#2563EB" + +suggestions: + - Compare local and datalayer inference providers for latency and routing. + - Explain where model responses are generated for this current provider. + - Summarize the tradeoffs of switching providers for this agent. + +welcome_message: >- + Inference provider demo ready. Switch between local and datalayer providers, + then ask me the same prompt to compare behavior. + +system_prompt: >- + You are the inference provider demo agent. Be concise, technical, and explicit + about provider-routing implications when asked. + +system_prompt_codemode_addons: null +welcome_notebook: null +welcome_document: null +trigger: null From 191454b01656a7e54105b4a6561e5f46f94d6648 Mon Sep 17 00:00:00 2001 From: Eric Charles Date: Wed, 17 Jun 2026 11:26:35 +0200 Subject: [PATCH 41/44] example evals no codemode --- .../agents/example-evals-nocodmode.yaml | 66 +++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 agentspecs/agents/example-evals-nocodmode.yaml diff --git a/agentspecs/agents/example-evals-nocodmode.yaml b/agentspecs/agents/example-evals-nocodmode.yaml new file mode 100644 index 0000000..df01bcb --- /dev/null +++ b/agentspecs/agents/example-evals-nocodmode.yaml @@ -0,0 +1,66 @@ +# Copyright (c) 2025-2026 Datalayer, Inc. +# Distributed under the terms of the Modified BSD License. + +# Agent Specification: Demo Evals (No Codemode) +# Runtime agent used by eval examples for local and cloud execution without codemode. + +id: example-evals-nocodmode +version: 0.0.1 +name: Example Evals Agent (No Codemode) +description: >- + Evals runner variant with codemode disabled for A/B comparisons against + example-evals in SDK eval examples. + +tags: + - evals + - demo + - runner + - no-codemode + +enabled: true +model: "bedrock:us.anthropic.claude-sonnet-4-5-20250929-v1:0" + +sandbox_variant: jupyter + +memory: ephemeral + +mcp_servers: [] + +skills: + - events:0.0.1 + +tools: + - runtime-echo:0.0.1 + +frontend_tools: + - jupyter-notebook:0.0.1 + - lexical-document:0.0.1 + +environment_name: ai-agents-env + +icon: pulse +emoji: "๐Ÿงช" +color: "#0284C7" + +suggestions: + - Run the selected evaluation experiment on the configured dataset + - Validate experiment configuration and report missing fields + - Summarize run results with pass rate and latency highlights + +welcome_message: >- + Ready to run eval experiments without codemode enabled. Configure your + benchmark and evaluator setup, then launch a run. + +system_prompt: >- + You are the Demo Evals Runner. Execute evaluation workflows reliably, + validate inputs before execution, and summarize outcomes clearly. + +system_prompt_codemode_addons: null + +codemode: + enabled: false + +welcome_notebook: null +welcome_document: null + +trigger: null From 185e9b7b13e38488776982f4afe78ec30a07ddb7 Mon Sep 17 00:00:00 2001 From: Eric Charles Date: Wed, 17 Jun 2026 18:06:11 +0200 Subject: [PATCH 42/44] docs --- README.md | 4 ++-- ...ple-evals-nocodmode.yaml => example-evals-nocodemode.yaml} | 2 +- docs/docs/benchmarks/index.mdx | 2 +- docs/docs/guardrails/index.mdx | 2 +- docs/docs/hooks/index.mdx | 2 +- docs/docs/index.mdx | 4 ++-- docs/docs/tools/index.mdx | 2 +- 7 files changed, 9 insertions(+), 9 deletions(-) rename agentspecs/agents/{example-evals-nocodmode.yaml => example-evals-nocodemode.yaml} (98%) diff --git a/README.md b/README.md index 67d0163..fa567fb 100644 --- a/README.md +++ b/README.md @@ -22,7 +22,7 @@ The YAML files in [agentspecs/agentspecs](agentspecs) are compiled into Python a ```text agentspecs/ -โ”œโ”€โ”€ agents/ # Agent specs +โ”œโ”€โ”€ agents/ # Agentspecs โ”œโ”€โ”€ teams/ # Team orchestration specs โ”œโ”€โ”€ mcp-servers/ # MCP server specs โ”œโ”€โ”€ skills/ # Skill specs @@ -207,7 +207,7 @@ Common fields: ## Parameters (Launch-Time Inputs) -Agent specs support a `parameters` field using JSON Schema. This lets one spec +Agentspecs support a `parameters` field using JSON Schema. This lets one spec be reused across multiple launches while keeping runtime inputs validated and explicit. diff --git a/agentspecs/agents/example-evals-nocodmode.yaml b/agentspecs/agents/example-evals-nocodemode.yaml similarity index 98% rename from agentspecs/agents/example-evals-nocodmode.yaml rename to agentspecs/agents/example-evals-nocodemode.yaml index df01bcb..d910685 100644 --- a/agentspecs/agents/example-evals-nocodmode.yaml +++ b/agentspecs/agents/example-evals-nocodemode.yaml @@ -4,7 +4,7 @@ # Agent Specification: Demo Evals (No Codemode) # Runtime agent used by eval examples for local and cloud execution without codemode. -id: example-evals-nocodmode +id: example-evals-nocodemode version: 0.0.1 name: Example Evals Agent (No Codemode) description: >- diff --git a/docs/docs/benchmarks/index.mdx b/docs/docs/benchmarks/index.mdx index b21d5e4..cef5dd7 100644 --- a/docs/docs/benchmarks/index.mdx +++ b/docs/docs/benchmarks/index.mdx @@ -37,7 +37,7 @@ Each benchmark must declare one or more evaluator dependencies in the ## Notes -- Benchmarks are referenced from agent specs and runtime workflows. +- Benchmarks are referenced from agentspecs and runtime workflows. - Benchmark generation validates that each evaluator reference exists in the eval catalog. - Prefer explicit `id:version` references. diff --git a/docs/docs/guardrails/index.mdx b/docs/docs/guardrails/index.mdx index 21a635f..743a983 100644 --- a/docs/docs/guardrails/index.mdx +++ b/docs/docs/guardrails/index.mdx @@ -24,5 +24,5 @@ Guardrail specs define policy and permission envelopes for agents. ## Notes -- Guardrails are referenced from agent specs. +- Guardrails are referenced from agentspecs. - Keep policy IDs stable and versioned. diff --git a/docs/docs/hooks/index.mdx b/docs/docs/hooks/index.mdx index fb5c8df..3018ffe 100644 --- a/docs/docs/hooks/index.mdx +++ b/docs/docs/hooks/index.mdx @@ -15,7 +15,7 @@ Use hooks when you need to: ## Supported Hook Fields -Hooks are defined in agent specs under these fields: +Hooks are defined in agentspecs under these fields: ### `pre_hooks.packages` (list of strings) diff --git a/docs/docs/index.mdx b/docs/docs/index.mdx index 20d647f..fbb42d8 100644 --- a/docs/docs/index.mdx +++ b/docs/docs/index.mdx @@ -17,7 +17,7 @@ Agentspecs is the source of truth for runtime catalogs compiled into Python and The repository currently defines these spec families: -- Agent specs +- Agentspecs - Hook specs - Team specs - MCP server specs @@ -82,7 +82,7 @@ agentspecs/ ## Parameters -Agent specs can declare launch-time `parameters` using JSON Schema. These +Agentspecs can declare launch-time `parameters` using JSON Schema. These parameters are validated before runtime creation and then injected into templated fields. diff --git a/docs/docs/tools/index.mdx b/docs/docs/tools/index.mdx index 7db64c2..6f7a441 100644 --- a/docs/docs/tools/index.mdx +++ b/docs/docs/tools/index.mdx @@ -44,4 +44,4 @@ emoji: "๐Ÿ’ฌ" ## Notes - Use stable IDs and bump `version` for breaking changes. -- Use explicit tool refs (`id:version`) from agent specs when present. +- Use explicit tool refs (`id:version`) from agentspecs when present. From d068af013ab9ef02f2577b49bd2a7f8655f4c259 Mon Sep 17 00:00:00 2001 From: Eric Charles Date: Fri, 19 Jun 2026 06:33:17 +0200 Subject: [PATCH 43/44] tool approvals --- agentspecs/agents/example-evals-nocodemode.yaml | 2 ++ agentspecs/agents/example-evals.yaml | 2 ++ agentspecs/agents/example-tool-approvals.yaml | 2 +- 3 files changed, 5 insertions(+), 1 deletion(-) diff --git a/agentspecs/agents/example-evals-nocodemode.yaml b/agentspecs/agents/example-evals-nocodemode.yaml index d910685..6cd15ec 100644 --- a/agentspecs/agents/example-evals-nocodemode.yaml +++ b/agentspecs/agents/example-evals-nocodemode.yaml @@ -32,6 +32,8 @@ skills: tools: - runtime-echo:0.0.1 +disable_tool_approvals: true + frontend_tools: - jupyter-notebook:0.0.1 - lexical-document:0.0.1 diff --git a/agentspecs/agents/example-evals.yaml b/agentspecs/agents/example-evals.yaml index 4305a9f..e26c6cc 100644 --- a/agentspecs/agents/example-evals.yaml +++ b/agentspecs/agents/example-evals.yaml @@ -31,6 +31,8 @@ skills: tools: - runtime-echo:0.0.1 +disable_tool_approvals: true + frontend_tools: - jupyter-notebook:0.0.1 - lexical-document:0.0.1 diff --git a/agentspecs/agents/example-tool-approvals.yaml b/agentspecs/agents/example-tool-approvals.yaml index 6d9f120..2311e17 100644 --- a/agentspecs/agents/example-tool-approvals.yaml +++ b/agentspecs/agents/example-tool-approvals.yaml @@ -9,7 +9,7 @@ tags: - approvals - hooks - policy -model: openai:gpt-4o-mini +model: "bedrock:us.anthropic.claude-sonnet-4-5-20250929-v1:0" tools: - runtime-sensitive-echo:0.0.1 - runtime-echo:0.0.1 From e5ecb7ad5b6465dfe7872810cf1ee99b5e7f4e74 Mon Sep 17 00:00:00 2001 From: Eric Charles Date: Fri, 19 Jun 2026 06:53:06 +0200 Subject: [PATCH 44/44] bump: version --- agentspecs/__version__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/agentspecs/__version__.py b/agentspecs/__version__.py index 291eb90..80c5f8a 100644 --- a/agentspecs/__version__.py +++ b/agentspecs/__version__.py @@ -4,4 +4,4 @@ """Agentspecs.""" -__version__ = "0.0.3" +__version__ = "0.0.4"