create-system-tool

Generates and registers a Glyvio Environment-layer SystemTool class exposing local actions to the AI Agent.

1|Updated Jun 11, 2026
One-click install
npx skills add https://github.com/devena/glyvio-forge --skill create-system-tool-devena
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: create-system-tool
Source: https://github.com/devena/glyvio-forge/tree/main/claude/skills/create-system-tool
Command: npx skills add https://github.com/devena/glyvio-forge --skill create-system-tool-devena

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Developers building Glyvio plugins need a consistent, rule-compliant way to expose local queries, computations, and write operations to the AI Agent (Jeannie), including correct decorator usage, permission registration, and LLM-readable responses. ## Core Features & Use Cases - SystemTool Scaffolding: Generates a TypeScript class decorated with @glyvio_core.SystemTool implementing CoreSystemTool, with a typed request interface. - Permission & Registry Wiring: Adds the required tool permission entry to manifest.json and ensures the file is imported so the decorator registers at initialization. - LLM-Friendly Output Contract: Enforces JSDoc-documented request fields and string responses ending with explicit instructions for the LLM. - Use Case: A developer wants the AI Agent to answer "what is today's briefing?" by querying the local synced PostgreSQL replica; this Skill produces the daily_briefing tool, its permission, and its registration. ## Quick Start Ask the AI to create a Glyvio system tool with a given tool ID, class name, and description, for example a daily_briefing tool that summarizes today's schedule for the AI Agent.

Frequently Asked Questions about create-system-tool

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I create a system tool for the Glyvio AI Agent?▼

Create a TypeScript file in plugin/environment/src/system_tools, decorate the class with @glyvio_core.SystemTool, and implement CoreSystemTool with an async handle method returning a string. Then add a tool permission to manifest.json, run run_helper.sh, and import the file in the environment entrypoint.

When should I use a SystemTool instead of an @Action in Glyvio?▼

Use a SystemTool when the behavior must be callable by the AI Agent during natural-language chats, such as reading local status or registering records. Use an @Action for public RPC methods or heavy local processing not exposed to the AI.

Why does the Glyvio AI Agent fail to call my system tool correctly?▼

The compiler exposes request field JSDoc to the LLM, so missing or vague JSDoc comments prevent the agent from building valid requests. Also verify the permission exists in manifest.json, run_helper.sh was executed, and the file is imported so the decorator registers.

Can a Glyvio system tool query the local offline database?▼

Yes, the environment layer can query the customer's local synced PostgreSQL replica using the SyncClient from the sync plugin after declaring the dependency in manifest.json. You must resolve a real environment ID via a query rather than hardcoding one.

What should a Glyvio system tool return to the AI Agent?▼

The handle method must return a string designed to be readable by an LLM, ending with explicit "Instructions for the LLM" text describing how to present the data. Business failures should be thrown as glyvio_core.GlyvioError rather than caught silently.