Spaces:
Starting
Starting
feat(agent): add Claude Code-style agent, skills, slash-commands, hooks, todos, sandboxed workspace, and full-stack scaffolding
fc74cc0 verified | name: agent | |
| description: Create, use, list, show, delete, or reset custom AI agents | |
| argument-hint: create <description> | use <name> | list | show <name> | delete <name> | reset | |
| # Custom Agent Command | |
| The user invoked `/agent` with arguments: `$ARGUMENTS` | |
| ## Parse the arguments and follow the matching branch | |
| ### If arguments start with `create ` (i.e. `/agent create <description>`) | |
| You are creating a custom agent definition based on the user's natural-language description. Follow the AGENT_GENERATION_PROMPT (which is included below) to author an AGENT.md file, then use `write_file` to save it under `.sonicoder/agents/<name>/AGENT.md` in the workspace. | |
| After saving, briefly tell the user the agent's name and that they can activate it with `/agent use <name>` or by clicking it in the Agents panel of the Agent tab. | |
| The description provided by the user is: | |
| **$ARGUMENTS** (everything after `/agent create ` β strip the leading word "create") | |
| Use the AGENT_GENERATION_PROMPT exactly. Write only the AGENT.md file β no other files. | |
| ### If arguments start with `use ` (i.e. `/agent use <name>`) | |
| Tell the user that the agent has been set as active for subsequent prompts. Mention the agent's name and description (if known). Note: actual activation is performed by the backend when this command is dispatched; just acknowledge it. | |
| ### If arguments are `list` | |
| List all available agents by reading the `.sonicoder/agents/` directory (use `list_dir` or `glob`) plus the built-in agents (which you cannot read but you know exist: `code-reviewer`, `test-writer`). Present a table: | |
| | Name | Description | Author | Tools | | |
| |------|-------------|--------|-------| | |
| ### If arguments start with `show ` (i.e. `/agent show <name>`) | |
| Read the file `.sonicoder/agents/<name>/AGENT.md` from the workspace and display it to the user verbatim in a markdown code block. If the file does not exist, tell the user the agent was not found and suggest `/agent list`. | |
| ### If arguments start with `delete ` (i.e. `/agent delete <name>`) | |
| Tell the user that the agent has been queued for deletion. Actual deletion is performed by the backend. Just acknowledge. | |
| ### If arguments are `reset` (or empty) | |
| Tell the user that the active agent has been reset to the default SoniCoder agent. Subsequent prompts will use the base persona. | |
| ### Otherwise (unknown subcommand or no arguments) | |
| Print a short help message: | |
| ``` | |
| Usage: | |
| /agent create <natural-language description> # AI generates a new agent | |
| /agent use <name> # Activate a saved agent | |
| /agent list # List all agents | |
| /agent show <name> # Show an agent's full definition | |
| /agent delete <name> # Delete a user agent | |
| /agent reset # Reset to default SoniCoder | |
| ``` | |
| ## AGENT_GENERATION_PROMPT (use this when subcommand is `create`) | |
| You are creating a custom agent definition for SoniCoder. | |
| Based on the user's description, generate a complete AGENT.md file that defines a specialized agent persona. | |
| ### Available Tools (pick a subset, or all) | |
| read_file, write_file, edit_file, multi_edit, list_dir, glob, grep, bash, todo_read, todo_write, todo_update | |
| ### Available Built-in Skills (pick zero or more) | |
| frontend-design, feature-dev, code-review, debugging, fullstack-scaffold, commit-workflow | |
| ### Output Format | |
| Use the `write_file` tool to save exactly ONE file with this content: | |
| Path: `.sonicoder/agents/<kebab-case-name>/AGENT.md` | |
| ``` | |
| --- | |
| name: <kebab-case-name> | |
| description: <one-line description, max 200 chars> | |
| tools: <comma-separated subset of available tools> | |
| skills: <comma-separated skill names, or empty> | |
| temperature: <float 0.0-1.0 β lower for precise tasks, higher for creative> | |
| max_iterations: <int 4-20> | |
| tags: <comma-separated tags> | |
| author: AI-generated | |
| created: <today's date YYYY-MM-DD> | |
| --- | |
| # <Agent Name in Title Case> | |
| <Full system prompt extension. Include:> | |
| <- Persona description (who the agent is)> | |
| <- Core responsibilities> | |
| <- Workflow / step-by-step approach> | |
| <- Output format expectations> | |
| <- Critical rules and constraints> | |
| ``` | |
| ### Rules | |
| - The agent name MUST be kebab-case (lowercase, hyphens only). | |
| - Pick tools that match the agent's purpose β don't give a read-only reviewer `write_file`. | |
| - The body should be 150-400 words, specific and actionable. | |
| - Do NOT include any other files. Just the one AGENT.md. | |
| - After writing the file, briefly tell the user they can activate the agent with `/agent use <name>`. | |
| ### User's Description | |
| $ARGUMENTS | |