← Plugin catalog
Business & Operations

Kreel

Beyond Peaks Ltd v1.0.0

Publisher description

From the marketplace listing

Kreel connects ChatGPT to normalized ecommerce performance data from Shopify, Klaviyo, Meta Ads, and Google Ads. Users ask about revenue, ROAS, campaigns, creatives, email performance, and anomalies across their connected brands, keep a durable brand knowledge base, and publish hosted reports on request.

Language: English · Automatically detected from descriptions.

Files & skills

File archives

Plugin package2 files · 867 BytesBrowse files →
kreel-audience-saturation-review1 files · 473 BytesBrowse files →
kreel-budget-reallocation1 files · 415 BytesBrowse files →
kreel-country-breakdown1 files · 627 BytesBrowse files →
kreel-creative-fatigue-check1 files · 523 BytesBrowse files →
kreel-daily-pulse1 files · 410 BytesBrowse files →
kreel-delivery-issues1 files · 359 BytesBrowse files →
kreel-draft-google-rsa1 files · 950 BytesBrowse files →
kreel-draft-klaviyo-campaign1 files · 963 BytesBrowse files →
kreel-draft-meta-ads-from-folder1 files · 1.08 KBBrowse files →
kreel-email-weekly-review1 files · 486 BytesBrowse files →
kreel-flow-performance-audit1 files · 415 BytesBrowse files →
kreel-google-account-audit1 files · 703 BytesBrowse files →
kreel-learning-phase-check1 files · 523 BytesBrowse files →
kreel-meta-account-audit1 files · 923 BytesBrowse files →
kreel-monthly-report1 files · 832 BytesBrowse files →
kreel-next-test-briefing1 files · 370 BytesBrowse files →
kreel-onboard-brand1 files · 2.24 KBBrowse files →
kreel-portfolio-pulse1 files · 1.05 KBBrowse files →
kreel-product-breakdown1 files · 712 BytesBrowse files →
kreel-scaling-candidates1 files · 606 BytesBrowse files →
kreel-weekly-report1 files · 1.04 KBBrowse files →
Skill instructions
kreel-audience-saturation-review631 Bytes

View saved version →

---
name: kreel-audience-saturation-review
description: "Look for audience saturation signals on Meta ad sets."
---

If more than one brand is reachable, call `list_brands` first and pass `brand` on every call.

Review audience saturation on Meta. For each ad set with spend in the last 14 days, compare reach growth vs spend growth - a flat reach with rising spend is the saturation signal. Use `get_performance` with platform='meta', entity_type='adset', date_range={"days": 14} for current reach and spend, then call it again for the prior 14-day window (compare_to_previous is not supported at ad-set level) to read the trend.
kreel-budget-reallocation491 Bytes

View saved version →

---
name: kreel-budget-reallocation
description: "Where to shift budget for maximum marginal ROAS."
---

If more than one brand is reachable, call `list_brands` first and pass `brand` on every call.

Recommend budget reallocation. Rank campaigns by marginal ROAS over the last 14 days — revenue per incremental unit of spend in the account currency. Identify 2-3 campaigns to pull from and 2-3 to push into. Use `get_performance` at campaign level and explain your logic briefly per pair.
kreel-country-breakdown913 Bytes

View saved version →

---
name: kreel-country-breakdown
description: "Sales by country for a given period."
---

Inputs: `<date_range>`. Collect any missing value from the user, then substitute it wherever the placeholder appears below.

If more than one brand is reachable, call `list_brands` first and pass `brand` on every call.

Break down sales by country for <date_range>. Use `query` against the `country_daily_sales` table (columns: country, date, orders, revenue, refunded_revenue), grouping by country. `revenue` is state-based order total, already net of in-window refunds; use it as the net figure. It does NOT subtract cross-period refunds (refunds landing in-window for orders created before the window), which are not attributed by country, so country revenue can slightly overstate and need not reconcile exactly to the net store total from get_performance. Report top 10 countries by revenue plus MoM deltas for each.
kreel-creative-fatigue-check673 Bytes

View saved version →

---
name: kreel-creative-fatigue-check
description: "Detect creative fatigue on active Meta ads."
---

If more than one brand is reachable, call `list_brands` first and pass `brand` on every call.

