Skip to main content

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

FeatureDescriptionAdvantage
Marketplace DistributionObtain verified skill packages from the online marketplaceRich feature selection
Complete Feature PackageIncludes multiple files, resources, and configurationsSupports complex scenarios
Plug and PlayReady to use after installation, automatically executes setup scriptsSimplifies usage workflow
Scope ManagementSupports project-level and global-level skill installationFlexible permission control
Version TrackingEach skill has clear version informationEnsures 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

CommandFunctionDescription
/skills onlineEnter interactive marketplaceBrowse, search, and install skills

Marketplace Navigation Operations

Interactive Browsing Shortcuts

OperationShortcutDescription
Browse Downj or Move to next skill
Browse Upk or Move to previous skill
View DetailsEnterView detailed skill information
Install to Global1Install currently selected skill globally
Install to Project2Install currently selected skill to project
Return to ListbReturn to list from details page
Page Navigationh/l or /Previous/Next page
Exit Browseq or EscExit 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 NameFunction DescriptionUse Cases
algorithmic-artCreate algorithmic art using p5.js with seeded randomness and parameter explorationGenerative art, creative programming
theme-factoryApply theme styles to various artifacts (slides, documents, HTML pages)Presentation beautification, document design

Document Processing

Skill NameFunction DescriptionUse Cases
pdfComprehensive PDF manipulation toolkit: extract text/tables, create, merge/split, handle formsPDF document processing, data extraction
docxWord document creation, editing, and analysis with revision tracking, comments, format preservationProfessional document editing
pptxPowerPoint presentation creation, editing, and analysis with layouts, comments, speaker notesPresentation creation

Development Tools

Skill NameFunction DescriptionUse Cases
mcp-builderCreate high-quality MCP servers, supports Python (FastMCP) and Node/TypeScriptMCP server development
prompt-engineerOptimize prompts for LLMs and AI systems, enhance AI feature performancePrompt engineering, AI integration

Professional Domain

Skill NameFunction DescriptionUse Cases
quant-analystBuild financial models, backtest trading strategies, analyze market dataQuantitative finance, trading algorithms
internal-commsHelp 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:

FieldRequiredDescriptionExample
name✅ YesUnique identifier for the skillpdf, algorithmic-art
description✅ YesBrief description of skill functionality and use casesCreating algorithmic art using p5.js
license✅ YesLicense informationMIT, 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/DirectoryPurposeExample
LICENSE.txtDetailed license termsMIT, Apache 2.0, etc.
scripts/Python, JavaScript, and other scriptsData processing, API call scripts
templates/Template filesHTML, CSS, configuration templates
reference/Reference documentationAPI docs, usage guides
*.mdSupplementary documentationDetailed 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 /command input)
  • The skill's description field 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

IssuePossible CauseSolution
Skill installation failsAPI key not set or expiredRe-authenticate
Skill unavailableSkills registry not refreshedRun /skills refresh
Download failsNetwork connection issuesCheck network connection and firewall settings
Extraction failsMissing extraction toolsInstall unzip (Unix) or 7-Zip (Windows)
Setup script failsInsufficient permissions or missing dependenciesCheck script output, manually execute setup
Skill conflictSame-named skill in different scopesUse --scope to explicitly specify

Diagnostic Steps

  1. Connection Check

    # Test API connection
    /skills online

    # Check authentication status
    /auth status
  2. Configuration Verification

    # View local skills list
    /skills list

    # Check skills directory
    ls -la ~/.iflow/skills/
    ls -la ./.iflow/skills/
  3. Permission Verification

    # Check directory permissions
    ls -la ~/.iflow/skills/

    # Check file permissions
    ls -la ~/.iflow/skills/*/
  4. Log Check

    # View detailed logs
    /log

    # View error information
    /debug

Extraction Tool Support

Windows Platform (by priority):

  1. tar - Built-in on Windows 10+
  2. PowerShell - Expand-Archive cmdlet
  3. 7-Zip - Requires installation
  4. WinRAR - Requires installation

Unix/Linux/macOS Platform:

  1. unzip - Handles ZIP files
  2. tar - 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.sh content 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