Skip to content

Creating Skills

Build custom skills to automate repetitive tasks with NexusCore.

Skill Structure

A skill is a directory containing a manifest and instruction files:

my-skill/
├── manifest.json        # Skill metadata and configuration
├── prompt.md            # Instructions for the agent
├── tools/               # Optional custom tool definitions
│   └── my-tool.json
└── examples/            # Optional example inputs/outputs
    └── example-1.md

Scaffold a New Skill

From NexusCore CLI

bash
nexus-cli skills create my-skill

This creates a new skill directory in .nexuscore/skills/my-skill/ with template files.

From NexusIDE

  1. Open the Skills panel in the sidebar
  2. Click Create Skill
  3. Enter a name and description
  4. NexusIDE scaffolds the skill directory and opens the files in the editor

Manifest

The manifest.json file defines the skill's metadata:

json
{
  "name": "my-skill",
  "display_name": "My Custom Skill",
  "version": "1.0.0",
  "description": "A custom skill that does something useful",
  "entry_point": "prompt.md",
  "permissions": ["file_read", "file_write", "terminal_run"],
  "tags": ["automation", "testing"]
}
FieldRequiredDescription
nameYesUnique identifier (lowercase, hyphens allowed)
display_nameYesHuman-readable name
versionYesSemantic version (e.g., 1.0.0)
descriptionYesShort description of what the skill does
entry_pointYesPath to the main instruction file
permissionsNoTools the skill needs access to
tagsNoTags for discovery on the Skills Hub

Writing Instructions

The prompt.md file contains the instructions that NexusCore follows when the skill is activated. Write clear, specific instructions:

markdown
# Code Reviewer

You are a code review assistant. When asked to review code, follow these steps:

1. Read the files or diff provided
2. Check for:
   - Security vulnerabilities (SQL injection, XSS, etc.)
   - Performance issues (N+1 queries, unnecessary allocations)
   - Code style violations
   - Missing error handling
   - Missing or incorrect types
3. Provide feedback as a structured review with severity levels:
   - 🔴 Critical — Must fix before merge
   - 🟡 Warning — Should fix, but not blocking
   - 🟢 Suggestion — Nice to have

Format your review as a markdown checklist.

Custom Tools

Skills can define custom tools in the tools/ directory. Each tool is a JSON file:

json
{
  "name": "run_linter",
  "description": "Run the project's linter and return results",
  "parameters": {
    "type": "object",
    "properties": {
      "path": {
        "type": "string",
        "description": "File or directory to lint"
      }
    },
    "required": ["path"]
  },
  "command": "npx eslint {path} --format json"
}

Testing a Skill

Test your skill locally before publishing:

bash
nexus-cli skills test my-skill

This loads the skill into a test session where you can verify it works as expected.

You can also test from NexusIDE by activating the skill in the Skills panel and running a relevant task in the Agent Panel.

Activating and Deactivating Skills

From NexusIDE

Toggle skills on and off in the Skills panel. Only activated skills are loaded into the agent's context.

From NexusCore CLI

Skills are activated automatically when installed. To deactivate:

bash
nexus-cli skills deactivate my-skill

To reactivate:

bash
nexus-cli skills activate my-skill

Tips

  • Keep instructions focused — one skill per task type
  • Use specific, actionable language in your prompts
  • Test with different inputs to make sure the skill handles edge cases
  • Include examples in the examples/ directory to help the agent understand expected behavior
  • When the agent completes a complex task well, NexusIDE may offer to save the approach as a new skill

Released under the MIT License.