[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"extension-skill-BuyWhere-buywhere-openai-example-ko":3,"guides-for-BuyWhere-buywhere-openai-example":231,"similar-k1779m1fq6ajenve6aq8xrbxy58640g6":232},{"_creationTime":4,"_id":5,"children":6,"community":7,"display":9,"evaluation":22,"identity":192,"isFallback":197,"parentExtension":198,"providers":199,"relations":205,"repo":207,"workflow":227},1777995645703.2446,"k1779m1fq6ajenve6aq8xrbxy58640g6",[],{"reviewCount":8},0,{"description":10,"installMethods":11,"name":12,"sourceUrl":13,"tags":14},"Extension from BuyWhere/buywhere",{},"BuyWhere API","https://github.com/BuyWhere/buywhere/tree/HEAD/packages/buywhere-openai-example",[15,16,17,18,19,20,21],"api","shopping","ai","mcp","openai","typescript","python",{"_creationTime":23,"_id":24,"extensionId":5,"locale":25,"result":26,"trustSignals":179,"workflow":190},1778005088200.76,"kn75gbbct078j9eaarspfht501865r32","en",{"checks":27,"evaluatedAt":169,"extensionSummary":170,"promptVersionExtension":171,"promptVersionScoring":172,"rationale":173,"score":174,"summary":175,"tags":176,"targetMarket":177,"tier":178},[28,33,36,39,43,47,51,55,58,61,66,70,74,78,81,84,87,90,93,96,99,103,107,111,115,118,121,124,128,131,134,137,140,143,147,150,153,156,159,162,166],{"category":29,"check":30,"severity":31,"summary":32},"Practical Utility","Problem relevance","pass","The README clearly states the problem being solved: providing an agent-native product catalog API for AI shopping agents, focusing on search, price comparison, and deals discovery across multiple retailers.",{"category":29,"check":34,"severity":31,"summary":35},"Unique selling proposition","The extension offers a specialized API for AI agents with BM25-ranked search and structured price comparison, which goes beyond a generic API wrapper.",{"category":29,"check":37,"severity":31,"summary":38},"Production readiness","The extension provides a functional API with clear quick start instructions, documentation, and MCP integration examples, suggesting it's ready for use in agent workflows.",{"category":40,"check":41,"severity":31,"summary":42},"Scope","Single responsibility principle","The extension focuses on providing a product catalog API and related tools for shopping agents, adhering to a single responsibility principle.",{"category":40,"check":44,"severity":45,"summary":46},"Description quality","warning","The displayed description is boilerplate ('Extension from BuyWhere/buywhere') and provides no information about the extension's functionality.",{"category":48,"check":49,"severity":31,"summary":50},"Invocation","Scoped tools","The MCP integration lists several specific verb-noun tools like `search_products`, `get_product`, and `get_deals`, indicating a good scope for individual tools.",{"category":52,"check":53,"severity":31,"summary":54},"Documentation","Configuration & parameter reference","API key and base URL are clearly documented as environment variables for quick start and MCP integration. The quick start guide covers the necessary setup.",{"category":40,"check":56,"severity":31,"summary":57},"Tool naming","The MCP tools are named descriptively using a kebab-case format (e.g., `search_products`, `get_deals`).",{"category":40,"check":59,"severity":31,"summary":60},"Minimal I/O surface","The API documentation (referenced) and example usage suggest that inputs are structured (query params, product IDs) and outputs are relevant to the task, not including excessive internal details.",{"category":62,"check":63,"severity":64,"summary":65},"License","License usability","critical","The extension is explicitly marked as 'Proprietary — © 2026 BuyWhere. All rights reserved.', which is not a usable open-source license.",{"category":67,"check":68,"severity":31,"summary":69},"Maintenance","Commit recency","The last commit was on 2026-05-05, which is 0 days ago, indicating very recent activity.",{"category":67,"check":71,"severity":72,"summary":73},"Dependency Management","not_applicable","The primary buywhere-api repository does not appear to have third-party dependencies managed in a way that would require updates or vulnerability checks from this evaluation perspective. The example package does have dependencies, but they are managed via npm/pip.",{"category":75,"check":76,"severity":31,"summary":77},"Security","Secret Management","The API key is handled via environment variables and Bearer tokens, which is a standard and appropriate method. No hardcoded secrets are visible in the provided files.",{"category":75,"check":79,"severity":31,"summary":80},"Injection","The provided files do not show any explicit third-party data loading or web fetching that would require protection against injection. The API calls are to a controlled BuyWhere API.",{"category":75,"check":82,"severity":31,"summary":83},"Transitive Supply-Chain Grenades","The extension does not appear to fetch remote content and execute it, nor does it use suspicious runtime package installations. All code appears to be bundled or relies on standard package manager installs.",{"category":75,"check":85,"severity":31,"summary":86},"Sandbox Isolation","The extension interacts with a remote API and does not appear to modify files outside of its own project context or make assumptions about user-specific file layouts.",{"category":75,"check":88,"severity":31,"summary":89},"Sandbox escape primitives","No detached-process spawns or deny-retry loops were found in the provided scripts.",{"category":75,"check":91,"severity":31,"summary":92},"Data Exfiltration","The extension's purpose is to query an API; it does not appear to exfiltrate confidential data or personal information to third parties.",{"category":75,"check":94,"severity":31,"summary":95},"Hidden Text Tricks","The bundled files are free of hidden-steering tricks, invisible Unicode characters, or other obfuscation methods.",{"category":75,"check":97,"severity":31,"summary":98},"Opaque code execution","The provided scripts are readable source code and do not contain obfuscated payloads or runtime code fetching.",{"category":100,"check":101,"severity":31,"summary":102},"Portability","Structural Assumption","The extension relies on environment variables for API keys and URLs, and its Python/TS examples are standard usage patterns, avoiding assumptions about specific project structures.",{"category":104,"check":105,"severity":31,"summary":106},"Trust","Issues Attention","0 issues opened and 0 issues closed in the last 90 days, indicating no active issues or engagement, which is not a concern given the recency of commits.",{"category":108,"check":109,"severity":45,"summary":110},"Versioning","Release Management","The package.json for the example has a version of 0.1.0, and there is no explicit CHANGELOG or release tag, nor a version in the SKILL.md frontmatter (which is absent). The lack of a robust versioning strategy is a concern.",{"category":112,"check":113,"severity":31,"summary":114},"Code Execution","Validation","The Python and TypeScript examples demonstrate structured use of the BuyWhere client and OpenAI's tool calling, implying that inputs to the tools are handled and validated by the client library and OpenAI.",{"category":75,"check":116,"severity":31,"summary":117},"Unguarded Destructive Operations","The extension's primary function is to query an API for product information, which is a read-only operation and does not involve destructive actions.",{"category":112,"check":119,"severity":31,"summary":120},"Error Handling","The Python and TypeScript examples show basic error handling for API key setup and implement a pattern of appending tool call results to messages, suggesting structured error propagation is intended.",{"category":112,"check":122,"severity":72,"summary":123},"Logging","The extension's primary function is to interact with an external API; logging of actions to a local audit file is not applicable in this context.",{"category":125,"check":126,"severity":31,"summary":127},"Compliance","GDPR","The extension queries a product catalog and does not appear to handle personal data. Any personal data submitted would be to the BuyWhere API, which is expected to handle it appropriately.",{"category":125,"check":129,"severity":31,"summary":130},"Target market","The extension targets a global market by referencing multiple regions and countries in its README and documentation. The `targetMarket` is 'global'.",{"category":100,"check":132,"severity":31,"summary":133},"Runtime stability","The examples are written in Python and TypeScript and utilize standard libraries, indicating good cross-platform compatibility. No specific OS or shell assumptions are made.",{"category":48,"check":135,"severity":31,"summary":136},"Precise Purpose","The README clearly defines the extension's purpose: an agent-native product catalog API for AI shopping agents, with explicit capabilities like search, price comparison, and deals discovery.",{"category":48,"check":138,"severity":45,"summary":139},"Concise Frontmatter","The README's frontmatter is sufficient but not particularly concise for routing, and the displayed description is boilerplate, providing no specific routing information.",{"category":52,"check":141,"severity":31,"summary":142},"Concise Body","The README is well-structured and delegates detailed information like API documentation, guides, and architecture to separate files, keeping the main README concise.",{"category":144,"check":145,"severity":31,"summary":146},"Context","Progressive Disclosure","The README effectively uses links to separate files for detailed documentation, API references, guides, and release notes, adhering to progressive disclosure.",{"category":144,"check":148,"severity":72,"summary":149},"Forked exploration","This extension is an API client and tool provider, not a deep exploration or code review skill, so `context: fork` is not applicable.",{"category":29,"check":151,"severity":31,"summary":152},"Usage examples","Multiple ready-to-use examples in Python and TypeScript are provided, demonstrating how to integrate with OpenAI and use the BuyWhere tools.",{"category":29,"check":154,"severity":31,"summary":155},"Edge cases","The README mentions rate limits and error handling (429 Too Many Requests, exponential backoff) which addresses potential failure modes and recovery steps.",{"category":112,"check":157,"severity":72,"summary":158},"Tool Fallback","The extension provides its own tools via the BuyWhereClient and integrates with OpenAI's function calling, rather than relying on optional external tools like MCP servers.",{"category":100,"check":160,"severity":31,"summary":161},"Stack assumptions","The extension specifies Python and TypeScript as runtimes and lists their respective package manager installation commands (`pip install`, `npm install`), clearly stating stack assumptions.",{"category":163,"check":164,"severity":31,"summary":165},"Safety","Halt on unexpected state","The examples demonstrate basic error handling for API keys and successful tool call dispatching, implying that unexpected states would halt the workflow and report an error.",{"category":100,"check":167,"severity":31,"summary":168},"Cross-skill coupling","The extension functions as a standalone API client and tool provider, not implicitly relying on other skills. Any cross-skill coordination would be handled by the AI client orchestrating calls to this skill.",1778004861855,"This extension provides client libraries and tools for interacting with the BuyWhere product catalog API, enabling AI agents to search products, compare prices, discover deals, and track pricing across numerous retailers. It supports integration with OpenAI's function calling and is usable in Python and TypeScript.","2.0.0","3.4.0","The extension is well-documented, provides clear examples, and has good security practices. However, the critical finding on license usability (proprietary) and the warning on release management prevent a higher score.",75,"A comprehensive product catalog API client for AI shopping agents with robust documentation and examples.",[15,16,17,18,19,20,21],"global","flagged",{"codeQuality":180,"collectedAt":181,"documentation":182,"maintenance":184,"popularity":186,"security":187,"testCoverage":189},{},1778004843812,{"descriptionLength":183,"readmeSize":8},32,{"closedIssues90d":8,"openIssues90d":8,"pushedAt":185},1777994429000,{"smitheryUniqueUsers":8,"smitheryUseCount":8},{"hasNpmPackage":188,"smitheryVerified":188},false,{"hasCi":188,"hasTests":188},{"updatedAt":191},1778005088200,{"githubOwner":193,"githubRepo":194,"locale":25,"slug":195,"type":196},"BuyWhere","buywhere","buywhere-openai-example","skill",true,null,{"extract":200,"llm":203,"smithery":204},{"commitSha":201,"license":202},"2083d92e71185b754d867eae453dc21e471f33d2","Proprietary",{"promptVersionExtension":171,"promptVersionScoring":172,"score":174,"targetMarket":177,"tier":178},{"qualityScore":8,"totalActivations":8,"uniqueUsers":8,"useCount":8,"verified":188},{"repoId":206},"kd76sh9s8596jy0g347p8xyj6d865494",{"_creationTime":208,"_id":206,"identity":209,"providers":211,"workflow":224},1777995551258.05,{"githubOwner":193,"githubRepo":194,"sourceUrl":210},"https://github.com/BuyWhere/buywhere",{"discover":212,"github":215},{"sources":213},[214],"mcp-registry",{"closedIssues90d":8,"forks":8,"openIssues90d":8,"pushedAt":185,"readmeSize":216,"stars":8,"topics":217},5005,[194,218,219,220,221,222,223],"mcp-server","model-context-protocol","product-catalog","shopping-agent","singapore","southeast-asia",{"discoverAt":225,"extractAt":226,"githubAt":226,"updatedAt":226},1777995551258,1777995647021,{"anyEnrichmentAt":228,"extractAt":229,"githubAt":230,"llmAt":191,"smitheryAt":228,"updatedAt":191},1777995723550,1777995645703,1777995646287,[],[233,261,291,320,348,368],{"_creationTime":234,"_id":235,"community":236,"display":237,"identity":250,"providers":252,"relations":259,"workflow":260},1777995645703.245,"k172wbj84mwfawa1krjnvymwfx864x8d",{"reviewCount":8},{"description":238,"installMethods":239,"name":240,"sourceUrl":241,"tags":242},"BuyWhere OpenAI function tools - product search, price comparison, and deals as OpenAI function calling tools",{},"BuyWhere OpenAI Tools","https://github.com/BuyWhere/buywhere/tree/HEAD/packages/buywhere-openai-tools",[194,19,243,244,245,246,247,16,248,17,20,249],"openai-tools","function-calling","product-search","price-comparison","deals","agent-sdk","npm",{"githubOwner":193,"githubRepo":194,"locale":25,"slug":251,"type":196},"buywhere-openai-tools",{"extract":253,"llm":255,"smithery":258},{"commitSha":201,"license":254},"MIT",{"promptVersionExtension":171,"promptVersionScoring":172,"score":256,"targetMarket":177,"tier":257},95,"verified",{"qualityScore":8,"totalActivations":8,"uniqueUsers":8,"useCount":8,"verified":188},{"repoId":206},{"anyEnrichmentAt":228,"extractAt":229,"githubAt":230,"llmAt":191,"smitheryAt":228,"updatedAt":191},{"_creationTime":262,"_id":263,"community":264,"display":265,"identity":277,"providers":280,"relations":285,"workflow":287},1778053689272.9238,"k17a5hw81fhwybk1wxavs6mvjs8676ca",{"reviewCount":8},{"description":266,"installMethods":267,"name":268,"sourceUrl":269,"tags":270},"Set up a new Prisma Postgres database and connect it to a local project using the Management API. Use when asked to \"set up a database\", \"create a Prisma Postgres project\", \"get a connection string\", \"connect my app to Prisma Postgres\", or \"provision a database\".",{},"Prisma Postgres Setup","https://github.com/prisma/skills/tree/HEAD/prisma-postgres-setup",[271,272,273,274,275,15,20,276],"prisma","postgres","database","setup","connection","node-js",{"githubOwner":271,"githubRepo":278,"locale":25,"slug":279,"type":196},"skills","prisma-postgres-setup",{"extract":281,"llm":283},{"commitSha":282,"license":254},"741a74fdafc1bf61fa208c2f73878be688cba263",{"promptVersionExtension":171,"promptVersionScoring":172,"score":284,"targetMarket":177,"tier":257},99,{"repoId":286},"kd76h7swxyhk8405svecsqq7gh864y5s",{"anyEnrichmentAt":288,"extractAt":289,"githubAt":288,"llmAt":290,"updatedAt":290},1778053689723,1778053689272,1778053716548,{"_creationTime":292,"_id":293,"community":294,"display":295,"identity":306,"providers":309,"relations":314,"workflow":316},1778054711476.0596,"k17ed9jy1nygmcqva51bkzyyyd866r6h",{"reviewCount":8},{"description":296,"installMethods":297,"name":298,"sourceUrl":299,"tags":300},"Guides development of Fastify Node.js backend servers and REST APIs using TypeScript or JavaScript. Use when building, configuring, or debugging a Fastify application — including defining routes, implementing plugins, setting up JSON Schema validation, handling errors, optimising performance, managing authentication, configuring CORS and security headers, integrating databases, working with WebSockets, and deploying to production. Covers the full Fastify request lifecycle (hooks, serialization, logging with Pino) and TypeScript integration via strip types. Trigger terms: Fastify, Node.js server, REST API, API routes, backend framework, fastify.config, server.ts, app.ts.",{},"Fastify Best Practices","https://github.com/mcollina/skills/tree/HEAD/skills/fastify",[301,302,20,303,15,304,305],"fastify","nodejs","backend","server","http",{"githubOwner":307,"githubRepo":278,"locale":25,"slug":308,"type":196},"mcollina","fastify-best-practices",{"extract":310,"llm":312},{"commitSha":311,"license":254},"5b2a81354b6d10325da0db9decc9ce5ecc714138",{"promptVersionExtension":171,"promptVersionScoring":172,"score":313,"targetMarket":177,"tier":257},98,{"repoId":315},"kd7a9jywzfe3c5g5r1a62htmrn865rt1",{"anyEnrichmentAt":317,"extractAt":318,"githubAt":317,"llmAt":319,"updatedAt":319},1778054711844,1778054711476,1778054745098,{"_creationTime":321,"_id":322,"community":323,"display":324,"identity":335,"providers":338,"relations":342,"workflow":344},1778053148350.4817,"k1799ke3mvvmb9chq1vt0k97k5867cfv",{"reviewCount":8},{"description":325,"installMethods":326,"name":327,"sourceUrl":328,"tags":329},"Build and manage webhook-based integrations for real-time event processing and API connections",{},"Webhook Automation","https://github.com/claude-office-skills/skills/tree/HEAD/webhook-automation",[330,15,331,332,333,334,18],"webhook","integration","automation","events","engineering",{"githubOwner":336,"githubRepo":278,"locale":25,"slug":337,"type":196},"claude-office-skills","webhook-automation",{"extract":339,"llm":341},{"commitSha":340,"license":254},"9c4c7d5cd2813a8936bf2c9fdb174ea883b85a11",{"promptVersionExtension":171,"promptVersionScoring":172,"score":313,"targetMarket":177,"tier":257},{"repoId":343},"kd7fw7xbj58qc2z8whrrjptbed8659db",{"anyEnrichmentAt":345,"extractAt":346,"githubAt":345,"llmAt":347,"updatedAt":347},1778053151766,1778053148350,1778053561145,{"_creationTime":349,"_id":350,"community":351,"display":352,"identity":361,"providers":363,"relations":366,"workflow":367},1778053148350.4202,"k17a8yhy4bc401x2yjqa1rvgc9867kxm",{"reviewCount":8},{"description":353,"installMethods":354,"name":355,"sourceUrl":356,"tags":357},"Generate complete presentations with AI - from outline to polished slides",{},"AI Slides","https://github.com/claude-office-skills/skills/tree/HEAD/ai-slides",[358,17,359,360,18,21],"presentation","generation","automatic",{"githubOwner":336,"githubRepo":278,"locale":25,"slug":362,"type":196},"ai-slides",{"extract":364,"llm":365},{"commitSha":340,"license":254},{"promptVersionExtension":171,"promptVersionScoring":172,"score":313,"targetMarket":177,"tier":257},{"repoId":343},{"anyEnrichmentAt":345,"extractAt":346,"githubAt":345,"llmAt":347,"updatedAt":347},{"_creationTime":369,"_id":370,"community":371,"display":372,"identity":382,"providers":386,"relations":391,"workflow":393},1778053100136.2437,"k177cymqjd5pwcqq4tk0kek34d867am8",{"reviewCount":8},{"description":373,"installMethods":374,"name":375,"sourceUrl":376,"tags":377},"Conduct multi-round deep research on any GitHub Repo. Use when users request comprehensive analysis, timeline reconstruction, competitive analysis, or in-depth investigation of GitHub. Produces structured markdown reports with executive summaries, chronological timelines, metrics analysis, and Mermaid diagrams. Triggers on Github repository URL or open source projects.",{},"GitHub Deep Research Skill","https://github.com/bytedance/deer-flow/tree/HEAD/skills/public/github-deep-research",[378,379,380,15,381,21],"github","research","analysis","report-generation",{"githubOwner":383,"githubRepo":384,"locale":25,"slug":385,"type":196},"bytedance","deer-flow","github-deep-research",{"extract":387,"llm":389},{"commitSha":388,"license":254},"1336872b15c25d45ebcb7c1cf72369c2bdd53187",{"promptVersionExtension":171,"promptVersionScoring":172,"score":390,"targetMarket":177,"tier":257},97,{"repoId":392},"kd789sm7egx1h0t1jag6zzhcq98656wv",{"anyEnrichmentAt":394,"extractAt":395,"githubAt":394,"llmAt":396,"updatedAt":396},1778053101076,1778053100136,1778053169012]