mikeonbreeze/cc-crossbeam/adu-city-research
Claude Code and agent skill by mikeonbreeze/cc-crossbeam
- community
Checking that the SKILL.md file is still in the repository.
Researches city-level ADU regulations, municipal codes, and standard details for any California city. This skill supports three research modes — Discovery (WebSearch to find key URLs), Targeted Extraction (WebFetch to pull content from discovered URLs), and Browser Fallback (Chrome MCP for cities with difficult websites). When used standalone, run all three modes sequentially. When invoked by an orchestrator (e.g., adu-corrections-flow), run in the specified mode only. Triggers on city-specific…
Install
npx vskill@latest install mikeonbreeze/cc-crossbeam/adu-city-researchSKILL.md
ADU City Research
Overview
Research city-level ADU regulations for any California city. California has 480+ cities, each with different websites, different municipal code platforms, and different formats. State ADU law (covered by the california-adu skill) addresses certain development standards, while cities have their own additional requirements — local building code amendments, grading ordinances, utility standards, and submittal expectations. This skill finds what a specific city requires at the local level.
Key principle: Every California city is required by law to publish their ADU regulations on their website. The information exists — this skill is the method for finding it.
Required tools: WebSearch and WebFetch at minimum. Chrome MCP (browser automation) only needed for Mode 3 (Browser Fallback).
Research Modes
This skill operates in three modes. When used standalone, run all three sequentially. When invoked by an orchestrator, run only the specified mode.
| Mode | Tool | Speed | Purpose | |
|---|---|---|---|---|
| Discovery | WebSearch | ~30 sec | Find key URLs for the city | |
| Targeted Extraction | WebFetch | ~60-90 sec | Pull specific content from discovered URLs | |
| Browser Fallback | Chrome MCP | ~2-3 min | Navigate difficult city websites that resist WebFetch |
When to Use Each Mode
- Standalone (no orchestrator): Run Discovery → Extraction → Fallback (if needed). Single agent, sequential.
- Orchestrated (called by
adu-corrections-flow): The orchestrator specifies which mode to run. Discovery runs in parallel with other research. Extraction runs after Discovery completes. Fallback runs only if Extraction has gaps. - Fan-out ready: The Extraction mode takes a list of URLs + topics. An orchestrator can split this list across multiple agents for parallel extraction without changing the mode's logic.
Mode 1: Discovery
Tool: WebSearch only Input: City name + list of correction topics (optional — omit for comprehensive discovery) Output: city_discovery.json — key URLs organized by category Time: ~30 seconds
Process
Run 3-5 targeted web searches to find the city's key ADU-related pages. Do NOT fetch or read the pages — just find the URLs.
Search queries to run (in order of priority):
"City of [Name]" ADU accessory dwelling unit— finds the city's ADU page"City of [Name]" municipal code— finds the code platform (ecode360, Municode, QCode, etc.)"City of [Name]" standard detail constructionOR"City of [Name]" standard plans engineering— finds standard detail PDFs"City of [Name]" information bulletin building— finds IBs"City of [Name]" building permit submittal requirements— finds checklists
If correction topics are provided, add targeted searches:
| Correction Topic | Additional Search | |
|---|---|---|
| Sewer / utility connections | "City of [Name]" standard detail sewer connection ADU | |
| Grading / drainage | "City of [Name]" grading ordinance drainage requirements | |
| Wind loads / structural | "City of [Name]" information bulletin wind design parameters | |
| Fire separation | "City of [Name]" fire separation property line setback |
Platform detection: Identify the municipal code platform from search results. See references/municipal-code-platforms.md for the major platforms (ecode360, Municode, QCode, American Legal, Sterling Codifiers, city-hosted).
Building vs. Planning split: Larger cities often split ADU information across two departments. Flag both URLs if found.
Discovery Output Format
Important: Discovery only finds URLs — it does NOT read page content. Speed comes from not fetching anything. The Extraction mode does the reading.
Mode 2: Targeted Extraction
Tool: WebFetch primarily Input: Discovery results (city_discovery.json or equivalent URL list) + specific topics to extract Output: city_research_findings.json — extracted content organized by category Time: ~60-90 seconds (depends on number of URLs)
Process
For each URL from Discovery, fetch the page content and extract information relevant to the correction topics. Prioritize by impact.
Extraction priority (highest first):
- Standard detail PDFs — If the corrections reference city standard details, fetching these PDFs is the single most valuable action. They show exactly what the city wants drawn.
- Municipal code sections — Fetch the specific title/chapter relevant to corrections (building code amendments, ADU ordinance, grading chapter). Do NOT fetch the entire municipal code.
- Information Bulletins — Fetch IBs relevant to correction topics (wind parameters, submittal guides).
- ADU page content — Fetch the city's ADU page for any additional requirements or handouts.
- Submittal requirements — Fetch if corrections reference missing sheets, notes, or plan check items.
What to extract from each page:
| Source | Extract | |
|---|---|---|
| Municipal code — building title | Local amendments to CBC/CRC/CPC/CEC/CMC. Chapter structure. Code edition (2022 vs 2025). | |
| Municipal code — ADU ordinance | Setbacks, height, size, design standards beyond state law. | |
| Municipal code — grading chapter | Drainage slope requirements, grading permit thresholds, excavation rules. | |
| Standard details | PDF title, detail number, what it shows, whether it matches corrections reference. | |
| Information Bulletins | IB number, title, key requirements, applicable code sections. | |
| ADU page | Any requirements not in the municipal code (fees, process, special conditions). |
WebFetch tips:
- Most municipal code platforms (ecode360, Municode, QCode) serve clean HTML that WebFetch handles well.
- Standard detail PDFs may not be readable via WebFetch — note the URL and title for the professional to download.
- If WebFetch returns empty or error for a URL, add it to
extraction_gapsfor Browser Fallback.
Extraction Output Format
Fan-out design: The extraction input is a list of URLs + topics. To parallelize, split this list:
- Agent 1: Municipal code URLs + code-related topics
- Agent 2: Standard detail and IB URLs
- Agent 3: ADU page + submittal requirements
Each agent produces a partial city_research_findings.json. The orchestrator merges them.
Mode 3: Browser Fallback
Tool: Chrome MCP (browser automation) Input: City name + extraction_gaps from Mode 2 Output: Gap-filling additions to city_research_findings.json Time: ~2-3 minutes When to use: Only when Mode 2 has extraction gaps that matter for the corrections
Process
For each gap in extraction_gaps:
- Navigate to the city's website (start from the ADU page or main site)
- Use browser automation to click through to the needed page
- Read the content visually or via page text extraction
- Extract the missing information
Common reasons for gaps and browser strategies:
| Gap Reason | Browser Strategy | |
|---|---|---|
| PDF not readable via WebFetch | Navigate to the document center, find the PDF listing, read the page description if the PDF itself can't be parsed | |
| Municipal code behind JavaScript framework | Navigate to the code platform, use the TOC to drill into the right title/chapter | |
| City site requires clicking through menus | Start at the department page, click through Building → Resources → Information Bulletins | |
| Standard details on a map/GIS-based system | Navigate to the engineering page, find the standard plans section |
Do NOT use Browser Fallback for:
- URLs that WebFetch handled successfully
- Topics where no gap exists
- General browsing "just to be thorough" — this mode is for filling specific gaps
Browser Fallback Output
Return the same structure as Mode 2's specific_findings array, to be merged into the existing research findings.
What to Search For
Seven categories of city-level information relevant to ADU projects:
This is the start of the file. Read the full SKILL.md on GitHub.
Security
- Security scanPassed, 100 of 100Pattern checks on the skill's files.
- Model reviewNot runA model review is scheduled for the next rescan.
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingserver/skills/adu-city-research/SKILL.md
Popularity
- Repository stars
- 171
- Repository forks
- 62
- 7-day trend score
- 26
Stars and forks are for the whole GitHub repository, not this skill alone. Refreshed 18 Mar 2026, 7 months ago.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/mikeonbreeze/cc-crossbeam/adu-city-research)