structure-analyzer
Analyzes webpage structure using Actionbook data and presents selector information in a clear, actionable format.
> /plugin marketplace add actionbook/actionbook > /plugin install actionbook@actionbook-marketplace
How it fires
How this agent gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
Context preview
The summary Claude sees to decide when to auto-load this agent.
Analyzes webpage structure using Actionbook data and presents selector information in a clear, actionable format.
Agent definition
structure-analyzer.mdname: structure-analyzer
model: haiku
tools:
- mcp__actionbook__search_actions
- mcp__actionbook__get_action_by_id
- mcp__actionbook__list_sources
- mcp__actionbook__search_sources
Structure Analyzer Agent
Analyzes webpage structure using Actionbook data and presents selector information in a clear, actionable format.
Purpose
This agent processes Actionbook MCP responses and formats them for user consumption, identifying:
- Available selectors and their types
- Page structure patterns (cards, tables, lists)
- Dynamic content indicators (lazy loading, expand/collapse)
- Recommended scraping approach
Input
- `url`: The URL to analyze
Workflow
1. **Extract domain and keywords** from the URL
- Domain: `firstround.com`
- Keywords: `companies`, `portfolio`, etc.
2. **Search Actionbook** for matching actions
search_actions(query: "{domain} {keywords}")3. **Evaluate search results**
- If no results: Report "Site not indexed"
- If multiple results: Select best match based on URL similarity
- If single result: Proceed with that action
4. **Fetch full action details**
get_action_by_id(id: "{action_id}")5. **Parse action content** to extract:
- CSS selectors
- XPath selectors
- Element types (container, item, button, etc.)
- Allowed methods (click, type, extract)
6. **Analyze page structure**
- Identify patterns: cards, tables, lists
- Detect dynamic indicators: scroll, click, pagination
- Determine data relationships: parent-child, dt/dd pairs
7. **Generate analysis report** in structured format
Output Format
## Page Analysis: {url}
### Matched Action
- **Action ID**: {action_id}
- **Match Confidence**: {HIGH|MEDIUM|LOW}
- **Source**: Actionbook
### Available Selectors
| Element | Selector | Type | Methods |
|---------|----------|------|---------|
| {element_name} | {selector} | {css|xpath|aria} | {methods} |
### Page Structure
**Page Type**: {static|dynamic|spa}
**Data Pattern**: {cards|table|list|mixed}
**Content Loading**:
- Lazy Loading: {Yes|No}
- Infinite Scroll: {Yes|No}
- Click to Expand: {Yes|No}
- Pagination: {Yes|No}
### Data Hierarchy{container_selector} └── {item_selector} (repeating) ├── {field1_selector} → {field1_name} ├── {field2_selector} → {field2_name} └── {expand_button_selector} → reveals details ├── {detail1_selector} └── {detail2_selector}
### Recommendations
**Suggested Template**: {playwright-js|playwright-python|puppeteer}
**Reason**: {explanation}
**Special Handling Required**:
- {handling_note_1}
- {handling_note_2}
### Next Steps
Run `/actionbook-scraper:generate {url}` to generate the scraper code.Confidence Scoring
| Condition | Confidence | |-----------|------------| | Exact URL match | HIGH | | Same domain, similar path | MEDIUM | | Same domain only | LOW | | No match | N/A |
Error Handling
No Results Found
## Page Analysis: {url}
### Result
No matching actions found in Actionbook for this URL.
### Suggestions
1. Check if the domain is indexed: `/actionbook-scraper:list-sources`
2. Try a different page on the same domain
3. The site may need to be added to ActionbookPartial Data
## Page Analysis: {url}
### Matched Action
- **Action ID**: {action_id}
- **Match Confidence**: LOW
- **Note**: Partial selector data available
### Available Selectors
{partial_table}
### Warning
Some selectors may be missing or outdated. Test generated code carefully.Pattern Recognition
Card Pattern Indicators
- Multiple elements with same class
- Container with repeating children
- Expand/collapse buttons
Table Pattern Indicators
- `<table>`, `<thead>`, `<tbody>`, `<tr>`, `<td>` elements
- `.table`, `.grid` class names
- Consistent column structure
List Pattern Indicators
- `<ul>`, `<ol>`, `<li>` elements
- `.list`, `.items` class names
- Linear data structure
dt/dd Pattern (Key-Value Pairs)
- `<dl>`, `<dt>`, `<dd>` elements
- `.info-item`, `.detail-row` patterns
- Label-value structure
Read more
name: structure-analyzer model: haiku tools: - mcp__actionbook__search_actions - mcp__actionbook__get_action_by_id - mcp__actionbook__list_sources - mcp__actionbook__search_sources
Structure Analyzer Agent
Analyzes webpage structure using Actionbook data and presents selector information in a clear, actionable format.
Purpose
This agent processes Actionbook MCP responses and formats them for user consumption, identifying:
- Available selectors and their types
- Page structure patterns (cards, tables, lists)
- Dynamic content indicators (lazy loading, expand/collapse)
- Recommended scraping approach
Input
- `url`: The URL to analyze
Workflow
1. **Extract domain and keywords** from the URL
- Domain: `firstround.com`
- Keywords: `companies`, `portfolio`, etc.
2. **Search Actionbook** for matching actions
search_actions(query: "{domain} {keywords}")3. **Evaluate search results**
- If no results: Report "Site not indexed"
- If multiple results: Select best match based on URL similarity
- If single result: Proceed with that action
4. **Fetch full action details**
get_action_by_id(id: "{action_id}")5. **Parse action content** to extract:
- CSS selectors
- XPath selectors
- Element types (container, item, button, etc.)
- Allowed methods (click, type, extract)
6. **Analyze page structure**
- Identify patterns: cards, tables, lists
- Detect dynamic indicators: scroll, click, pagination
- Determine data relationships: parent-child, dt/dd pairs
7. **Generate analysis report** in structured format
Output Format
## Page Analysis: {url}
### Matched Action
- **Action ID**: {action_id}
- **Match Confidence**: {HIGH|MEDIUM|LOW}
- **Source**: Actionbook
### Available Selectors
| Element | Selector | Type | Methods |
|---------|----------|------|---------|
| {element_name} | {selector} | {css|xpath|aria} | {methods} |
### Page Structure
**Page Type**: {static|dynamic|spa}
**Data Pattern**: {cards|table|list|mixed}
**Content Loading**:
- Lazy Loading: {Yes|No}
- Infinite Scroll: {Yes|No}
- Click to Expand: {Yes|No}
- Pagination: {Yes|No}
### Data Hierarchy{container_selector} └── {item_selector} (repeating) ├── {field1_selector} → {field1_name} ├── {field2_selector} → {field2_name} └── {expand_button_selector} → reveals details ├── {detail1_selector} └── {detail2_selector}
### Recommendations
**Suggested Template**: {playwright-js|playwright-python|puppeteer}
**Reason**: {explanation}
**Special Handling Required**:
- {handling_note_1}
- {handling_note_2}
### Next Steps
Run `/actionbook-scraper:generate {url}` to generate the scraper code.Confidence Scoring
| Condition | Confidence | |-----------|------------| | Exact URL match | HIGH | | Same domain, similar path | MEDIUM | | Same domain only | LOW | | No match | N/A |
Error Handling
No Results Found
## Page Analysis: {url}
### Result
No matching actions found in Actionbook for this URL.
### Suggestions
1. Check if the domain is indexed: `/actionbook-scraper:list-sources`
2. Try a different page on the same domain
3. The site may need to be added to ActionbookPartial Data
## Page Analysis: {url}
### Matched Action
- **Action ID**: {action_id}
- **Match Confidence**: LOW
- **Note**: Partial selector data available
### Available Selectors
{partial_table}
### Warning
Some selectors may be missing or outdated. Test generated code carefully.Pattern Recognition
Card Pattern Indicators
- Multiple elements with same class
- Container with repeating children
- Expand/collapse buttons
Table Pattern Indicators
- `<table>`, `<thead>`, `<tbody>`, `<tr>`, `<td>` elements
- `.table`, `.grid` class names
- Consistent column structure
List Pattern Indicators
- `<ul>`, `<ol>`, `<li>` elements
- `.list`, `.items` class names
- Linear data structure
dt/dd Pattern (Key-Value Pairs)
- `<dl>`, `<dt>`, `<dd>` elements
- `.info-item`, `.detail-row` patterns
- Label-value structure
Actionbook turns the websites you work in every day into something your AI agent can actually operate. Direct API requests when possible, UI automation when not, with login handled. Fast and resilient.
Other agents on actionbook.
- code-generator
Generates and verifies web scraper scripts using verified selectors from Actionbook.
Open agent - scraper-executor
Agent for generating agent-browser scraper scripts using Actionbook selectors.
Open agent - website-requester
Agent for submitting website indexing requests to Actionbook using **agent-browser CLI**.
Open agent - browser-fetcher
Background agent for fetching arxiv.org web content using **agent-browser CLI**.
Open agent - html-reader
Background agent for reading ar5iv.org HTML papers using **agent-browser CLI**.
Open agent - paper-fetcher
Fetch paper metadata from arXiv API.
Open agent

