com.skulayer/skulayer

Preview-first feed optimization for retailers and agencies: audit, fix and serve product feeds.

Endpointhttps://skulayer.com/mcp (streamable-http)
Registry version1.3.1
Now19 tools · grade D (63) · pin ts_02ca87bfc4aef776f2e881bd97245086 · protocol 2025-06-18
First / last listed2026-10-26 00:59 UTC / 2026-10-26 00:59 UTC
Grade over time2026-10-26: D (63), 19 tools

Is this your server? Own a server? ToolFit hosted watch re-checks it every 24 h ($0.25 per 30 days) or 6 h ($0.60) and sends you an HMAC-signed webhook when its tools or grade change: POST https://api.youraitools.co/toolfit/v1/watch. To opt out, see About & opt-out.

Timeline

First listing · 2026-10-26 00:59 UTC
19 tools, grade D (63)

Tools: list_feeds get_feed list_rules get_audit_findings get_field_inventory get_merchant_issues search_items preview_rule search_taxonomy map_categories create_rule set_rule_enabled delete_rule trigger_run get_run_status start_merchant_link get_merchant_link select_merchant_account get_activity

Current tools (19)

list_feedsList every live feed in the workspace: source format, schedule, status, channels, item count, and the latest run summary (including audit issue count). Start here to find feed ids. Archived feeds are not listed: they do not run and do not serve, and only a person can restore one, in the app.
params: none
get_feedFull detail for one feed: configuration, latest complete run summary, and the size of its rule stack. Works on an archived feed too, and says so, so an id from an earlier conversation resolves to an explanation rather than a not-found.
params: feedId*
list_rulesThe feed's rule stack in execution order: names, enabled state, a plain-English summary, and the full JSON definition of each rule.
params: feedId*
get_audit_findingsAudit findings for the latest complete run, grouped by check with severity, counts, sample item ids, and plain-English guidance on why each finding costs money and how to fix it. The audit measures the DELIVERED feed (after rules). Also returns `opportunities`: attributes left empty whose value was found in another field the merchant DID send (e.g. the brand sitting in the title, matched against b
params: feedId*
get_field_inventoryWhat the merchant's source feed ACTUALLY contained, and what SKULayer did with each field: every field as their platform sends it, how many items carry a value for it, whether it was recognised as a shopping attribute, kept as a custom attribute, or arrived empty on every row, plus per-attribute coverage before and after the rule stack. Completes the triad with get_audit_findings (what SKULayer th
params: feedId*
get_merchant_issuesGoogle's OWN verdict on a feed, from its Merchant Center connection (the app's What Google sees panel): per-issue-code cases with severity, affected-item counts, sample ids, Google's description and documentation link, and an honest lifecycle state — open, fix_shipped (a rule shipped, Google has not re-read yet), or cleared (Google stopped reporting it). Includes account-level issues and the lates
params: feedId*
search_itemsSearch or page through the items of the latest complete run. Returns delivered items (what channels receive) by default, with base (pre-rules) available via view. query matches id, title, brand, and product type, case-insensitive.
params: feedId*, query, view, limit, offset
preview_rulePreview an UNSAVED rule against a sample of the latest run: match/change/exclusion counts, per-field change tallies, danger warnings (required fields emptied, identifiers stripped, heavy exclusion), audit deltas, and example before/after diffs. Nothing is written anywhere. Rule definition format: {"when":{"all":[conditions],"any":[conditions],"anyOf":[{"all":[conditions]}]},"then":[actions]} — any
params: feedId*, definition*
search_taxonomySearch Google's product taxonomy — the set of valid googleProductCategory values. Returns ranked category paths with their numeric ids, plus whether the query itself is already a valid category (full path or id). Use it to find the right category for a product type, to fix unmatched entries from map_categories, or to check a value before writing it into a rule.
params: query*, limit
map_categoriesPropose a googleProductCategory mapping for a feed: groups the latest run's delivered items by distinct productType, matches each onto Google's taxonomy (exact-path and unique-leaf matches first, then candidate-constrained AI when available and useAi is not false), and returns the mapping table WITH a ready-to-save rule definition (one lookup keyed on productType). NOTHING is saved: show the human
params: feedId*, useAi, onlyMissing, defaultCategory
create_ruleCreate a rule on a feed. The definition is validated, the standard preview runs server-side, and the report comes back WITH the created rule: match/change/exclusion counts, per-field tallies, warnings, and audit deltas. Show the human this report; danger-level warnings mean the rule can empty required fields or exclude heavily. The rule lands enabled, appended after existing rules, and applies on
params: feedId*, name*, definition*
set_rule_enabledEnable or disable one rule by id. Disabling takes a rule out of the stack from the next run onward; nothing else about it changes. Use list_rules to find rule ids.
params: feedId*, ruleId*, enabled*
delete_ruleDelete one rule by id. This is permanent; prefer set_rule_enabled with enabled=false when the human might want the rule back. Takes effect on the next run.
params: feedId*, ruleId*
trigger_runStart a feed run: fetch the source, apply rules, audit the delivered output, and compile channel files. This tool needs a write-scoped connection. The workspace SKU limit, the manual-run cap, and one run at a time per feed also apply. Returns a runId. Poll get_run_status until it completes. An in-flight run never affects the live delivered feed.
params: feedId*
get_run_statusOne run's progress and outcome: status (queued/fetching/auditing/transforming/compiling/complete/failed), item counts, audit issue count, timing, and the error message when a run failed. Use after trigger_run to poll to completion.
params: feedId*, runId*
start_merchant_linkStart connecting Google Merchant Center for this workspace. Returns a short-lived, single-use SKULayer URL the workspace owner must open while signed in as the same person. That page sends them to Google consent and, when Google shows one account, links it. You never receive Google tokens. Optional feedId attaches that feed when there is exactly one account. If there are several, poll get_merchant
params: feedId
get_merchant_linkRead this workspace's Merchant Center link. status is linked, pending, expired, error, or none (nothing started). accounts lists Merchant Center account ids and the connection each one belongs to. connections lists stored rows, including revoked, and which feeds are attached. When status is pending and accounts has more than one entry, the owner has not chosen yet: call select_merchant_account wit
params: none
select_merchant_accountChoose which Merchant Center account a feed uses. Required when get_merchant_link lists more than one account. Pass connectionId and accountId from that result, plus feedId. The account must be one Google actually showed for this connection. Owner only. Does not write a feed or a data source to Google.
params: connectionId*, accountId*, feedId*
get_activityThe workspace's recent activity: who did what and when, across the app and every agent connection. Each event has an actor (a human user, an agent via a token or sign-in, or the system scheduler), the action (rule created/updated/enabled/disabled/deleted, run triggered, Merchant Center link started/completed, Merchant Center account chosen), the feed, and a short summary. Use it to check what chan
params: limit, actorTypes

Entries describe changes in tool definitions. They are not statements about a server, its quality or its author. The grade measures how the tool definitions fit model providers (token cost, schema compatibility, confusable names) as scored by the ToolFit engine at the time of the listing. JSON: append .json. Opt-out: how or hello@youraitools.co.