724-office-ai-agent
724-office-ai-agent — an installable skill for AI agents.
By reason-machines · 1,057 installs
npx skills add reason-machines/trending-skills --skill 724-office-ai-agent
Source repository · Upstream listing
7/24 Office AI Agent System
Skill by [ara.so](https://ara.so) — Daily 2026 Skills collection.
A 24/7 production AI agent in ~3,500 lines of pure Python with no framework dependencies. Features 26 built in tools, three layer memory (session + compressed + vector), MCP/plugin support, runtime tool creation, self repair diagnostics, and cron scheduling.
Installation
Configuration ( config.json )
Set environment variables rather than hardcoding secrets:
Running the Agent
File Structure
Adding a Built in Tool
Tools are registered with the @tool decorator in tools.py :
The tool is automatically available to the LLM in the next tool use loop iteration.
Runtime Tool Creation (Agent Creates Its Own Tools)
The agent can call create tool during a conversation to write and load a new Python tool without restarting:
The tool is saved to workspace/custom tools/md to html.py and hot loaded immediately.
Connecting an MCP Server
Edit config.json to add MCP servers (stdio or HTTP):
MCP tools are namespaced as servername toolname (double underscore). Reload without restart:
Scheduling Tasks
The agent uses schedule tool internally, but you can also call the scheduler API directly:
Jobs persist in workspace/jobs.json across restarts.
Three Layer Memory System
The LLM pipeline in llm.py injects retrieved memories automatically before each call:
Personality Files
Create these in workspace/ to shape agent behavior:
workspace/SOUL.md — Personality and values:
workspace/AGENT.md — Operational procedures:
workspace/USER.md — User context:
Tool Use Loop (Core LLM Flow)
Self Repair and Diagnostics
self check scans:
Error logs for exception patterns
Session health (response times, tool failures)
Memory store integrity
Scheduled job status
Sends notification via the configured messaging platform if issues are found.
Multi Tenant Docker Routing
router.py provisions one container per user automatically:
Docker labels used for discovery:
Common Patterns
Send a proactive message from a scheduled job
Search memory semantically
Execute arbitrary Python in the agent's process
List and manage schedules
Troubleshooting
Symptom Cause Fix
ImportError: lancedb Missing dependency pip install lancedb
Memory retrieval empty LanceDB not initialized Ensure workspace/memory/ exists; send a few messages first
MCP tool not found Server not connected Check config.json mcp servers; call reload mcp
Scheduler not firing Timezone mismatch Set scheduler.timezone in config to your local TZ
Tool loop hits 20 iterations Runaway tool chain Add guardrails in AGENT.md ; check for circular tool calls
WeChat webhook 403 Token mismatch Verify WXWORK TOKEN and WXWORK AES KEY env vars
High RAM on Jetson LanceDB index size Reduce retrieval top k ; use local embedding model
create tool not persisting Wrong workspace path Confirm workspace/custom tools/ directory exists and is writable
Edge Deployment (Jetson Orin Nano)