diy-project-plan
npx skills add https://github.com/raftermath/skills --skill diy-project-plan
Agent 安装分布
Skill 文档
DIY Project Plan Skill
This skill helps you plan DIY projects by generating comprehensive project plans that include:
- Step-by-step instructions
- Required materials with quantities
- Necessary tools
- Time estimates
- Seasonal considerations and weather constraints
- Safety recommendations
When to Use This Skill
Use this skill when the user asks about:
- Planning a specific DIY project
- Estimating materials needed for a renovation
- Understanding the steps required for a DIY task
- Timing considerations for outdoor projects
- Tool requirements for home repairs
- Creating a timeline for multi-step projects
Planning Workflow
When the user requests help with a DIY project, follow this 9-step workflow:
Step 1: Gather Project Information (One Question at a Time)
CRITICAL: Ask questions ONE AT A TIME. Do NOT send a wall of text with multiple questions. Wait for the user to answer each question before asking the next.
Question sequence:
- First, ask: “What project are you planning to work on?” (get basic project description)
- Then ask: “What’s the current condition or starting point?”
- Then ask: “How would you rate your DIY experience level: beginner, intermediate, or advanced?”
- Then ask: “Do you have any timeline constraints or deadlines?”
- Smart location question:
- If project clearly mentions indoor location (bathroom, bedroom, kitchen, living room, etc.), confirm: “I’m assuming this is an indoor project – is that correct?”
- If project mentions outdoor location (deck, fence, yard, etc.), confirm: “I’m assuming this is an outdoor project – is that correct?”
- If unclear, ask: “Is this an indoor or outdoor project?”
- Then ask: “Where are you located?” (city, state/region, or general area – this determines climate zone and seasonal considerations)
Why one-at-a-time matters: Users get overwhelmed by long question lists. Breaking into individual questions creates a natural conversation flow and ensures you get complete answers to each question.
No examples in questions: Don’t include “For example, …” in questions. Users will just repeat the examples instead of providing their actual information.
Step 2: Load Seasonal Rules
CRITICAL: Before generating any plan, you MUST:
- Read
data/seasonal-rules.jsonfrom the skill directory - Determine climate zone from user’s location (from Step 1 question 7)
- Check current date and season
- Apply relevant seasonal constraints to the project
This ensures:
- Outdoor projects are planned for appropriate weather
- Indoor projects avoid temperature/humidity issues
- Material selection accounts for seasonal conditions
- Timeline includes weather-related delays
Step 3: Generate Project Plan and Summary
Use the plan generation prompt to create a comprehensive plan:
Prompt to use: prompts/planning.md from the skill directory
Process:
- Read the planning.md prompt template
- Fill in the project details gathered in Step 1
- Apply seasonal rules from Step 2
- Generate a detailed plan that includes:
- Preparation steps
- Execution steps (numbered and detailed)
- Quality checks and finishing touches
- Safety warnings and considerations
- Time estimates for each phase
- Skill level requirements
IMPORTANT – Write to File, Show Summary:
- Write the full detailed plan to a file:
~/projects/diy/{project-name}-plan.md - Do NOT show the full plan inline – instead, show a concise summary with:
- Number of steps: Total count of major steps
- Total time: Hours needed, split into weeknight/weekend breakdown (e.g., “12 hours total – feasible over 2 weekends”)
- Key tools needed: List 3-5 most important tools (full list in plan file)
- Key milestones: Major checkpoints in the project
- Ask: “The full detailed plan has been saved to
~/projects/diy/{project-name}-plan.md. Would you like me to show the complete plan here as well?” - Only if user says yes, then show the full plan inline
Step 4: Identify Required Skills and Techniques (Grouped by Category)
After generating the project plan, extract and categorize all DIY skills or techniques required:
Process:
- Review the project plan and identify all techniques
- Group skills by category (plumbing, electrical, carpentry, handyperson, etc.)
- Assign difficulty level to each: basic, intermediate, or advanced
- Present grouped list based on user’s experience level
Format based on user experience:
If user is intermediate, present as:
**Refreshers** (basic skills you likely know):
- Plumbing: Using plumber's tape on threaded connections
- Handyperson: Using a level to ensure proper placement
**Good to research** (matching your level):
- Plumbing: Applying plumber's putty for drain seals
- Handyperson: Finding wall studs and securing to studs
**Might need help** (advanced for this project):
- Plumbing: Soldering copper pipe connections (if applicable)
Would you like detailed instructions on any of these? Just tell me which ones.
Adjust groupings for beginner (most are “good to research” or “might need help”) and advanced (most are “refreshers”).
If user requests clarification, provide:
- What the technique is
- When and why it’s used in this project
- Step-by-step instructions
- Common mistakes to avoid
- Visual cues for doing it correctly
Step 5: Recommend Specific YouTube Videos
Provide helpful video resources for the project:
Process:
- Recommend 2-3 specific YouTube videos with actual titles and channel names
- Include what aspect each video covers
- Prioritize well-known DIY channels (This Old House, Family Handyman, Home RenoVision DIY, etc.)
Example format:
Recommended YouTube videos for visual guidance:
1. "How to Replace a Bathroom Faucet" by This Old House
- Good for: Overall project walkthrough with professional tips
2. "Plumber's Tape - The RIGHT Way" by Roger Wakefield
- Good for: Mastering the teflon tape technique
3. "How to Install a Bathroom Vanity" by Home RenoVision DIY
- Good for: Securing vanity and connecting plumbing
How to find specific videos:
- Use your knowledge of popular DIY YouTube channels
- Match video topics to the specific project
- Prefer videos from established channels with good production quality
- Include channel name so user can find the exact video
Step 6: Check Tool Inventory
Help the user understand what tools they need:
Process:
- Extract tools from the planning.md output
- Extract all tools mentioned in the project plan
- Categorize tools as:
- Essential: Cannot complete project without these
- Recommended: Makes the job significantly easier
- Optional: Nice to have but not necessary
- For each tool, provide:
- Tool name and typical use
- Why it’s needed for this project
- Approximate cost range (if purchasing)
- Rental availability (for expensive tools)
- Alternative tools or workarounds
Ask the user: “Do you already own any of these tools, or would you like suggestions for alternatives?”
Step 7: Generate Materials Checklist
Create a detailed shopping list:
Prompt to use: prompts/materials.md from the skill directory
Process:
- Read the materials.md prompt template
- Calculate material quantities based on project scope
- Include:
- Primary materials with specific quantities
- Consumables (tape, sandpaper, etc.)
- Safety equipment
- Waste factor (typically 10-15% extra)
- Organize by:
- Category (paint, lumber, hardware, etc.)
- Where to buy (hardware store, specialty shop, etc.)
- Estimated cost range
- Note any materials with:
- Long lead times
- Seasonal availability issues
- Specific brand/quality recommendations
Present as a formatted checklist the user can take to the store.
Step 8: Create Timeline
Generate a realistic project timeline:
Prompt to use: prompts/timeline.md from the skill directory
Process:
- Read the timeline.md prompt template
- Break the project into phases
- For each phase, estimate:
- Active work time
- Drying/curing/setting time
- Weather windows (for outdoor projects)
- Account for:
- User’s experience level (add time for beginners)
- Seasonal constraints from Step 2
- Material delivery times
- Inspection or permit requirements
- Provide:
- Best-case timeline
- Realistic timeline (recommended)
- Worst-case timeline
- Key milestones and decision points
Include a day-by-day or phase-by-phase schedule.
Step 9: Offer Project Export
Ask the user if they’d like to save the complete plan:
Options to offer:
- Markdown file: Full project plan in a readable format
- Checklist format: Simplified task list for tracking progress
- Shopping list: Just the materials checklist
- Timeline only: Just the schedule
Example prompt: “Would you like me to save this project plan to a file? I can create a complete markdown document, or just export the shopping list and timeline.”
If the user agrees:
- Create a well-formatted file in their preferred location
- Use a descriptive filename like
paint-bedroom-project-plan.md - Include all relevant sections from Steps 3-6
- Add a header with project name, date created, and estimated completion
Example Usage
User: “I want to paint my bedroom. It’s about 12×14 feet with 8-foot ceilings.”
Skill response:
-
Gather more info: “Great! A few questions to help me plan this:
- How many windows and doors are in the room?
- What’s the current wall condition (smooth, textured, damaged)?
- What color are you painting from and to?
- Have you painted a room before?
- When are you hoping to complete this?”
-
Load seasonal rules: Read seasonal-rules.json, check current date, ask about climate if needed
-
Generate plan using planning.md:
- Prep: Move furniture, tape edges, fill holes, sand, prime
- Paint: Cut in edges, roll walls, apply 2 coats
- Finish: Remove tape, touch up, clean up
- Time estimate: 6-8 hours spread over 2-3 days
-
Tool inventory from planning output:
- Essential: Roller, roller tray, 2.5″ angled brush, painter’s tape, drop cloths
- Recommended: Paint edger, extension pole
- Optional: Paint sprayer
-
Materials checklist using materials.md:
- 2 gallons paint (walls: ~450 sq ft)
- 1 quart primer
- Painter’s tape (2 rolls)
- Drop cloths
- Sandpaper assortment
- Spackle
- Etc.
-
Timeline using timeline.md:
- Day 1 (3-4 hrs): Prep and prime
- Day 2 (2-3 hrs): First coat (allow 4 hours drying)
- Day 2/3 (2-3 hrs): Second coat
- Total: 2-3 days with drying time
-
Offer export: “Would you like me to save this complete bedroom painting plan to a file?”
Tips for Accurate Planning
Material Calculations
- Always add 10-15% waste factor
- Round up to standard package sizes
- Account for multiple coats when needed
- Consider substrate absorption (porous surfaces need more)
Time Estimates
- Beginner: 2x the standard time
- Intermediate: 1.5x the standard time
- Advanced: 1x the standard time
- Always include prep and cleanup time
- Factor in drying/curing between steps
Seasonal Adjustments
- ALWAYS consult seasonal-rules.json before finalizing a plan
- Outdoor projects: Check weather windows, temperature ranges
- Indoor projects: Consider humidity for paint/stain/adhesives
- Material storage: Some materials can’t freeze or overheat
Safety Emphasis
- Always include appropriate PPE in materials list
- Warn about ventilation needs
- Flag projects requiring electrical/plumbing shutoffs
- Note when professional help is recommended
Cost Estimates
- Provide ranges, not exact prices
- Separate materials from tools (one-time vs. per-project costs)
- Note where quality matters vs. where budget options work fine
- Mention potential rental options for expensive tools
Integration Notes
This skill integrates with the user’s broader workflow:
File Organization
- Suggest saving project plans in a dedicated folder:
~/projects/house/ - Use consistent naming:
[room]-[project-type]-[date].md - Reference previous projects if user mentions repeat work
Follow-up Support
After plan generation, offer to:
- Answer questions about specific steps
- Suggest product recommendations
- Troubleshoot issues during execution
- Adjust timeline if complications arise
Multi-project Coordination
If user mentions multiple projects:
- Ask about priority and dependencies
- Create individual plans for each
- Suggest optimal ordering (e.g., painting before flooring)
- Coordinate material purchases to save trips
Seasonal Rules Reference
The data/seasonal-rules.json file contains detailed guidelines for:
By Season
- Spring: Best for exterior painting, roofing, landscaping
- Summer: Deck staining, concrete work, outdoor construction
- Fall: Interior projects, weatherproofing, prep for winter
- Winter: Indoor painting, bathroom remodels, planning phase
By Climate Zone
- Cold (Northern): Extended winter restrictions, short outdoor season
- Moderate (Central): Year-round flexibility with temperature awareness
- Hot (Southern): Summer heat considerations, humidity management
- Coastal: Salt air, moisture, hurricane season planning
Material-Specific Rules
- Paint: 50-85°F, low humidity, no direct sun
- Concrete: Above 40°F, no rain for 24-48 hours
- Wood stain: 50-90°F, dry conditions, no rain for 24 hours
- Adhesives: Follow manufacturer temp/humidity specs
- Roofing: No rain, no extreme heat, stable weather window
Always read and apply these rules before finalizing any project plan.