Lacuna/Labs
tag-suggest
light purple
#275 / 601

NAME

tag-suggest — 13 SEO-aware tags from title + description. Promoted from mint to light-purple per §10 surprise.

SYNOPSIS

id tag-suggest tier light-purple section §9. Light purple — cloud reasoning (51 baseline, 86 post-matrix) trigger event tools cortex_query, trending-keyword-pull source carry-forward (promoted)

DESCRIPTION

Crawls trending keywords + your own tag-to-sales history. Proposes the thirteen tags that historically correlate with sales in your niche.

13 SEO-aware tags from title + description. Promoted from mint to light-purple per §10 surprise.

MECHANISM

PREfetchGUARDtier: light-purpleACTperformRESULTrenderON-ERRretry / esc
;;~ title    "Suggest tags for a listing"
;;~ author   "lacuna"
;;~ version  1
;;~ mode     automation
;;~ flavor   green
;;~ id       tag-suggest
;;~ touches  ()
;;~ summary  "Haiku proposes 13 SEO-aware tags from title + description."

;; Haiku proposes 13 SEO-aware tags from title + description.
;;
;; Read-only cart, architect-shape. The verb call lives inside (act ...)
;; with a SYMBOL on-result. The driver intercepts, makes the real Etsy
;; request, threads the response into ctx via 'last-result, then jumps
;; to the named result handler.

(cart 'tag-suggest
  '((author    . "lacuna")
    (version   . 1)
    (read-only . #t)))

(define (start ctx)
  (let ((connected (ctx-get 'shop-connected ctx)))
    (cond
      ((not connected)     (escalate 'shop-not-connected null))
      (else                (next 'fetch ctx)))))

(define (fetch ctx)
  (act 'etsy/listing (list 'suggest) 'render))

(define (render ctx)
  (let ((rows (ctx-result ctx)))
    (cond
      ((null? rows)              (escalate 'no-data null))
      ((eq? rows 'rate-limited)  (after 30 'fetch ctx))
      (else                      (begin
                                   (table rows '(tag count))
                                   (done))))))

source: curator-web/src/scheme/carts/etsy/tag-suggest.sks · 38 lines

EXAMPLES

Example forthcoming — docs/automations/examples.json entry editable in place.

TIER

light purple
cloud reasoning · cents per call

FITNESS

Almost there

Works on smaller shops too; the answer sharpens as you collect more sales.

SEE ALSO

HISTORY

canonical source: curator/docs/AUTOMATIONS-CANONICAL.md · §9-light-purple-cloud-reasoning-51-baseline-86-post-matrix
last regenerated: 2026-06-05 20:31 UTC (mechanical — edits land in the MD or sidecars, not here)

KNOWN BUGS

(none recorded — flag in AUTOMATIONS-CANONICAL.md or open an issue against the cart file)