agent-utilities 0.1.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (33) hide show
  1. agent_utilities-0.1.1/LICENSE +21 -0
  2. agent_utilities-0.1.1/MANIFEST.in +1 -0
  3. agent_utilities-0.1.1/PKG-INFO +109 -0
  4. agent_utilities-0.1.1/README.md +69 -0
  5. agent_utilities-0.1.1/agent_utilities/__init__.py +40 -0
  6. agent_utilities-0.1.1/agent_utilities/agent/AGENTS.md +12 -0
  7. agent_utilities-0.1.1/agent_utilities/agent/CRON.md +12 -0
  8. agent_utilities-0.1.1/agent_utilities/agent/CRON_LOG.md +8 -0
  9. agent_utilities-0.1.1/agent_utilities/agent/HEARTBEAT.md +26 -0
  10. agent_utilities-0.1.1/agent_utilities/agent/IDENTITY.md +17 -0
  11. agent_utilities-0.1.1/agent_utilities/agent/MEMORY.md +8 -0
  12. agent_utilities-0.1.1/agent_utilities/agent/USER.md +7 -0
  13. agent_utilities-0.1.1/agent_utilities/agent/__init__.py +0 -0
  14. agent_utilities-0.1.1/agent_utilities/agent/mcp_config.json +3 -0
  15. agent_utilities-0.1.1/agent_utilities/agent/templates.py +118 -0
  16. agent_utilities-0.1.1/agent_utilities/agent_utilities.py +1444 -0
  17. agent_utilities-0.1.1/agent_utilities/api_utilities.py +61 -0
  18. agent_utilities-0.1.1/agent_utilities/base_utilities.py +131 -0
  19. agent_utilities-0.1.1/agent_utilities/embedding_utilities.py +110 -0
  20. agent_utilities-0.1.1/agent_utilities/mcp_utilities.py +229 -0
  21. agent_utilities-0.1.1/agent_utilities/models.py +13 -0
  22. agent_utilities-0.1.1/agent_utilities/tools.py +216 -0
  23. agent_utilities-0.1.1/agent_utilities.egg-info/PKG-INFO +109 -0
  24. agent_utilities-0.1.1/agent_utilities.egg-info/SOURCES.txt +31 -0
  25. agent_utilities-0.1.1/agent_utilities.egg-info/dependency_links.txt +1 -0
  26. agent_utilities-0.1.1/agent_utilities.egg-info/requires.txt +28 -0
  27. agent_utilities-0.1.1/agent_utilities.egg-info/top_level.txt +3 -0
  28. agent_utilities-0.1.1/pyproject.toml +65 -0
  29. agent_utilities-0.1.1/requirements.txt +1 -0
  30. agent_utilities-0.1.1/scripts/validate_a2a_agent.py +139 -0
  31. agent_utilities-0.1.1/scripts/verify_adguard.py +169 -0
  32. agent_utilities-0.1.1/scripts/verify_tools.py +75 -0
  33. agent_utilities-0.1.1/setup.cfg +4 -0
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Knuckles Team
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1 @@
1
+ include README.md include requirements.txt recursive-include adguard_home_agent *.py
@@ -0,0 +1,109 @@
1
+ Metadata-Version: 2.4
2
+ Name: agent-utilities
3
+ Version: 0.1.1
4
+ Summary: Agent Utilities for Pydantic AI Agents
5
+ Author-email: Audel Rouhi <knucklessg1@gmail.com>
6
+ License: MIT
7
+ Classifier: Development Status :: 4 - Beta
8
+ Classifier: License :: OSI Approved :: MIT License
9
+ Classifier: Environment :: Console
10
+ Classifier: Operating System :: POSIX :: Linux
11
+ Classifier: Programming Language :: Python :: 3
12
+ Requires-Python: >=3.10
13
+ Description-Content-Type: text/markdown
14
+ License-File: LICENSE
15
+ Requires-Dist: pydantic>=2.0.0
16
+ Requires-Dist: pydantic-ai-slim>=0.0.14
17
+ Requires-Dist: PyYAML>=6.0.0
18
+ Requires-Dist: httpx>=0.23.0
19
+ Requires-Dist: fasta2a>=0.1.0
20
+ Provides-Extra: mcp
21
+ Requires-Dist: fastmcp>=3.0.0b1; extra == "mcp"
22
+ Requires-Dist: eunomia-mcp>=0.3.10; extra == "mcp"
23
+ Requires-Dist: fastapi>=0.128.0; extra == "mcp"
24
+ Provides-Extra: agent
25
+ Requires-Dist: universal-skills>=0.1.0; extra == "agent"
26
+ Requires-Dist: pydantic-ai-skills>=0.4.0; extra == "agent"
27
+ Requires-Dist: pydantic-ai-slim[a2a,ag-ui,anthropic,fastmcp,google,groq,huggingface,mistral,openai,web]>=1.60.0; extra == "agent"
28
+ Requires-Dist: fastapi>=0.128.0; extra == "agent"
29
+ Provides-Extra: embeddings
30
+ Requires-Dist: llama-index-core>=0.10.0; extra == "embeddings"
31
+ Requires-Dist: llama-index-embeddings-openai>=0.1.0; extra == "embeddings"
32
+ Requires-Dist: llama-index-embeddings-huggingface>=0.2.0; extra == "embeddings"
33
+ Requires-Dist: llama-index-embeddings-ollama>=0.1.0; extra == "embeddings"
34
+ Provides-Extra: all
35
+ Requires-Dist: agent-utilities[agent,embeddings,mcp]; extra == "all"
36
+ Requires-Dist: tree-sitter>=0.23.2; extra == "all"
37
+ Requires-Dist: requests>=2.28.1; extra == "all"
38
+ Requires-Dist: urllib3>=2.2.2; extra == "all"
39
+ Dynamic: license-file
40
+
41
+ # Agent Utilities - Pydantic AI Utilities
42
+
43
+ ![PyPI - Version](https://img.shields.io/pypi/v/agent-utilities)
44
+ ![MCP Server](https://badge.mcpx.dev?type=server 'MCP Server')
45
+ ![PyPI - Downloads](https://img.shields.io/pypi/dd/agent-utilities)
46
+ ![GitHub Repo stars](https://img.shields.io/github/stars/Knuckles-Team/agent-utilities)
47
+ ![GitHub forks](https://img.shields.io/github/forks/Knuckles-Team/agent-utilities)
48
+ ![GitHub contributors](https://img.shields.io/github/contributors/Knuckles-Team/agent-utilities)
49
+ ![PyPI - License](https://img.shields.io/pypi/l/agent-utilities)
50
+ ![GitHub](https://img.shields.io/github/license/Knuckles-Team/agent-utilities)
51
+
52
+ ![GitHub last commit (by committer)](https://img.shields.io/github/last-commit/Knuckles-Team/agent-utilities)
53
+ ![GitHub pull requests](https://img.shields.io/github/issues-pr/Knuckles-Team/agent-utilities)
54
+ ![GitHub closed pull requests](https://img.shields.io/github/issues-pr-closed/Knuckles-Team/agent-utilities)
55
+ ![GitHub issues](https://img.shields.io/github/issues/Knuckles-Team/agent-utilities)
56
+
57
+ ![GitHub top language](https://img.shields.io/github/languages/top/Knuckles-Team/agent-utilities)
58
+ ![GitHub language count](https://img.shields.io/github/languages/count/Knuckles-Team/agent-utilities)
59
+ ![GitHub repo size](https://img.shields.io/github/repo-size/Knuckles-Team/agent-utilities)
60
+ ![GitHub repo file count (file type)](https://img.shields.io/github/directory-file-count/Knuckles-Team/agent-utilities)
61
+ ![PyPI - Wheel](https://img.shields.io/pypi/wheel/agent-utilities)
62
+ ![PyPI - Implementation](https://img.shields.io/pypi/implementation/agent-utilities)
63
+
64
+ *Version: 0.1.1*
65
+
66
+ ## Overview
67
+
68
+ Agent Utilities provides a robust foundation for building production-ready Pydantic AI Agents. It simplifies agent creation, adds multi-agent supervisor patterns, and provides essential "operating system" tools for agents, including workspace management, scheduling, and discovery.
69
+
70
+ ## Key Features
71
+
72
+ - **Agent Creation**: Streamlined `create_agent` function that handles MCP servers, skills, and model configuration automatically.
73
+ - **Multi-Agent Support**: Native support for the supervisor pattern, allowing complex tasks to be delegated to specialized child agents.
74
+ - **Agent Server**: Built-in FastAPI server (`create_agent_server`) with SSE support for easy integration into web UIs and A2A networks.
75
+ - **Workspace Management**: Automated management of agent state through standard markdown files (`IDENTITY.md`, `MEMORY.md`, `USER.md`).
76
+ - **A2A Integration**: Seamless discovery and communication between agents in a distributed network.
77
+ - **Periodic Scheduler**: In-memory task scheduler for running background agent jobs.
78
+ - **Lightweight & Lazy**: Core utilities are lightweight. Heavy dependencies like FastAPI or LlamaIndex are lazy-loaded only when requested via optional extras.
79
+
80
+ ## Installation
81
+
82
+ ```bash
83
+ # Core utilities only
84
+ pip install agent-utilities
85
+
86
+ # With full agent support (recommended)
87
+ pip install agent-utilities[agent]
88
+
89
+ # With MCP server support
90
+ pip install agent-utilities[mcp]
91
+
92
+ # With embedding/vector support
93
+ pip install agent-utilities[embeddings]
94
+ ```
95
+
96
+ ## Quick Start
97
+
98
+ ```python
99
+ from agent_utilities import create_agent
100
+
101
+ # Create a simple agent with workspace tools
102
+ agent = create_agent(name="MyAgent")
103
+
104
+ # Or create a multi-agent supervisor
105
+ agent = create_agent(
106
+ name="Supervisor",
107
+ agent_defs=[{"name": "Researcher", "description": "Search the web"}]
108
+ )
109
+ ```
@@ -0,0 +1,69 @@
1
+ # Agent Utilities - Pydantic AI Utilities
2
+
3
+ ![PyPI - Version](https://img.shields.io/pypi/v/agent-utilities)
4
+ ![MCP Server](https://badge.mcpx.dev?type=server 'MCP Server')
5
+ ![PyPI - Downloads](https://img.shields.io/pypi/dd/agent-utilities)
6
+ ![GitHub Repo stars](https://img.shields.io/github/stars/Knuckles-Team/agent-utilities)
7
+ ![GitHub forks](https://img.shields.io/github/forks/Knuckles-Team/agent-utilities)
8
+ ![GitHub contributors](https://img.shields.io/github/contributors/Knuckles-Team/agent-utilities)
9
+ ![PyPI - License](https://img.shields.io/pypi/l/agent-utilities)
10
+ ![GitHub](https://img.shields.io/github/license/Knuckles-Team/agent-utilities)
11
+
12
+ ![GitHub last commit (by committer)](https://img.shields.io/github/last-commit/Knuckles-Team/agent-utilities)
13
+ ![GitHub pull requests](https://img.shields.io/github/issues-pr/Knuckles-Team/agent-utilities)
14
+ ![GitHub closed pull requests](https://img.shields.io/github/issues-pr-closed/Knuckles-Team/agent-utilities)
15
+ ![GitHub issues](https://img.shields.io/github/issues/Knuckles-Team/agent-utilities)
16
+
17
+ ![GitHub top language](https://img.shields.io/github/languages/top/Knuckles-Team/agent-utilities)
18
+ ![GitHub language count](https://img.shields.io/github/languages/count/Knuckles-Team/agent-utilities)
19
+ ![GitHub repo size](https://img.shields.io/github/repo-size/Knuckles-Team/agent-utilities)
20
+ ![GitHub repo file count (file type)](https://img.shields.io/github/directory-file-count/Knuckles-Team/agent-utilities)
21
+ ![PyPI - Wheel](https://img.shields.io/pypi/wheel/agent-utilities)
22
+ ![PyPI - Implementation](https://img.shields.io/pypi/implementation/agent-utilities)
23
+
24
+ *Version: 0.1.1*
25
+
26
+ ## Overview
27
+
28
+ Agent Utilities provides a robust foundation for building production-ready Pydantic AI Agents. It simplifies agent creation, adds multi-agent supervisor patterns, and provides essential "operating system" tools for agents, including workspace management, scheduling, and discovery.
29
+
30
+ ## Key Features
31
+
32
+ - **Agent Creation**: Streamlined `create_agent` function that handles MCP servers, skills, and model configuration automatically.
33
+ - **Multi-Agent Support**: Native support for the supervisor pattern, allowing complex tasks to be delegated to specialized child agents.
34
+ - **Agent Server**: Built-in FastAPI server (`create_agent_server`) with SSE support for easy integration into web UIs and A2A networks.
35
+ - **Workspace Management**: Automated management of agent state through standard markdown files (`IDENTITY.md`, `MEMORY.md`, `USER.md`).
36
+ - **A2A Integration**: Seamless discovery and communication between agents in a distributed network.
37
+ - **Periodic Scheduler**: In-memory task scheduler for running background agent jobs.
38
+ - **Lightweight & Lazy**: Core utilities are lightweight. Heavy dependencies like FastAPI or LlamaIndex are lazy-loaded only when requested via optional extras.
39
+
40
+ ## Installation
41
+
42
+ ```bash
43
+ # Core utilities only
44
+ pip install agent-utilities
45
+
46
+ # With full agent support (recommended)
47
+ pip install agent-utilities[agent]
48
+
49
+ # With MCP server support
50
+ pip install agent-utilities[mcp]
51
+
52
+ # With embedding/vector support
53
+ pip install agent-utilities[embeddings]
54
+ ```
55
+
56
+ ## Quick Start
57
+
58
+ ```python
59
+ from agent_utilities import create_agent
60
+
61
+ # Create a simple agent with workspace tools
62
+ agent = create_agent(name="MyAgent")
63
+
64
+ # Or create a multi-agent supervisor
65
+ agent = create_agent(
66
+ name="Supervisor",
67
+ agent_defs=[{"name": "Researcher", "description": "Search the web"}]
68
+ )
69
+ ```
@@ -0,0 +1,40 @@
1
+ #!/usr/bin/env python
2
+ # coding: utf-8
3
+
4
+ from .agent_utilities import (
5
+ create_agent,
6
+ create_agent_server,
7
+ create_model,
8
+ build_system_prompt_from_workspace,
9
+ load_identity,
10
+ initialize_workspace,
11
+ CORE_FILES,
12
+ )
13
+ from .base_utilities import (
14
+ to_boolean,
15
+ to_integer,
16
+ to_float,
17
+ to_list,
18
+ to_dict,
19
+ retrieve_package_name,
20
+ )
21
+ from .models import PeriodicTask
22
+
23
+ __version__ = "0.1.1"
24
+
25
+ __all__ = [
26
+ "create_agent",
27
+ "create_agent_server",
28
+ "create_model",
29
+ "build_system_prompt_from_workspace",
30
+ "load_identity",
31
+ "initialize_workspace",
32
+ "CORE_FILES",
33
+ "to_boolean",
34
+ "to_integer",
35
+ "to_float",
36
+ "to_list",
37
+ "to_dict",
38
+ "retrieve_package_name",
39
+ "PeriodicTask",
40
+ ]
@@ -0,0 +1,12 @@
1
+ # AGENTS.md - Known A2A Peer Agents
2
+ Last updated: 2026-02-22 01:12
3
+
4
+ This file is the local registry of other A2A agents this agent can discover and call.
5
+
6
+ ## Registered A2A Peers
7
+
8
+ | Name | Endpoint URL | Description | Capabilities | Auth | Notes / Last Connected |
9
+ |-----------------|---------------------------------|--------------------------------------|----------------------------------|-----------|------------------------|
10
+ | SearchMaster | http://search-agent:9000/a2a | Advanced web researcher | web_search, summarize, browse | none | 2026-02-20 |
11
+
12
+ *Add new rows manually or let the agent call `register_a2a_peer(...)`.*
@@ -0,0 +1,12 @@
1
+ # CRON.md - Persistent Scheduled Tasks
2
+ Last updated: 2026-02-22 01:12
3
+
4
+ ## Active Tasks
5
+
6
+ | ID | Name | Interval (min) | Prompt | Last run | Next approx |
7
+ |-------------|-------------------|----------------|-------------------------------------|-------------------|-------------|
8
+ | heartbeat | Heartbeat | 30 | @HEARTBEAT.md | — | — |
9
+ | log-cleanup | Log Cleanup | 720 | __internal:cleanup_cron_log | — | — |
10
+
11
+ *Edit this table to add/remove tasks. The agent reloads it periodically.*
12
+ *Use `@filename.md` in the Prompt column to load a multi-line prompt from a workspace file.*
@@ -0,0 +1,8 @@
1
+ # CRON_LOG.md - Periodic Task Output Log
2
+ Last updated: 2026-02-22 01:12
3
+
4
+ This file stores the output of periodic/cron tasks.
5
+ The agent can read this to review what background tasks have done.
6
+ Old entries are automatically pruned to keep only the most recent results.
7
+
8
+ ---
@@ -0,0 +1,26 @@
1
+ # Heartbeat — Periodic Self-Check
2
+
3
+ You are running a scheduled heartbeat. Perform these checks and report results concisely.
4
+
5
+ ## Checks
6
+
7
+ 1. **Tool Availability** — Call `list_tools` or equivalent to verify your MCP tools are reachable. Report any connection failures.
8
+ 2. **Memory Review** — Read `MEMORY.md` and check for any pending follow-up tasks or action items. List any that are overdue.
9
+ 3. **Cron Log** — Read `CRON_LOG.md` and check for recent errors (❌). Summarize any failures from the last 24 hours.
10
+ 4. **Peer Agents** — Read `AGENTS.md` and note if any registered peers need attention.
11
+ 5. **Self-Diagnostics** — Report your current model, available tool count, and any anomalies.
12
+
13
+ ## Response Format
14
+
15
+ If everything is healthy:
16
+ ```
17
+ HEARTBEAT_OK — All systems nominal. [tool_count] tools available. No pending actions.
18
+ ```
19
+
20
+ If issues found:
21
+ ```
22
+ HEARTBEAT_ALERT — [summary of issues found]
23
+ - Issue 1: ...
24
+ - Issue 2: ...
25
+ - Action needed: ...
26
+ ```
@@ -0,0 +1,17 @@
1
+ # IDENTITY.md - Who I Am, Core Personality, & Boundaries
2
+
3
+ * **Name:** AI Agent
4
+ * **Role:** A versatile AI agent capable of research, task delegation, and workspace management.
5
+ * **Emoji:** 🤖
6
+ * **Vibe:** Professional, efficient, helpful
7
+
8
+ ## System Prompt
9
+ You are a highly capable AI Agent.
10
+ You have access to various tools and MCP servers to assist the user.
11
+ Your responsibilities:
12
+ 1. Analyze the user's request.
13
+ 2. Use available tools and skills to gather information or perform actions.
14
+ 3. Synthesize findings into clear, well-structured responses.
15
+ 4. Handle tool errors gracefully and refine approaches as needed.
16
+ 5. Always cite sources when providing information gathered from external tools.
17
+ 6. MEMORY: You have long-term memory in MEMORY.md. If the user says 'remember', 'recall', or mentions past interactions, read MEMORY.md to retrieve context. Save important decisions, outcomes, and user preferences to MEMORY.md using append_note_to_file.
@@ -0,0 +1,8 @@
1
+ # MEMORY.md - Long-term Memory
2
+ Last updated: 2026-02-22 01:12
3
+
4
+ This file stores important decisions, user preferences, and historical outcomes.
5
+ The agent should read this if the user asks "remember when" or similar.
6
+
7
+ ## Log of Important Events
8
+ - [2026-02-21] Workspace initialized with advanced agent features.
@@ -0,0 +1,7 @@
1
+ # USER.md - About the Human
2
+
3
+ * **Name:** User
4
+ * **Preferred name:** User
5
+ * **Timezone:** America/Chicago
6
+ * **Location:** Chicago, Illinois
7
+ * **Style:** Technical, concise, no fluff
@@ -0,0 +1,3 @@
1
+ {
2
+ "mcpServers": {}
3
+ }
@@ -0,0 +1,118 @@
1
+ import asyncio
2
+ from typing import Dict
3
+ from agent_utilities.models import PeriodicTask
4
+
5
+ # Core files we care about most
6
+ CORE_FILES = {
7
+ "IDENTITY": "IDENTITY.md",
8
+ "USER": "USER.md",
9
+ "CRON": "CRON.md",
10
+ "CRON_LOG": "CRON_LOG.md",
11
+ "AGENTS": "AGENTS.md",
12
+ "MEMORY": "MEMORY.md",
13
+ "MCP_CONFIG": "mcp_config.json",
14
+ }
15
+
16
+ # ============== IN-MEMORY PERIODIC SCHEDULER STATE ==============
17
+ tasks: list[PeriodicTask] = []
18
+ lock = asyncio.Lock()
19
+
20
+ # Templates for workspace initialization
21
+ TEMPLATES: Dict[str, str] = {
22
+ "IDENTITY": """# IDENTITY.md - Who I Am, Core Personality, & Boundaries
23
+
24
+ ## [default]
25
+ * **Name:** AI Agent
26
+ * **Role:** A versatile AI agent capable of research, task delegation, and workspace management.
27
+ * **Emoji:** 🤖
28
+ * **Vibe:** Professional, efficient, helpful
29
+
30
+ ### System Prompt
31
+ You are a highly capable AI Agent.
32
+ You have access to various tools and MCP servers to assist the user.
33
+ Your responsibilities:
34
+ 1. Analyze the user's request.
35
+ 2. Use available tools and skills to gather information or perform actions.
36
+ 3. Synthesize findings into clear, well-structured responses.
37
+ 4. Handle tool errors gracefully and refine approaches as needed.
38
+ 5. Always cite sources when providing information gathered from external tools.
39
+ 6. MEMORY: You have long-term memory in MEMORY.md. If the user says 'remember', 'recall', or mentions past interactions, read MEMORY.md to retrieve context. Save important decisions, outcomes, and user preferences to MEMORY.md using append_note_to_file.
40
+ """,
41
+ "USER": """# USER.md - About the Human
42
+
43
+ * **Name:** User
44
+ * **Preferred name:** User
45
+ * **Timezone:** America/Chicago
46
+ * **Location:** Chicago, Illinois
47
+ * **Style:** Technical, concise, no fluff
48
+ """,
49
+ "CRON": """# CRON.md - Persistent Scheduled Tasks
50
+ Last updated: {now}
51
+
52
+ ## Active Tasks
53
+
54
+ | ID | Name | Interval (min) | Prompt | Last run | Next approx |
55
+ |-------------|-------------------|----------------|-------------------------------------|-------------------|-------------|
56
+ | heartbeat | Heartbeat | 30 | @HEARTBEAT.md | — | — |
57
+ | log-cleanup | Log Cleanup | 720 | __internal:cleanup_cron_log | — | — |
58
+
59
+ *Edit this table to add/remove tasks. The agent reloads it periodically.*
60
+ *Use `@filename.md` in the Prompt column to load a multi-line prompt from a workspace file.*
61
+ """,
62
+ "AGENTS": """# AGENTS.md - Known A2A Peer Agents
63
+ Last updated: {now}
64
+
65
+ This file is the local registry of other A2A agents this agent can discover and call.
66
+
67
+ ## Registered A2A Peers
68
+
69
+ | Name | Endpoint URL | Description | Capabilities | Auth | Notes / Last Connected |
70
+ |-----------------|---------------------------------|--------------------------------------|----------------------------------|-----------|------------------------|
71
+ | SearchMaster | http://search-agent:9000/a2a | Advanced web researcher | web_search, summarize, browse | none | 2026-02-20 |
72
+
73
+ *Add new rows manually or let the agent call `register_a2a_peer(...)`.*
74
+ """,
75
+ "MEMORY": """# MEMORY.md - Long-term Memory
76
+ Last updated: {now}
77
+
78
+ This file stores important decisions, user preferences, and historical outcomes.
79
+ The agent should read this if the user asks "remember when" or similar.
80
+
81
+ ## Log of Important Events
82
+ - [2026-02-21] Workspace initialized with advanced agent features.
83
+ """,
84
+ "MCP_CONFIG": """{
85
+ "mcpServers": {}
86
+ }
87
+ """,
88
+ "CRON_LOG": """# CRON_LOG.md - Periodic Task Output Log
89
+ Last updated: {now}
90
+
91
+ This file stores the output of periodic/cron tasks.
92
+ The agent can read this to review what background tasks have done.
93
+ Old entries are automatically pruned to keep only the most recent results.
94
+
95
+ ---
96
+ """,
97
+ }
98
+
99
+ NEW_SKILL_TEMPLATE = """---
100
+ name: {name}
101
+ description: {description}
102
+ version: 0.1.0
103
+ tags: [{tags}]
104
+ input_modes: [text]
105
+ output_modes: [text]
106
+ ---
107
+
108
+ # {name} Skill
109
+
110
+ ## When to use
111
+ {when_to_use}
112
+
113
+ ## How to use
114
+ {how_to_use}
115
+
116
+ ## Examples
117
+ - Example 1: ...
118
+ """