Skill flagged — suspicious patterns detected

ClawHub Security flagged this skill as suspicious. Review the scan results before using.

Nyc 311 Reporter

v1.0.0

Automate NYC 311 service request filing by browsing the 311 portal with Playwright. Scrapes complaint categories, finds forms, fills them with user data, and...

0· 94· 1 versions· 1 current· 1 all-time· Updated 6h ago· MIT-0
byPranjal Minocha@pranjalminocha

Install

openclaw skills install nyc-311-reporter

NYC 311 Reporter

Automates NYC 311 complaint filing using Playwright for browser automation.

Workflow

Step 1: Read User Complaint

Extract from natural language:

  • Location — Where is the issue?
  • Description — What is happening?
  • Vehicle/Details — Car make, model, color, plate if available
  • Duration — How long has it been there?
  • Photos — Does the user have photos?

Step 2: Scrape Categories

Run the browser script to explore available complaint categories:

python3 scripts/browse_311.py scrape

Step 3: Find the Right Form

For fire hydrant complaints:

python3 scripts/browse_311.py find

Step 4: Fill and Submit

Run with your complaint details:

Dry run (preview only):

python3 scripts/browse_311.py submit \
  --location "726 DeKalb Avenue, Brooklyn, NY" \
  --vehicle "Gray Nissan Micra" \
  --duration "10 hours" \
  --name "Ricardo Díaz" \
  --email "ricardo@example.com" \
  --phone "+19299990000"

Actual submission:

python3 scripts/browse_311.py submit \
  --location "726 DeKalb Avenue, Brooklyn, NY" \
  --vehicle "Gray Nissan Micra" \
  --duration "10 hours" \
  --name "Ricardo Díaz" \
  --email "ricardo@example.com" \
  --phone "+19299990000" \
  --submit

User Profile

Store user information in assets/config.json:

{
  "name": "Ricardo Díaz",
  "phone": "+19299990000",
  "email": "ricardo@example.com",
  "home_address": "726 DeKalb Avenue",
  "work_address": "726 DeKalb Avenue",
  "apartment": "1E",
  "preferred_contact": "email",
  "notify_updates": true
}

Scripts

  • scripts/browse_311.py — Main automation script:
    • scrape — List all complaint categories
    • find — Find the fire hydrant/parking form
    • submit — Fill and optionally submit the form

Installation

pip install -r requirements.txt
playwright install chromium

Notes

  • Screenshots are saved to /tmp/ for review
  • The script handles JavaScript-heavy pages
  • Run without --submit first to verify the form fills correctly
  • If 311 portal has technical issues, the script will report errors

Version tags

latestvk97exg25kjsk3s5e1na9qxz1fn84np37