[object Object]

← back to Sku Check Skill

sku-check: log Gemini sku-image-analysis usage to cost-tracker

64a2269cc3e38ef2491f9d5f190a7e327ef4b879 · 2026-05-12 17:52:37 -0700 · Steve

Files touched

Diff

commit 64a2269cc3e38ef2491f9d5f190a7e327ef4b879
Author: Steve <steve@designerwallcoverings.com>
Date:   Tue May 12 17:52:37 2026 -0700

    sku-check: log Gemini sku-image-analysis usage to cost-tracker
---
 server.js | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/server.js b/server.js
index 2597b9f..c5750cf 100644
--- a/server.js
+++ b/server.js
@@ -25,7 +25,7 @@ const SHOPIFY_HEADERS = {
 
 const SLACK_WEBHOOK = 'https://hooks.slack.com/services/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';
 
-const GEMINI_API_KEY = 'AIzaSyAO0rLKwtJUKcf3zVmKstBS4udct4QejMo';
+const GEMINI_API_KEY = '${GEMINI_API_KEY}';
 const GEMINI_ENDPOINT = 'https://generativelanguage.googleapis.com/v1beta/models/gemini-2.0-flash:generateContent';
 
 // Brewster / York trade portal credentials (same parent company, shared login)
@@ -185,6 +185,10 @@ Return ONLY valid JSON:
     });
 
     const geminiData = await geminiResp.json();
+    try {
+      const { logGemini } = require(require('path').join(require('os').homedir(), '.claude/skills/cost-tracker/scripts/log-gemini.js'));
+      logGemini(geminiData, { app: 'sku-check-skill', model: 'gemini-2.0-flash', note: 'sku-image-analysis' });
+    } catch {}
     const text = geminiData?.candidates?.[0]?.content?.parts?.[0]?.text || '';
     const jsonMatch = text.match(/\{[\s\S]*\}/);
     if (!jsonMatch) return { analysis: null, message: 'Gemini returned no JSON' };

← 5f2d884 initial scaffold (gitify-all 2026-05-06)  ·  back to Sku Check Skill  ·  snapshot: 1 file(s) changed, ~1 modified 460f702 →