Skill
Feature Overview: Skill is the skill extension system for iFlow CLI, allowing you to install and manage specialized skill packages from the online marketplace for out-of-the-box complex functionality.
Learning Time: 10-15 minutes
Prerequisites: iFlow CLI installed, authentication completed, familiarity with basic slash command usage
Version Requirements: This feature is supported from version v0.4.11
What is Skill
Skill is the skill marketplace system in iFlow CLI that allows you to extend CLI functionality by installing specialized skill packages from the online marketplace. A Skill is a complete feature package that may include multiple files, dependencies, and configurations, providing complex and professional capabilities. Skills are organized in a directory structure, supporting resource files, dependency management, and initialization scripts, suitable for building complex workflows and multi-step tasks.
Core Features
| Feature | Description | Advantage |
|---|---|---|
| Marketplace Distribution | Obtain verified skill packages from the online marketplace | Rich feature selection |
| Complete Feature Package | Includes multiple files, resources, and configurations | Supports complex scenarios |
| Plug and Play | Ready to use after installation, automatically executes setup scripts | Simplifies usage workflow |
| Scope Management | Supports project-level and global-level skill installation | Flexible permission control |
| Version Tracking | Each skill has clear version information | Ensures feature stability |
How It Works
Skill Marketplace Architecture
Online Marketplace → Download Archive → Extract → Execute Setup → CLI Integration
↓ ↓ ↓ ↓ ↓
[Skill Library] → [ZIP/TGZ File] → [Directory Structure] → [Install Skill] → [Skill Available]
Scope Hierarchy
- Global Scope: Installed to
~/.iflow/skills/, available to all projects - Project Scope: Installed to
{project}/.iflow/skills/, available only to the current project - Priority Rule: Project-level skills take precedence over global-level skills
Skill Marketplace Management
Browse Online Marketplace in CLI
| Command | Function | Description |
|---|---|---|
/skills online | Enter interactive marketplace | Browse, search, and install skills |
Marketplace Navigation Operations
Interactive Browsing Shortcuts
| Operation | Shortcut | Description |
|---|---|---|
| Browse Down | j or ↓ | Move to next skill |
| Browse Up | k or ↑ | Move to previous skill |
| View Details | Enter | View detailed skill information |
| Install to Global | 1 | Install currently selected skill globally |
| Install to Project | 2 | Install currently selected skill to project |
| Return to List | b | Return to list from details page |
| Page Navigation | h/l or ←/→ | Previous/Next page |
| Exit Browse | q or Esc | Exit marketplace browse mode |
# Enter interactive skill marketplace
/skills online
# Example operations during browsing
# 1. Use j/k or arrow keys to browse skill list
# 2. Press Enter to view details of skills of interest
# 3. Press 1 to install globally, or press 2 to install to project
# 4. Press b to return to list and continue browsing
Installing Skills
# Basic syntax
iflow skill add <skill-id> [--scope project|global]
# Install to project (default)
iflow skill add theme-factory-hslAqA
iflow skill add theme-factory-hslAqA --scope project
# Install to global
iflow skill add algorithmic-art-PFjkCH --scope global
# Practical examples
iflow skill add theme-factory-hslAqA --scope project # Theme factory skill
iflow skill add pdf-bHAGYL --scope global # PDF processing skill
View Installed Skills
# List all installed skills (interactive)
/skills list
/skills # Alias
# List all installed skills (text mode)
/skills list desc # Show description
/skills list details # Show detailed information
# Output example (interactive):
# Configured Skills (3)
#
# 🌍 Global Skills:
# 1. theme-factory
# Category: Utilities
# Tags: themes, styling, presentation
# Toolkit for styling artifacts with pre-set or custom themes
#
# 📂 Project Skills:
# 2. algorithmic-art
# Category: Creative
# Tags: art, generative, p5.js
# Creating algorithmic art using p5.js with seeded randomness
#
# Page 1 of 1
#
# Navigation:
# • ↑/↓ or j/k - Navigate up/down
# • Space/Enter - View skill details
# • ←/→ or h/l - Previous/Next page
# • q - Exit
# Output example (text mode):
# Configured Skills:
#
# 📦 theme-factory [Global]
# Toolkit for styling artifacts with themes
# File Path: /Users/username/.iflow/skills/theme-factory/skill.toml
#
# 📦 algorithmic-art [Project]
# Creating algorithmic art using p5.js
# File Path: /path/to/project/.iflow/skills/algorithmic-art/skill.toml
#
# Total: 2 skills configured
Refresh Skills List
# Rescan and register skills
/skills refresh
# Output example:
# ℹ Refreshing skills registry...
# ✔ Skills registry refreshed successfully
# ℹ Skills refresh completed
Skill Categories and Recommendations
Creative Tools
| Skill Name | Function Description | Use Cases |
|---|---|---|
| algorithmic-art | Create algorithmic art using p5.js with seeded randomness and parameter exploration | Generative art, creative programming |
| theme-factory | Apply theme styles to various artifacts (slides, documents, HTML pages) | Presentation beautification, document design |
Document Processing
| Skill Name | Function Description | Use Cases |
|---|---|---|
| Comprehensive PDF manipulation toolkit: extract text/tables, create, merge/split, handle forms | PDF document processing, data extraction | |
| docx | Word document creation, editing, and analysis with revision tracking, comments, format preservation | Professional document editing |
| pptx | PowerPoint presentation creation, editing, and analysis with layouts, comments, speaker notes | Presentation creation |
Development Tools
| Skill Name | Function Description | Use Cases |
|---|---|---|
| mcp-builder | Create high-quality MCP servers, supports Python (FastMCP) and Node/TypeScript | MCP server development |
| prompt-engineer | Optimize prompts for LLMs and AI systems, enhance AI feature performance | Prompt engineering, AI integration |
Professional Domain
| Skill Name | Function Description | Use Cases |
|---|---|---|
| quant-analyst | Build financial models, backtest trading strategies, analyze market data | Quantitative finance, trading algorithms |
| internal-comms | Help write various internal communication documents (status reports, updates, FAQs, incident reports) | Enterprise internal communication |
Skill Structure
Directory Structure Example
~/.iflow/skills/
├── algorithmic-art/ # Skill directory
│ ├── SKILL.md # Skill main file (required)
│ ├── LICENSE.txt # License file
│ └── templates/ # Resource directory
│ ├── template1.html
│ └── template2.js
├── pdf/
│ ├── SKILL.md # Skill main file (required)
│ ├── LICENSE.txt # License file
│ ├── reference.md # Reference documentation
│ ├── forms.md # Form processing guide
│ └── scripts/ # Scripts directory
│ ├── extract.py
│ └── merge.py
└── docx/
├── SKILL.md # Skill main file (required)
├── LICENSE.txt # License file
├── docx-js.md # JavaScript documentation
├── ooxml.md # OOXML format documentation
├── ooxml/ # OOXML resources
└── scripts/ # Scripts directory
Skill Main File (SKILL.md)
Each skill must include a SKILL.md file with YAML frontmatter and Markdown content:
---
name: my-skill
description: Brief description of skill functionality and use cases
license: MIT or Proprietary. LICENSE.txt has complete terms
---
# Skill Name
## Overview
Detailed description of skill functionality, use cases, and core capabilities.
## Usage
Provide usage examples, code snippets, and best practices.
## References
List related documentation, API references, and external resources.
Frontmatter Field Descriptions:
| Field | Required | Description | Example |
|---|---|---|---|
name | ✅ Yes | Unique identifier for the skill | pdf, algorithmic-art |
description | ✅ Yes | Brief description of skill functionality and use cases | Creating algorithmic art using p5.js |
license | ✅ Yes | License information | MIT, Proprietary. LICENSE.txt has complete terms |
Markdown Content Requirements:
- Provide clear overview and usage instructions
- Include code examples and best practices
- Explain core capabilities and limitations of the skill
- Provide links to related reference documentation
Supporting Files
Skills can include the following optional files and directories:
| File/Directory | Purpose | Example |
|---|---|---|
LICENSE.txt | Detailed license terms | MIT, Apache 2.0, etc. |
scripts/ | Python, JavaScript, and other scripts | Data processing, API call scripts |
templates/ | Template files | HTML, CSS, configuration templates |
reference/ | Reference documentation | API docs, usage guides |
*.md | Supplementary documentation | Detailed usage instructions, FAQs |
Skill Invocation Mechanism
Model-Initiated Invocation:
- Skills are invoked by the model, iFlow autonomously decides when to use them based on user requests and skill descriptions
- This differs from Slash Commands, which are user-invoked (require explicit
/commandinput) - The skill's
descriptionfield is the key basis for iFlow to determine whether to use the skill
Invocation Examples:
User: Help me create a generative artwork
iFlow: [Automatically identifies and invokes algorithmic-art skill]
User: I need to process a PDF file
iFlow: [Automatically identifies and invokes pdf skill]
Troubleshooting
Common Issues and Solutions
| Issue | Possible Cause | Solution |
|---|---|---|
| Skill installation fails | API key not set or expired | Re-authenticate |
| Skill unavailable | Skills registry not refreshed | Run /skills refresh |
| Download fails | Network connection issues | Check network connection and firewall settings |
| Extraction fails | Missing extraction tools | Install unzip (Unix) or 7-Zip (Windows) |
| Setup script fails | Insufficient permissions or missing dependencies | Check script output, manually execute setup |
| Skill conflict | Same-named skill in different scopes | Use --scope to explicitly specify |
Diagnostic Steps
-
Connection Check
# Test API connection
/skills online
# Check authentication status
/auth status -
Configuration Verification
# View local skills list
/skills list
# Check skills directory
ls -la ~/.iflow/skills/
ls -la ./.iflow/skills/ -
Permission Verification
# Check directory permissions
ls -la ~/.iflow/skills/
# Check file permissions
ls -la ~/.iflow/skills/*/ -
Log Check
# View detailed logs
/log
# View error information
/debug
Extraction Tool Support
Windows Platform (by priority):
tar- Built-in on Windows 10+PowerShell- Expand-Archive cmdlet7-Zip- Requires installationWinRAR- Requires installation
Unix/Linux/macOS Platform:
unzip- Handles ZIP filestar- Handles TAR series files
If all tools are unavailable, installation will fail with a prompt to install the appropriate tool.
Cleanup and Reset
# Clean project-level skills
rm -rf ./.iflow/skills/
# Clean global skills (use with caution)
rm -rf ~/.iflow/skills/
# Rescan skills
/skills refresh
Security Considerations
Security Recommendations When Using Third-Party Skills
Verify Skill Source:
- ⚠️ Only install skills from trusted authors
- ⚠️ Check skill ratings and community feedback
- ⚠️ Pay attention to skill permission requirements
Skill Permission Control:
- ✅ Prefer project scope installation
- ✅ Regularly audit installed skills
- ✅ Update skills to the latest version promptly
- ✅ Remove skills that are no longer in use
Setup Script Review:
- ⚠️ Review
command_setup.shcontent before installation - ⚠️ Be cautious of scripts that perform system-level operations
- ⚠️ Ensure script source is trustworthy
Developing Custom Skills
Skill Development Process
1. Choose Skill Scope
Personal Skills (available to all projects):
mkdir -p ~/.iflow/skills/my-skill
cd ~/.iflow/skills/my-skill
Project Skills (available only to current project, can be shared via git):
mkdir -p .iflow/skills/my-skill
cd .iflow/skills/my-skill
2. Create SKILL.md File
cat > SKILL.md << 'EOF'
---
name: my-skill
description: Brief description of skill functionality and use cases. iFlow will decide when to use this skill based on this description.
license: MIT
---
# My Custom Skill
## Overview
Detailed description of skill functionality, use cases, and core capabilities.
## Usage
Provide clear usage instructions and code examples:
```python
# Example code
def example():
print("Hello from my skill")
3. Add Supporting Files (Optional)
# Create scripts directory
mkdir -p scripts
cat > scripts/helper.py << 'EOF'
#!/usr/bin/env python3
# Helper script example
def process_data(data):
return data.upper()
EOF
# Create templates directory
mkdir -p templates
cat > templates/example.html << 'EOF'
<!DOCTYPE html>
<html>
<head><title>Example</title></head>
<body><h1>Template Example</h1></body>
</html>
EOF
# Create reference documentation
cat > reference.md << 'EOF'
# Reference Documentation
Detailed API documentation and usage instructions.
EOF
4. Local Testing
# Refresh skills registry
/skills refresh
# Test skill in iFlow
# iFlow will automatically invoke the skill based on the description