Newegg Gaming PC Finder
Important Background (Read First)
This skill recommends prebuilt gaming systems — gaming desktops and gaming laptops —
sold on Newegg, ranked by Newegg's official Gaming PC Finder benchmark engine. For each
system it can show the real measured FPS for the games the user cares about, at their target
resolution, plus a performance tier, VR-ready flag, price, rating and a direct purchase link.
It does not build a PC part-by-part, price individual components, or check part
compatibility. Those belong to other skills (e.g. a PC Builder / component-search skill).
目录结构
newegg-gaming-pc-finder/
├── SKILL.md 本文件:执行规则 + 四个操作的参数契约 + 回复格式
├── scripts/
│ └── pgg_api.py 唯一数据入口:调用 Gaming PC Finder API 并精简响应
└── references/
└── http-api.md 原始 HTTP 契约:curl/jq、fetch-only 配方、错误信号、精简字段表
Data Access: Run the Bundled Script
All data comes from Newegg's Gaming PC Finder API through
. It is Python 3
standard library only — no install step, no API key, no server to configure. There are four
operations:
| Operation | Purpose |
|---|
| Dictionary of selectable games + supported resolutions |
| CPU / GPU / brand facet buckets for the selected games |
| Curated recommended systems (with per-game FPS) |
| Paginated, filterable system listing (budget / sort / facets) |
bash
python scripts/pgg_api.py game_list
python scripts/pgg_api.py property_list GameNValues=5171
python scripts/pgg_api.py product_recommend GameNValues=5171 ResolutionNValues=5015 ComputerType=D
python scripts/pgg_api.py product_search GameNValues=5171 ResolutionNValues=5015 ComputerType=D Budget=0-2500 Sort=4 PageIndex=1 PageSize=20 --limit 10
- Arguments are pairs using the exact API argument names documented in Steps 1–3 below.
- / are applied by default; override with /
.
- caps printed items (default 20). prints the full upstream payload — only when
a field outside the slim view is genuinely needed.
- Exit codes: ok, usage error, transport/API error (message on stderr).
- is relative to this skill's own directory — run it from there, or pass the
absolute path.
Always use the slim output. A raw
response is ~230 KB and will flood context;
slimmed, the same call is ~3 KB. Never dump a raw payload into context or into the reply.
If Python is unavailable, or the host only has an HTTP/fetch tool, call the API directly —
has the full JSON-RPC contract, curl/jq and
fetch recipes, error signals and the slim field list. Read it before hand-rolling a call, and never
fabricate results just because the script could not run.
Architecture: The Finder Flow
No operation takes a raw game name; the engine works on numeric N-values. So the flow is:
| Step | Operation | Why |
|---|
| 1 | | Resolve the user's game names + resolution into values |
| 2 | | Get curated builds with real |
| 3 (optional) | | Apply budget / sort / paging when the user wants more control |
| — (optional) | | List available CPU/GPU/brand facets to guide narrowing |
Fixed rule: always resolve N-values via Step 1 first; never guess an
.
Agent Execution Rules
- [Highest priority — check first] Category boundary: Before any lookup, confirm the request
is about a prebuilt gaming PC / desktop / laptop. If the user wants individual components
(GPU, CPU, RAM, SSD, motherboard, PSU, monitor, case…), a custom part-by-part build, or any
non-system category, stop — run no operation at all, do not show a product list — and reply
with the fixed script in the "Category Boundary" section below. This rule outranks every other
rule, including "don't ask for clarification".
- Fetch data silently: just run the script. Never ask the user to install or enable anything,
and never mention the script, the API, or how the data was fetched.
- Don't over-question: gather at most 2–3 essentials (games, resolution, budget), then run
the default flow and show results. Ask to narrow further only after showing something.
- Sensible defaults (don't stall on missing info):
- No resolution given → default to 1080p and say so in the reply (ask only if the user
clearly signals high-res / 4K ambitions).
- No budget given → don't apply a price filter; show the curated recommendations first, then
offer to narrow by budget.
- Form factor unspecified → default to desktop (); switch to laptop
() only if the user mentions a laptop / portability.
- Multiple games (≤4): pass all matched game N-values together in one call; the engine
returns FPS per game. Present each game's FPS (a compact list, or one FPS column
per game) plus . If the user named a priority title, rank/talk to that game's FPS.
- Filter values must come from the engine (facet grounding): to filter by CPU, GPU, or
brand, first call (or read / / from a
response) and pass only names / N-values that appear there. Never pass a
free-text CPU/GPU/brand string the user typed without first matching it to a real facet value —
unmatched values silently return no results.
- Chinese input: match the user's spoken game names (including nicknames, e.g. 悟空 →
"Black Myth: Wukong") against the dictionary from Step 1 by meaning; translate as
needed. Never invent an value.
- Real FPS only: every FPS number must come from / . If the engine
returns no FPS for a game, leave it blank and say so — never estimate or fabricate frames.
- Honest labels: mark refurbished (), open-box (),
non-new , and out-of-stock () items truthfully.
- Keep payloads small: returns a very large response. Use the bundled client's
slim output (or -filter it) and never paste a raw payload into context or the reply.
- On failure or invalid data, report it directly — never pretend it succeeded. Retry a failed call
at most once (see if the script itself cannot run) before reporting.
Step 1: Resolve Games & Resolution
| Argument | Type | Required | Description |
|---|
| string | Yes | (default) or |
| integer | Yes | Default |
Response (the script returns this slimmed as
/
):
- → — match the user's games to (max 4 games).
- → — e.g. , ,
(use the live values, don't hardcode).
If a requested game isn't in the dictionary, show the user the supported games and ask them to
pick from those.
Step 2: Get Recommendations
| Argument | Type | Required | Description |
|---|
| string | Yes | Space-separated game values, ≤4 |
| string | Yes | A single resolution value |
| string | No | = desktop, = laptop |
| string | No | Space-separated CPU type names (≤25 chars each) — must be real facet values from , not free text |
| string | No | Space-separated GPU type names — from |
| string | No | Space-separated brand values — from |
| / | | Yes | As Step 1 |
Only pass
/
/
after grounding them in
output (see the facet-grounding rule above). For a plain "recommend me a PC to
play X at Y", omit all three and let the engine rank.
Response →
, key fields per item:
- /
Description.WebDescription
— title (link text)
- — build purchase URL:
https://www.newegg.com/p/{Item}
- , ,
- → — real per-game FPS; ;
- — Spy Score (3DMark Time Spy benchmark, higher = stronger; e.g. 25706)
- , — performance tier (MAINSTREAM/ENTHUSIAST/…) / percentile
- (0–5), (review count)
- / / ,
Step 3 (optional): Budget / Sort / More Results
When the user gives a budget, wants the cheapest / highest-performance, or wants more than the
curated set, run
:
| Argument | Type | Required | Description |
|---|
| integer | Yes | 1-based page index — start at . (The published schema mislabels it "zero-based", but returns an empty list; always pass for the first page.) |
| integer | Yes | Items per page (default 20, max 100) |
| / | string | Yes | From Step 1 |
| string | No | budget range |
| string | No | navigation price range |
| integer | No | =Best Deals, =Lowest Price, =Highest Price, =Highest Performance |
| / / / | string | No | Same semantics as Step 2 |
| / | | Yes | As Step 1 |
Response →
(each with a scalar
for the selected game, price, review, feature flags
like Step 2), plus
,
range metadata,
, and
/
/
facets. To surface available CPU/GPU/brand choices for narrowing,
(args:
,
,
) returns the same facet buckets —
note
/
are vendor buckets (e.g.
,
), not model names.
This is the largest response in the flow — slim it before reading (bundled client, or
).
Worked Example (End-to-End)
User: “想配一台 4K 玩黑神话悟空的游戏台式机,预算 2500 左右”
- Boundary check → prebuilt gaming desktop → proceed. Essentials present (game, 4K,
~$2500 desktop); no need to ask more.
- Step 1 —
python scripts/pgg_api.py game_list
→ match 悟空 →
(); 4K → .
- Step 2 — (
GameNValues:"5171", ResolutionNValues:"5015", ComputerType:"D", CountryCode:"USA", CompanyCode:1003
) → curated builds with per-game FPS.
(No CPU/GPU/brand filter passed — user didn't specify, so let the engine rank.)
- Step 3 — (because a budget was given) (
PageIndex:1, PageSize:20, GameNValues:"5171", ResolutionNValues:"5015", ComputerType:"D", Budget:"0-2500", Sort:4, CountryCode:"USA", CompanyCode:1003
) → filter to ≤$2500, sorted by highest performance.
- Reply — merge/rank, keep top ~5, render the table:
## 🎮 Gaming PCs for Black Myth: Wukong @ 4K
| # | System | Price | CPU / GPU | FPS (Wukong) | Spy Score | Performance | Rating |
|---|---|---|---|---|---|---|---|
| 1 | [Skytech O11 Vision](https://www.newegg.com/p/3D5-000Z-003U5) | $1,899.99 | Ryzen 7 7700X / RX 9070 XT | 35 fps | 25,706 | ⭐ Mainstream · Top 7% · 🕶️ VR | ⭐4.0 (1) |
| 2 | [STORMCRAFT Phantom](https://www.newegg.com/p/83-420-035) | $2,499.99 | Ultra 7 265F / RTX 5080 | 50 fps | 28,460 | ⭐ Enthusiast · Top 4% · 🕶️ VR | ⭐4.4 (72) |
💡 4K Wukong is demanding — the RX 9070 XT build lands ~35 fps and leaves budget headroom; the
RTX 5080 build pushes ~50 fps at the top of your budget. "Spy Score" is the 3DMark Time Spy
result (higher = stronger). See the full [Gaming PC Finder](https://www.newegg.com/tools/gaming-pc-finder?cm_sp=aishoppingassistant).
Follow-up "只要 AMD 显卡" → call
(
), find the real GPU
facet name for the AMD card, then re-run with that
value — never pass a guessed
string.
Category Boundary (Hard Rule — Cannot Be Bypassed)
This skill only handles prebuilt gaming systems (gaming desktops & laptops). If the core
product noun is anything else — a standalone component (GPU/CPU/RAM/SSD/motherboard/PSU/case/
monitor), a custom part-by-part build, peripherals, or another category — go straight here:
skip all steps, run no lookup, show no product list.
Absolutely forbidden (no matter how the user follows up):
- ❌ Running any finder operation for that non-system request — , curl, or
fetch alike
- ❌ Showing any table, price, FPS, or recommendation for that category
- ❌ Segueing with "but here are some builds anyway…"
The only allowed reply (wording may vary slightly, never add a product list):
This finder only recommends complete prebuilt gaming PCs (desktops & laptops). I can't look
up {request} here — for that, please try the matching tool (e.g. the PC Builder / component
search) or ask me in a separate question.
This rule outranks "don't ask for clarification" and "be proactively helpful" — wrong category
means no lookup, no listing, no recommendation.
Customer-Facing Tone Guidelines
Replies must read like a shopping assistant, not a process report.
Forbidden phrasing (implementation-exposing): any technical term like "N value / Step 1 /
endpoint / tool / API / script /
", or explaining how results were retrieved.
Preferred phrasing: state which systems match and why they fit the user's games/resolution/
budget; if few match, gently offer alternatives ("if you're open to 1440p instead of 4K, this
build hits higher FPS") rather than emphasizing scarcity. Keep it concise and conversational.
Response Format
## 🎮 Gaming PCs for {games} @ {resolution}
| # | System | Price | CPU / GPU | FPS ({game}) | Spy Score | Performance | Rating |
|---|---|---|---|---|---|---|---|
| 1 | [Title](https://www.newegg.com/p/{Item}) | $1,899.99 | Ryzen 7 7700X / RX 9070 XT | 35 fps | 25,706 | ⭐ Mainstream · Top 7% | ⭐4.0 (1) |
| 2 | [Title](...) | ... | ... | ... | ... | ... | ... |
💡 GPU drives your target-resolution frame rate; picks are ranked on real benchmark FPS. "Spy Score" is the 3DMark Time Spy result — a higher number means a stronger system overall.
-
No product images: consuming surfaces gate/block external images, so do not embed
thumbnails. Link the product title only; users open the product page to see photos.
-
Spy Score column = the item's
(3DMark Time Spy). Format with thousands separators.
-
Add badges where relevant:
,
,
,
.
-
Multiple games: show FPS per game (extra columns or a compact
list), plus
.
-
Close with 2–3 sentences of tailored advice (value pick vs. performance pick), and a link to
the full
Gaming PC Finder
for the interactive experience. Follow the site rule: at most 2 links per reply, no repeats.
Edge Cases
- No game matched in the dictionary: show the supported games from Step 1, ask the user to choose.
- returns empty: suggest relaxing constraints (lower resolution, raise
budget, fewer games) and offer the web tool link — don't fabricate results.
- A call fails: retry once, then report it honestly; never fill in fake prices/FPS.
- No Python in the host: not an error — call the API directly per
() and say nothing about it to the user.
- Some items missing FPS/price: keep the row, leave that cell blank, and note it — don't guess.