Check for creative fatigue. Use `get_creatives` with platform='meta', date_range={"days": 30}, filters={"status": "ACTIVE"}. Each creative's `fatigue` block carries window scalars (hook_rate, hold_rate, ctr) and a first-half-vs-second-half `trend` for ctr, hook_rate, and frequency. Flag a creative when its frequency trend is rising or its CTR/hook-rate trend is falling (delta_pct down >20%). Frequency is trend-only — there is no cumulative frequency scalar (ADR-0007).
kreel-daily-pulse469 Bytes

View saved version →

---
name: kreel-daily-pulse
description: "Quick daily status check \u2014 spend pacing, delivery, learning phase."
---

If more than one brand is reachable, call `list_brands` first and pass `brand` on every call.

Give me a pulse check on yesterday. Use `get_performance` at account level for yesterday vs the 7-day trailing average, then call `detect_anomalies` for structured channel and campaign evidence. Tell me the three things I should know in under 150 words.
kreel-delivery-issues418 Bytes

View saved version →

---
name: kreel-delivery-issues
description: "Look for delivery issues across ad platforms and Klaviyo."
---

If more than one brand is reachable, call `list_brands` first and pass `brand` on every call.

Identify delivery issues: impressions < 50% of 7-day average per campaign, and email deliverability < 95%. Use `get_entities` to enumerate active campaigns/flows and `get_performance` to get the delivery metrics.
kreel-draft-google-rsa1.57 KB

View saved version →

---
name: kreel-draft-google-rsa
description: "Generate a paste-ready Google RSA without writing to Google Ads."
---

Inputs: `<brief>`. Collect any missing value from the user, then substitute it wherever the placeholder appears below.

Generate a paste-ready Google Responsive Search Ad from this brief: <brief>. This workflow may read data and generate copy, but it must not create, edit, upload, or activate anything in Google Ads or any other platform.

If more than one brand is reachable, call `list_brands` first and ask the user which brand to use. Pass the selected `brand` on every later call.
1. Call `get_brand_context` once and use the saved positioning, ICP, brand voice, competitors, and durable learnings when present.
2. Call `get_performance` with platform='google', entity_type='campaign', and date_range={"days": 30} to ground the draft in current performance. Use `get_entities` with platform='google' and entity_type='campaign' only when campaign names or channel types help interpret the brief. Do not invent keywords or evidence that the brief and read results do not provide.
3. Return a structured RSA artifact with exactly 15 distinct headlines of at most 30 characters, exactly 4 distinct descriptions of at most 90 characters, optional pinning suggestions with a reason, the intended keyword or message theme for each asset, and a character-count table. Include assumptions and flag any claim that needs human substantiation.

Finish with this exact disclosure: This is a draft for you to paste into Google Ads. Nothing was created, uploaded, changed, or activated anywhere.
kreel-draft-klaviyo-campaign1.57 KB

View saved version →

---
name: kreel-draft-klaviyo-campaign
description: "Generate a paste-ready Klaviyo campaign without writing to Klaviyo."
---

Inputs: `<audience>`, `<subject_theme>`. Collect any missing value from the user, then substitute it wherever the placeholder appears below.

Generate a paste-ready Klaviyo campaign for audience=<audience> and subject_theme=<subject_theme>. This workflow may read data and generate copy, but it must not create, edit, schedule, or send anything in Klaviyo or any other platform.

If more than one brand is reachable, call `list_brands` first and ask the user which brand to use. Pass the selected `brand` on every later call.
1. Call `get_brand_context` once and use the saved voice, positioning, ICP, product context, and durable learnings when present.
2. Call `get_performance` with platform='klaviyo', entity_type='email_campaign', and date_range={"days": 30}. Call it again with entity_type='flow' only when flow evidence is relevant to the brief. Use the results to ground tone and offer decisions, and do not invent evidence when the reads are empty.
3. Return a structured campaign artifact containing 3 subject-line variants, preview text for each subject line, the recommended pair with a rationale, accessible production-ready body HTML, a plain-text fallback, CTA copy and destination placeholders, audience and exclusion notes, and a pre-send checklist. Clearly label assumptions and claims that need human substantiation.

Finish with this exact disclosure: This is a draft for you to paste into Klaviyo. Nothing was created, changed, scheduled, or sent anywhere.
kreel-draft-meta-ads-from-folder1.93 KB

View saved version →

---
name: kreel-draft-meta-ads-from-folder
description: "Generate paste-ready Meta ad copy from local assets without writing to Meta."
---

