Skip to content

[Community Submission] Add skill: fill-missing-product-attributes#87

Open
raqibdev wants to merge 22 commits intotimctfl:mainfrom
raqibdev:fill-missing-product-attributes
Open

[Community Submission] Add skill: fill-missing-product-attributes#87
raqibdev wants to merge 22 commits intotimctfl:mainfrom
raqibdev:fill-missing-product-attributes

Conversation

@raqibdev
Copy link
Copy Markdown
Contributor

@raqibdev raqibdev commented Apr 19, 2026

Description

Extracts color, size, size_system, size_type, material, gender, and age_group values already present in a Shopify apparel CSV and moves them into the correct attribute columns. Produces a corrected CSV, a Markdown change log, and a needs-review file across a 3-turn merchant conversation. English catalogs only.

What's in this PR:

  • Core skill (SKILL.md) with full 3-turn conversation flow, detection logic, edge cases, and error handling
  • Detection script (detect_missing_attributes.py) for deterministic extraction via option values, tag prefixes, title vocabulary, body HTML, and sibling variant propagation
  • Application script (apply_fills.py) merging deterministic and LLM-approved fills, writing corrected CSV, Markdown change log grouped by product, and needs-review file with priority and action columns
  • Asset files: color vocab, material synonyms, gender and age patterns, apparel signal terms, size type patterns
  • Reference docs: extraction source priority table, Shopify column detection logic, full 3-turn example output, Google Merchant spec reference
  • Fixtures and regression test (test_fixtures.py) comparing script output against expected CSV
  • Edge-case tests (test_edge_cases.py) covering XLSX rejection, empty CSV, dry-run, conflict rows, and Latin-1 encoding

Key decisions made during development:

  • Detection script auto-creates a temp directory and emits work_dir in stdout JSON so downstream stages locate files without manual path management; temp dir deleted on completion
  • proposed_fills.json dropped: LLM inferences held in conversation memory and written directly to approved_fills.json after merchant approval, removing a silent intermediate file between Turn 2 and Turn 3
  • change_log.csv replaced with change_log.md grouped by product handle, with confidence percentages, source labels, and REVIEW/OK status per fill
  • size_system and size_type added as target fields with full GS column pattern matching
  • needs_review.csv expanded with priority (HIGH/MEDIUM/LOW) and action columns mapping internal reason codes to merchant-facing plain English
  • Excel input rejected early with a clear re-export instruction rather than a cryptic parse error
  • Skill reframed from "fill missing Google Shopping attributes" to "extract and consolidate values already in the CSV", matching what the script actually does
5b47146a01f06e4b4654116dd18ecbb9aca4733ccf1b7a17d6820ea88a3e4eb0 15cc6ef38b89c140991c182a25001f30d71498d6c8224454192d8925006b40dc a74252b9231bd452a3d0939c5e3baac08e6d699943204977b83ec72119630f42 157d14a123d99981962dec06a7158c81876c01716f65b4db225ccfd32c283df1 523f776216200edb29d04d3821c8e4912884373286ab7b2614611c4633adfe5c fa654af2c7f3a09d47a462242ea4857e52d8b241c8c2c67aa0b93bd28c73d8bf

Contributor Attestation

  • I agree to the Terms of Service and Privacy Policy, and I understand that if my submission is accepted it will be published under the Apache 2.0 license. I confirm I have the rights to submit this content and it does not include confidential information or personal data.

raqibdev added 22 commits April 18, 2026 01:00
…rkdown

LLM inferences now held in conversation memory; approved_fills.json
written directly after merchant approval. Avoids silent file creation
between Turn 2 and Turn 3.

change_log.csv replaced with change_log.md grouped by product handle
for human readability.
…ns and add test for wide real-world Shopify export schema
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant