desktop-analysis
Desktop analysis and reporting tools. Includes music analysis with popularity scoring and file statistics (count files, folders, and calculate total size).
What this skill does
# Desktop Analysis Skill
This skill provides data analysis and reporting tools:
1. **Music analysis**: Generate popularity reports from music data
2. **File statistics**: Count files, folders, and calculate total size
3. **List all files**: Recursively list all files under a directory
## Important Notes
- **Do not use other bash commands**: Do not attempt to use general bash commands or shell operations like cat, ls.
- **Use relative paths**: Use paths relative to the working directory (e.g., `./folder/file.txt` or `folder/file.txt`).
---
## I. Skills
### 1. Music Analysis Report
Analyzes music data from multiple artists, calculates popularity scores using a weighted formula, and generates a detailed analysis report.
#### Features
- Reads song data from multiple artist directories
- Supports CSV and TXT file formats
- Calculates popularity scores using configurable weights:
- `popularity_score = (rating × W1) + (play_count_normalized × W2) + (year_factor × W3)`
- Default weights: W1=0.4, W2=0.4, W3=0.2
- Sorts songs by popularity
#### Parameters
| Parameter | Default | Description |
|-----------|---------|-------------|
| `--output` | `music_analysis_report.txt` | Output report filename |
| `--rating-weight` | `0.4` | Weight for rating score |
| `--play-count-weight` | `0.4` | Weight for normalized play count |
| `--year-weight` | `0.2` | Weight for year factor |
#### Example
```bash
# Generate music analysis report with default weights (0.4, 0.4, 0.2)
python music_report.py ./music
# Use a custom output filename
python music_report.py ./music --output my_report.txt
# Use custom weights for the popularity formula
python music_report.py ./music --rating-weight 0.5 --play-count-weight 0.3 --year-weight 0.2
```
---
### 2. File Statistics
Generate file statistics for a directory: total files, folders, and size.
#### Features
- Count total files (excluding .DS_Store)
- Count total folders
- Calculate total size in bytes (includes .DS_Store for size only)
#### Example
```bash
python file_statistics.py .
```
---
### 3. List All Files
Recursively list all files under a given directory path. Useful for quickly understanding project directory structure.
#### Features
- Recursively traverse all subdirectories
- Option to exclude hidden files (like .DS_Store)
- Output one file path per line, including both path and filename (relative to input directory)
#### Example
```bash
# List all files (excluding hidden)
python list_all_files.py .
# Include hidden files
python list_all_files.py ./data --include-hidden
```
---
## II. Basic Tools (FileSystemTools)
Below are the basic tool functions. These are atomic operations for flexible combination.
**Prefer Skills over Basic Tools**: When a task matches one of the Skills above, use the corresponding Skill instead of Basic Tools. Skills are more efficient because they can perform batch operations in a single call.
**Prefer List All Files over list_directory/list_files**: When you need to list files in a directory, prefer using the `list_all_files.py` skill instead of `list_directory` or `list_files` basic tools. The skill provides recursive listing with better output formatting.
**Note**: Code should be written without line breaks.
### How to Run
```bash
# Standard format
python run_fs_ops.py -c "await fs.read_text_file('./file.txt')"
```
---
### File Reading Tools
#### `read_text_file(path, head=None, tail=None)`
**Use Cases**:
- Read complete file contents
- Read first N lines (head) or last N lines (tail)
**Example**:
```bash
python run_fs_ops.py -c "await fs.read_text_file('./data/file.txt')"
```
---
#### `read_multiple_files(paths)`
**Use Cases**:
- Read multiple files simultaneously
**Example**:
```bash
python run_fs_ops.py -c "await fs.read_multiple_files(['./a.txt', './b.txt'])"
```
---
### File Writing Tools
#### `write_file(path, content)`
**Use Cases**:
- Create new files with **short, simple content only**
- Overwrite existing files
**⚠️ Warning**: Do NOT include triple backticks (` ``` `) in the content, as this will break command parsing.
**Example**:
```bash
python run_fs_ops.py -c "await fs.write_file('./new.txt', 'Hello World')"
```
---
#### `edit_file(path, edits)`
**Use Cases**:
- Make line-based edits to existing files
**Example**:
```bash
python run_fs_ops.py -c "await fs.edit_file('./file.txt', [{'oldText': 'foo', 'newText': 'bar'}])"
```
---
### Directory Tools
#### `create_directory(path)`
**Use Cases**:
- Create new directories (supports recursive creation)
**Example**:
```bash
python run_fs_ops.py -c "await fs.create_directory('./new/nested/dir')"
```
---
#### `list_directory(path)`
**Use Cases**:
- List all files and directories in a path
**Example**:
```bash
python run_fs_ops.py -c "await fs.list_directory('.')"
```
---
#### `list_files(path=None, exclude_hidden=True)`
**Use Cases**:
- List only files in a directory
**Example**:
```bash
python run_fs_ops.py -c "await fs.list_files('./data')"
```
---
### File Operations
#### `move_file(source, destination)`
**Use Cases**:
- Move or rename files/directories
**Example**:
```bash
python run_fs_ops.py -c "await fs.move_file('./old.txt', './new.txt')"
```
---
#### `search_files(pattern, base_path=None)`
**Use Cases**:
- Search for files matching a glob pattern
**Example**:
```bash
python run_fs_ops.py -c "await fs.search_files('*.txt')"
```
---
### File Information
#### `get_file_info(path)`
**Use Cases**:
- Get detailed metadata (size, created, modified, etc.)
**Example**:
```bash
python run_fs_ops.py -c "await fs.get_file_info('./file.txt')"
```
---
#### `get_file_size(path)`
**Use Cases**:
- Get file size in bytes
**Example**:
```bash
python run_fs_ops.py -c "await fs.get_file_size('./file.txt')"
```
---
#### `get_file_ctime(path)` / `get_file_mtime(path)`
**Use Cases**:
- Get file creation/modification time
**Example**:
```bash
python run_fs_ops.py -c "await fs.get_file_mtime('./file.txt')"
```
---
#### `get_files_info_batch(filenames, base_path=None)`
**Use Cases**:
- Get file information for multiple files in parallel
**Example**:
```bash
python run_fs_ops.py -c "await fs.get_files_info_batch(['a.txt', 'b.txt'], './data')"
```
Related in Data & Analytics
clawarr-suite
IncludedComprehensive management for self-hosted media stacks (Sonarr, Radarr, Lidarr, Readarr, Prowlarr, Bazarr, Overseerr, Plex, Tautulli, SABnzbd, Recyclarr, Unpackerr, Notifiarr, Maintainerr, Kometa, FlareSolverr). Deep library exploration, analytics, dashboard generation, content management, request handling, subtitle management, indexer control, download monitoring, quality profile sync, library cleanup automation, notification routing, collection/overlay management, and media tracker integration (Trakt, Letterboxd, Simkl).
querying-soql
IncludedSOQL query generation, optimization, and analysis with 100-point scoring. Use this skill when the user needs SOQL/SOSL authoring or optimization: natural-language-to-query generation, relationship queries, aggregates, query-plan analysis, and performance or safety improvements for Salesforce queries. TRIGGER when: user writes, optimizes, or debugs SOQL/SOSL queries, touches .soql files, or asks about relationship queries, aggregates, or query performance. DO NOT TRIGGER when: bulk data operations (use handling-sf-data), Apex DML logic (use generating-apex), or report/dashboard queries.
app-store-optimization
IncludedApp Store Optimization (ASO) toolkit for researching keywords, analyzing competitor rankings, generating metadata suggestions, and improving app visibility on Apple App Store and Google Play Store. Use when the user asks about ASO, app store rankings, app metadata, app titles and descriptions, app store listings, app visibility, or mobile app marketing on iOS or Android. Supports keyword research and scoring, competitor keyword analysis, metadata optimization, A/B test planning, launch checklists, and tracking ranking changes.
habit-flow
IncludedAI-powered atomic habit tracker with natural language logging, streak tracking, smart reminders, and coaching. Use for creating habits, logging completions naturally ("I meditated today"), viewing progress, and getting personalized coaching.
app-store-optimization
IncludedApp Store Optimization (ASO) toolkit for researching keywords, analyzing competitor rankings, generating metadata suggestions, and improving app visibility on Apple App Store and Google Play Store. Use when the user asks about ASO, app store rankings, app metadata, app titles and descriptions, app store listings, app visibility, or mobile app marketing on iOS or Android. Supports keyword research and scoring, competitor keyword analysis, metadata optimization, A/B test planning, launch checklists, and tracking ranking changes.
visualizing-data
IncludedBuilds dashboards, reports, and data-driven interfaces requiring charts, graphs, or visual analytics. Provides systematic framework for selecting appropriate visualizations based on data characteristics and analytical purpose. Includes 24+ visualization types organized by purpose (trends, comparisons, distributions, relationships, flows, hierarchies, geospatial), accessibility patterns (WCAG 2.1 AA compliance), colorblind-safe palettes, and performance optimization strategies. Use when creating visualizations, choosing chart types, displaying data graphically, or designing data interfaces.