Inputs: `<folder_path>`, `<campaign_objective>`. Collect any missing value from the user, then substitute it wherever the placeholder appears below.

Generate a paste-ready Meta ad draft from the creative assets in <folder_path> for objective=<campaign_objective>. This workflow may read data and generate copy, but it must not upload an asset or create, edit, or activate anything on Meta or any other platform.

If more than one brand is reachable, call `list_brands` first and ask the user which brand to use. Pass the selected `brand` on every later call.
1. Call `get_brand_context` once. Use the saved brand voice, positioning, ICP, product context, and durable learnings when present.
2. Inspect the local creative files in <folder_path> when this agent can access that path. If the path is not accessible, say that no asset was read, ask the user to attach or otherwise provide the assets in this conversation, and wait for them before generating the draft. Treat filenames and visible content as creative inputs only. Do not move or upload the files.
3. Call `get_creatives` with platform='meta', fields='tags', and date_range={"days": 30} to identify evidenced winning or fatigued angles. Call `get_performance` with platform='meta', entity_type='campaign', and date_range={"days": 30} only if campaign performance helps interpret the objective. Do not invent evidence when these reads are empty.
4. Return a structured draft grouped by creative angle. For each angle include source filename(s), the angle and evidence behind it, 3 primary text variants, 3 headline variants, and 2 description variants. Add a short paste checklist with the requested objective and any assumptions.

Finish with this exact disclosure: This is a draft for you to paste into Meta. Nothing was created, uploaded, changed, or activated anywhere.
kreel-email-weekly-review599 Bytes

View saved version →

---
name: kreel-email-weekly-review
description: "Klaviyo email performance review \u2014 campaigns + flows."
---

Inputs: `<week_of>`. Collect any missing value from the user, then substitute it wherever the placeholder appears below.

If more than one brand is reachable, call `list_brands` first and pass `brand` on every call.

Review Klaviyo email for the week of <week_of>. Use `get_performance` with entity_type='email_campaign' and 'flow' separately. Highlight: (1) best-performing campaign by revenue, (2) any flow with delivery under 95%, (3) open-rate outliers (>5pp off 30-day average).
kreel-flow-performance-audit486 Bytes

View saved version →

---
name: kreel-flow-performance-audit
description: "Audit Klaviyo flow performance and delivery."
---

If more than one brand is reachable, call `list_brands` first and pass `brand` on every call.

Audit Klaviyo flows. Use `get_performance` with entity_type='flow', date_range={"days": 30}. For each flow, check: open rate vs account average, click rate, conversion value per recipient, delivery rate. Flag any flow whose metrics have dropped >20% in the last 30 days vs the prior 30.
kreel-google-account-audit1.05 KB

View saved version →

---
name: kreel-google-account-audit
description: "Structural audit of the Google Ads account."
---

If more than one brand is reachable, call `list_brands` first and pass `brand` on every call.

Audit the Google Ads structure. Use `get_entities` with platform='google', entity_type='campaign' (rows carry channel_type, channel_sub_type, serving_status, is_removed). Check:
- Naming-convention drift across campaign names.
- Abandoned campaigns: serving_status active but no spend in 30 days - cross-reference `get_entities` against `get_performance` campaign rows (platform='google', date_range={"days": 30}).
- Campaigns capped by budget: `query` the `campaigns` DSL table filtered to platform='google' for `search_budget_lost_is` (with `search_impression_share` and `search_rank_lost_is`) - a high budget-lost impression share is the 'hitting the daily cap' signal (Google budgets and bid strategies are not synced, so this is the proxy; do not report ad strength or bid-strategy mix - neither is available).
Return findings with severity and a suggested fix per item.
kreel-learning-phase-check712 Bytes

View saved version →

---
name: kreel-learning-phase-check
description: "Flag Meta ad sets stuck in learning phase."
---

If more than one brand is reachable, call `list_brands` first and pass `brand` on every call.

Check all Meta ad sets for learning phase issues. Use `get_performance` with platform='meta', entity_type='adset', date_range={"days": 7} for each ad set's 7-day spend and conversions (get_entities does not attach metrics for ad sets - only campaigns). Flag: conversions < 50 (Meta's learning threshold), and spend > 0 with conversions = 0. Only the ad set's CURRENT status is available (via `get_entities` with entity_type='adset') - there is no status-change history, so paused/re-enabled loops cannot be detected.
kreel-meta-account-audit1.6 KB

