Contributing Guide

Thank you for considering contributing to playwright-scraper-skill!

πŸ› Reporting Issues

If you find a bug or have a feature suggestion:

  1. Check Issues to see if it already exists
  2. If not, create a new Issue
  3. Provide the following information:
    • Problem description
    • Steps to reproduce
    • Expected vs actual behavior
    • Environment (Node.js version, OS)
    • Error messages (if any)

πŸ’‘ Feature Requests

  1. Create an Issue with [Feature Request] in the title
  2. Explain:
    • The desired feature
    • Use cases
    • Why this feature would be useful

πŸ”§ Submitting Code

Setting Up Development Environment

# Fork the repo and clone
git clone https://github.com/YOUR_USERNAME/playwright-scraper-skill.git
cd playwright-scraper-skill
 
# Install dependencies
npm install
npx playwright install chromium
 
# Test
node scripts/playwright-simple.js https://example.com

Contribution Workflow

  1. Create a new branch:

    git checkout -b feature/my-new-feature
  2. Make your changes

  3. Test your changes:

    npm test
    node scripts/playwright-stealth.js <test-URL>
  4. Commit:

    git add .
    git commit -m "Add: brief description of changes"
  5. Push and create a Pull Request:

    git push origin feature/my-new-feature

Commit Message Guidelines

Use clear commit messages:

  • Add: new feature
  • Fix: issue description
  • Update: existing feature
  • Refactor: code refactoring
  • Docs: documentation update
  • Test: add or modify tests

Example:

Fix: playwright-stealth.js screenshot timeout issue

- Increase timeout parameter to 10 seconds
- Add try-catch error handling
- Update documentation

πŸ“ Documentation

If your changes affect usage:

  • Update SKILL.md (full documentation)
  • Update README.md (quick reference)
  • Update examples/README.md (if adding new examples)
  • Update CHANGELOG.md (record changes)

βœ… Checklist

Before submitting a PR, confirm:

  • Code runs properly
  • Doesn’t break existing functionality
  • Updated relevant documentation
  • Clear commit messages
  • No sensitive information (API keys, personal paths, etc.)

🎯 Priority Areas

Currently welcoming contributions in:

  1. New anti-bot techniques β€” Improve success rates
  2. Support more websites β€” Test and share success cases
  3. Performance optimization β€” Speed up scraping
  4. Error handling β€” Better error messages and recovery
  5. Documentation improvements β€” Clearer explanations and examples

🚫 Unaccepted Contributions

  • Adding complex dependencies (keep it lightweight)
  • Features violating privacy or laws
  • Breaking existing API changes (unless well justified)

πŸ“ž Contact

Have questions? Feel free to:

  • Create an Issue for discussion
  • Ask in Pull Request comments

Thank you for your contribution! πŸ™