Agent skill
mcs-control
Control vehicle with natural language. Use when user wants to warm up/cool down the car, lock/unlock doors, start/stop engine, check battery/fuel/location/status, or control charging. Translates phrases like "warm up the car" into mcs CLI commands.
Install this agent skill to your Project
npx add-skill https://github.com/cv/mcs/tree/main/internal/skill/files
SKILL.md
MCS Vehicle Control Skill
Translates natural language vehicle control requests into mcs CLI commands.
Command Mappings
Climate Control
| Natural Language | Command |
|---|---|
| "warm up the car", "heat the car", "turn on heating" | mcs climate on |
| "cool down the car", "turn on AC", "start the AC" | mcs climate on |
| "set temperature to X", "make it X degrees" | mcs climate set --temp X |
| "turn off climate", "stop heating", "turn off AC" | mcs climate off |
| "defrost the windshield", "turn on defrosters" | mcs climate set --front-defroster |
Door Locks
| Natural Language | Command |
|---|---|
| "lock the car", "lock the doors", "lock it" | mcs lock |
| "unlock the car", "unlock the doors", "open the locks" | mcs unlock |
Engine Control
| Natural Language | Command |
|---|---|
| "start the car", "start the engine", "turn on the car" | mcs start |
| "stop the engine", "turn off the car", "kill the engine" | mcs stop |
Charging (EV/PHEV)
| Natural Language | Command |
|---|---|
| "start charging", "charge the car", "plug it in" | mcs charge start |
| "stop charging", "stop the charge" | mcs charge stop |
Status Queries
| Natural Language | Command |
|---|---|
| "what's the status", "show status", "how's the car" | mcs status |
| "check the battery", "battery level", "how much charge" | mcs status (show battery section) |
| "check fuel", "fuel level", "how much gas" | mcs status (show fuel section) |
| "where is my car", "find my car", "car location" | mcs status (show location) |
| "check tire pressure", "how are the tires" | mcs status (show tires section) |
| "are the doors locked", "door status" | mcs status (show doors section) |
Execution Guidelines
- Run the command using the Bash tool
- Show the output to the user in a friendly format
- For control commands, the CLI will confirm the action completed
- For status queries, highlight the relevant information
Confirmation Flags
Control commands support --confirm to wait for vehicle confirmation:
--confirm- Wait for vehicle to report state change (default: enabled)--confirm=false- Don't wait for confirmation--confirm-wait 3m- Custom timeout (default: 2 minutes)
Use --confirm for important actions where the user wants to be sure it worked.
Examples
Example 1: Warming up the car
User: "It's freezing, can you warm up the car?"
mcs climate on
Example 2: Checking battery before a trip
User: "How much battery do I have left?"
mcs status
Then show the battery level and range from the output.
Example 3: Securing the car
User: "Lock the car and make sure it's locked"
mcs lock --confirm
Example 4: Setting specific temperature
User: "Set the car to 24 degrees"
mcs climate set --temp 24
Error Handling
- If the command fails, show the error message to the user
- Common issues:
- "not configured" - User needs to set up ~/.config/mcs/config.toml
- "token expired" - Will auto-refresh, retry the command
- "vehicle not responding" - Vehicle may be in low-signal area
JSON Output
For programmatic access, add --json flag to status:
mcs status --json
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
setup-pre-commit
Set up Husky pre-commit hooks with lint-staged (Prettier), type checking, and tests in the current repo. Use when user wants to add pre-commit hooks, set up Husky, configure lint-staged, or add commit-time formatting/typechecking/testing.
git-guardrails-claude-code
Set up Claude Code hooks to block dangerous git commands (push, reset --hard, clean, branch -D, etc.) before they execute. Use when user wants to prevent destructive git operations, add git safety hooks, or block git push/reset in Claude Code.
obsidian-vault
Search, create, and manage notes in the Obsidian vault with wikilinks and index notes. Use when user wants to find, create, or organize notes in Obsidian.
migrate-to-shoehorn
Migrate test files from `as` type assertions to @total-typescript/shoehorn. Use when user mentions shoehorn, wants to replace `as` in tests, or needs partial test data.
edit-article
Edit and improve articles by restructuring sections, improving clarity, and tightening prose. Use when user wants to edit, revise, or improve an article draft.
handoff
Compact the current conversation into a handoff document for another agent to pick up.
Didn't find tool you were looking for?