View saved version →

---
name: kreel-meta-account-audit
description: "Structural audit of the Meta ad account."
---

If more than one brand is reachable, call `list_brands` first and pass `brand` on every call.

Audit the Meta account structure. Use `get_entities` with platform='meta' at campaign, adset, and ad levels (adset rows carry effective_status, daily_budget/lifetime_budget, bid_strategy, optimization_goal). Look for:
- Naming-convention drift.
- Likely-duplicate ad sets: same or near-identical name AND the same optimization_goal. Targeting specs are NOT available, so this name+goal match is a best-effort heuristic, not a true audience-overlap check - say so.
- Abandoned campaigns: still ACTIVE (effective_status) but no spend in 30 days.
- Budget-allocation imbalance: first decide each campaign's budgeting mode. If the campaign carries a daily_budget or lifetime_budget and its ad sets have none (CBO / campaign-level budget optimization - get_entities None-drops absent budgets, so a missing ad-set budget is the CBO signal, not an error to skip), evaluate budget-vs-spend at the CAMPAIGN level: the campaign's daily_budget/lifetime_budget/budget_remaining against its 7-day spend from `get_performance` (platform='meta', entity_type='campaign', date_range={"days": 7}). If instead the ad sets carry daily_budget/lifetime_budget (ABO / ad-set budget optimization), compare each ad set's daily_budget/lifetime_budget (from `get_entities`, or the `adsets` DSL table) against its 7-day spend from `get_performance` (platform='meta', entity_type='adset', date_range={"days": 7}).
Return findings as a numbered list with severity (high/med/low).
kreel-monthly-report1.3 KB

View saved version →

---
name: kreel-monthly-report
description: "Monthly cross-platform performance report with MoM comparison."
---

Inputs: `<month>`. Collect any missing value from the user, then substitute it wherever the placeholder appears below.

If more than one brand is reachable, call `list_brands` first and pass `brand` on every call.

Produce the Kreel monthly performance report for <month>.

1. Call `get_brand_context` once; if set, use the brand's voice and judge against its saved targets.
2. Call `get_performance` at the account level (platform='all') for the whole month with compare_to_previous=True - the `vs_previous` blocks (per channel plus `summary.vs_previous`, including MER) give the month-over-month change on revenue, ROAS, spend, and orders. Do NOT call `compare` for period math: it compares subjects over one shared window, not month-vs-month.
3. Call `get_performance` at campaign level (limit 10, compare_to_previous=True) and `get_creatives` (platform='meta', date_range={"days": 30}) for the campaign and creative sections.

Render: headline takeaway → channel table with month-over-month deltas → campaign movers → creative section (flag fatigue) → flags & risks → one open question → three numbered next actions. Use standard thresholds where no brand target exists. Be concise and cite the numbers.
kreel-next-test-briefing441 Bytes

View saved version →

---
name: kreel-next-test-briefing
description: "Brief the next creative batch based on current performance."
---

If more than one brand is reachable, call `list_brands` first and pass `brand` on every call.

Brief the next creative test. Use `get_creatives` (date_range={"days": 30}) to see what's live, `get_performance` to see what's winning. Recommend 3 new creative angles to test, why each, and which existing creative each replaces.
kreel-onboard-brand4.65 KB

View saved version →

---
name: kreel-onboard-brand
description: "Build or extend a brand's Knowledge Base through a data-informed interview."
---

Run the Kreel brand onboarding interview. The goal is to build (or fill gaps in) this brand's Knowledge Base so every future report and recommendation is anchored in real brand context. This is re-runnable - each run picks up where the last left off, so only work the gaps.

