{"id":"cmrodn7bq1uq0ad0820xgtuzw","slug":"fortress-agent-suiteskill","publicId":"1b28b5fb-9ce5-453a-91ee-ed90c653760a","name":"fortress-agent-suite/SKILL","description":"Reusable agent skill instructions","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:27:18.931Z","completedAt":"2026-07-17T03:27:17.874Z","visibility":"public","publishedAt":"2026-07-28T14:30:20.812Z","category":"","frameworks":[],"badgeStatus":"conditional","downloadCount":0,"verdictRationale":null,"verdictPolicyVersion":null,"skillId":"cmrodn6pt1u97ad08rwcudkje","findings":[{"id":"cmrodnc951z9nad08r64kjtsi","source":"vettd","category":"security","label":"Cron persistence (writing cron entry)","detail":"Detected in scripts/self-healing/workspace_watchdog.py:18 — `os.system(f\"crontab -l | {{ cat; echo '*/30 * * * * /root/.openclaw/.venv/bin/python /root/.openclaw/scripts/self-healin`","severity":"medium","ruleId":"VTD-0048","owaspLlmCategory":null,"intent":null,"chainId":null,"fingerprint":"24c922faca1f6394a6abc1ac6904222f","filepath":""},{"id":"cmrodnc951z9qad080g01uaru","source":"vettd","category":"security","label":"No external URLs in skill definition","detail":"SKILL.md and references/ files do not reference external URLs","severity":"info","ruleId":"VTD-0093","owaspLlmCategory":null,"intent":null,"chainId":null,"fingerprint":"ae07c3d33479da3c78284ef25d62be79","filepath":""},{"id":"cmrodnc951z9pad08j2amkxkm","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":"cmrodnc951z9aad08a68xwj79","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":"cmrodnc951z9oad08dz0edtq6","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":"cmrodnc951z97ad08wct3yv1b","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":"cmrodnc951z96ad088guobugj","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":"cmrodnc951z99ad086q9gz5sa","source":"vettd","category":"structure","label":"Valid name field","detail":"Name \"unknown\" follows spec (lowercase, hyphens, ≤64 chars)","severity":"info","ruleId":"VTD-0099","owaspLlmCategory":null,"intent":null,"chainId":null,"fingerprint":"5ba54eca0b3e299a99112de98cbcd97f","filepath":""},{"id":"cmrodnc951z9bad0893g14bb5","source":"vettd","category":"description","label":"Missing description field","detail":"The description field is required and should describe what the skill does and when to use it","severity":"info","ruleId":"VTD-0109","owaspLlmCategory":null,"intent":null,"chainId":null,"fingerprint":"c16cc61f3e0856ca472c191e6c32cd88","filepath":""},{"id":"cmrodnc951z9dad0895926pkx","source":"vettd","category":"best-practices","label":"No examples found","detail":"Add code blocks, input/output samples, or before/after examples to improve agent accuracy","severity":"info","ruleId":"VTD-0103","owaspLlmCategory":null,"intent":null,"chainId":null,"fingerprint":"c2ceb48c4af3c87dafa32ec2596251b8","filepath":""},{"id":"cmrodnc951z9cad08bk6blu1s","source":"vettd","category":"best-practices","label":"SKILL.md body length is reasonable","detail":"24 lines (recommended: under 500)","severity":"info","ruleId":"VTD-0101","owaspLlmCategory":null,"intent":null,"chainId":null,"fingerprint":"42debaa072535bf5650f90d3168f0b93","filepath":""},{"id":"cmrodnc951z9ead08u15o9vgt","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":"cmrodnc951z9fad082b1zwlux","source":"vettd","category":"scripts","label":"CLI help supported","detail":"scripts/model_manager/manager.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":"cmrodnc951z9had08xf4ldo8n","source":"vettd","category":"scripts","label":"CLI help supported","detail":"scripts/self-healing/backup.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":"cmrodnc951z9iad08grgf63fc","source":"vettd","category":"scripts","label":"CLI help supported","detail":"scripts/self-healing/health_check.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":"cmrodnc951z9jad08n89z5sg5","source":"vettd","category":"scripts","label":"CLI help supported","detail":"scripts/self-healing/restore.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":"cmrodnc951z9kad08wtjsqais","source":"vettd","category":"scripts","label":"CLI help supported","detail":"scripts/self-healing/self_improver.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":"cmrodnc951z9lad08wjm8len2","source":"vettd","category":"scripts","label":"CLI help supported","detail":"scripts/self-healing/system_watchdog.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":"cmrodnc951z9mad08l1mq9zti","source":"vettd","category":"scripts","label":"CLI help supported","detail":"scripts/self-healing/workspace_watchdog.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":"cmrodnc951z9gad081i1kxp95","source":"vettd","category":"scripts","label":"Structured output format","detail":"scripts/model_manager/manager.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":"cmrodnc951z98ad086wjvw54a","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":21,"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":21,"publisherSupplied":["name","description","author","version","license"]}