{"id":"cmsgmxl4y00zsad074y1x63p8","slug":"infsh-cli","publicId":"a6dfdb27-06c4-44a5-b599-77ded69b8f59","name":"infsh-cli","description":"Run AI apps via inference.sh CLI - image generation, video creation, LLMs, search, 3D, Twitter automation. Models: FLUX, Veo, Gemini, Grok, Claude, Seedance, OmniHuman, Tavily, Exa, OpenRouter, and many more. Use when running AI apps, generating images/videos, calling LLMs, web search, or automating Twitter. Triggers: inference.sh, infsh, ai model, run ai, serverless ai, ai api, flux, veo, claude api, image generation, video generation, openrouter, tavily, exa search, twitter api, grok","version":"","author":"101-skills","license":"","compatibility":"","status":"completed","overallGrade":"C","scannerVersion":9,"fileCount":5,"hasSkillMd":true,"hasScripts":false,"hasReferences":true,"hasEvals":false,"hasAssets":false,"sourceType":"github","sourceUrl":"https://github.com/101-skills/skills/tree/main/tools/infsh-cli","createdAt":"2026-08-05T22:04:52.930Z","completedAt":"2026-08-05T22:04:52.735Z","visibility":"public","publishedAt":"2026-08-05T22:04:52.730Z","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":"warn"}],"consensus":"warn","warnTriggers":["References external URL — review for indirect prompt injection risk"],"policyVersion":"consensus-v1","hardFailTriggers":[]},"verdictPolicyVersion":"consensus-v1","skillId":"cmsgmxkty00zqad07i7prkcog","findings":[{"id":"cmsgmxl4y0109ad07xya660s8","source":"cisco","category":"security","label":"Dangerous data flow in command pipeline","detail":"SKILL.md:1 — Pipeline downloads data from the network and executes it: `curl -fsSL https://cli.inference.sh | sh`. This is a remote code execution pattern.","severity":"high","ruleId":"PIPELINE_TAINT_FLOW","owaspLlmCategory":null,"intent":null,"chainId":null,"fingerprint":"bab54f18dbd3a54ded23530f3cbd9490","filepath":"SKILL.md"},{"id":"cmsgmxl4y0107ad070zlu4qtu","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":"cmsgmxl4y010aad07ckml1nf0","source":"cisco","category":"security","label":"Dangerous data flow in command pipeline","detail":"references/authentication.md:1 — Pipeline downloads data from the network and executes it: `curl -fsSL https://cli.inference.sh | sh`. This is a remote code execution pattern. (Note: found in documentation file - may be instructional rather than executable.)","severity":"low","ruleId":"PIPELINE_TAINT_FLOW","owaspLlmCategory":null,"intent":null,"chainId":null,"fingerprint":"6569bd5044ffa60a15ccb06beac267dc","filepath":"references/authentication.md"},{"id":"cmsgmxl4y010bad07t5qcnpdp","source":"cisco","category":"security","label":"Dangerous data flow in command pipeline","detail":"references/cli-reference.md:1 — Pipeline downloads data from the network and executes it: `curl -fsSL https://cli.inference.sh | sh`. This is a remote code execution pattern. (Note: found in documentation file - may be instructional rather than executable.)","severity":"low","ruleId":"PIPELINE_TAINT_FLOW","owaspLlmCategory":null,"intent":null,"chainId":null,"fingerprint":"24b05ee57d57202aff3efd82141c9a29","filepath":"references/cli-reference.md"},{"id":"cmsgmxl4y0106ad07cvhfpa6s","source":"vettd","category":"security","label":"No prompt injection or jailbreak signals detected","detail":"Scanned text content for instruction override, jailbreak framing, credential solicitation, and embedded injection markers","severity":"info","ruleId":"VTD-0092","owaspLlmCategory":null,"intent":null,"chainId":null,"fingerprint":"ee5675c6452295fc92108d4c30cfebf6","filepath":""},{"id":"cmsgmxl4y00zyad074gw1842l","source":"vettd","category":"security","label":"No repository link","detail":"No repository field found in SKILL.md frontmatter. Skills without a verifiable source repository cannot be externally audited.","severity":"info","ruleId":"VTD-0083","owaspLlmCategory":null,"intent":"negligent","chainId":null,"fingerprint":"e09767e7943872a2754f559ba01ef7db","filepath":""},{"id":"cmsgmxl4y0105ad07bn9gzgok","source":"vettd","category":"security","label":"No secrets or unsafe code patterns detected","detail":"Scanned all files for credentials, private keys, and code-level risks (eval, shell exec, destructive ops)","severity":"info","ruleId":"VTD-0091","owaspLlmCategory":null,"intent":null,"chainId":null,"fingerprint":"2e3428ecd3c04cac33cabd959f51437a","filepath":""},{"id":"cmsgmxl4y0108ad07xi6p3akw","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"},{"id":"cmsgmxl4y00zuad07243rztx4","source":"vettd","category":"structure","label":"No scripts/ directory","detail":"Consider bundling reusable scripts for validation and automation","severity":"info","ruleId":"VTD-0096","owaspLlmCategory":null,"intent":null,"chainId":null,"fingerprint":"21a167b473d29b0a653734953d43b2fc","filepath":""},{"id":"cmsgmxl4y00zvad073p7o06xw","source":"vettd","category":"structure","label":"references/ directory present","detail":"Additional documentation files available for progressive disclosure","severity":"info","ruleId":"VTD-0097","owaspLlmCategory":null,"intent":null,"chainId":null,"fingerprint":"a5f22b7185c58877c3d5a94338930d62","filepath":""},{"id":"cmsgmxl4y00ztad07smfkkb37","source":"vettd","category":"structure","label":"SKILL.md present","detail":"Required skill definition file found","severity":"info","ruleId":"VTD-0095","owaspLlmCategory":null,"intent":null,"chainId":null,"fingerprint":"c4ab14319b89c3d0802fadf0dd105bac","filepath":""},{"id":"cmsgmxl4y00zxad07doinc1j1","source":"vettd","category":"structure","label":"Valid name field","detail":"Name \"infsh-cli\" follows spec (lowercase, hyphens, ≤64 chars)","severity":"info","ruleId":"VTD-0099","owaspLlmCategory":null,"intent":null,"chainId":null,"fingerprint":"5ba54eca0b3e299a99112de98cbcd97f","filepath":""},{"id":"cmsgmxl4y0100ad07nrp041z3","source":"vettd","category":"description","label":"Description includes usage context","detail":"Good: description explains when to activate the skill","severity":"info","ruleId":"VTD-0111","owaspLlmCategory":null,"intent":null,"chainId":null,"fingerprint":"e325ab773f2c18f6f9d864add6464110","filepath":""},{"id":"cmsgmxl4y00zzad07czxgy4wf","source":"vettd","category":"description","label":"Description within character limit","detail":"490/1024 characters used","severity":"info","ruleId":"VTD-0110","owaspLlmCategory":null,"intent":null,"chainId":null,"fingerprint":"66553d595a652c45a6f0d4353184b37e","filepath":""},{"id":"cmsgmxl4y0102ad0778e2js3m","source":"vettd","category":"best-practices","label":"Examples included","detail":"Found code blocks, input/output samples, or an examples section — concrete samples help agents pattern-match effectively","severity":"info","ruleId":"VTD-0103","owaspLlmCategory":null,"intent":null,"chainId":null,"fingerprint":"c2ceb48c4af3c87dafa32ec2596251b8","filepath":""},{"id":"cmsgmxl4y0103ad07rq6g3emc","source":"vettd","category":"best-practices","label":"No clear workflow structure","detail":"Consider adding numbered steps or a structured procedure for the agent to follow","severity":"info","ruleId":"VTD-0106","owaspLlmCategory":null,"intent":null,"chainId":null,"fingerprint":"2368c9a31ac52269c854f105795cf28c","filepath":""},{"id":"cmsgmxl4y0104ad0759n90sk6","source":"vettd","category":"best-practices","label":"Progressive disclosure used","detail":"SKILL.md body references files in references/, scripts/, or assets/ — agents can load additional context on demand instead of consuming everything upfront","severity":"info","ruleId":"VTD-0107","owaspLlmCategory":null,"intent":null,"chainId":null,"fingerprint":"6fd5870d64ef20cb2bbaf421f8655a32","filepath":""},{"id":"cmsgmxl4y0101ad07oupk020e","source":"vettd","category":"best-practices","label":"SKILL.md body length is reasonable","detail":"143 lines (recommended: under 500)","severity":"info","ruleId":"VTD-0101","owaspLlmCategory":null,"intent":null,"chainId":null,"fingerprint":"42debaa072535bf5650f90d3168f0b93","filepath":""},{"id":"cmsgmxl4y00zwad070n16iiiz","source":"vettd","category":"evals","label":"No evaluation test cases","detail":"Add an evals/ directory with test prompts and expected outputs to measure skill quality","severity":"info","ruleId":"VTD-0118","owaspLlmCategory":null,"intent":null,"chainId":null,"fingerprint":"41d019e0494a4a9763fc23c948d14e09","filepath":""}],"scannerRuns":[{"source":"cisco","status":"success","verdict":null,"grade":"C","findingCount":4,"criticalCount":0,"highCount":1},{"source":"vettd","status":"success","verdict":null,"grade":"B","findingCount":15,"criticalCount":0,"highCount":0}],"user":{"name":"Justin Pacella","image":"https://avatars.githubusercontent.com/u/97124458?v=4"},"repository":{"owner":"101-skills","name":"skills"},"freshness":{"status":"unreachable","reason":"renamed","retryable":false,"renamedTo":"inference-sh/skills","lastCheckedAt":"2026-10-21T11:06:39.316Z","lastVerifiedAt":null,"lastChangeDetectedAt":null,"scannedHash":"becc25649700d5457772a00e5143e28ccf9e5afa","latestUpstreamHash":null,"nextCheckDueAt":"2026-10-28T11:06:39.316Z"},"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":null,"rows":[]},{"category":"cost","label":"Cost","form":"measured","verdict":null,"rows":[]},{"category":"compatibility","label":"Compatibility","form":"unjudged","verdict":null,"rows":[]},{"category":"sentiment","label":"Popularity","form":"unjudged","verdict":null,"rows":[]},{"category":"characteristics","label":"Characteristics","form":"unjudged","verdict":null,"rows":[]}],"signalCount":19,"publisherSupplied":["name","description","author","version","license"]}