Documentation-First Approach
The recommended way to use PullUp is with documentation files. PullUp automatically extracts URLs, credentials, pages, and features.
Single Documentation File
Create app-info.md:
# MyApp
Application runs at http://localhost:3000
## Features
- User login at /login
- Dashboard at /dashboard
- Product catalog at /products
## Test Credentials
- Email: test@example.com
- Password: testpass123
Generate skill:
node execute.js --name myapp --docs app-info.md
Documentation Folder
# Reads all .md, .txt files recursively
node execute.js --name myapp --docs ./project-docs
PullUp automatically extracts:
URLs (http://… or localhost:…)
Page paths (starting with /)
Credentials (email/password patterns)
Features (headings, bullet points)
Guided Exploration
Use the --prompt flag to provide context:
# Emphasize certain features
node execute.js --name myapp --docs ./docs \
--prompt "Focus on the e-commerce checkout flow"
# Guide documentation reading
node execute.js --name myapp --docs ./project-docs \
--prompt "The admin folder contains the most important features"
# Provide application context
node execute.js --name myapp --url http://localhost:3000 \
--prompt "This is a React SPA with client-side routing"
Example: E-commerce Site
# Create documentation
cat > ecommerce-info.md << EOF
# MyStore E-commerce
Production URL: https://mystore.example.com
Dev URL: http://localhost:3000
## Key Features
- Product browsing: /products
- Shopping cart: /cart
- Checkout: /checkout
- User account: /account
- Order history: /orders
## Test Account
Email: buyer@test.com
Password: testpass123
## Admin Panel
URL: /admin
Email: admin@test.com
Password: adminpass123
EOF
# Generate skill
node execute.js --name mystore --docs ecommerce-info.md \
--prompt "Focus on checkout flow and admin panel"
Example: SaaS Dashboard
# Using existing project docs
node execute.js --name saasapp --docs ./docs \
--max-depth 4 \
--max-pages 100 \
--prompt "Document the analytics dashboard and settings"
Example: Simple Landing Page
# Minimal setup - just URL
node execute.js --name landingpage --url https://example.com \
--max-pages 10
Control Exploration
Depth and Page Limits
# Shallow exploration (fast)
node execute.js --name myapp --url http://localhost:3000 \
--max-depth 2 --max-pages 20
# Deep exploration (thorough)
node execute.js --name myapp --url http://localhost:3000 \
--max-depth 5 --max-pages 150
Verbose Output
# See detailed exploration progress
node execute.js --name myapp --docs ./docs --verbose
Updating Skills
When your application changes:
# Simple update
node execute.js --name myapp --update
# Update with new documentation
node execute.js --name myapp --docs ./updated-docs --update
# Update with new guidance
node execute.js --name myapp --update \
--prompt "New payment integration added"
Custom Output Location
# Save to project directory
node execute.js --name myapp --docs ./docs \
--output ./.claude/skills
# Save to shared team location
node execute.js --name myapp --docs ./docs \
--output /shared/team-skills
Using Generated Skills
After creation, use the skill naturally:
Testing Homepage
Testing Login
Testing Forms
Testing Flows
"Use myapp-testing to verify the homepage loads correctly"
Best Practices
Include credentials in documentation
Enable exploration of authenticated areas by providing test credentials in your documentation files.
Document key pages explicitly
List important pages in your documentation to ensure they’re discovered and mapped.
Provide application-specific context to help PullUp prioritize and understand your app better.
Begin with --max-pages 25 and increase as needed. Faster iteration during initial setup.
Re-run PullUp when you add significant features to keep the skill current.
Review generated knowledge
Check ~/.claude/skills/yourapp-testing/app-knowledge.json to verify accuracy.
Generated Skill Structure
When PullUp completes, you’ll get:
~/.claude/skills/myapp-testing/
├── SKILL.md # Skill definition
├── app-knowledge.json # Application structure map
├── test-patterns.js # Test helper functions
└── README.md # Usage documentation
What’s Included
Pages discovered - All URLs, titles, and page types
Forms mapped - Input fields, buttons, validation
User flows - Login, signup, checkout sequences
Test data - Appropriate values for each form field
Navigation - Site structure and hierarchy
Team Collaboration
Share generated skills with your team:
# Add skill to version control
git add ~/.claude/skills/myapp-testing/
git commit -m "Add PullUp skill for myapp"
git push
# Team members can use immediately
"Use myapp-testing to verify the new feature"
Skills are portable and self-contained. Team members don’t need to re-run PullUp.
Next Steps