@athenaflow/plugin-site-knowledge 1.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude-plugin/plugin.json +16 -0
- package/.codex-plugin/plugin.json +15 -0
- package/dist/1.0.2/.agents/plugins/marketplace.json +14 -0
- package/dist/1.0.2/claude/plugin/.claude-plugin/plugin.json +16 -0
- package/dist/1.0.2/claude/plugin/package.json +9 -0
- package/dist/1.0.2/claude/plugin/skills/airbnb/SKILL.md +20 -0
- package/dist/1.0.2/claude/plugin/skills/airbnb/agents/claude.yaml +2 -0
- package/dist/1.0.2/claude/plugin/skills/airbnb/references/airbnb.md +58 -0
- package/dist/1.0.2/claude/plugin/skills/amazon/SKILL.md +20 -0
- package/dist/1.0.2/claude/plugin/skills/amazon/agents/claude.yaml +2 -0
- package/dist/1.0.2/claude/plugin/skills/amazon/references/amazon.md +62 -0
- package/dist/1.0.2/claude/plugin/skills/apple-store/SKILL.md +20 -0
- package/dist/1.0.2/claude/plugin/skills/apple-store/agents/claude.yaml +2 -0
- package/dist/1.0.2/claude/plugin/skills/apple-store/references/apple-store.md +67 -0
- package/dist/1.0.2/codex/plugin/.codex-plugin/plugin.json +15 -0
- package/dist/1.0.2/codex/plugin/package.json +9 -0
- package/dist/1.0.2/codex/plugin/skills/airbnb/SKILL.md +20 -0
- package/dist/1.0.2/codex/plugin/skills/airbnb/agents/claude.yaml +2 -0
- package/dist/1.0.2/codex/plugin/skills/airbnb/references/airbnb.md +58 -0
- package/dist/1.0.2/codex/plugin/skills/amazon/SKILL.md +20 -0
- package/dist/1.0.2/codex/plugin/skills/amazon/agents/claude.yaml +2 -0
- package/dist/1.0.2/codex/plugin/skills/amazon/references/amazon.md +62 -0
- package/dist/1.0.2/codex/plugin/skills/apple-store/SKILL.md +20 -0
- package/dist/1.0.2/codex/plugin/skills/apple-store/agents/claude.yaml +2 -0
- package/dist/1.0.2/codex/plugin/skills/apple-store/references/apple-store.md +67 -0
- package/dist/1.0.2/release.json +18 -0
- package/package.json +13 -0
- package/skills/airbnb/SKILL.md +20 -0
- package/skills/airbnb/agents/claude.yaml +2 -0
- package/skills/airbnb/references/airbnb.md +58 -0
- package/skills/amazon/SKILL.md +20 -0
- package/skills/amazon/agents/claude.yaml +2 -0
- package/skills/amazon/references/amazon.md +62 -0
- package/skills/apple-store/SKILL.md +20 -0
- package/skills/apple-store/agents/claude.yaml +2 -0
- package/skills/apple-store/references/apple-store.md +67 -0
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "site-knowledge",
|
|
3
|
+
"description": "Site-specific automation patterns and knowledge for popular websites (Airbnb, Amazon, Apple Store)",
|
|
4
|
+
"version": "1.0.2",
|
|
5
|
+
"author": {
|
|
6
|
+
"name": "Athenaflow"
|
|
7
|
+
},
|
|
8
|
+
"keywords": [
|
|
9
|
+
"site-patterns",
|
|
10
|
+
"airbnb",
|
|
11
|
+
"amazon",
|
|
12
|
+
"apple",
|
|
13
|
+
"automation-knowledge"
|
|
14
|
+
],
|
|
15
|
+
"category": "browser-automation"
|
|
16
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "site-knowledge",
|
|
3
|
+
"version": "1.0.2",
|
|
4
|
+
"description": "Site-specific automation patterns and knowledge for popular websites (Airbnb, Amazon, Apple Store)",
|
|
5
|
+
"author": {
|
|
6
|
+
"name": "Athenaflow"
|
|
7
|
+
},
|
|
8
|
+
"skills": "./skills/",
|
|
9
|
+
"interface": {
|
|
10
|
+
"displayName": "Site Knowledge",
|
|
11
|
+
"shortDescription": "Automation patterns for popular websites",
|
|
12
|
+
"developerName": "Athenaflow",
|
|
13
|
+
"category": "Browser Automation"
|
|
14
|
+
}
|
|
15
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "site-knowledge",
|
|
3
|
+
"description": "Site-specific automation patterns and knowledge for popular websites (Airbnb, Amazon, Apple Store)",
|
|
4
|
+
"version": "1.0.2",
|
|
5
|
+
"author": {
|
|
6
|
+
"name": "Athenaflow"
|
|
7
|
+
},
|
|
8
|
+
"keywords": [
|
|
9
|
+
"site-patterns",
|
|
10
|
+
"airbnb",
|
|
11
|
+
"amazon",
|
|
12
|
+
"apple",
|
|
13
|
+
"automation-knowledge"
|
|
14
|
+
],
|
|
15
|
+
"category": "browser-automation"
|
|
16
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: airbnb
|
|
3
|
+
description: >
|
|
4
|
+
Use when automating airbnb.com, searching for stays, browsing experiences, creating wishlists,
|
|
5
|
+
completing bookings, or writing tests for Airbnb flows. Covers site structure, search and booking
|
|
6
|
+
heuristics, and common Airbnb interaction patterns. Load live selectors from the browser; use the
|
|
7
|
+
bundled reference only for flow guidance and modal caveats.
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Airbnb Automation Skill
|
|
11
|
+
|
|
12
|
+
This skill is a thin router. Use it together with `agent-web-interface-guide` for live browser work.
|
|
13
|
+
|
|
14
|
+
## Workflow
|
|
15
|
+
|
|
16
|
+
1. Load `agent-web-interface-guide` before using browser MCP tools.
|
|
17
|
+
2. Read [references/airbnb.md](references/airbnb.md) for Airbnb search, listing, filter, and modal heuristics.
|
|
18
|
+
3. Treat all selectors in the reference as patterns, not guarantees. Derive the current `eid` and live selector from the page with `find`, `get_form`, and `get_element`.
|
|
19
|
+
4. Re-check page state after search, filter changes, or modal dismissal because Airbnb frequently re-renders key controls.
|
|
20
|
+
5. Before any booking or sign-in step, confirm dates, guest counts, listing identity, and total price with the user.
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
# Airbnb Reference
|
|
2
|
+
|
|
3
|
+
Use this file for Airbnb-specific heuristics after loading `agent-web-interface-guide`. Do not rely on exact selectors; Airbnb frequently re-renders controls and varies by locale and experiment bucket.
|
|
4
|
+
|
|
5
|
+
## URL Patterns
|
|
6
|
+
|
|
7
|
+
- Home: `https://www.airbnb.com`
|
|
8
|
+
- Search results: `https://www.airbnb.com/s/<location>/homes`
|
|
9
|
+
- Listing detail: `https://www.airbnb.com/rooms/<id>`
|
|
10
|
+
- Experiences: `https://www.airbnb.com/experiences`
|
|
11
|
+
|
|
12
|
+
## Search Heuristics
|
|
13
|
+
|
|
14
|
+
Typical search flow:
|
|
15
|
+
|
|
16
|
+
1. Choose location
|
|
17
|
+
2. Choose check-in and check-out dates
|
|
18
|
+
3. Choose guests
|
|
19
|
+
4. Submit search
|
|
20
|
+
|
|
21
|
+
Airbnb may collapse the search UI into progressive steps, a modal, or a sticky header variant. Re-read the page after each step.
|
|
22
|
+
|
|
23
|
+
## Results Heuristics
|
|
24
|
+
|
|
25
|
+
- Results may be infinite-scroll or paginated with `Show more`.
|
|
26
|
+
- Filters often open as modals or drawers rather than inline controls.
|
|
27
|
+
- Listing cards usually expose title, price, rating, and save/heart actions.
|
|
28
|
+
- Map/list toggles can re-layout the page substantially.
|
|
29
|
+
|
|
30
|
+
## Listing Heuristics
|
|
31
|
+
|
|
32
|
+
Before any reserve action, verify:
|
|
33
|
+
|
|
34
|
+
- Listing identity
|
|
35
|
+
- Dates
|
|
36
|
+
- Guest count
|
|
37
|
+
- Nightly price
|
|
38
|
+
- Full price breakdown including fees
|
|
39
|
+
- Cancellation policy when relevant
|
|
40
|
+
|
|
41
|
+
## Modal And Prompt Heuristics
|
|
42
|
+
|
|
43
|
+
Common interruptions:
|
|
44
|
+
|
|
45
|
+
- Cookie consent
|
|
46
|
+
- Login or sign-up prompt
|
|
47
|
+
- Translation prompt
|
|
48
|
+
- Date or guest picker overlays
|
|
49
|
+
|
|
50
|
+
Dismiss or resolve them explicitly, then snapshot again before continuing.
|
|
51
|
+
|
|
52
|
+
## Common Failure Modes
|
|
53
|
+
|
|
54
|
+
- Search controls re-rendering and invalidating stale element IDs
|
|
55
|
+
- Date selection not persisting when the modal closes
|
|
56
|
+
- Guest counts resetting after filter changes
|
|
57
|
+
- Price mismatch between results card and final booking breakdown
|
|
58
|
+
- Hidden fees only appearing deeper in the booking flow
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: amazon
|
|
3
|
+
description: >
|
|
4
|
+
Use when automating amazon.com, searching for products, adding items to cart, browsing deals,
|
|
5
|
+
navigating product pages, or writing tests for Amazon shopping flows. Covers site structure,
|
|
6
|
+
search/buying heuristics, and common Amazon interaction patterns. Load live selectors from the
|
|
7
|
+
browser; use the bundled reference only for flow guidance and site-specific caveats.
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Amazon Automation Skill
|
|
11
|
+
|
|
12
|
+
This skill is a thin router. Use it together with `agent-web-interface-guide` for live browser work.
|
|
13
|
+
|
|
14
|
+
## Workflow
|
|
15
|
+
|
|
16
|
+
1. Load `agent-web-interface-guide` before using browser MCP tools.
|
|
17
|
+
2. Read [references/amazon.md](references/amazon.md) for Amazon search, product, cart, and modal heuristics.
|
|
18
|
+
3. Treat all selectors in the reference as starting patterns only. Derive the current `eid` and live selector from the page with `find`, `get_form`, and `get_element`.
|
|
19
|
+
4. Expect Amazon to vary by seller, region, stock state, and experiment bucket. Re-evaluate the flow after every navigation or modal open.
|
|
20
|
+
5. Before checkout or sign-in, confirm the intended product, seller, quantity, and total with the user.
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
# Amazon Reference
|
|
2
|
+
|
|
3
|
+
Use this file for Amazon-specific heuristics after loading `agent-web-interface-guide`. Do not rely on exact selectors; Amazon frequently changes labels, placement, and region-specific chrome.
|
|
4
|
+
|
|
5
|
+
## URL Patterns
|
|
6
|
+
|
|
7
|
+
- Home: `https://www.amazon.com`
|
|
8
|
+
- Search results: `https://www.amazon.com/s?k=<query>`
|
|
9
|
+
- Product detail: `https://www.amazon.com/<slug>/dp/<asin>`
|
|
10
|
+
- Cart: `https://www.amazon.com/gp/cart/view.html`
|
|
11
|
+
|
|
12
|
+
## Search Heuristics
|
|
13
|
+
|
|
14
|
+
- Prefer precise product queries over broad ones.
|
|
15
|
+
- Sponsored results often appear above the best organic match.
|
|
16
|
+
- Related-search links can narrow ambiguous results faster than refining the query manually.
|
|
17
|
+
- Autocomplete suggestions may not be directly targetable; pressing Enter is often more reliable.
|
|
18
|
+
|
|
19
|
+
## Product Page Heuristics
|
|
20
|
+
|
|
21
|
+
- Some products expose a direct `Add to Cart`.
|
|
22
|
+
- Others route through `See All Buying Options`, especially when multiple sellers compete or stock is constrained.
|
|
23
|
+
- Seller, condition, shipping speed, and region can change what controls are visible.
|
|
24
|
+
- The first prominent purchase control is not always the cheapest or intended seller option.
|
|
25
|
+
|
|
26
|
+
## Buying Options Heuristics
|
|
27
|
+
|
|
28
|
+
When `Add to Cart` is absent:
|
|
29
|
+
|
|
30
|
+
1. Open the buying options surface
|
|
31
|
+
2. Compare seller, condition, and price
|
|
32
|
+
3. Pick the intended seller explicitly
|
|
33
|
+
4. Re-check the resulting cart page for the actual seller and item configuration
|
|
34
|
+
|
|
35
|
+
## Cart Verification
|
|
36
|
+
|
|
37
|
+
Confirm:
|
|
38
|
+
|
|
39
|
+
- Product title
|
|
40
|
+
- Seller when relevant
|
|
41
|
+
- Quantity
|
|
42
|
+
- Price per item
|
|
43
|
+
- Subtotal
|
|
44
|
+
|
|
45
|
+
Do not trust search-result price text as final cart price. Amazon often changes price or seller between results and checkout surfaces.
|
|
46
|
+
|
|
47
|
+
## Common Modals And Interruptions
|
|
48
|
+
|
|
49
|
+
- Region or locale prompt
|
|
50
|
+
- Sign-in prompt
|
|
51
|
+
- Protection plan or add-on upsell
|
|
52
|
+
- Buying options drawer or modal
|
|
53
|
+
|
|
54
|
+
Dismiss or resolve these explicitly before continuing.
|
|
55
|
+
|
|
56
|
+
## Common Failure Modes
|
|
57
|
+
|
|
58
|
+
- Search results polluted by accessories or competing products
|
|
59
|
+
- Sponsored result chosen accidentally
|
|
60
|
+
- Wrong seller added through buying options
|
|
61
|
+
- Region-specific currency or shipping state confusing comparisons
|
|
62
|
+
- Cart page showing bundle, protection plan, or add-on that was added during the flow
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: apple-store
|
|
3
|
+
description: >
|
|
4
|
+
Use when automating apple.com, configuring iPhones or other Apple products, navigating the Apple
|
|
5
|
+
Store, adding items to bag, or writing tests for Apple Store flows. Covers site structure, purchase
|
|
6
|
+
flows, bag behavior, and Apple-specific interaction patterns. Load live selectors from the browser;
|
|
7
|
+
use the bundled reference only for site heuristics and flow guidance.
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Apple Store Automation Skill
|
|
11
|
+
|
|
12
|
+
This skill is a thin router. Use it together with `agent-web-interface-guide` for live browser work.
|
|
13
|
+
|
|
14
|
+
## Workflow
|
|
15
|
+
|
|
16
|
+
1. Load `agent-web-interface-guide` before using browser MCP tools.
|
|
17
|
+
2. Read [references/apple-store.md](references/apple-store.md) for Apple Store navigation, flow order, and bag heuristics.
|
|
18
|
+
3. Treat selectors in the reference as patterns, not guarantees. Derive the current `eid` and best live selector from the page with `find`, `get_form`, and `get_element`.
|
|
19
|
+
4. Re-check the page after each configuration step because Apple often enables downstream options only after prerequisites are selected.
|
|
20
|
+
5. Before any checkout or order placement step, confirm the final configuration and total with the user.
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
# Apple Store Reference
|
|
2
|
+
|
|
3
|
+
Use this file for Apple Store heuristics after loading `agent-web-interface-guide`. Do not assume exact selectors remain stable across sessions; resolve live elements from the page before acting.
|
|
4
|
+
|
|
5
|
+
## URL Patterns
|
|
6
|
+
|
|
7
|
+
- Store home: `/store`
|
|
8
|
+
- Product listing: `/shop/buy-{product}`
|
|
9
|
+
- Product configurator: `/shop/buy-{product}/{model}`
|
|
10
|
+
- Bag: `/shop/bag`
|
|
11
|
+
- Checkout: `/shop/checkout`
|
|
12
|
+
|
|
13
|
+
## Common Flow Shape
|
|
14
|
+
|
|
15
|
+
Apple purchase flows are usually sequential. Later choices often remain disabled until earlier choices are selected.
|
|
16
|
+
|
|
17
|
+
Typical order:
|
|
18
|
+
|
|
19
|
+
1. Select model or base configuration
|
|
20
|
+
2. Select color
|
|
21
|
+
3. Select storage or memory
|
|
22
|
+
4. Select carrier or connectivity options when applicable
|
|
23
|
+
5. Select trade-in or no trade-in
|
|
24
|
+
6. Select AppleCare option or no coverage
|
|
25
|
+
7. Add to bag
|
|
26
|
+
8. Review optional accessories page
|
|
27
|
+
9. Open bag and verify contents
|
|
28
|
+
|
|
29
|
+
## Page Heuristics
|
|
30
|
+
|
|
31
|
+
- Store landing pages often expose direct `Buy` links for each product family.
|
|
32
|
+
- Product grids usually show a product heading, a price text node like `From $...`, and a `Buy` link.
|
|
33
|
+
- Configurator choices usually surface as radio groups.
|
|
34
|
+
- Bag controls may render as links, buttons, or comboboxes depending on the page and experiment bucket. Derive them live.
|
|
35
|
+
|
|
36
|
+
## What To Verify At Each Step
|
|
37
|
+
|
|
38
|
+
- The newly selected option is marked selected or checked.
|
|
39
|
+
- The next section becomes enabled after the prerequisite selection.
|
|
40
|
+
- The configured price updates when storage, memory, or purchase option changes.
|
|
41
|
+
- The add-to-bag control becomes enabled before clicking.
|
|
42
|
+
|
|
43
|
+
## Common Optional Gates
|
|
44
|
+
|
|
45
|
+
- Trade-in prompts: choose explicit no-trade-in when the user did not ask for trade-in.
|
|
46
|
+
- AppleCare prompts: choose explicit no-coverage when the user did not ask for coverage.
|
|
47
|
+
- Accessory upsells: Apple often inserts a post-add accessory page with a `Review Bag` button.
|
|
48
|
+
|
|
49
|
+
## Bag Verification
|
|
50
|
+
|
|
51
|
+
Confirm:
|
|
52
|
+
|
|
53
|
+
- Product name
|
|
54
|
+
- Full configuration
|
|
55
|
+
- Quantity
|
|
56
|
+
- Unit price
|
|
57
|
+
- Bag total
|
|
58
|
+
|
|
59
|
+
Do not infer quantity from total alone when multiple items may already be in the bag. Read the quantity control directly if present.
|
|
60
|
+
|
|
61
|
+
## Common Failure Modes
|
|
62
|
+
|
|
63
|
+
- Add-to-bag disabled because a required radio group remains unanswered
|
|
64
|
+
- Option unavailable or incompatible with a previous choice
|
|
65
|
+
- Price lagging behind selection because the page has not re-rendered yet
|
|
66
|
+
- Existing bag contents making totals misleading
|
|
67
|
+
- Accessory interstitial mistaken for final confirmation
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "site-knowledge",
|
|
3
|
+
"version": "1.0.2",
|
|
4
|
+
"description": "Site-specific automation patterns and knowledge for popular websites (Airbnb, Amazon, Apple Store)",
|
|
5
|
+
"author": {
|
|
6
|
+
"name": "Athenaflow"
|
|
7
|
+
},
|
|
8
|
+
"skills": "./skills/",
|
|
9
|
+
"interface": {
|
|
10
|
+
"displayName": "Site Knowledge",
|
|
11
|
+
"shortDescription": "Automation patterns for popular websites",
|
|
12
|
+
"developerName": "Athenaflow",
|
|
13
|
+
"category": "Browser Automation"
|
|
14
|
+
}
|
|
15
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: airbnb
|
|
3
|
+
description: >
|
|
4
|
+
Use when automating airbnb.com, searching for stays, browsing experiences, creating wishlists,
|
|
5
|
+
completing bookings, or writing tests for Airbnb flows. Covers site structure, search and booking
|
|
6
|
+
heuristics, and common Airbnb interaction patterns. Load live selectors from the browser; use the
|
|
7
|
+
bundled reference only for flow guidance and modal caveats.
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Airbnb Automation Skill
|
|
11
|
+
|
|
12
|
+
This skill is a thin router. Use it together with `agent-web-interface-guide` for live browser work.
|
|
13
|
+
|
|
14
|
+
## Workflow
|
|
15
|
+
|
|
16
|
+
1. Load `agent-web-interface-guide` before using browser MCP tools.
|
|
17
|
+
2. Read [references/airbnb.md](references/airbnb.md) for Airbnb search, listing, filter, and modal heuristics.
|
|
18
|
+
3. Treat all selectors in the reference as patterns, not guarantees. Derive the current `eid` and live selector from the page with `find`, `get_form`, and `get_element`.
|
|
19
|
+
4. Re-check page state after search, filter changes, or modal dismissal because Airbnb frequently re-renders key controls.
|
|
20
|
+
5. Before any booking or sign-in step, confirm dates, guest counts, listing identity, and total price with the user.
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
# Airbnb Reference
|
|
2
|
+
|
|
3
|
+
Use this file for Airbnb-specific heuristics after loading `agent-web-interface-guide`. Do not rely on exact selectors; Airbnb frequently re-renders controls and varies by locale and experiment bucket.
|
|
4
|
+
|
|
5
|
+
## URL Patterns
|
|
6
|
+
|
|
7
|
+
- Home: `https://www.airbnb.com`
|
|
8
|
+
- Search results: `https://www.airbnb.com/s/<location>/homes`
|
|
9
|
+
- Listing detail: `https://www.airbnb.com/rooms/<id>`
|
|
10
|
+
- Experiences: `https://www.airbnb.com/experiences`
|
|
11
|
+
|
|
12
|
+
## Search Heuristics
|
|
13
|
+
|
|
14
|
+
Typical search flow:
|
|
15
|
+
|
|
16
|
+
1. Choose location
|
|
17
|
+
2. Choose check-in and check-out dates
|
|
18
|
+
3. Choose guests
|
|
19
|
+
4. Submit search
|
|
20
|
+
|
|
21
|
+
Airbnb may collapse the search UI into progressive steps, a modal, or a sticky header variant. Re-read the page after each step.
|
|
22
|
+
|
|
23
|
+
## Results Heuristics
|
|
24
|
+
|
|
25
|
+
- Results may be infinite-scroll or paginated with `Show more`.
|
|
26
|
+
- Filters often open as modals or drawers rather than inline controls.
|
|
27
|
+
- Listing cards usually expose title, price, rating, and save/heart actions.
|
|
28
|
+
- Map/list toggles can re-layout the page substantially.
|
|
29
|
+
|
|
30
|
+
## Listing Heuristics
|
|
31
|
+
|
|
32
|
+
Before any reserve action, verify:
|
|
33
|
+
|
|
34
|
+
- Listing identity
|
|
35
|
+
- Dates
|
|
36
|
+
- Guest count
|
|
37
|
+
- Nightly price
|
|
38
|
+
- Full price breakdown including fees
|
|
39
|
+
- Cancellation policy when relevant
|
|
40
|
+
|
|
41
|
+
## Modal And Prompt Heuristics
|
|
42
|
+
|
|
43
|
+
Common interruptions:
|
|
44
|
+
|
|
45
|
+
- Cookie consent
|
|
46
|
+
- Login or sign-up prompt
|
|
47
|
+
- Translation prompt
|
|
48
|
+
- Date or guest picker overlays
|
|
49
|
+
|
|
50
|
+
Dismiss or resolve them explicitly, then snapshot again before continuing.
|
|
51
|
+
|
|
52
|
+
## Common Failure Modes
|
|
53
|
+
|
|
54
|
+
- Search controls re-rendering and invalidating stale element IDs
|
|
55
|
+
- Date selection not persisting when the modal closes
|
|
56
|
+
- Guest counts resetting after filter changes
|
|
57
|
+
- Price mismatch between results card and final booking breakdown
|
|
58
|
+
- Hidden fees only appearing deeper in the booking flow
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: amazon
|
|
3
|
+
description: >
|
|
4
|
+
Use when automating amazon.com, searching for products, adding items to cart, browsing deals,
|
|
5
|
+
navigating product pages, or writing tests for Amazon shopping flows. Covers site structure,
|
|
6
|
+
search/buying heuristics, and common Amazon interaction patterns. Load live selectors from the
|
|
7
|
+
browser; use the bundled reference only for flow guidance and site-specific caveats.
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Amazon Automation Skill
|
|
11
|
+
|
|
12
|
+
This skill is a thin router. Use it together with `agent-web-interface-guide` for live browser work.
|
|
13
|
+
|
|
14
|
+
## Workflow
|
|
15
|
+
|
|
16
|
+
1. Load `agent-web-interface-guide` before using browser MCP tools.
|
|
17
|
+
2. Read [references/amazon.md](references/amazon.md) for Amazon search, product, cart, and modal heuristics.
|
|
18
|
+
3. Treat all selectors in the reference as starting patterns only. Derive the current `eid` and live selector from the page with `find`, `get_form`, and `get_element`.
|
|
19
|
+
4. Expect Amazon to vary by seller, region, stock state, and experiment bucket. Re-evaluate the flow after every navigation or modal open.
|
|
20
|
+
5. Before checkout or sign-in, confirm the intended product, seller, quantity, and total with the user.
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
# Amazon Reference
|
|
2
|
+
|
|
3
|
+
Use this file for Amazon-specific heuristics after loading `agent-web-interface-guide`. Do not rely on exact selectors; Amazon frequently changes labels, placement, and region-specific chrome.
|
|
4
|
+
|
|
5
|
+
## URL Patterns
|
|
6
|
+
|
|
7
|
+
- Home: `https://www.amazon.com`
|
|
8
|
+
- Search results: `https://www.amazon.com/s?k=<query>`
|
|
9
|
+
- Product detail: `https://www.amazon.com/<slug>/dp/<asin>`
|
|
10
|
+
- Cart: `https://www.amazon.com/gp/cart/view.html`
|
|
11
|
+
|
|
12
|
+
## Search Heuristics
|
|
13
|
+
|
|
14
|
+
- Prefer precise product queries over broad ones.
|
|
15
|
+
- Sponsored results often appear above the best organic match.
|
|
16
|
+
- Related-search links can narrow ambiguous results faster than refining the query manually.
|
|
17
|
+
- Autocomplete suggestions may not be directly targetable; pressing Enter is often more reliable.
|
|
18
|
+
|
|
19
|
+
## Product Page Heuristics
|
|
20
|
+
|
|
21
|
+
- Some products expose a direct `Add to Cart`.
|
|
22
|
+
- Others route through `See All Buying Options`, especially when multiple sellers compete or stock is constrained.
|
|
23
|
+
- Seller, condition, shipping speed, and region can change what controls are visible.
|
|
24
|
+
- The first prominent purchase control is not always the cheapest or intended seller option.
|
|
25
|
+
|
|
26
|
+
## Buying Options Heuristics
|
|
27
|
+
|
|
28
|
+
When `Add to Cart` is absent:
|
|
29
|
+
|
|
30
|
+
1. Open the buying options surface
|
|
31
|
+
2. Compare seller, condition, and price
|
|
32
|
+
3. Pick the intended seller explicitly
|
|
33
|
+
4. Re-check the resulting cart page for the actual seller and item configuration
|
|
34
|
+
|
|
35
|
+
## Cart Verification
|
|
36
|
+
|
|
37
|
+
Confirm:
|
|
38
|
+
|
|
39
|
+
- Product title
|
|
40
|
+
- Seller when relevant
|
|
41
|
+
- Quantity
|
|
42
|
+
- Price per item
|
|
43
|
+
- Subtotal
|
|
44
|
+
|
|
45
|
+
Do not trust search-result price text as final cart price. Amazon often changes price or seller between results and checkout surfaces.
|
|
46
|
+
|
|
47
|
+
## Common Modals And Interruptions
|
|
48
|
+
|
|
49
|
+
- Region or locale prompt
|
|
50
|
+
- Sign-in prompt
|
|
51
|
+
- Protection plan or add-on upsell
|
|
52
|
+
- Buying options drawer or modal
|
|
53
|
+
|
|
54
|
+
Dismiss or resolve these explicitly before continuing.
|
|
55
|
+
|
|
56
|
+
## Common Failure Modes
|
|
57
|
+
|
|
58
|
+
- Search results polluted by accessories or competing products
|
|
59
|
+
- Sponsored result chosen accidentally
|
|
60
|
+
- Wrong seller added through buying options
|
|
61
|
+
- Region-specific currency or shipping state confusing comparisons
|
|
62
|
+
- Cart page showing bundle, protection plan, or add-on that was added during the flow
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: apple-store
|
|
3
|
+
description: >
|
|
4
|
+
Use when automating apple.com, configuring iPhones or other Apple products, navigating the Apple
|
|
5
|
+
Store, adding items to bag, or writing tests for Apple Store flows. Covers site structure, purchase
|
|
6
|
+
flows, bag behavior, and Apple-specific interaction patterns. Load live selectors from the browser;
|
|
7
|
+
use the bundled reference only for site heuristics and flow guidance.
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Apple Store Automation Skill
|
|
11
|
+
|
|
12
|
+
This skill is a thin router. Use it together with `agent-web-interface-guide` for live browser work.
|
|
13
|
+
|
|
14
|
+
## Workflow
|
|
15
|
+
|
|
16
|
+
1. Load `agent-web-interface-guide` before using browser MCP tools.
|
|
17
|
+
2. Read [references/apple-store.md](references/apple-store.md) for Apple Store navigation, flow order, and bag heuristics.
|
|
18
|
+
3. Treat selectors in the reference as patterns, not guarantees. Derive the current `eid` and best live selector from the page with `find`, `get_form`, and `get_element`.
|
|
19
|
+
4. Re-check the page after each configuration step because Apple often enables downstream options only after prerequisites are selected.
|
|
20
|
+
5. Before any checkout or order placement step, confirm the final configuration and total with the user.
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
# Apple Store Reference
|
|
2
|
+
|
|
3
|
+
Use this file for Apple Store heuristics after loading `agent-web-interface-guide`. Do not assume exact selectors remain stable across sessions; resolve live elements from the page before acting.
|
|
4
|
+
|
|
5
|
+
## URL Patterns
|
|
6
|
+
|
|
7
|
+
- Store home: `/store`
|
|
8
|
+
- Product listing: `/shop/buy-{product}`
|
|
9
|
+
- Product configurator: `/shop/buy-{product}/{model}`
|
|
10
|
+
- Bag: `/shop/bag`
|
|
11
|
+
- Checkout: `/shop/checkout`
|
|
12
|
+
|
|
13
|
+
## Common Flow Shape
|
|
14
|
+
|
|
15
|
+
Apple purchase flows are usually sequential. Later choices often remain disabled until earlier choices are selected.
|
|
16
|
+
|
|
17
|
+
Typical order:
|
|
18
|
+
|
|
19
|
+
1. Select model or base configuration
|
|
20
|
+
2. Select color
|
|
21
|
+
3. Select storage or memory
|
|
22
|
+
4. Select carrier or connectivity options when applicable
|
|
23
|
+
5. Select trade-in or no trade-in
|
|
24
|
+
6. Select AppleCare option or no coverage
|
|
25
|
+
7. Add to bag
|
|
26
|
+
8. Review optional accessories page
|
|
27
|
+
9. Open bag and verify contents
|
|
28
|
+
|
|
29
|
+
## Page Heuristics
|
|
30
|
+
|
|
31
|
+
- Store landing pages often expose direct `Buy` links for each product family.
|
|
32
|
+
- Product grids usually show a product heading, a price text node like `From $...`, and a `Buy` link.
|
|
33
|
+
- Configurator choices usually surface as radio groups.
|
|
34
|
+
- Bag controls may render as links, buttons, or comboboxes depending on the page and experiment bucket. Derive them live.
|
|
35
|
+
|
|
36
|
+
## What To Verify At Each Step
|
|
37
|
+
|
|
38
|
+
- The newly selected option is marked selected or checked.
|
|
39
|
+
- The next section becomes enabled after the prerequisite selection.
|
|
40
|
+
- The configured price updates when storage, memory, or purchase option changes.
|
|
41
|
+
- The add-to-bag control becomes enabled before clicking.
|
|
42
|
+
|
|
43
|
+
## Common Optional Gates
|
|
44
|
+
|
|
45
|
+
- Trade-in prompts: choose explicit no-trade-in when the user did not ask for trade-in.
|
|
46
|
+
- AppleCare prompts: choose explicit no-coverage when the user did not ask for coverage.
|
|
47
|
+
- Accessory upsells: Apple often inserts a post-add accessory page with a `Review Bag` button.
|
|
48
|
+
|
|
49
|
+
## Bag Verification
|
|
50
|
+
|
|
51
|
+
Confirm:
|
|
52
|
+
|
|
53
|
+
- Product name
|
|
54
|
+
- Full configuration
|
|
55
|
+
- Quantity
|
|
56
|
+
- Unit price
|
|
57
|
+
- Bag total
|
|
58
|
+
|
|
59
|
+
Do not infer quantity from total alone when multiple items may already be in the bag. Read the quantity control directly if present.
|
|
60
|
+
|
|
61
|
+
## Common Failure Modes
|
|
62
|
+
|
|
63
|
+
- Add-to-bag disabled because a required radio group remains unanswered
|
|
64
|
+
- Option unavailable or incompatible with a previous choice
|
|
65
|
+
- Price lagging behind selection because the page has not re-rendered yet
|
|
66
|
+
- Existing bag contents making totals misleading
|
|
67
|
+
- Accessory interstitial mistaken for final confirmation
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": 1,
|
|
3
|
+
"pluginRef": "site-knowledge@athena-workflow-marketplace",
|
|
4
|
+
"pluginName": "site-knowledge",
|
|
5
|
+
"marketplaceName": "athena-workflow-marketplace",
|
|
6
|
+
"version": "1.0.2",
|
|
7
|
+
"artifacts": {
|
|
8
|
+
"claude": {
|
|
9
|
+
"type": "directory",
|
|
10
|
+
"path": "./claude/plugin"
|
|
11
|
+
},
|
|
12
|
+
"codex": {
|
|
13
|
+
"type": "marketplace",
|
|
14
|
+
"marketplacePath": "./.agents/plugins/marketplace.json",
|
|
15
|
+
"pluginPath": "./codex/plugin"
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
}
|
package/package.json
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@athenaflow/plugin-site-knowledge",
|
|
3
|
+
"version": "1.0.2",
|
|
4
|
+
"description": "Site-specific automation patterns and knowledge for popular websites (Airbnb, Amazon, Apple Store)",
|
|
5
|
+
"license": "MIT",
|
|
6
|
+
"publishConfig": {
|
|
7
|
+
"access": "public"
|
|
8
|
+
},
|
|
9
|
+
"scripts": {
|
|
10
|
+
"build:artifacts": "node ../../scripts/build-plugin-artifacts.mjs .",
|
|
11
|
+
"prepack": "npm run build:artifacts"
|
|
12
|
+
}
|
|
13
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: airbnb
|
|
3
|
+
description: >
|
|
4
|
+
Use when automating airbnb.com, searching for stays, browsing experiences, creating wishlists,
|
|
5
|
+
completing bookings, or writing tests for Airbnb flows. Covers site structure, search and booking
|
|
6
|
+
heuristics, and common Airbnb interaction patterns. Load live selectors from the browser; use the
|
|
7
|
+
bundled reference only for flow guidance and modal caveats.
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Airbnb Automation Skill
|
|
11
|
+
|
|
12
|
+
This skill is a thin router. Use it together with `agent-web-interface-guide` for live browser work.
|
|
13
|
+
|
|
14
|
+
## Workflow
|
|
15
|
+
|
|
16
|
+
1. Load `agent-web-interface-guide` before using browser MCP tools.
|
|
17
|
+
2. Read [references/airbnb.md](references/airbnb.md) for Airbnb search, listing, filter, and modal heuristics.
|
|
18
|
+
3. Treat all selectors in the reference as patterns, not guarantees. Derive the current `eid` and live selector from the page with `find`, `get_form`, and `get_element`.
|
|
19
|
+
4. Re-check page state after search, filter changes, or modal dismissal because Airbnb frequently re-renders key controls.
|
|
20
|
+
5. Before any booking or sign-in step, confirm dates, guest counts, listing identity, and total price with the user.
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
# Airbnb Reference
|
|
2
|
+
|
|
3
|
+
Use this file for Airbnb-specific heuristics after loading `agent-web-interface-guide`. Do not rely on exact selectors; Airbnb frequently re-renders controls and varies by locale and experiment bucket.
|
|
4
|
+
|
|
5
|
+
## URL Patterns
|
|
6
|
+
|
|
7
|
+
- Home: `https://www.airbnb.com`
|
|
8
|
+
- Search results: `https://www.airbnb.com/s/<location>/homes`
|
|
9
|
+
- Listing detail: `https://www.airbnb.com/rooms/<id>`
|
|
10
|
+
- Experiences: `https://www.airbnb.com/experiences`
|
|
11
|
+
|
|
12
|
+
## Search Heuristics
|
|
13
|
+
|
|
14
|
+
Typical search flow:
|
|
15
|
+
|
|
16
|
+
1. Choose location
|
|
17
|
+
2. Choose check-in and check-out dates
|
|
18
|
+
3. Choose guests
|
|
19
|
+
4. Submit search
|
|
20
|
+
|
|
21
|
+
Airbnb may collapse the search UI into progressive steps, a modal, or a sticky header variant. Re-read the page after each step.
|
|
22
|
+
|
|
23
|
+
## Results Heuristics
|
|
24
|
+
|
|
25
|
+
- Results may be infinite-scroll or paginated with `Show more`.
|
|
26
|
+
- Filters often open as modals or drawers rather than inline controls.
|
|
27
|
+
- Listing cards usually expose title, price, rating, and save/heart actions.
|
|
28
|
+
- Map/list toggles can re-layout the page substantially.
|
|
29
|
+
|
|
30
|
+
## Listing Heuristics
|
|
31
|
+
|
|
32
|
+
Before any reserve action, verify:
|
|
33
|
+
|
|
34
|
+
- Listing identity
|
|
35
|
+
- Dates
|
|
36
|
+
- Guest count
|
|
37
|
+
- Nightly price
|
|
38
|
+
- Full price breakdown including fees
|
|
39
|
+
- Cancellation policy when relevant
|
|
40
|
+
|
|
41
|
+
## Modal And Prompt Heuristics
|
|
42
|
+
|
|
43
|
+
Common interruptions:
|
|
44
|
+
|
|
45
|
+
- Cookie consent
|
|
46
|
+
- Login or sign-up prompt
|
|
47
|
+
- Translation prompt
|
|
48
|
+
- Date or guest picker overlays
|
|
49
|
+
|
|
50
|
+
Dismiss or resolve them explicitly, then snapshot again before continuing.
|
|
51
|
+
|
|
52
|
+
## Common Failure Modes
|
|
53
|
+
|
|
54
|
+
- Search controls re-rendering and invalidating stale element IDs
|
|
55
|
+
- Date selection not persisting when the modal closes
|
|
56
|
+
- Guest counts resetting after filter changes
|
|
57
|
+
- Price mismatch between results card and final booking breakdown
|
|
58
|
+
- Hidden fees only appearing deeper in the booking flow
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: amazon
|
|
3
|
+
description: >
|
|
4
|
+
Use when automating amazon.com, searching for products, adding items to cart, browsing deals,
|
|
5
|
+
navigating product pages, or writing tests for Amazon shopping flows. Covers site structure,
|
|
6
|
+
search/buying heuristics, and common Amazon interaction patterns. Load live selectors from the
|
|
7
|
+
browser; use the bundled reference only for flow guidance and site-specific caveats.
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Amazon Automation Skill
|
|
11
|
+
|
|
12
|
+
This skill is a thin router. Use it together with `agent-web-interface-guide` for live browser work.
|
|
13
|
+
|
|
14
|
+
## Workflow
|
|
15
|
+
|
|
16
|
+
1. Load `agent-web-interface-guide` before using browser MCP tools.
|
|
17
|
+
2. Read [references/amazon.md](references/amazon.md) for Amazon search, product, cart, and modal heuristics.
|
|
18
|
+
3. Treat all selectors in the reference as starting patterns only. Derive the current `eid` and live selector from the page with `find`, `get_form`, and `get_element`.
|
|
19
|
+
4. Expect Amazon to vary by seller, region, stock state, and experiment bucket. Re-evaluate the flow after every navigation or modal open.
|
|
20
|
+
5. Before checkout or sign-in, confirm the intended product, seller, quantity, and total with the user.
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
# Amazon Reference
|
|
2
|
+
|
|
3
|
+
Use this file for Amazon-specific heuristics after loading `agent-web-interface-guide`. Do not rely on exact selectors; Amazon frequently changes labels, placement, and region-specific chrome.
|
|
4
|
+
|
|
5
|
+
## URL Patterns
|
|
6
|
+
|
|
7
|
+
- Home: `https://www.amazon.com`
|
|
8
|
+
- Search results: `https://www.amazon.com/s?k=<query>`
|
|
9
|
+
- Product detail: `https://www.amazon.com/<slug>/dp/<asin>`
|
|
10
|
+
- Cart: `https://www.amazon.com/gp/cart/view.html`
|
|
11
|
+
|
|
12
|
+
## Search Heuristics
|
|
13
|
+
|
|
14
|
+
- Prefer precise product queries over broad ones.
|
|
15
|
+
- Sponsored results often appear above the best organic match.
|
|
16
|
+
- Related-search links can narrow ambiguous results faster than refining the query manually.
|
|
17
|
+
- Autocomplete suggestions may not be directly targetable; pressing Enter is often more reliable.
|
|
18
|
+
|
|
19
|
+
## Product Page Heuristics
|
|
20
|
+
|
|
21
|
+
- Some products expose a direct `Add to Cart`.
|
|
22
|
+
- Others route through `See All Buying Options`, especially when multiple sellers compete or stock is constrained.
|
|
23
|
+
- Seller, condition, shipping speed, and region can change what controls are visible.
|
|
24
|
+
- The first prominent purchase control is not always the cheapest or intended seller option.
|
|
25
|
+
|
|
26
|
+
## Buying Options Heuristics
|
|
27
|
+
|
|
28
|
+
When `Add to Cart` is absent:
|
|
29
|
+
|
|
30
|
+
1. Open the buying options surface
|
|
31
|
+
2. Compare seller, condition, and price
|
|
32
|
+
3. Pick the intended seller explicitly
|
|
33
|
+
4. Re-check the resulting cart page for the actual seller and item configuration
|
|
34
|
+
|
|
35
|
+
## Cart Verification
|
|
36
|
+
|
|
37
|
+
Confirm:
|
|
38
|
+
|
|
39
|
+
- Product title
|
|
40
|
+
- Seller when relevant
|
|
41
|
+
- Quantity
|
|
42
|
+
- Price per item
|
|
43
|
+
- Subtotal
|
|
44
|
+
|
|
45
|
+
Do not trust search-result price text as final cart price. Amazon often changes price or seller between results and checkout surfaces.
|
|
46
|
+
|
|
47
|
+
## Common Modals And Interruptions
|
|
48
|
+
|
|
49
|
+
- Region or locale prompt
|
|
50
|
+
- Sign-in prompt
|
|
51
|
+
- Protection plan or add-on upsell
|
|
52
|
+
- Buying options drawer or modal
|
|
53
|
+
|
|
54
|
+
Dismiss or resolve these explicitly before continuing.
|
|
55
|
+
|
|
56
|
+
## Common Failure Modes
|
|
57
|
+
|
|
58
|
+
- Search results polluted by accessories or competing products
|
|
59
|
+
- Sponsored result chosen accidentally
|
|
60
|
+
- Wrong seller added through buying options
|
|
61
|
+
- Region-specific currency or shipping state confusing comparisons
|
|
62
|
+
- Cart page showing bundle, protection plan, or add-on that was added during the flow
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: apple-store
|
|
3
|
+
description: >
|
|
4
|
+
Use when automating apple.com, configuring iPhones or other Apple products, navigating the Apple
|
|
5
|
+
Store, adding items to bag, or writing tests for Apple Store flows. Covers site structure, purchase
|
|
6
|
+
flows, bag behavior, and Apple-specific interaction patterns. Load live selectors from the browser;
|
|
7
|
+
use the bundled reference only for site heuristics and flow guidance.
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Apple Store Automation Skill
|
|
11
|
+
|
|
12
|
+
This skill is a thin router. Use it together with `agent-web-interface-guide` for live browser work.
|
|
13
|
+
|
|
14
|
+
## Workflow
|
|
15
|
+
|
|
16
|
+
1. Load `agent-web-interface-guide` before using browser MCP tools.
|
|
17
|
+
2. Read [references/apple-store.md](references/apple-store.md) for Apple Store navigation, flow order, and bag heuristics.
|
|
18
|
+
3. Treat selectors in the reference as patterns, not guarantees. Derive the current `eid` and best live selector from the page with `find`, `get_form`, and `get_element`.
|
|
19
|
+
4. Re-check the page after each configuration step because Apple often enables downstream options only after prerequisites are selected.
|
|
20
|
+
5. Before any checkout or order placement step, confirm the final configuration and total with the user.
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
# Apple Store Reference
|
|
2
|
+
|
|
3
|
+
Use this file for Apple Store heuristics after loading `agent-web-interface-guide`. Do not assume exact selectors remain stable across sessions; resolve live elements from the page before acting.
|
|
4
|
+
|
|
5
|
+
## URL Patterns
|
|
6
|
+
|
|
7
|
+
- Store home: `/store`
|
|
8
|
+
- Product listing: `/shop/buy-{product}`
|
|
9
|
+
- Product configurator: `/shop/buy-{product}/{model}`
|
|
10
|
+
- Bag: `/shop/bag`
|
|
11
|
+
- Checkout: `/shop/checkout`
|
|
12
|
+
|
|
13
|
+
## Common Flow Shape
|
|
14
|
+
|
|
15
|
+
Apple purchase flows are usually sequential. Later choices often remain disabled until earlier choices are selected.
|
|
16
|
+
|
|
17
|
+
Typical order:
|
|
18
|
+
|
|
19
|
+
1. Select model or base configuration
|
|
20
|
+
2. Select color
|
|
21
|
+
3. Select storage or memory
|
|
22
|
+
4. Select carrier or connectivity options when applicable
|
|
23
|
+
5. Select trade-in or no trade-in
|
|
24
|
+
6. Select AppleCare option or no coverage
|
|
25
|
+
7. Add to bag
|
|
26
|
+
8. Review optional accessories page
|
|
27
|
+
9. Open bag and verify contents
|
|
28
|
+
|
|
29
|
+
## Page Heuristics
|
|
30
|
+
|
|
31
|
+
- Store landing pages often expose direct `Buy` links for each product family.
|
|
32
|
+
- Product grids usually show a product heading, a price text node like `From $...`, and a `Buy` link.
|
|
33
|
+
- Configurator choices usually surface as radio groups.
|
|
34
|
+
- Bag controls may render as links, buttons, or comboboxes depending on the page and experiment bucket. Derive them live.
|
|
35
|
+
|
|
36
|
+
## What To Verify At Each Step
|
|
37
|
+
|
|
38
|
+
- The newly selected option is marked selected or checked.
|
|
39
|
+
- The next section becomes enabled after the prerequisite selection.
|
|
40
|
+
- The configured price updates when storage, memory, or purchase option changes.
|
|
41
|
+
- The add-to-bag control becomes enabled before clicking.
|
|
42
|
+
|
|
43
|
+
## Common Optional Gates
|
|
44
|
+
|
|
45
|
+
- Trade-in prompts: choose explicit no-trade-in when the user did not ask for trade-in.
|
|
46
|
+
- AppleCare prompts: choose explicit no-coverage when the user did not ask for coverage.
|
|
47
|
+
- Accessory upsells: Apple often inserts a post-add accessory page with a `Review Bag` button.
|
|
48
|
+
|
|
49
|
+
## Bag Verification
|
|
50
|
+
|
|
51
|
+
Confirm:
|
|
52
|
+
|
|
53
|
+
- Product name
|
|
54
|
+
- Full configuration
|
|
55
|
+
- Quantity
|
|
56
|
+
- Unit price
|
|
57
|
+
- Bag total
|
|
58
|
+
|
|
59
|
+
Do not infer quantity from total alone when multiple items may already be in the bag. Read the quantity control directly if present.
|
|
60
|
+
|
|
61
|
+
## Common Failure Modes
|
|
62
|
+
|
|
63
|
+
- Add-to-bag disabled because a required radio group remains unanswered
|
|
64
|
+
- Option unavailable or incompatible with a previous choice
|
|
65
|
+
- Price lagging behind selection because the page has not re-rendered yet
|
|
66
|
+
- Existing bag contents making totals misleading
|
|
67
|
+
- Accessory interstitial mistaken for final confirmation
|