permit-filing

File permit applications on a demo portal and record confirmation numbers in a local sqlite database.

2|Updated Jun 26, 2026
One-click install
npx skills add https://github.com/otenycom/talents --skill permit-filing-otenycom
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: permit-filing
Source: https://github.com/otenycom/talents/tree/main/skills/oteny-permit-filer-demo/permit-filing
Command: npx skills add https://github.com/otenycom/talents --skill permit-filing-otenycom

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? Filing permit applications through a web portal is repetitive and error-prone, and automating it risks duplicate submissions or fabricated confirmations. This Skill drives the portal wizard step by step from local records, reads the real confirmation number off the page, and records it back with fail-closed safeguards. ## Core Features & Use Cases - Guided portal filing: Walks the multi-page application wizard one native click or type at a time using a shipped selector map, verifying each value with a snapshot. - Duplicate and crash protection: Uses a write-ahead PENDING marker so an interrupted run is never re-filed, and never invents a confirmation number. - Fail-closed escalation: On browser errors, redesigned pages, or missing confirmations, it stops, marks the row escalated, and reports to the owner. - Use Case: A pending scaffolding permit row exists in the local sqlite database; the Skill opens the portal, fills applicant, site, and review pages, submits explicitly, and writes the returned P- confirmation number back to the row. ## Quick Start File the next pending permit application from the local database on the demo portal and report its confirmation number.

Frequently Asked Questions about permit-filing

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I automate filing a permit application on a web portal?▼

Read the pending row from the sqlite database, navigate to the portal, and fill each wizard page one native click or type at a time using the selector map. After an explicit submit click, read the confirmation number off the page and write it back to the row.

How to prevent duplicate form submissions in browser automation?▼

Write a PENDING marker to the database before submitting, so a crashed run is detected on the next pass and never re-filed. Rows that already hold a real confirmation number are reported as filed and skipped.

Can browser automation read form values with JavaScript?▼

No, the browser console escape hatch cannot read form values due to safety policy. Verification is done by taking a snapshot after each native click or type to confirm the value stuck.

What happens when the permit portal is unreachable or errors?▼

The Skill fails closed: it stops after the second identical error, sets the row status to escalated, reports the problem to the owner, and writes nothing. It never improvises URLs or invents a confirmation number.

Why does the municipality dropdown show no options during form filling?▼

The portal starts with the local municipalities only filter checked, which hides non-local options. Uncheck that filter first, then select the municipality from the combobox.