Rmux
Helvesec/rmux
Guide for using RMUX with Claude Code, including the tmux-compatible CLI, agent automation waits, the typed SDK, browser web-share, and the rmux claude launcher.
Access local system resources including Calendar on macOS and Windows.
$ npx skills add freestylefly/wesight --skill local-tools -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install freestylefly/wesight local-tools --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/freestylefly/wesight.git skills-src && mkdir -p .claude/skills && cp -r skills-src/SKILLs/local-tools .claude/skills/local-tools && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "local-tools" agent skill from https://github.com/freestylefly/wesight/tree/main/SKILLs/local-tools into .claude/skills/local-tools/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "local-tools", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/freestylefly/wesight/tree/main/SKILLs/local-toolsType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add freestylefly/wesight --skill local-tools -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install freestylefly/wesight local-tools --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/freestylefly/wesight.git skills-src && mkdir -p .agents/skills && cp -r skills-src/SKILLs/local-tools .agents/skills/local-tools && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "local-tools" agent skill from https://github.com/freestylefly/wesight/tree/main/SKILLs/local-tools into .agents/skills/local-tools/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "local-tools", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add freestylefly/wesight --skill local-tools -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install freestylefly/wesight local-tools --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/freestylefly/wesight.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/SKILLs/local-tools .cursor/skills/local-tools && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "local-tools" agent skill from https://github.com/freestylefly/wesight/tree/main/SKILLs/local-tools into .cursor/skills/local-tools/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "local-tools", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/freestylefly/wesight.git --path SKILLs/local-tools--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add freestylefly/wesight --skill local-tools -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install freestylefly/wesight local-tools --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/freestylefly/wesight.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/SKILLs/local-tools .gemini/skills/local-tools && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "local-tools" agent skill from https://github.com/freestylefly/wesight/tree/main/SKILLs/local-tools into .gemini/skills/local-tools/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "local-tools", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install freestylefly/wesight local-toolsInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add freestylefly/wesight --skill local-tools -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/freestylefly/wesight.git skills-src && mkdir -p .github/skills && cp -r skills-src/SKILLs/local-tools .github/skills/local-tools && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "local-tools" agent skill from https://github.com/freestylefly/wesight/tree/main/SKILLs/local-tools into .github/skills/local-tools/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "local-tools", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add freestylefly/wesight --skill local-tools -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install freestylefly/wesight local-tools --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/freestylefly/wesight.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/SKILLs/local-tools .opencode/skills/local-tools && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "local-tools" agent skill from https://github.com/freestylefly/wesight/tree/main/SKILLs/local-tools into .opencode/skills/local-tools/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "local-tools", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
local-toolsAccess local system resources including Calendar on macOS and Windows.
Local Tools is an agent skill from freestylefly/wesight. Access local system resources including Calendar on macOS and Windows. Use this skill when you need to manage user's schedule directly on their device.
Its SKILL.md is about 3.4k tokens, which your agent loads only when the skill is triggered. The skill folder holds 3 other files, including scripts (for example `scripts/calendar.sh`).
It works with macOS, PowerShell and Microsoft Outlook. The repository describes itself as: Open-source desktop AI agent workspace with one-click Claude Code, Codex, OpenClaw, Hermes Agent setup and custom LLM model routing. The licence is MIT.
4 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit c913cd9. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Ships 2 files in scripts/ (PowerShell and Shell), which the agent can run.
Shell commands in SKILL.md call:
bashjqosascriptFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Local Tools loads about 3.4k tokens when it runs. Until then it costs about 41 tokens; SKILL.md has 983 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.
The full file from freestylefly/wesight at commit c913cd9, republished under its MIT licence (© freestylefly). 983 words, ~3,398 tokens.
.claude/skills/local-tools/SKILL.md (or your agent's skills folder). This skill also uses 2 other files; get the full folder from GitHub.Use the local-tools skill when you need to:
Examples of when to use:
┌──────────┐ Bash/PowerShell ┌─────────────────────────────────────────────────────────────┐
│ Claude │──────────────────────▶│ calendar.sh / calendar.ps1 │
│ │ │ ├─ macOS: osascript -l JavaScript (JXA) ──▶ Calendar.app │
│ │ │ └─ Windows: PowerShell ──▶ Outlook COM API │
└──────────┘ └─────────────────────────────────────────────────────────────┘Architecture:
CLI Scripts - Platform-specific scripts, no HTTP server needed
calendar.sh - Bash script for macOScalendar.ps1 - PowerShell script for WindowsLocal Calendar Access - Direct access to system calendar
JSON Output - Structured data format for easy parsing
| Platform | Implementation | Calendar App | Status |
|---|---|---|---|
| macOS 10.10+ | JXA + Calendar.app | Calendar.app | ✅ Fully Supported |
| Windows 7+ | PowerShell + COM | Microsoft Outlook | ✅ Fully Supported |
| Linux | - | - | ❌ Not Supported |
IMPORTANT: How to Locate the Script
When you read this SKILL.md file using the Read tool, you receive its absolute path (e.g., /Users/username/.../SKILLs/local-tools/SKILL.md).
To construct the script path:
/scripts/calendar.sh (macOS) or /scripts/calendar.ps1 (Windows)Example:
# If SKILL.md is at: /Users/username/path/to/SKILLs/local-tools/SKILL.md
# Then the script is: /Users/username/path/to/SKILLs/local-tools/scripts/calendar.sh
bash "/Users/username/path/to/SKILLs/local-tools/scripts/calendar.sh" <operation> [options]In all examples below, <skill-dir>/scripts/calendar.sh is a placeholder. Replace it with the actual absolute path.
DO:
search command for searching birthdays/anniversariesDON'T:
Example - Searching for birthdays:
# Correct approach: Search directly, don't trial-and-error
bash "<skill-dir>/scripts/calendar.sh" search --query "birthday"
# If permission error returned, directly tell user:
# "Calendar access permission is required. Please open System Settings > Privacy & Security > Calendar, and authorize Terminal or WeSight"# List events for next 7 days (default)
bash "<skill-dir>/scripts/calendar.sh" list
# List events for specific date range
bash "<skill-dir>/scripts/calendar.sh" list \
--start "2026-02-12T00:00:00" \
--end "2026-02-19T23:59:59"
# List events from specific calendar (macOS)
bash "<skill-dir>/scripts/calendar.sh" list \
--calendar "Work"# Create a simple event
bash "<skill-dir>/scripts/calendar.sh" create \
--title "Team Meeting" \
--start "2026-02-13T14:00:00" \
--end "2026-02-13T15:00:00"
# Create event with location and notes
bash "<skill-dir>/scripts/calendar.sh" create \
--title "Client Call" \
--start "2026-02-14T10:00:00" \
--end "2026-02-14T11:00:00" \
--calendar "Work" \
--location "Conference Room A" \
--notes "Discuss Q1 roadmap"# Update event title
bash "<skill-dir>/scripts/calendar.sh" update \
--id "EVENT-ID" \
--title "Updated Meeting Title"
# Update event time
bash "<skill-dir>/scripts/calendar.sh" update \
--id "EVENT-ID" \
--start "2026-02-13T15:00:00" \
--end "2026-02-13T16:00:00"bash "<skill-dir>/scripts/calendar.sh" delete \
--id "EVENT-ID"# Search for events containing keyword (searches ALL calendars)
bash "<skill-dir>/scripts/calendar.sh" search \
--query "meeting"
# Search in specific calendar only
bash "<skill-dir>/scripts/calendar.sh" search \
--query "project" \
--calendar "Work"Note: When --calendar is not specified, the search operation will look through all available calendars on both macOS and Windows.
All commands return JSON with the following structure:
{
"success": true,
"data": {
"events": [
{
"eventId": "E621F8C4-...",
"title": "Team Meeting",
"startTime": "2026-02-13T14:00:00.000Z",
"endTime": "2026-02-13T15:00:00.000Z",
"location": "Conference Room",
"notes": "Weekly sync",
"calendar": "Work",
"allDay": false
}
],
"count": 1
}
}{
"success": false,
"error": {
"code": "CALENDAR_ACCESS_ERROR",
"message": "Calendar access permission is required...",
"recoverable": true,
"permissionRequired": true
}
}| Code | Meaning | Recoverable |
|---|---|---|
CALENDAR_ACCESS_ERROR | Permission denied or calendar not accessible | Yes |
INVALID_INPUT | Missing required parameters | No |
EVENT_NOT_FOUND | Event ID not found | No |
OUTLOOK_NOT_AVAILABLE | Microsoft Outlook not installed (Windows) | Yes |
When using the list command with time ranges:
YYYY-MM-DDTHH:mm:ss$(date ...)2026-02-13T00:00:002026-02-13T23:59:592026-02-14T09:00:002026-02-16T00:00:00Why: The script expects local time strings that match your system timezone. Shell substitutions may not execute correctly in all environments.
# User asks: "What meetings do I have today?"
# Claude's approach: Calculate today's date and query full day from 00:00 to 23:59
# IMPORTANT: Claude should replace 2026-02-13 with the actual current date
bash "<skill-dir>/scripts/calendar.sh" list \
--start "2026-02-13T00:00:00" \
--end "2026-02-13T23:59:59"
# User asks: "What's on my schedule tomorrow?"
# Claude should calculate tomorrow's date (e.g., if today is 2026-02-13, tomorrow is 2026-02-14)
bash "<skill-dir>/scripts/calendar.sh" list \
--start "2026-02-14T00:00:00" \
--end "2026-02-14T23:59:59"# User asks: "Schedule a meeting for tomorrow at 3 PM"
# Claude's approach:
bash "<skill-dir>/scripts/calendar.sh" create \
--title "Meeting" \
--start "2026-02-13T15:00:00" \
--end "2026-02-13T16:00:00" \
--calendar "Work"# User asks: "Find all meetings about the project"
# Claude's approach:
bash "<skill-dir>/scripts/calendar.sh" search \
--query "project" \
--calendar "Work"# User asks: "Am I free tomorrow afternoon?"
# Claude's approach:
# 1. List tomorrow's events
# 2. Analyze time slots
# 3. Report availability
bash "<skill-dir>/scripts/calendar.sh" list \
--start "2026-02-14T00:00:00" \
--end "2026-02-14T23:59:59"The list command uses interval overlap detection:
Examples:
Before creating an event, list existing events to avoid conflicts:
# First check existing events
bash "<skill-dir>/scripts/calendar.sh" list
# Then create if no conflict
bash "<skill-dir>/scripts/calendar.sh" create ...Specify the calendar to keep events organized:
bash "<skill-dir>/scripts/calendar.sh" create \
--title "Team Meeting" \
--calendar "Work" \
...Always search first to get the correct event ID:
# Search to find event ID
bash "<skill-dir>/scripts/calendar.sh" search --query "meeting"
# Then update or delete
bash "<skill-dir>/scripts/calendar.sh" update --id "FOUND-ID" ...Parse the response and handle errors:
result=$(bash "<skill-dir>/scripts/calendar.sh" list)
if echo "$result" | grep -q '"success":true'; then
# Process events
events=$(echo "$result" | jq '.data.events')
else
# Handle error
error=$(echo "$result" | jq '.error.message')
echo "Failed: $error"
fiYYYY-MM-DDTHH:mm:ss)Permission Denied:
Error: Calendar access permission is requiredSolution: Open System Settings > Privacy & Security > Calendar, authorize Terminal or WeSight
Script Not Found:
bash: calendar.sh: No such file or directorySolution: Ensure you're using the absolute path from SKILL.md's directory + /scripts/calendar.sh
Outlook Not Found:
Error: Microsoft Outlook is not installed or not accessibleSolution: Install Microsoft Outlook and ensure it's properly configured
PowerShell Execution Policy:
Error: Execution of scripts is disabled on this systemSolution: Run PowerShell as Administrator and execute:
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUserJXA (JavaScript for Automation):
osascript -l JavaScript to execute JXA codeDate Handling:
date +%Y-%m-%dT%H:%M:%S (local timezone)date -v+7d (7 days from now)PowerShell + COM:
Date Handling:
[DateTime]::Parse() for date parsingBoth implementations:
© freestylefly, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 2 other files (scripts) in SKILLs/local-tools of freestylefly/wesight.
Open the folder on GitHubat commit c913cd9
Local Tools next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Local Tools this skillfreestylefly/wesight | 943 | — | ~3.4k | Automated safety check: Pass | MIT | |
| RmuxHelvesec/rmux | 2.7k | — | ~1.3k | Automated safety check: Pass | Custom licence | |
| Environment SetupNorman-bury/research-writing-skill | 3.3k | — | ~840 | Automated safety check: Pass | MIT | |
| Tbtoolsxuzhougeng/wispterm | 440 | — | ~2.3k | Automated safety check: Pass | MIT | |
| Remote Hostslibnativeapi/nativeapi | 157 | — | ~1.3k | Automated safety check: Pass | MIT | |
| Wispterm Diagnosticsxuzhougeng/wispterm | 440 | — | ~3.1k | Automated safety check: Pass | MIT |
Helvesec/rmux
Guide for using RMUX with Claude Code, including the tmux-compatible CLI, agent automation waits, the typed SDK, browser web-share, and the rmux claude launcher.
Norman-bury/research-writing-skill
A skill your agent uses when Python environment setup is needed for data visualization or conda installation is required
xuzhougeng/wispterm
A skill your agent uses when the user asks about TBtools, TBtools-II, TBtools RPC API, TBtools CLI, or bioinformatics operations available through TBtools such as sequence manipulation, BLAST…
libnativeapi/nativeapi
Build, run, and GUI-test on another machine over SSH — the user's Windows laptop today, Linux or other macOS machines tomorrow — with one symmetric CLI for every OS: push scripts, run them either in…
xuzhougeng/wispterm
A skill your agent uses when a user wants to report, troubleshoot, or collect context for a WispTerm issue, including crashes, rendering/DPI glitches, high CPU, keyboard/input bugs…
xuzhougeng/wispterm
A skill your agent uses when the user wants to install, repair, or re-apply WispTerm notification reminders (Claude Code Stop + Notification, and Codex turn-complete) in a local…
freestylefly/wesight
A skill your agent uses when Codex is building or iterating on a web game (HTML/JS) and needs a reliable development + testing loop: implement small changes, run a Playwright-based test script with…
freestylefly/wesight
Real-time web search using Playwright-controlled browser. An agent skill from freestylefly/wesight.
freestylefly/wesight
Search tech blogs, developer forums, and IT media (TechCrunch, Hacker News, 36氪, etc.) for software and hardware industry updates with heat ranking and EN↔CN translation.
freestylefly/wesight
WeChat Official Account topic planning and content calendar management.
freestylefly/wesight
Search cloud drives for downloadable film and TV resources (movies, TV series, anime).
freestylefly/wesight
Create a concise plan. An agent skill from freestylefly/wesight.
Works with
Access local system resources including Calendar on macOS and Windows. Local Tools is an agent skill from freestylefly/wesight. Access local system resources including Calendar on macOS and Windows.
Local Tools fits situations like: you need to manage users schedule directly on their device.
Run `npx skills add freestylefly/wesight --skill local-tools -a claude-code`. Or copy the skill folder (SKILLs/local-tools in freestylefly/wesight) into .claude/skills/local-tools in your project. Claude Code loads it when a task matches its description.
Run `npx skills add freestylefly/wesight --skill local-tools -a codex`. Or copy the skill folder (SKILLs/local-tools in freestylefly/wesight) into .agents/skills/local-tools in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add freestylefly/wesight --skill local-tools -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/local-tools, .gemini/skills/local-tools, .github/skills/local-tools and .opencode/skills/local-tools in your project.
Going by SKILL.md and its folder, Local Tools needs PowerShell and a shell for the scripts in its folder and the command-line tools its instructions call (bash, jq and osascript). Our summary lists: A Bash shell; PowerShell.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
Local Tools is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.4k tokens (SKILL.md is roughly 14k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Local Tools: Rmux (Helvesec/rmux, 2.7k stars), Environment Setup (Norman-bury/research-writing-skill, 3.3k stars), Tbtools (xuzhougeng/wispterm, 440 stars) and Remote Hosts (libnativeapi/nativeapi, 157 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
freestylefly (a GitHub user) maintains it in freestylefly/wesight, which has 943 GitHub stars. The repository holds 17 skills in this directory. The repository was last updated on October 1, 2026.
Source: freestylefly/wesight on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.