Agent skill · operations · datadrivenconstruction

permit-tracking-automation

Automate construction permit tracking and management. Monitor application status, track renewal deadlines, manage document requirements, and integrate with municipal systems.

Why this skill is useful

Provides domain-specific automation scripts for tracking construction permits that are not widely available in public documentation.

What it needs

Requires python3 installed locally. About 6k tokens when loaded. Last updated 2026-02-14. 265 stars on the source repository.

What this skill does

Permit Tracking Automation Overview This skill implements automated permit tracking for construction projects. Monitor permit status, manage document requirements, track deadlines, and integrate with local authority systems. Capabilities: Permit application tracking Document management Deadline monitoring Status notifications Compliance checking Renewal automation Quick Start Comprehensive Permit Management System Permit Data Model Permit Tracking Engine Deadline Monitoring `python from datetime import date, timedelta from typing import List, Dict class DeadlineMonitor: """Monitor permit deadlines and send alerts""" def init(self, tracker: PermitTracker): self.tracker = tracker self.alertthresholds = { 'expiry': [90, 60, 30, 14, 7], # Days before expiry 'feedue': [30, 14, 7, 1], # Days before fee due 'inspection': [7, 3, 1] # Days before inspection } def checkalldeadlines(self) -> List[Dict]: """Check all permit deadlines""" alerts = [] today = date.today() for appid, app in self.tracker.applications.items(): # Check expiry if app.expirydate: daystoexpiry = (app.expirydate - today).days for threshold in self.alertthresholds['expiry']: if daystoexpiry == threshold: alerts.append({ 'type': 'expirywarning', 'applicationid': appid, 'permitnumber': app.permitnumber, 'permittype': app.permittype.value, 'expirydate': app.expirydate.isoformat(), 'daysremaining': daystoexpiry, 'priority': 'high' if daystoexpiry <= 14 else 'medium' }) break if daystoexpiry < 0: alerts.append({ 'type': 'expired', 'applicationid': appid, 'permitnumber': app.permitnumber, 'permittype': app.permittype.value, 'expirydate': app.expirydate.isoformat(), 'daysoverdue': abs(daystoexpiry), 'priority': 'critical' }) # Check fees for fee in app.fees: if not fee.paiddate: daystodue = (fee.duedate - today).days for threshold in self.alertthresholds['feedue']: if daystodue == threshold: alerts.append({ 'type': 'feedue', 'applicationid': appid, 'feetype': fee.feetype, 'amount': fee.amount, 'duedate': fee.dued …

How to use it

Reference it in AdaL, Claude Code, Cursor or any coding agent — nothing to install:

@skills datadrivenconstruction/permit-tracking-automation

View the source on GitHub

Browse the @skills marketplace