
cli-executor
by karstegg
SKILL.md
name: cli-executor description: Execute CLI commands and skills from Desktop including outlook-extractor, git operations, and filesystem automation
CLI Executor
Bridge Desktop to CLI capabilities using the claude-cli-executor MCP server powered by Claude Agent SDK.
What This Skill Does
Enables Claude Desktop to access all Claude CLI capabilities:
- ✅ Outlook operations (emails, calendar, contacts, send, meetings)
- ✅ Git operations (commit, push, pull, branch management)
- ✅ Filesystem operations (direct file manipulation, faster than MCP)
- ✅ Bash commands (grep, find, sed, complex scripts)
- ✅ CLI skills (outlook-extractor, extract-epiroc-bev-report, etc.)
When to Use
Trigger this skill when user asks to:
- Extract or send Outlook emails
- Create or delete calendar meetings
- Run git operations
- Execute bash/terminal commands
- Run any CLI skill by name
Example triggers:
- "Extract my emails from the past week"
- "Send an email to Sipho about the BEV project"
- "Create a meeting for tomorrow at 2pm"
- "Commit these changes to git"
- "Use outlook-extractor to find emails about fire safety"
How It Works
Uses the claude-cli-executor MCP tool: run_cli_session
Flow:
Desktop → MCP Tool → Claude Agent SDK → CLI Session → Windows/Outlook → Result
Authentication: Uses your Claude subscription via claude login (no API credits)
Common Operations
Outlook: Extract Emails
User says: "Extract emails from the past week"
Action:
run_cli_session({
"prompt": "Run the outlook extractor: python .claude/skills/outlook-extractor/scripts/outlook_extractor.py emails --days 7 --limit 50"
})
Outlook: Extract from Specific Folder
User says: "Show me emails from my Production folder"
Action:
run_cli_session({
"prompt": "Run outlook extractor with folder search: python .claude/skills/outlook-extractor/scripts/outlook_extractor.py emails --folder-search 'Production' --days 14"
})
Outlook: Send Email
User says: "Send an email to Sipho about the N3 production meeting"
Important: Always draft first, get approval, then send!
Action:
run_cli_session({
"prompt": "Run outlook extractor to send email: python .claude/skills/outlook-extractor/scripts/outlook_extractor.py send-email --to sipho.dubazane@assmang.co.za --subject 'N3 Production Meeting' --body '[draft message]'"
})
Outlook: Create Meeting
User says: "Create a meeting tomorrow at 2pm with Xavier about BEV fire safety"
Action:
run_cli_session({
"prompt": "Run outlook extractor to create meeting: python .claude/skills/outlook-extractor/scripts/outlook_extractor.py create-meeting --subject 'BEV Fire Safety Review' --start '2025-12-01 14:00' --attendees 'xavier.petersen@assmang.co.za' --location 'Conference Room'"
})
Remember: Times are in SAST (UTC+2)
Outlook: List Calendar
User says: "What meetings do I have this week?"
Action:
run_cli_session({
"prompt": "Run outlook extractor calendar: python .claude/skills/outlook-extractor/scripts/outlook_extractor.py calendar --days 7"
})
Git: Commit Changes
User says: "Commit my vault changes with message 'Updated BEV notes'"
Action:
run_cli_session({
"prompt": "Commit all changes with message: git add . && git commit -m 'Updated BEV notes'"
})
File Operations
User says: "List all markdown files in the tasks directory"
Action:
run_cli_session({
"prompt": "List markdown files in tasks/"
})
Outlook-Extractor Script Location
Script path: .claude/skills/outlook-extractor/scripts/outlook_extractor.py
Available commands:
emails --days N --limit N- Extract recent emailsemails --folder-search "Name"- Search in specific foldercalendar --days N- List calendar eventscontacts- List contactssearch-contact "Name"- Find specific contactsend-email --to EMAIL --subject TEXT --body TEXT- Send emailcreate-meeting --subject TEXT --start DATETIME --attendees EMAIL- Create meetingdelete-meeting --subject TEXT --start DATETIME- Delete meeting
Full documentation: .claude/skills/outlook-extractor/SKILL.md
Email Style Guide
When composing emails, follow Greg's style:
- Greeting: "Hi [Name]" (colleagues) or "Good morning" (formal)
- Structure: Short paragraphs (1-3 sentences), blank lines between
- Tone: Direct, professional, action-oriented
- Closing: Always "Regards" + "Greg"
- @ Mentions: Use for specific actions: "@Xavier please review"
Always draft emails for user approval before sending!
Common Contacts
Quick reference for email addresses:
| Name | Role | |
|---|---|---|
| Rudi Opperman | Rudi.Opperman@assmang.co.za | Operations Manager |
| Jacques Breet | Jacques.Breet@assmang.co.za | Engineering Manager |
| Sipho Dubazane | Sipho.Dubazane@assmang.co.za | Engineer - Gloria |
| Sikelela Nzuza | Sikelela.Nzuza@assmang.co.za | Engineer - N2 |
| Sello Sease | Sello.Sease@assmang.co.za | Engineer - N3 |
| Xavier Petersen | Xavier.Petersen@assmang.co.za | Engineer - S&W |
Technical Notes
MCP Server: claude-cli-executor
Location: C:\Users\10064957\.claude\mcp-servers\claude-cli-executor\server.py
Tool: run_cli_session(prompt, context_files?)
Technology: Claude Agent SDK (uses your Claude subscription via claude login)
Working Directory: C:\Users\10064957\My Drive\GDVault\MarthaVault
Logs: ~/.claude/mcp-servers/claude-cli-executor/server.log
Authentication
No API key needed! Uses Claude Code authentication:
claude login # One-time setup
This uses your Claude subscription (Pro/Max/Team/Enterprise).
Approval Workflow
Operations requiring approval:
- ✅ Sending emails (ALWAYS draft first)
- ✅ Creating meetings (confirm details)
- ✅ Deleting content (verify before execution)
- ✅ Git push operations (review changes)
- ✅ Python script execution (security)
Auto-approved operations:
- ✅ Reading emails/calendar
- ✅ Searching contacts
- ✅ Listing files
- ✅ Extracting data
The CLI will ask for approval when needed. You'll see exactly what it wants to do before execution.
Error Handling
If MCP tool fails:
- Check if Claude CLI is installed:
claude --version - Check if logged in:
claude login - Check server logs:
~/.claude/mcp-servers/claude-cli-executor/server.log - Verify Outlook is running (for outlook-extractor)
If Outlook operations fail:
- Ensure Outlook is open and running
- Verify pywin32 installed:
pip install pywin32 --upgrade - Check timezone (use SAST times: UTC+2)
- Verify script path:
.claude/skills/outlook-extractor/scripts/outlook_extractor.py
Response Format
The MCP returns conversation transcripts showing:
- What CLI did step-by-step
- Any approvals needed
- Files modified
- Commands executed
- Final results
Extract the key information from the response and present it clearly to the user.
Examples in Action
Example 1: Email Extraction
User: "Extract my emails from this week"
Claude calls:
run_cli_session({
prompt: "Run outlook extractor: python .claude/skills/outlook-extractor/scripts/outlook_extractor.py emails --days 7 --limit 50"
})
CLI response includes:
- List of emails with subjects, senders, dates
- Any approval requests (for Python execution)
- Status of execution
Claude presents: Clean summary of important emails to user
Example 2: Meeting Creation
User: "Schedule BEV review Monday 2pm with the team"
Claude:
- Identifies attendees from context
- Calls MCP with create-meeting command
- Shows user the meeting details for approval
- After approval, confirms creation
Example 3: Git Commit
User: "Commit my changes with message 'Updated fire safety docs'"
Claude calls:
run_cli_session({
prompt: "git add . && git commit -m 'Updated fire safety docs'"
})
CLI may require approval for git operations, then executes and confirms.
Status
✅ Production Ready
- MCP server: Tested and working
- Outlook extraction: Functional (requires approval)
- Git operations: Functional (requires approval)
- File operations: Functional
Important Reminders
- Always use the full script path:
.claude/skills/outlook-extractor/scripts/outlook_extractor.py - CLI skills are NOT auto-detected - must run Python scripts directly
- Approval is required for Python execution and sensitive operations
- Extract meaningful information from CLI responses - don't just show raw output
- Draft emails first - never send without user approval
- Times in SAST - UTC+2 for South Africa
This bridge gives you the full power of Claude CLI from Desktop!
Score
Total Score
Based on repository quality metrics
SKILL.mdファイルが含まれている
ライセンスが設定されている
100文字以上の説明がある
GitHub Stars 100以上
3ヶ月以内に更新がある
10回以上フォークされている
オープンIssueが50未満
プログラミング言語が設定されている
1つ以上のタグが設定されている
Reviews
Reviews coming soon