{"id":"cmuxo6v272yaqad070tiyl17n","slug":"techtide-gcp-gemini-api-developer","publicId":"143d6c52-f602-4ffa-8adc-178815cba464","name":"techtide-gcp-gemini-api-developer","description":"Build, integrate, and debug Gemini API applications on Google Cloud Agent Platform (formerly Vertex AI) using the unified google-genai SDK. Covers text generation, multimodal inputs, function calling, structured output, embeddings, context caching, batch prediction, streaming, Live API (bidirectional voice/video), and model tuning across Python, TypeScript/JavaScript, Go, Java, and C#. Use when building Gemini-powered applications, migrating from deprecated Vertex AI or google-generativeai SDKs, or integrating Gemini capabilities into a GCP-hosted service.","version":"0.1.0","author":"github: TechTide","license":"Apache-2.0","compatibility":"","status":"completed","overallGrade":"B","scannerVersion":11,"fileCount":2,"hasSkillMd":true,"hasScripts":false,"hasReferences":false,"hasEvals":false,"hasAssets":false,"sourceType":"github","sourceUrl":"https://github.com/techtideohio/techtide-harness-kit/tree/master/skills/gcp/techtide-gcp-gemini-api-developer","createdAt":"2026-10-07T05:31:34.201Z","completedAt":"2026-10-07T05:31:34.199Z","visibility":"public","publishedAt":"2026-09-03T05:58:06.404Z","category":"","frameworks":[],"badgeStatus":"conditional","downloadCount":0,"verdictRationale":{"summary":"Skill has warnings: 1 warning in security or structure checks.","verdict":"warn","scanners":[{"source":"vettd","weight":1,"verdict":"warn"},{"source":"cisco","weight":0.8,"verdict":"pass"}],"consensus":"warn","warnTriggers":["References external URL — review for indirect prompt injection risk"],"policyVersion":"consensus-v1","hardFailTriggers":[]},"verdictPolicyVersion":"consensus-v1","skillId":"cmtl460bu8703ad09fj71imr4","findings":[{"id":"cmuxo6v272yarad07gpybzwz8","source":"vettd","category":"security","label":"References external URL — review for indirect prompt injection risk","detail":"External URL(s) detected in SKILL.md — referenced content can change after audit","severity":"medium","ruleId":"VTD-0088","owaspLlmCategory":null,"intent":null,"chainId":null,"fingerprint":"42638a8b7e9fc5df27449992eaebc724","filepath":"SKILL.md"},{"id":"cmuxo6v272yasad072l5bdk32","source":"cisco","category":"security","label":"Skill does not specify a license","detail":"SKILL.md — Skill manifest does not include a 'license' field. Specifying a license helps users understand usage terms.","severity":"info","ruleId":"MANIFEST_MISSING_LICENSE","owaspLlmCategory":null,"intent":null,"chainId":null,"fingerprint":"592f7ac7731768f0fd0bba83f30850f9","filepath":"SKILL.md"}],"scannerRuns":[{"source":"cisco","status":"success","verdict":null,"grade":"A","findingCount":1,"criticalCount":0,"highCount":0},{"source":"vettd","status":"success","verdict":null,"grade":"B","findingCount":1,"criticalCount":0,"highCount":0}],"user":{"name":"Kris Mondlane","image":"https://avatars.githubusercontent.com/u/237055?v=4"},"repository":{"owner":"techtideohio","name":"techtide-harness-kit"},"freshness":{"status":"verified_unchanged","reason":null,"retryable":false,"renamedTo":null,"lastCheckedAt":"2026-10-22T03:00:39.532Z","lastVerifiedAt":"2026-10-22T03:00:39.532Z","lastChangeDetectedAt":null,"scannedHash":"f571bfbac5b9c1ffdb96f00e10e41d9e90894f68","latestUpstreamHash":"f571bfbac5b9c1ffdb96f00e10e41d9e90894f68","nextCheckDueAt":"2026-10-23T03:31:19.884Z"},"signalCategories":[{"category":"safety","label":"Safety","form":"graded","verdict":null,"rows":[]},{"category":"reliability","label":"Reliability & Quality","form":"graded","verdict":null,"rows":[]},{"category":"performance","label":"Performance","form":"measured","verdict":{"form":"measured","magnitudes":[{"ruleId":"performance/static-context-tokens","label":"Static context tokens","value":993,"unit":null,"method":"tiktoken/cl100k_base/skill-md-body"}]},"rows":[{"origin":"signal","id":"cmuxo6wr12yk1ad079upu0cr9","subjectType":"skill_audit","subjectId":"cmuxo6v272yaqad070tiyl17n","relatedType":"","relatedId":"","dataCategory":"performance","sourceClass":"scan","source":"vettd","ruleId":"performance/static-context-tokens","severity":null,"label":"Static context tokens","detail":null,"valueNum":993,"valueText":null,"unit":null,"method":"tiktoken/cl100k_base/skill-md-body","derivation":null,"confidence":null,"sampleSize":null,"synthetic":false,"firstParty":true,"observedAt":"2026-10-07T05:31:27.000Z","payload":null},{"origin":"signal","id":"cmuxo71xk2zemad076zosrqs6","subjectType":"skill_audit","subjectId":"cmuxo6v272yaqad070tiyl17n","relatedType":"","relatedId":"","dataCategory":"performance","sourceClass":"scan","source":"vettd","ruleId":"performance/progressive-disclosure","severity":null,"label":"Progressive disclosure","detail":null,"valueNum":null,"valueText":"absent","unit":null,"method":null,"derivation":"read","confidence":null,"sampleSize":null,"synthetic":false,"firstParty":true,"observedAt":"2026-10-07T05:31:27.000Z","payload":null}]},{"category":"cost","label":"Cost","form":"measured","verdict":null,"rows":[]},{"category":"compatibility","label":"Compatibility","form":"unjudged","verdict":{"form":"unjudged"},"rows":[{"origin":"signal","id":"cmuxo6x562ymnad0704w673hn","subjectType":"skill_audit","subjectId":"cmuxo6v272yaqad070tiyl17n","relatedType":"","relatedId":"","dataCategory":"compatibility","sourceClass":"scan","source":"vettd","ruleId":"compatibility/declared-environment-assumptions","severity":null,"label":"Declared environment assumptions","detail":null,"valueNum":null,"valueText":"","unit":null,"method":null,"derivation":"read","confidence":null,"sampleSize":null,"synthetic":false,"firstParty":true,"observedAt":"2026-10-07T05:31:27.000Z","payload":null},{"origin":"signal","id":"cmuxo6yag2yutad0796kuxz58","subjectType":"skill_audit","subjectId":"cmuxo6v272yaqad070tiyl17n","relatedType":"declared_tool","relatedId":"Grep","dataCategory":"compatibility","sourceClass":"scan","source":"vettd","ruleId":"compatibility/declared-required-tools","severity":null,"label":"Declared required tool","detail":null,"valueNum":null,"valueText":"Grep","unit":null,"method":null,"derivation":"read","confidence":null,"sampleSize":null,"synthetic":false,"firstParty":true,"observedAt":"2026-10-07T05:31:27.000Z","payload":null},{"origin":"signal","id":"cmuxo6xzy2yt2ad07x6tjjq8e","subjectType":"skill_audit","subjectId":"cmuxo6v272yaqad070tiyl17n","relatedType":"declared_tool","relatedId":"Glob","dataCategory":"compatibility","sourceClass":"scan","source":"vettd","ruleId":"compatibility/declared-required-tools","severity":null,"label":"Declared required tool","detail":null,"valueNum":null,"valueText":"Glob","unit":null,"method":null,"derivation":"read","confidence":null,"sampleSize":null,"synthetic":false,"firstParty":true,"observedAt":"2026-10-07T05:31:27.000Z","payload":null},{"origin":"signal","id":"cmuxo6yir2ywvad07o2wcw9wv","subjectType":"skill_audit","subjectId":"cmuxo6v272yaqad070tiyl17n","relatedType":"declared_tool","relatedId":"Read","dataCategory":"compatibility","sourceClass":"scan","source":"vettd","ruleId":"compatibility/declared-required-tools","severity":null,"label":"Declared required tool","detail":null,"valueNum":null,"valueText":"Read","unit":null,"method":null,"derivation":"read","confidence":null,"sampleSize":null,"synthetic":false,"firstParty":true,"observedAt":"2026-10-07T05:31:27.000Z","payload":null},{"origin":"signal","id":"cmuxo6z882z2aad07jo1tn8ub","subjectType":"skill_audit","subjectId":"cmuxo6v272yaqad070tiyl17n","relatedType":"","relatedId":"","dataCategory":"compatibility","sourceClass":"scan","source":"vettd","ruleId":"compatibility/declared-name","severity":null,"label":"Declared skill name","detail":null,"valueNum":null,"valueText":"techtide-gcp-gemini-api-developer","unit":null,"method":null,"derivation":"read","confidence":null,"sampleSize":null,"synthetic":false,"firstParty":true,"observedAt":"2026-10-07T05:31:27.000Z","payload":null}]},{"category":"sentiment","label":"Popularity","form":"unjudged","verdict":null,"rows":[]},{"category":"characteristics","label":"Characteristics","form":"unjudged","verdict":null,"rows":[]}],"signalCount":28,"publisherSupplied":["name","description","author","version","license"]}