{"id":"cmpw46h7u00uzad07zlz893ht","slug":"dspy","publicId":"7cdf3201-5a33-4572-99d5-a2fe168eb77f","name":"dspy","description":"DSPy: declarative LM programs, auto-optimize prompts, RAG.","version":"1.0.0","author":"Orchestra Research","license":"MIT","compatibility":"","status":"completed","overallGrade":"C","scannerVersion":6,"fileCount":4,"hasSkillMd":true,"hasScripts":false,"hasReferences":true,"hasEvals":false,"hasAssets":false,"sourceType":"github","sourceUrl":"https://github.com/NousResearch/hermes-agent/tree/main/skills/mlops/research/dspy","createdAt":"2026-06-02T04:05:06.813Z","completedAt":"2026-06-02T04:05:06.693Z","visibility":"public","publishedAt":"2026-06-02T04:05:06.691Z","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":"cmpw46gwn00uxad07t1e4jxc1","findings":[{"id":"cmpw46h8b00vfad075hw9czpt","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":"","owaspLlmCategory":"LLM03","intent":null,"chainId":null,"fingerprint":"226eb220a7ee668eb3642f0b1c5c9d31","filepath":""},{"id":"cmpw46h8a00v7ad078kodlnln","source":"vettd","category":"description","label":"Description lacks usage context","detail":"Add context like \"Use this skill when...\" to help agents know when to activate it","severity":"medium","ruleId":"","owaspLlmCategory":null,"intent":null,"chainId":null,"fingerprint":"8129b887bd4311e358d4fbb604f52b47","filepath":""},{"id":"cmpw46h8a00vbad07qct5oqlr","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":"medium","ruleId":"","owaspLlmCategory":null,"intent":null,"chainId":null,"fingerprint":"89d6651aafc2e782ef9d2518b7780c7b","filepath":""},{"id":"cmpw46h8a00v8ad0738g95bbv","source":"vettd","category":"best-practices","label":"SKILL.md exceeds 500 lines","detail":"581 lines — consider moving detailed reference material to references/","severity":"medium","ruleId":"","owaspLlmCategory":null,"intent":null,"chainId":null,"fingerprint":"89d6651aafc2e782ef9d2518b7780c7b","filepath":""},{"id":"cmpw46h8800v3ad07rk25elhd","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":"medium","ruleId":"","owaspLlmCategory":null,"intent":null,"chainId":null,"fingerprint":"c22525b8468d6bd68840883241e970a5","filepath":""},{"id":"cmpw46h8b00vead0794yjpsak","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":"","owaspLlmCategory":null,"intent":null,"chainId":null,"fingerprint":"226eb220a7ee668eb3642f0b1c5c9d31","filepath":""},{"id":"cmpw46h8800v5ad07d2o28h63","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":"","owaspLlmCategory":null,"intent":"negligent","chainId":null,"fingerprint":"226eb220a7ee668eb3642f0b1c5c9d31","filepath":""},{"id":"cmpw46h8b00vdad07vwvjrloc","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":"","owaspLlmCategory":null,"intent":null,"chainId":null,"fingerprint":"226eb220a7ee668eb3642f0b1c5c9d31","filepath":""},{"id":"cmpw46h8800v1ad07r8pfge0s","source":"vettd","category":"structure","label":"No scripts/ directory","detail":"Consider bundling reusable scripts for validation and automation","severity":"info","ruleId":"","owaspLlmCategory":null,"intent":null,"chainId":null,"fingerprint":"9733efd12786fe821d9a89d1e008a7c6","filepath":""},{"id":"cmpw46h8800v2ad07sv44mpj7","source":"vettd","category":"structure","label":"references/ directory present","detail":"Additional documentation files available for progressive disclosure","severity":"info","ruleId":"","owaspLlmCategory":null,"intent":null,"chainId":null,"fingerprint":"9733efd12786fe821d9a89d1e008a7c6","filepath":""},{"id":"cmpw46h8800v0ad07iqpfmuw3","source":"vettd","category":"structure","label":"SKILL.md present","detail":"Required skill definition file found","severity":"info","ruleId":"","owaspLlmCategory":null,"intent":null,"chainId":null,"fingerprint":"9733efd12786fe821d9a89d1e008a7c6","filepath":""},{"id":"cmpw46h8800v4ad07oetx0mtw","source":"vettd","category":"structure","label":"Valid name field","detail":"Name \"dspy\" follows spec (lowercase, hyphens, ≤64 chars)","severity":"info","ruleId":"","owaspLlmCategory":null,"intent":null,"chainId":null,"fingerprint":"9733efd12786fe821d9a89d1e008a7c6","filepath":""},{"id":"cmpw46h8800v6ad07sr8p30bk","source":"vettd","category":"description","label":"Description within character limit","detail":"58/1024 characters used","severity":"info","ruleId":"","owaspLlmCategory":null,"intent":null,"chainId":null,"fingerprint":"8129b887bd4311e358d4fbb604f52b47","filepath":""},{"id":"cmpw46h8a00v9ad07lt7zdxen","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":"","owaspLlmCategory":null,"intent":null,"chainId":null,"fingerprint":"89d6651aafc2e782ef9d2518b7780c7b","filepath":""},{"id":"cmpw46h8a00vcad07jjruyrj4","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":"","owaspLlmCategory":null,"intent":null,"chainId":null,"fingerprint":"89d6651aafc2e782ef9d2518b7780c7b","filepath":""},{"id":"cmpw46h8a00vaad07kkmz9ctk","source":"vettd","category":"best-practices","label":"Validation loop referenced","detail":"Instructions for the agent to validate its own work before proceeding","severity":"info","ruleId":"","owaspLlmCategory":null,"intent":null,"chainId":null,"fingerprint":"89d6651aafc2e782ef9d2518b7780c7b","filepath":""}],"scannerRuns":[{"source":"cisco","status":"success","verdict":null,"grade":null,"findingCount":0,"criticalCount":0,"highCount":0},{"source":"vettd","status":"success","verdict":"warn","grade":null,"findingCount":16,"criticalCount":0,"highCount":0}],"user":{"name":"Justin Pacella","image":"https://avatars.githubusercontent.com/u/97124458?v=4"},"repository":{"owner":"NousResearch","name":"hermes-agent"},"freshness":{"status":"unreachable","reason":"ref_not_found","retryable":false,"renamedTo":null,"lastCheckedAt":"2026-10-21T11:27:39.340Z","lastVerifiedAt":null,"lastChangeDetectedAt":"2026-08-12T12:33:46.817Z","scannedHash":"40ae170647be8ab1e79632a178eba7d26d2db7c9","latestUpstreamHash":"222465d84709379b65173b0283a6eea87516acfa","nextCheckDueAt":"2026-10-28T11:27:39.340Z"},"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":22,"publisherSupplied":["name","description","author","version","license"]}