Skip to main content

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:
"Use myapp-testing to verify the homepage loads correctly"

Best Practices

Enable exploration of authenticated areas by providing test credentials in your documentation files.
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.
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