AI Skill Report Card

Cataloging Quilt Product Listings

B+78·Oct 24, 2026·Source: Extension-page
14 / 15

Given raw scraped text like:

-21% Quick View American Radiance 02910L $ 29.98 Original price was: $ 29.98.$ 23.76Current price is: $ 23.76. Add to cart

Extract into structured format:

JSON
{ "name": "American Radiance", "sku": "02910L", "discount_pct": 21, "original_price": 29.98, "sale_price": 23.76 }
Recommendation▾
Add an example showing an anomaly case (e.g., mismatched discount math or missing SKU) and the expected flagged output, since Step 5 mentions this but no example demonstrates it
13 / 15

Progress:

  • Step 1: Split raw text into per-product chunks (delimiter: repeating -NN% Quick View pattern)
  • Step 2: For each chunk, extract fields via pattern matching
  • Step 3: Validate discount math (original * (1 - discount/100) ≈ sale_price, tolerance ±$0.02)
  • Step 4: Normalize output (table, JSON, or CSV per user request)
  • Step 5: Flag anomalies (missing SKU, mismatched discount math, duplicate SKUs)

Extraction pattern per product:

  1. Discount: leading -NN%
  2. Name + SKU: text between "Quick View" and first $ — SKU is the trailing alphanumeric token (e.g., 02910L, 3452T, 03858D); everything before it is the product name
  3. Original price: first $ XX.XX before "Original price was"
  4. Sale price: value after "Current price is:"
  5. Terminator: "Add to cart" marks end of record
Recommendation▾
Include a 'bad output' example to contrast correct vs incorrect extraction (e.g., merging two products or misplacing the SKU) to reinforce the pitfalls section
15 / 20

Example 1: Input: -46% Quick View Autumn Layers 03858D $ 29.98 Original price was: $ 29.98.$ 16.20Current price is: $ 16.20. Add to cart Output:

NameSKUDiscountOriginalSale
Autumn Layers03858D46%$29.98$16.20

Example 2 (batch, CSV): Input: full pasted block of 12 products (as in prompt) Output:

CSV
name,sku,discount_pct,original_price,sale_price American Radiance,02910L,21,29.98,23.76 American Whirl,3452T,42,29.98,17.28 Americana Starflower,03244T,32,29.98,20.52 Angel Garland,3576A,42,29.98,17.28 Autumn Bloom,02557L,21,29.99,23.76 Autumn Embrace,3884T,42,29.98,17.28 Autumn Layers,03858D,46,29.98,16.20 Autumn Leaves,3732T,42,29.98,17.28 Autumn Magic,3505T,42,29.98,17.28 Autumn Memories,03819T,24,29.98,22.68 Autumn Wishes,3757T,42,29.98,17.28 Banner Petals,03370T,39,29.98,18.36
Recommendation▾
The skill is narrowly scoped to a very specific niche (quilt/textile shop listings) — consider generalizing the pattern-matching rules to broader e-commerce scraped text or explicitly justify the narrow scope for reuse value
  • Preserve SKU formatting exactly (leading zeros matter, e.g., 02910L vs 3452T)
  • Keep product names title-cased as given; don't infer categories unless asked
  • Sort output alphabetically by name only if user doesn't specify order (source order is otherwise default)
  • When original prices vary slightly (e.g., $29.98 vs $29.99), preserve the exact value — don't assume a typo
  • If user wants a human-readable catalog instead of raw data, group by discount tier or theme (e.g., "Autumn", "Angel/Holiday") for readability
  • Don't merge adjacent products if name text happens to contain numbers (SKU is always the last token before the $)
  • Don't recompute discount_pct from prices and overwrite the stated value — report both if they conflict, don't silently "correct"
  • Don't drop products with $0 or missing discount (some listings omit the -NN% tag) — treat as 0% / full price
  • Watch for SKU pattern variance (letter suffix varies: L, T, D, A) — don't assume a fixed format/length
0
Grade B+AI Skill Framework
Scorecard
Criteria Breakdown
Quick Start
14/15
Workflow
13/15
Examples
15/20
Completeness
16/20
Format
14/15
Conciseness
14/15