* feat: chroots * wip * Update workspace templates and Playwright tests * Fix thinking panel close button not working during active thinking The auto-show useEffect was including showThinkingPanel in its dependency array, causing the panel to immediately reopen when closed since the state change would trigger the effect while hasActiveThinking was still true. Changed to use a ref to track previous state and only auto-show on transition from inactive to active thinking. * wip * wip * wip * Cleanup web search tool and remove hardcoded OAuth credentials * Ralph iteration 1: work in progress * Ralph iteration 2: work in progress * Ralph iteration 3: work in progress * Ralph iteration 4: work in progress * Ralph iteration 5: work in progress * Ralph iteration 6: work in progress * Ralph iteration 1: work in progress * Ralph iteration 2: work in progress * Ralph iteration 3: work in progress * Ralph iteration 4: work in progress * Ralph iteration 5: work in progress * Ralph iteration 6: work in progress * Ralph iteration 7: work in progress * Ralph iteration 1: work in progress * Ralph iteration 2: work in progress * improve readme * fix: remove unused file * feat: hero screenshot * Update README with cleaner vision and hero screenshot Simplified the vision section with "what if" framing, removed architecture diagram, added hero screenshot showing mission view.
3.6 KiB
3.6 KiB
name, description
| name | description |
|---|---|
| library-management | Manage the Open Agent library (skills, agents, commands, tools, rules, MCPs) via Library API tools. Trigger terms: library, skill, agent, command, tool, rule, MCP, save skill, create skill. |
Open Agent Library Management
The Open Agent Library is a Git-backed configuration repo that stores reusable skills, agents,
commands, tools, rules, MCP servers, and workspace templates. Use the library-* tools to
read and update that repo.
When to Use
- Creating or updating skills, agents, commands, tools, rules, or MCPs
- Syncing library git state (status/sync/commit/push)
- Updating workspace templates or plugins in the library
When NOT to Use
- Local file operations unrelated to the library
- Running missions or managing workspace lifecycle
Tool Map (file name + export)
Tool names follow the pattern <filename>_<export>.
Skills (library-skills.ts)
library-skills_list_skillslibrary-skills_get_skilllibrary-skills_save_skilllibrary-skills_delete_skill
Agents (library-agents.ts)
library-agents_list_agentslibrary-agents_get_agentlibrary-agents_save_agentlibrary-agents_delete_agent
Commands / Tools / Rules (library-commands.ts)
- Commands:
library-commands_list_commands,library-commands_get_command,library-commands_save_command,library-commands_delete_command - Tools:
library-commands_list_tools,library-commands_get_tool,library-commands_save_tool,library-commands_delete_tool - Rules:
library-commands_list_rules,library-commands_get_rule,library-commands_save_rule,library-commands_delete_rule
MCPs + Git (library-git.ts)
- MCPs:
library-git_get_mcps,library-git_save_mcps - Git:
library-git_status,library-git_sync,library-git_commit,library-git_push
Procedure
- List existing items
- Get current content before editing
- Save the full updated content (frontmatter + body)
- Commit with a clear message
- Push to sync the library remote
File Formats
Skill (skill/<name>/SKILL.md)
---
name: skill-name
description: What this skill does
---
Instructions for using this skill...
Agent (agent/<name>.md)
---
description: Agent description
mode: primary | subagent
model: provider/model-id
hidden: true | false
color: "#44BA81"
tools:
"*": false
"read": true
"write": true
permission:
edit: ask | allow | deny
bash:
"*": ask
rules:
- rule-name
---
Agent system prompt...
Command (command/<name>.md)
---
description: Command description
model: provider/model-id
subtask: true | false
agent: agent-name
---
Command prompt template. Use $ARGUMENTS for user input.
Tool (tool/<name>.ts)
import { tool } from "@opencode-ai/plugin"
export const my_tool = tool({
description: "What it does",
args: { param: tool.schema.string().describe("Param description") },
async execute(args) {
return "result"
},
})
Rule (rule/<name>.md)
---
description: Rule description
---
Rule instructions applied to agents referencing this rule.
MCPs (mcp/servers.json)
{
"server-name": {
"type": "local",
"command": ["npx", "package-name"],
"env": { "KEY": "value" },
"enabled": true
},
"remote-server": {
"type": "remote",
"url": "https://mcp.example.com",
"headers": { "Authorization": "Bearer token" },
"enabled": true
}
}
Guardrails
- Always read before updating to avoid overwrites
- Keep names lowercase (hyphens allowed) and within 1-64 chars
- Use descriptive commit messages
- Check
library-git_statusbefore pushing