list_skills | List all available skills in the ~/.skill-mcp/skills directory with their descriptions parsed from SKILL.md frontmatter. This tool returns a lightweight overview of all installed skills, including: Skill name and directory path Description extracted from SKILL.md YAML frontmatter Validation status (whether SKILL.md exists)
Use this tool first to discover what skills are available before working with specific skills. Each skill is a self-contained directory that may contain scripts, data files, and a SKILL.md metadata file. Returns: List of all available skills with names, paths, and descriptions. |
get_skill_details | Get comprehensive details about a specific skill including all files, executable scripts, environment variables, and metadata from SKILL.md. This tool provides complete information about a skill: Full SKILL.md content (documentation and metadata) All files in the skill directory with file type and size Executable scripts with their locations Whether Python scripts have PEP 723 inline dependencies (uv metadata) Environment variables defined in the skill's .env file Whether a .env file exists for this skill
Use this tool to: Understand what a skill does (SKILL.md content) See what files and scripts are available Check what environment variables are configured Determine which scripts can be executed and what dependencies they have
Required parameter: skill_name (the name of the skill directory) Returns: Complete skill details including files, scripts, environment variables, and SKILL.md documentation. |
read_skill_file | Read and display the complete content of a specific file within a skill directory. This tool allows you to view the contents of any file in a skill. Use this to: Read Python scripts, data files, configuration files, etc. Examine file contents before modifying them Check file format and structure before running scripts View documentation or data files
Parameters: skill_name: The name of the skill directory (e.g., 'my-skill') file_path: Relative path to the file within the skill directory (e.g., 'scripts/process.py', 'data/input.csv', 'README.md')
Important: file_path is relative to the skill's root directory, not the skills directory. Use forward slashes even on Windows. Returns: The complete file content as text. If the file is very large, it will be truncated with a message indicating truncation. |
create_skill_file | Create a new file within a skill directory. Automatically creates parent directories if they don't exist. This tool allows you to: Create new Python scripts or other executable files Create configuration files (e.g., JSON, YAML, CSV) Create data files and documentation Build new functionality within a skill
Parameters: skill_name: The name of the skill directory (e.g., 'my-skill') file_path: Relative path for the new file (e.g., 'scripts/new_script.py', 'data/new_data.json') content: The complete text content to write to the file
Behavior: Creates parent directories automatically (e.g., if 'scripts/' doesn't exist, it will be created) Does not overwrite existing files (use update_skill_file to modify existing files) File_path must be relative to the skill's root directory Use forward slashes for path separators
Returns: Success message with filename and character count. |
update_skill_file | Update the content of an existing file in a skill directory. This tool allows you to: Modify existing Python scripts or other files Update configuration files or data files Replace entire file contents Edit documentation or metadata
Parameters: skill_name: The name of the skill directory (e.g., 'my-skill') file_path: Relative path to the file to update (e.g., 'scripts/process.py') content: The new complete content to write to the file (replaces entire file)
Important: This replaces the ENTIRE file content with what you provide The file must already exist (use create_skill_file for new files) File_path must be relative to the skill's root directory Always provide the complete new content, not just changes
Returns: Success message with filename and character count. |
delete_skill_file | Delete a file from a skill directory permanently. This tool allows you to: Remove files that are no longer needed Clean up outdated scripts or data files Delete temporary files or corrupted files
Parameters: skill_name: The name of the skill directory (e.g., 'my-skill') file_path: Relative path to the file to delete (e.g., 'scripts/old_script.py', 'data/temp.csv')
Important: This operation is permanent and cannot be undone The file must exist or an error will be returned File_path must be relative to the skill's root directory Cannot delete directories (only individual files) Cannot delete outside the skill directory (path traversal prevented)
Returns: Success message confirming deletion. |
run_skill_script | Execute a script or executable program within a skill directory with optional arguments and automatic dependency management. This tool runs scripts in multiple languages and automatically manages dependencies: SUPPORTED LANGUAGES: Python: Automatically installs PEP 723 inline dependencies via 'uv run' if declared in the script Bash: Executes shell scripts (.sh files) Other: Any executable file with proper shebang line
FEATURES: Automatic dependency installation: Python scripts with PEP 723 metadata (/* script */ dependencies) are run with 'uv run' automatically Environment variables: Loads skill-specific .env file and injects variables into script environment Working directory: Can specify a subdirectory to run the script from Arguments: Pass command-line arguments to the script Output capture: Returns stdout, stderr, and exit code
PARAMETERS: skill_name: The name of the skill directory (e.g., 'weather-skill') script_path: Relative path to the script (e.g., 'scripts/fetch_weather.py', 'bin/process.sh') args: Optional list of command-line arguments to pass to the script (e.g., ['--verbose', 'input.txt']) working_dir: Optional working directory for execution (relative to skill root)
BEHAVIOR: Python scripts with PEP 723 metadata are detected automatically and run with 'uv run' Environment variables from skill's .env file are available to the script Script must be executable or have proper shebang line Script path is relative to the skill directory
RETURNS: Script execution result with: |
read_skill_env | Read and list all environment variable keys defined in a skill's .env file. This tool helps you understand what environment variables are configured for a skill: Lists only the KEY names (values are hidden for security) Shows whether a .env file exists for the skill Returns an empty message if no variables are set
PARAMETERS: USE CASES: Check what environment variables a skill needs before running scripts Verify that required credentials or API keys are configured Understand the expected configuration for a skill Debug missing environment variables
SECURITY NOTE: Environment variable VALUES are intentionally hidden and not returned This prevents accidental exposure of secrets or credentials To set or update variables, use update_skill_env tool
RETURNS: A list of environment variable key names (e.g., API_KEY, DATABASE_URL) |
update_skill_env | Create, update, or replace the .env file for a skill with new environment variables. This tool manages skill-specific environment variables used by scripts: PARAMETERS: FORMAT:
Each line should be: KEY=VALUE
Example:
API_KEY=sk-abc123def456
DATABASE_URL=postgres://user:pass@localhost:5432/db
DEBUG=true
TIMEOUT=30 BEHAVIOR: Replaces the ENTIRE .env file with the content you provide Creates the .env file if it doesn't exist Each line should follow KEY=VALUE format (one per line) Comments starting with # are allowed Empty lines are allowed These variables become available to all scripts run in this skill
IMPORTANT: Values will be stored as plain text, so don't commit sensitive values to git Use the QUICKSTART.md for instructions on setting up secrets safely After updating, use read_skill_env to verify keys were set correctly
SECURITY: Keep .env files in .gitignore to prevent accidental commits of secrets Use environment variables for all sensitive data (API keys, passwords, tokens) Never hardcode secrets in scripts
RETURNS: Success message confirming the .env file was updated |