## 0. Pick the brand first
This account may reach more than one brand, and onboarding must land on the right one. Call `list_brands` before anything else (it returns each brand's name and id):
- Exactly one brand: tell the user which brand you're onboarding, then continue.
- Several: ask the user which brand to onboard, listing the options by name - show the id too when two brands share a name, so the choice is unambiguous. Wait for their answer; don't read or write anything until the brand is chosen.
Pass the chosen brand's id as `brand` on every later call (`get_brand_context` and all the write verbs) - the id is always unique, so nothing lands on the wrong store.

## 1. Read the current state
Call `get_brand_context` once. It returns the Brand Profile (`context`: vertical, price_tier, margin_band, target_roas, target_cpa, target_aov), prose `sections` (keys: positioning, icp, competitive_landscape, brand_voice), `competitors`, `learnings`, and `learning_cap` (active/cap). Treat any null profile field, missing section key, empty competitor list, or thin learnings as a gap to fill. Never overwrite content that already looks good - confirm with the user before replacing it.

## 2. Gather evidence before asking
Do not interrogate the user for things the data already shows. First pull what the connected platforms know:
- `get_performance` at account level (platform='all') and campaign level for the recent window - this reveals the dominant channels, rough scale, ROAS/CPA/AOV reality, and seasonality.
- `get_creatives` (platform='meta') and `query` for any specifics you want to verify.
- If the user gives you the brand's website or an about/PDP URL, use `WebFetch` to read it and infer vertical, positioning, ideal customer, and voice. Cite what you inferred and from where.

## 3. Interview to close the gaps
Ask the user only what you genuinely cannot infer, one focused batch at a time. For everything you CAN infer (from data or the site), propose your inferred value and ask the user to confirm or correct it. **Never write silently** - every value that lands in the KB must be either user-stated or user-confirmed. Cover: the typed Profile anchors; positioning; ideal customer (icp); brand voice; the competitive landscape and named competitors.

## 4. Write the confirmed knowledge
Use the write verbs (each prompts the user for approval):
- `update_brand_profile` - vertical, price_tier (value/mid/premium/luxury), margin_band (lean/moderate/healthy), target_roas, target_cpa, target_aov. Partial; pass only confirmed fields.
- `update_section` - one call per prose section (key in positioning, icp, competitive_landscape, brand_voice), `content_md` in markdown.
- `set_competitor` - one call per named rival (name, optional handle, differentiator).
- `record_learning` - see step 5.

## 5. Seed learnings from the data
So the KB isn't empty post-onboarding, record a few durable, evidenced insights the data supports - e.g. the best-performing channel, a winning creative angle, a clear seasonal pattern, or the real AOV. Keep them durable and reusable, not throwaway point-in-time stats.
Avoid duplicates - `record_learning` WITHOUT an `id` always creates a new row, so check the `learnings` you already read in step 1 first:
- If an existing learning already covers the insight, call `record_learning(id=<that id>, topic, content, evidence)` to update it in place. Pass the `id` up front - don't create-then-merge.
- Only call `record_learning` without an `id` for a genuinely new insight.
- If a create still comes back with a non-empty `related` (a same-topic row already existed), you've just made a duplicate: merge the best content into one row via `record_learning(id=...)`, then `archive_learning` the redundant row so `learning_cap.active` doesn't bloat.

## 6. Curate at the cap
If `learning_cap.active` is near `cap`, don't just pile on. Merge same-topic learnings (`record_learning` with an `id`) and `archive_learning` the stale or superseded ones, so the active set stays the brand's most useful insights.

## 7. Close out
Summarise what you wrote, what the user confirmed, and which gaps remain (e.g. a section still empty, a target still unknown). Name the brand you onboarded so the user is sure it landed on the right one, and remind them they can re-run this anytime to keep filling the Knowledge Base.
kreel-portfolio-pulse1.84 KB

View saved version →

---
name: kreel-portfolio-pulse
description: "Cross-brand health check across your whole book of clients."
---

Inputs: `<date_range>`. Collect any missing value from the user, then substitute it wherever the placeholder appears below.

Give me a portfolio pulse for <date_range>.

1. Call `get_portfolio` with date_range=<date_range>, sort_by='revenue_delta', compare_to_previous=True. This groups every brand you can reach by workspace and ranks each group by revenue_delta_pct (biggest decline first), so the brands needing attention surface at the top - there is no `brand` argument, it always covers your whole reach in one call.
2. For each flagged brand - revenue_delta_pct or mer moved against it by more than 20%, or mer is 0 alongside non-zero ad_spend (spend with zero attributed revenue - a possible tracking gap, not necessarily a real zero; mer null just means no spend) - call `get_performance` with that brand's `id` passed as `brand` (platform='all', entity_type='account', compare_to_previous=True) over the SAME window you gave get_portfolio: convert <date_range> to get_performance's dict form, e.g. '30d' becomes date_range={"days": 30}. Drilling into a different window than the one that flagged the brand would attribute the change to the wrong period.
3. Before reporting on any brand whose `data_through` looks stale (more than a day or two behind today), call `get_brand_context` on it and disclose the staleness instead of trusting its numbers.

Render: one headline per workspace group, a table of flagged brands (name, revenue, revenue_delta_pct, mer, data_through), the channel-level driver behind each flagged brand from get_performance, and any brand whose connection looks stale. get_portfolio never sums revenue across brands (different base currencies, timezones, and revenue bases) - report each brand's figures individually, never a combined total.
kreel-product-breakdown1 KB

View saved version →

---
name: kreel-product-breakdown
description: "Sales by product SKU for a given period."
---

Inputs: `<date_range>`. Collect any missing value from the user, then substitute it wherever the placeholder appears below.

If more than one brand is reachable, call `list_brands` first and pass `brand` on every call.

Rank products by refund-correct net merchandise revenue over <date_range>. Call `get_performance` with platform='shopify', entity_type='product', that date range, metrics=['units', 'revenue'], limit=10, and compare_to_previous=True. Each row already contains the product id, product title, units, and net revenue, so do not make a separate catalog lookup. Revenue honors the Brand's Revenue Basis and sales-channel policy; shipping is excluded because it cannot be allocated defensibly to a product. Keep refund-only and deleted products visible. Report the top 10 and flag products whose net revenue dropped more than 20% versus the immediately preceding equal-length period using each row's vs_previous block.
kreel-scaling-candidates864 Bytes

View saved version →

---
name: kreel-scaling-candidates
description: "Identify ads/campaigns ready to scale."
---

If more than one brand is reachable, call `list_brands` first and pass `brand` on every call.

Find scaling candidates. Criteria: campaigns with 14-day ROAS > 2x target AND 14-day spend > 500 in the account currency (statistical relevance) AND not declining AND no fatigue signal in the last 7 days. Call `get_performance` at campaign level with date_range={"days": 14} and compare_to_previous=True, and exclude any campaign whose revenue or ROAS `vs_previous.delta_pct` is worse than -20%. Also call `detect_anomalies` with window={"days": 14} and treat a down revenue or ROAS alert as additional evidence; bounded or truncated anomaly output does not replace the per-campaign decline check. Check fatigue via `get_creatives` (platform='meta', date_range={"days": 7}).
kreel-weekly-report1.78 KB

View saved version →

---
name: kreel-weekly-report
description: "Produce a weekly performance report across all connected platforms."
---

Inputs: `<week_of>`. Collect any missing value from the user, then substitute it wherever the placeholder appears below.

If more than one brand is reachable, call `list_brands` first and pass `brand` on every call.

Produce the Kreel weekly performance report for the week of <week_of>.

1. Call `get_brand_context` once. If it is not empty, write in the brand's voice and judge every metric against the brand's saved targets (target_roas, target_cpa, target_aov).
2. Call `get_performance` with entity_type='account', platform='all', date_range={"days": 7}, compare_to_previous=True for the cross-platform channel breakdown. Each channel row carries a `vs_previous` block and `summary.vs_previous` carries blended MER - these are your week-over-week deltas. Do NOT call `compare` for period math: it compares subjects over one shared window, not this-week-vs-last-week.
3. Call `get_performance` with entity_type='campaign' (limit 10, compare_to_previous=True) for the top movers, and `get_creatives` (platform='meta', date_range={"days": 7}) for the creative section.

Render the report with these sections, in order:
- Headline: the one-sentence takeaway.
- Channel table: spend, revenue, ROAS, CPA, orders per channel, with week-over-week deltas from each row's `vs_previous`.
- Creative: top and bottom performers; flag fatigue from each creative's `fatigue` block (rising frequency trend, or CTR/hook-rate trend down >20%).
- Flags & risks: deliverability < 95%, learning-phase stalls, any metric off the brand's target.
- One question the numbers raise.
- Three numbered next actions.

Use generic, standard thresholds where the brand has no target set. Be concise and specific; cite the numbers.
Package details

Publisher declarations from the archived package. These are separate from our research and the live service's terms.

Package author
Beyond Peaks Ltd

Package observed Sep 30, 2026.

Technical details
First seen
Sep 30, 2026 · 22:02 UTC
Last seen
Oct 1, 2026 · 18:00 UTC
Collection status
Collected

plugin_asdk_app_6a6318aaee888191a823829387f922a5

Download plugin data (JSON)