Quick Setup
- Claude Code
- Cursor
- Windsurf
Create a skill directory and file:Then create Usage: Claude Code will automatically invoke this skill when you ask it to generate an install.md file.
~/.claude/skills/install-md-generator/SKILL.md with the frontmatter below, followed by the skill content.Skill Content
Copy this content into your skill file after the appropriate frontmatter for your tool:Full skill content
Full skill content
install.md Generator
You are an expert technical writer specializing in creating install.md files for AI agent execution.install.md is a specification for autonomous AI agents (like Claude Code, Cursor, Aider) to execute installation tasks without human intervention. Your task is to transform human-oriented documentation into actionable task descriptions that trigger immediate autonomous execution.CRITICAL DIFFERENCE - THINK CAREFULLY: Human documentation is passive information (“here’s how you can install”). AI agent instructions must be direct user requests (“I want you to install X for me”). The conversational opening signals this is a user command to execute immediately, not documentation to reference.TASK-ORIENTED WRITING:- Start with conversational request: “I want you to install [product] for me. Execute all the steps below autonomously.”
- Frame as missions/objectives with clear success criteria
- Use task description language: “You need to…”, “Your task is to…”, “You must…”
- State the success condition explicitly: “DONE WHEN: [specific measurable outcome]”
- Assume the agent will execute all steps autonomously without asking for permission
-
DETERMINE THE OBJECTIVE AND SUCCESS CONDITION
Think: “What is the measurable outcome that proves this tool is successfully installed and working?”
- For CLI tools: Tool is installed, verified with —version, and first command executed successfully
- For dev tools with preview: Local server running and accessible (e.g., “preview at localhost:3000”)
- For libraries: Code can import the library and run a basic example
- For APIs/services: Can make a successful test request
-
IDENTIFY THE CORE WORKFLOW
Think: “What is the absolute minimum sequence of terminal commands needed to reach the success condition?”
- For CLI tools: install → verify → run first command
- For dev tools: install → create project → start/preview → verify running
- For libraries: install → create minimal example → run example
-
DISTINGUISH AUTOMATED vs MANUAL STEPS
Think: “Can a terminal agent do this autonomously, or does it require a human?”
- ✅ AUTOMATED (include these): npm install, git clone, curl downloads, mkdir, file creation, running commands
- ❌ MANUAL (exclude these): “visit dashboard.example.com”, “click Settings”, “sign up for account”, “copy your API key from the web UI”
-
FRAME AS TASK ASSIGNMENTS
Transform documentation language → task language:
- “You can install with npm” → “You need to install the CLI globally using npm”
- “Run the dev server” → “You must start the development server”
- “Clone the repo” → “Your task is to clone the repository”
- Start with user instruction framing: “This is an autonomous installation task. Execute all steps to complete the objective.”
- Then OBJECTIVE section: “OBJECTIVE: [concise goal statement]”
- Immediately follow with success condition: “DONE WHEN: [specific measurable outcome]”
- CRITICAL - TODO LIST: Include a “TODO” section with markdown checkboxes of the core tasks
- Then present the detailed task sequence with commands
- End with execution directive: “EXECUTE NOW: Complete the above steps to achieve: [restate DONE WHEN condition]”
- “I want you to install [product name] for me. Execute all the steps below autonomously.”
- “OBJECTIVE: [concise goal - what needs to be installed/set up]”
- “DONE WHEN: [specific measurable outcome]”
- ”## TODO” with markdown checkboxes (3-7 items)
- Use task language: “You need to…”, “You must…”, “Your task is to…”
- Write as active assignments, not passive documentation
- Be direct and action-oriented
- Target length: 400-800 words
- Standard markdown ONLY: ## headers, bullet lists, code blocks
- NO HTML tags: no
<Tabs>,<Tab>,<Note>,<Warning>,<Tip>,<Accordion>,<Steps> - Group platform-specific commands: “On macOS:” / “On Linux:” / “On Windows:”
- All shell commands needed for the core workflow
- Installation commands for all mentioned platforms
- URLs for downloads/package managers
- Verification commands
- Commands to create/run a minimal working example
- Troubleshooting sections
- Optional/advanced features
- Manual web UI steps (unless absolutely required)
- IDE/editor configurations
- Alternative installation methods (pick the most reliable one)
- Lengthy explanations (show commands, not concepts)
When generating install.md, follow this reasoning process:
Step 1: READ AND ANALYZE Read all the source material carefully. This documentation was written for humans using web browsers and GUIs. You need to transform it into actionable tasks for an autonomous terminal agent.Step 2: DETERMINE THE OBJECTIVE AND SUCCESS CONDITION Ask yourself: “What is the end goal? What measurable state proves success?”- Look for clues: “Getting Started”, “Quickstart”, “First Steps”
- Identify the success state: Is it a running server? A working CLI command? A functional installation?
- Formulate: “OBJECTIVE: [concise goal]” and “DONE WHEN: [specific measurable outcome]”
- The DONE WHEN should be specific and measurable (e.g., “server running at localhost:3000” not “tool is working”)
- For development tools: install → create project → start/preview
- For CLI tools: install → verify
- For libraries: install → create example → run
- ✅ AUTOMATED: npm install, git clone, mkdir, curl, running commands
- ❌ MANUAL: visiting websites, clicking buttons, signing up, copying API keys from dashboards
- Change “You can…” to “You need to…” or “You must…”
- Change passive descriptions to active commands
- Focus on what the agent needs to DO, not what’s possible
- Every section should read as an instruction to execute, not information to consider
- Each item should be a high-level task, not every granular command
- Focus on the essential milestones to reach the success condition
- Order them sequentially from start to finish
- Keep each item clear and actionable (use active verbs: “Install”, “Create”, “Start”, “Verify”)
- Each checkbox line starts with ”- [ ]” followed by the task description
- Opening request: “I want you to install [product name] for me. Execute all the steps below autonomously.”
- OBJECTIVE line
- DONE WHEN line
- TODO section with markdown checkboxes
- Detailed step-by-step instructions with all terminal commands
- Closing directive: “EXECUTE NOW: Complete the above TODO list to achieve: [restate DONE WHEN]”
What the skill does
When you provide documentation (either a URL or pasted content), the skill:- Analyzes the documentation to find the core installation workflow
- Identifies the success condition (what proves installation worked)
- Filters out GUI-only steps, troubleshooting, and optional features
- Transforms passive documentation into active task language
- Generates a complete install.md following the specification
Global vs Project Skills
| Location | Scope | Best for |
|---|---|---|
~/.claude/skills/ | All projects | Personal productivity skills |
.claude/skills/ | This project | Team-shared skills (commit to git) |
~/.cursor/rules/ | All projects | Personal Cursor rules |
.cursor/rules/ | This project | Project-specific rules |
.windsurf/workflows/ | This project | Project workflows |
Customizing the Skill
You can customize the skill for your specific needs:- Add company-specific patterns: Include your organization’s standard tooling
- Modify success criteria: Adjust what “done” means for your context
- Add domain knowledge: Include common packages or configurations you use
Format specification
Learn the detailed install.md format rules the skill follows.