{"id":"cmrodmmvc1k75ad083w0tikm3","slug":"variflightskill","publicId":"25316bd6-0b0e-4cab-9089-4cb1f7dc8653","name":"variflight/SKILL","description":"Query flight information, train tickets, and travel data using Variflight (飞常准) HTTP API. Use when the user needs to (1) search flights by route or flight number, (2) check flight status and punctuality, (3) find train tickets, (4) get airport weather forecasts, (5) check flight prices, (6) plan multi-modal trips (flight+train), or (7) get flight comfort metrics (happiness index).","version":"","author":null,"license":"","compatibility":"","status":"completed","overallGrade":"B","scannerVersion":1,"fileCount":0,"hasSkillMd":false,"hasScripts":false,"hasReferences":false,"hasEvals":false,"hasAssets":false,"sourceType":"cli","sourceUrl":"","createdAt":"2026-07-17T03:26:52.301Z","completedAt":"2026-07-17T03:26:50.822Z","visibility":"public","publishedAt":"2026-07-28T14:33:39.589Z","category":"","frameworks":[],"badgeStatus":"conditional","downloadCount":0,"verdictRationale":null,"verdictPolicyVersion":null,"skillId":"cmrodmm0n1jnyad08pkozas5v","findings":[{"id":"cmrodmsij1pehad08vzbqtbm7","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":"885bf1b4de9a77b02bbb1cdf717927d5","filepath":""},{"id":"cmrodmsij1pegad08lypbgbzi","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":"cmrodmsii1pdxad08ads5m3eb","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":null,"chainId":null,"fingerprint":"e09767e7943872a2754f559ba01ef7db","filepath":""},{"id":"cmrodmsij1pefad086rrah3m7","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":"cmrodmsii1pduad08ed8q9mrh","source":"vettd","category":"structure","label":"scripts/ directory present","detail":"Bundled executable scripts found","severity":"info","ruleId":"VTD-0096","owaspLlmCategory":null,"intent":null,"chainId":null,"fingerprint":"21a167b473d29b0a653734953d43b2fc","filepath":""},{"id":"cmrodmsii1pdtad08mmpg335m","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":"cmrodmsii1pdwad08rbrb7hft","source":"vettd","category":"structure","label":"Valid name field","detail":"Name \"variflight\" follows spec (lowercase, hyphens, ≤64 chars)","severity":"info","ruleId":"VTD-0099","owaspLlmCategory":null,"intent":null,"chainId":null,"fingerprint":"5ba54eca0b3e299a99112de98cbcd97f","filepath":""},{"id":"cmrodmsii1pdzad08z2q5kbfm","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":"cmrodmsii1pdyad08uzgva1w8","source":"vettd","category":"description","label":"Description within character limit","detail":"383/1024 characters used","severity":"info","ruleId":"VTD-0110","owaspLlmCategory":null,"intent":null,"chainId":null,"fingerprint":"66553d595a652c45a6f0d4353184b37e","filepath":""},{"id":"cmrodmsii1pe1ad08jkbuxncx","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":"cmrodmsii1pe3ad085plix1kf","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":"cmrodmsii1pe0ad08p4p3nvum","source":"vettd","category":"best-practices","label":"SKILL.md body length is reasonable","detail":"201 lines (recommended: under 500)","severity":"info","ruleId":"VTD-0101","owaspLlmCategory":null,"intent":null,"chainId":null,"fingerprint":"42debaa072535bf5650f90d3168f0b93","filepath":""},{"id":"cmrodmsii1pe2ad08b02rpjk9","source":"vettd","category":"best-practices","label":"Step-by-step workflow found","detail":"Structured procedures improve reliability for complex tasks","severity":"info","ruleId":"VTD-0106","owaspLlmCategory":null,"intent":null,"chainId":null,"fingerprint":"2368c9a31ac52269c854f105795cf28c","filepath":""},{"id":"cmrodmsij1pebad08x1w64z2p","source":"vettd","category":"scripts","label":"CLI help supported","detail":"scripts/variflight.py: Script documents its interface via --help or argument parsing","severity":"info","ruleId":"VTD-0114","owaspLlmCategory":null,"intent":null,"chainId":null,"fingerprint":"bacfb1a11efd590203ff7c5670ad38d8","filepath":""},{"id":"cmrodmsii1pe4ad082wr0rlel","source":"vettd","category":"scripts","label":"No --help support","detail":"scripts/flight.sh: Add argument parsing with --help output so agents know the script's interface","severity":"info","ruleId":"VTD-0114","owaspLlmCategory":null,"intent":null,"chainId":null,"fingerprint":"bacfb1a11efd590203ff7c5670ad38d8","filepath":""},{"id":"cmrodmsii1pe5ad08m8312aem","source":"vettd","category":"scripts","label":"No --help support","detail":"scripts/flights.sh: Add argument parsing with --help output so agents know the script's interface","severity":"info","ruleId":"VTD-0114","owaspLlmCategory":null,"intent":null,"chainId":null,"fingerprint":"bacfb1a11efd590203ff7c5670ad38d8","filepath":""},{"id":"cmrodmsii1pe6ad087h3v4a86","source":"vettd","category":"scripts","label":"No --help support","detail":"scripts/happiness.sh: Add argument parsing with --help output so agents know the script's interface","severity":"info","ruleId":"VTD-0114","owaspLlmCategory":null,"intent":null,"chainId":null,"fingerprint":"bacfb1a11efd590203ff7c5670ad38d8","filepath":""},{"id":"cmrodmsii1pe7ad080g2v5l87","source":"vettd","category":"scripts","label":"No --help support","detail":"scripts/price.sh: Add argument parsing with --help output so agents know the script's interface","severity":"info","ruleId":"VTD-0114","owaspLlmCategory":null,"intent":null,"chainId":null,"fingerprint":"bacfb1a11efd590203ff7c5670ad38d8","filepath":""},{"id":"cmrodmsii1pe8ad089ppmgx63","source":"vettd","category":"scripts","label":"No --help support","detail":"scripts/station.sh: Add argument parsing with --help output so agents know the script's interface","severity":"info","ruleId":"VTD-0114","owaspLlmCategory":null,"intent":null,"chainId":null,"fingerprint":"bacfb1a11efd590203ff7c5670ad38d8","filepath":""},{"id":"cmrodmsii1pe9ad08tc3vi4pn","source":"vettd","category":"scripts","label":"No --help support","detail":"scripts/train.sh: Add argument parsing with --help output so agents know the script's interface","severity":"info","ruleId":"VTD-0114","owaspLlmCategory":null,"intent":null,"chainId":null,"fingerprint":"bacfb1a11efd590203ff7c5670ad38d8","filepath":""},{"id":"cmrodmsij1peaad08akuvmo5x","source":"vettd","category":"scripts","label":"No --help support","detail":"scripts/transfer.sh: Add argument parsing with --help output so agents know the script's interface","severity":"info","ruleId":"VTD-0114","owaspLlmCategory":null,"intent":null,"chainId":null,"fingerprint":"bacfb1a11efd590203ff7c5670ad38d8","filepath":""},{"id":"cmrodmsij1pedad08u0l65tds","source":"vettd","category":"scripts","label":"No --help support","detail":"scripts/variflight.sh: Add argument parsing with --help output so agents know the script's interface","severity":"info","ruleId":"VTD-0114","owaspLlmCategory":null,"intent":null,"chainId":null,"fingerprint":"bacfb1a11efd590203ff7c5670ad38d8","filepath":""},{"id":"cmrodmsij1peead08e93kibnd","source":"vettd","category":"scripts","label":"No --help support","detail":"scripts/weather.sh: Add argument parsing with --help output so agents know the script's interface","severity":"info","ruleId":"VTD-0114","owaspLlmCategory":null,"intent":null,"chainId":null,"fingerprint":"bacfb1a11efd590203ff7c5670ad38d8","filepath":""},{"id":"cmrodmsij1pecad0897mrjybc","source":"vettd","category":"scripts","label":"Structured output format","detail":"scripts/variflight.py: Uses JSON/CSV output which is easily parseable by agents","severity":"info","ruleId":"VTD-0116","owaspLlmCategory":null,"intent":null,"chainId":null,"fingerprint":"4ec02baf55eb1cec6e7af5f4773039a2","filepath":""},{"id":"cmrodmsii1pdvad08r3b4nsct","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":"vettd","status":"success","verdict":null,"grade":null,"findingCount":25,"criticalCount":0,"highCount":0}],"user":{"name":"Justin Pacella","image":"https://avatars.githubusercontent.com/u/97124458?v=4"},"repository":null,"freshness":null,"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":25,"publisherSupplied":["name","description","author","version","license"]}