{"id":"cmondutzo0003ad0jonspf264","owner":"anthropics","name":"skills","url":"https://github.com/anthropics/skills","lastScannedAt":"2026-08-25T20:38:22.559Z","freshness":null,"skills":[{"id":"cmt94ndn137abad09bka7qhqd","slug":"pdf","publicId":"c92b06ec-8cc4-4441-b50f-afb5d50b742a","name":"pdf","description":"Use this skill whenever the user wants to do anything with PDF files. This includes reading or extracting text/tables from PDFs, combining or merging multiple PDFs into one, splitting PDFs apart, rotating pages, adding watermarks, creating new PDFs, filling PDF forms, encrypting/decrypting PDFs, extracting images, and OCR on scanned PDFs to make them searchable. If the user mentions a .pdf file or asks to produce one, use this skill.","author":"","version":"","license":"Proprietary. LICENSE.txt has complete terms","overallGrade":"B","badgeStatus":"vettd","publishedAt":"2026-05-01T20:47:53.970Z","sourceUrl":"https://github.com/anthropics/skills/tree/main/skills/pdf","findings":[{"id":"cmt94ndn237amad09sk01wgtz","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"},{"id":"cmt94ndn237adad09k9lt5ldq","source":"vettd","category":"structure","label":"scripts/ directory present","detail":"Bundled executable scripts found","severity":"info","ruleId":"VTD-0096"},{"id":"cmt94ndn237alad09u045mqft","source":"vettd","category":"best-practices","label":"SKILL.md body length is reasonable","detail":"309 lines (recommended: under 500)","severity":"info","ruleId":"VTD-0101"},{"id":"cmt94ndn237apad09qemqb4e2","source":"vettd","category":"scripts","label":"CLI help supported","detail":"scripts/check_bounding_boxes.py: Script documents its interface via --help or argument parsing","severity":"info","ruleId":"VTD-0114"},{"id":"cmt94ndn237atad09qmxmnqpb","source":"vettd","category":"scripts","label":"CLI help supported","detail":"scripts/extract_form_field_info.py: Script documents its interface via --help or argument parsing","severity":"info","ruleId":"VTD-0114"},{"id":"cmt94ndn337avad091cp1xj5g","source":"vettd","category":"scripts","label":"CLI help supported","detail":"scripts/fill_fillable_fields.py: Script documents its interface via --help or argument parsing","severity":"info","ruleId":"VTD-0114"},{"id":"cmt94ndn237aoad09iy2lqfzt","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"},{"id":"cmt94ndn237afad09cza1gx3v","source":"vettd","category":"structure","label":"Valid name field","detail":"Name \"pdf\" follows spec (lowercase, hyphens, ≤64 chars)","severity":"info","ruleId":"VTD-0099"},{"id":"cmt94ndn237agad0990f8tadn","source":"vettd","category":"best-practices","label":"Skill name collides with well-known skill","detail":"\"pdf\" matches a well-known skill name — may cause unintended invocation","severity":"medium","ruleId":"VTD-0100"},{"id":"cmt94ndn237aead0934jui3ke","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"},{"id":"cmt94ndn237ahad0971m84hpt","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"},{"id":"cmt94ndn337axad096cqsq6hy","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"},{"id":"cmt94ndn337ayad0989fs7fbq","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"},{"id":"cmt94ndn237aiad093vsscayf","source":"vettd","category":"description","label":"Description within character limit","detail":"437/1024 characters used","severity":"info","ruleId":"VTD-0110"},{"id":"cmt94ndn237akad09pukrnofs","source":"vettd","category":"description","label":"Description overclaims scope","detail":"Broad trigger words (anything, everything, all files, etc.) widen attack surface — narrow to specific use cases","severity":"low","ruleId":"VTD-0113"},{"id":"cmt94ndn237ajad09rdfa90sw","source":"vettd","category":"description","label":"Description includes usage context","detail":"Good: description explains when to activate the skill","severity":"info","ruleId":"VTD-0111"},{"id":"cmt94ndn237arad09y8ho3858","source":"vettd","category":"scripts","label":"CLI help supported","detail":"scripts/convert_pdf_to_images.py: Script documents its interface via --help or argument parsing","severity":"info","ruleId":"VTD-0114"},{"id":"cmt94ndn237asad09aop76jiy","source":"vettd","category":"scripts","label":"CLI help supported","detail":"scripts/create_validation_image.py: Script documents its interface via --help or argument parsing","severity":"info","ruleId":"VTD-0114"},{"id":"cmt94ndn337azad09pvpoz5co","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"},{"id":"cmt94ndn237aqad091j704c85","source":"vettd","category":"scripts","label":"CLI help supported","detail":"scripts/check_fillable_fields.py: Script documents its interface via --help or argument parsing","severity":"info","ruleId":"VTD-0114"},{"id":"cmt94ndn237anad09hr2q04nh","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"},{"id":"cmt94ndn337awad09uq1khe7c","source":"vettd","category":"scripts","label":"CLI help supported","detail":"scripts/fill_pdf_form_with_annotations.py: Script documents its interface via --help or argument parsing","severity":"info","ruleId":"VTD-0114"},{"id":"cmt94ndn237acad096fkz9zuq","source":"vettd","category":"structure","label":"SKILL.md present","detail":"Required skill definition file found","severity":"info","ruleId":"VTD-0095"},{"id":"cmt94ndn237auad094iufga00","source":"vettd","category":"scripts","label":"CLI help supported","detail":"scripts/extract_form_structure.py: Script documents its interface via --help or argument parsing","severity":"info","ruleId":"VTD-0114"}],"scannerRuns":[{"source":"vettd","status":"success","verdict":null,"grade":"B","criticalCount":0,"highCount":0},{"source":"cisco","status":"success","verdict":null,"grade":"A","criticalCount":0,"highCount":0}],"freshness":{"status":"check_failed","reason":"auth","retryable":true,"renamedTo":null,"lastCheckedAt":"2026-10-22T00:19:06.966Z","lastVerifiedAt":"2026-08-30T18:58:50.186Z","lastChangeDetectedAt":"2026-08-12T12:32:46.816Z","scannedHash":"6369f4649de69bd6857c9bc3b058a77206009238","latestUpstreamHash":"6369f4649de69bd6857c9bc3b058a77206009238","nextCheckDueAt":"2026-10-22T06:19:06.966Z"}},{"id":"cmt8kz0ts0jp0ad092rndygqu","slug":"mcp-builder","publicId":"a43e50f7-aa0c-4e71-a92c-5dcc790054cb","name":"mcp-builder","description":"Guide for creating high-quality MCP (Model Context Protocol) servers that enable LLMs to interact with external services through well-designed tools. Use when building MCP servers to integrate external APIs or services, whether in Python (FastMCP) or Node/TypeScript (MCP SDK).","author":"","version":"","license":"Complete terms in LICENSE.txt","overallGrade":"B","badgeStatus":"conditional","publishedAt":"2026-05-01T20:47:44.380Z","sourceUrl":"https://github.com/anthropics/skills/tree/main/skills/mcp-builder","findings":[{"id":"cmt8kz0ts0jpead09wkreydxm","source":"vettd","category":"scripts","label":"No --help support","detail":"scripts/connections.py: Add argument parsing with --help output so agents know the script's interface","severity":"info","ruleId":"VTD-0114"},{"id":"cmt8kz0tt0jpmad090bypcdza","source":"cisco","category":"security","label":"Unpinned dependency","detail":"scripts/requirements.txt:1 — Dependency 'anthropic' has no pinned (==) version. Unpinned dependencies in a skill package allow a later, potentially malicious release to be installed automatically (supply-chain risk).","severity":"medium","ruleId":"SUPPLY_CHAIN_UNPINNED_DEPENDENCY"},{"id":"cmt8kz0ts0jpdad091vml08ko","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"},{"id":"cmt8kz0ts0jpfad095xsfyvxg","source":"vettd","category":"scripts","label":"CLI help supported","detail":"scripts/evaluation.py: Script documents its interface via --help or argument parsing","severity":"info","ruleId":"VTD-0114"},{"id":"cmt8kz0tt0jpiad0924jzemm1","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"},{"id":"cmt8kz0ts0jp4ad09r1bqsbif","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"},{"id":"cmt8kz0ts0jp6ad09j2nlmgn0","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"},{"id":"cmt8kz0ts0jp7ad09xb20b1po","source":"vettd","category":"description","label":"Description within character limit","detail":"277/1024 characters used","severity":"info","ruleId":"VTD-0110"},{"id":"cmt8kz0ts0jp9ad09qld47an1","source":"vettd","category":"description","label":"Description includes usage context","detail":"Good: description explains when to activate the skill","severity":"info","ruleId":"VTD-0111"},{"id":"cmt8kz0ts0jp2ad09tp626a0t","source":"vettd","category":"structure","label":"SKILL.md present","detail":"Required skill definition file found","severity":"info","ruleId":"VTD-0095"},{"id":"cmt8kz0tt0jpoad09occsu2qq","source":"cisco","category":"security","label":"Unpinned dependency","detail":"scripts/requirements.txt:2 — Dependency 'mcp' has no pinned (==) version. Unpinned dependencies in a skill package allow a later, potentially malicious release to be installed automatically (supply-chain risk).","severity":"medium","ruleId":"SUPPLY_CHAIN_UNPINNED_DEPENDENCY"},{"id":"cmt8kz0ts0jp3ad09einwnbi3","source":"vettd","category":"structure","label":"scripts/ directory present","detail":"Bundled executable scripts found","severity":"info","ruleId":"VTD-0096"},{"id":"cmt8kz0ts0jpgad09vmd6hlzx","source":"vettd","category":"scripts","label":"Structured output format","detail":"scripts/evaluation.py: Uses JSON/CSV output which is easily parseable by agents","severity":"info","ruleId":"VTD-0116"},{"id":"cmt8kz0ts0jpaad09acsw2vy5","source":"vettd","category":"best-practices","label":"SKILL.md body length is reasonable","detail":"231 lines (recommended: under 500)","severity":"info","ruleId":"VTD-0101"},{"id":"cmt8kz0ts0jpbad09nvo76pvk","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"},{"id":"cmt8kz0ts0jp5ad09f099mz8q","source":"vettd","category":"structure","label":"Valid name field","detail":"Name \"mcp-builder\" follows spec (lowercase, hyphens, ≤64 chars)","severity":"info","ruleId":"VTD-0099"},{"id":"cmt8kz0ts0jphad09zgxk9262","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"},{"id":"cmt8kz0tt0jpkad097d2kl6qg","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"},{"id":"cmt8kz0ts0jpcad095769kdb5","source":"vettd","category":"best-practices","label":"Step-by-step workflow found","detail":"Structured procedures improve reliability for complex tasks","severity":"info","ruleId":"VTD-0106"}],"scannerRuns":[{"source":"vettd","status":"success","verdict":null,"grade":"B","criticalCount":0,"highCount":0},{"source":"cisco","status":"success","verdict":null,"grade":"B","criticalCount":0,"highCount":0}],"freshness":{"status":"check_failed","reason":"auth","retryable":true,"renamedTo":null,"lastCheckedAt":"2026-10-22T00:17:06.962Z","lastVerifiedAt":"2026-08-30T13:19:49.411Z","lastChangeDetectedAt":"2026-08-12T12:32:46.816Z","scannedHash":"b866bcfb57b780c10b587c7b543e871a91661ce0","latestUpstreamHash":"b866bcfb57b780c10b587c7b543e871a91661ce0","nextCheckDueAt":"2026-10-22T06:17:06.962Z"}},{"id":"cmssz8xx36wchad09grq5iu5x","slug":"internal-comms","publicId":"49fce20e-4756-4b88-84b3-ee4eb8fc1c9a","name":"internal-comms","description":"A set of resources to help me write all kinds of internal communications, using the formats that my company likes to use. Claude should use this skill whenever asked to write some sort of internal communications (status reports, leadership updates, 3P updates, company newsletters, FAQs, incident reports, project updates, etc.).","author":"","version":"","license":"Complete terms in LICENSE.txt","overallGrade":"A","badgeStatus":"vettd","publishedAt":"2026-05-01T20:47:35.235Z","sourceUrl":"https://github.com/anthropics/skills/tree/main/skills/internal-comms","findings":[{"id":"cmssz8xx46wcmad09pn9itrqz","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"},{"id":"cmssz8xx46wcnad09q3zc20r2","source":"vettd","category":"description","label":"Description within character limit","detail":"329/1024 characters used","severity":"info","ruleId":"VTD-0110"},{"id":"cmssz8xx46wcpad09l3tqwemk","source":"vettd","category":"best-practices","label":"SKILL.md body length is reasonable","detail":"27 lines (recommended: under 500)","severity":"info","ruleId":"VTD-0101"},{"id":"cmssz8xx56wcrad093wcv8p2x","source":"vettd","category":"best-practices","label":"Step-by-step workflow found","detail":"Structured procedures improve reliability for complex tasks","severity":"info","ruleId":"VTD-0106"},{"id":"cmssz8xx46wcjad09loqasmhx","source":"vettd","category":"structure","label":"No scripts/ directory","detail":"Consider bundling reusable scripts for validation and automation","severity":"info","ruleId":"VTD-0096"},{"id":"cmssz8xx56wctad09ta453y25","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"},{"id":"cmssz8xx46wciad09ek15rekj","source":"vettd","category":"structure","label":"SKILL.md present","detail":"Required skill definition file found","severity":"info","ruleId":"VTD-0095"},{"id":"cmssz8xx46wckad09wlcvx3xm","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"},{"id":"cmssz8xx46wcoad09av5rmud3","source":"vettd","category":"description","label":"Description includes usage context","detail":"Good: description explains when to activate the skill","severity":"info","ruleId":"VTD-0111"},{"id":"cmssz8xx56wcsad09tkq8j2wh","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"},{"id":"cmssz8xx46wclad092v5cucos","source":"vettd","category":"structure","label":"Valid name field","detail":"Name \"internal-comms\" follows spec (lowercase, hyphens, ≤64 chars)","severity":"info","ruleId":"VTD-0099"},{"id":"cmssz8xx56wcuad09d9x7kzqs","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"},{"id":"cmssz8xx56wcqad0943yfshla","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"}],"scannerRuns":[{"source":"vettd","status":"success","verdict":null,"grade":"A","criticalCount":0,"highCount":0},{"source":"cisco","status":"success","verdict":null,"grade":"A","criticalCount":0,"highCount":0}],"freshness":{"status":"check_failed","reason":"auth","retryable":true,"renamedTo":null,"lastCheckedAt":"2026-10-22T00:20:06.968Z","lastVerifiedAt":"2026-08-30T21:26:50.518Z","lastChangeDetectedAt":"2026-08-13T12:17:06.398Z","scannedHash":"9869687dcf6deb6802ca88ac11e67b6f7278017a","latestUpstreamHash":"9869687dcf6deb6802ca88ac11e67b6f7278017a","nextCheckDueAt":"2026-10-22T06:20:06.968Z"}},{"id":"cmssygn8y6rczad09228d1vs0","slug":"frontend-design","publicId":"f9025731-1c6e-4c64-b438-9785822f0592","name":"frontend-design","description":"Guidance for distinctive, intentional visual design when building new UI or reshaping an existing one. Helps with aesthetic direction, typography, and making choices that don't read as templated defaults.","author":"","version":"","license":"Complete terms in LICENSE.txt","overallGrade":"B","badgeStatus":"vettd","publishedAt":"2026-05-01T20:47:26.693Z","sourceUrl":"https://github.com/anthropics/skills/tree/main/skills/frontend-design","findings":[{"id":"cmssygn8y6rd3ad09cejz18ez","source":"vettd","category":"structure","label":"Valid name field","detail":"Name \"frontend-design\" follows spec (lowercase, hyphens, ≤64 chars)","severity":"info","ruleId":"VTD-0099"},{"id":"cmssygn8y6rd5ad09cg641b67","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"},{"id":"cmssygn8y6rdaad094btkdz92","source":"vettd","category":"best-practices","label":"Step-by-step workflow found","detail":"Structured procedures improve reliability for complex tasks","severity":"info","ruleId":"VTD-0106"},{"id":"cmssygn8y6rdbad09t5lcr0bb","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"},{"id":"cmssygn8y6rddad09d64zy5nn","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"},{"id":"cmssygn8y6rd7ad092geikmsw","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":"info","ruleId":"VTD-0111"},{"id":"cmssygn8y6rd8ad09ssc20opl","source":"vettd","category":"best-practices","label":"SKILL.md body length is reasonable","detail":"50 lines (recommended: under 500)","severity":"info","ruleId":"VTD-0101"},{"id":"cmssygn8y6rd0ad09sczycp7k","source":"vettd","category":"structure","label":"SKILL.md present","detail":"Required skill definition file found","severity":"info","ruleId":"VTD-0095"},{"id":"cmssygn8y6rd2ad09xfx0rerf","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"},{"id":"cmssygn8y6rdcad09yd22kzyl","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"},{"id":"cmssygn8y6rd1ad09u1i8cisg","source":"vettd","category":"structure","label":"No scripts/ directory","detail":"Consider bundling reusable scripts for validation and automation","severity":"info","ruleId":"VTD-0096"},{"id":"cmssygn8y6rd6ad097dcagr3t","source":"vettd","category":"description","label":"Description within character limit","detail":"204/1024 characters used","severity":"info","ruleId":"VTD-0110"},{"id":"cmssygn8y6rd9ad09gezuoe03","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"},{"id":"cmssygn8y6rd4ad09ufuiiheq","source":"vettd","category":"best-practices","label":"Skill name collides with well-known skill","detail":"\"frontend-design\" matches a well-known skill name — may cause unintended invocation","severity":"medium","ruleId":"VTD-0100"}],"scannerRuns":[{"source":"vettd","status":"success","verdict":null,"grade":"B","criticalCount":0,"highCount":0},{"source":"cisco","status":"success","verdict":null,"grade":"A","criticalCount":0,"highCount":0}],"freshness":{"status":"check_failed","reason":"auth","retryable":true,"renamedTo":null,"lastCheckedAt":"2026-10-22T00:15:06.961Z","lastVerifiedAt":"2026-08-30T15:34:49.717Z","lastChangeDetectedAt":"2026-08-13T12:17:06.398Z","scannedHash":"0d5b74a14bdf3ebcd64f352d06376a2ef05ed296","latestUpstreamHash":"0d5b74a14bdf3ebcd64f352d06376a2ef05ed296","nextCheckDueAt":"2026-10-22T06:15:06.961Z"}},{"id":"cmt8pr6bt16e4ad0947nzqhh0","slug":"docx","publicId":"9081ab29-5481-4d51-ac28-1d74223cbca1","name":"docx","description":"Use this skill whenever the user wants to create, read, edit, or manipulate Word documents (.docx files) or Word templates (.dotx files). Triggers include: any mention of 'Word doc', 'word document', '.docx', '.dotx', or requests to produce professional documents with formatting like tables of contents, headings, page numbers, or letterheads. Also use when extracting or reorganizing content from .docx or .dotx files, inserting or replacing images in documents, performing find-and-replace in Word files, working with tracked changes or comments, or converting content into a polished Word document. If the user asks for a 'report', 'memo', 'letter', 'template', or similar deliverable as a Word or .docx file, use this skill. Do NOT use for PDFs, spreadsheets, Google Docs, or general coding tasks unrelated to document generation.","author":"","version":"","license":"Proprietary. LICENSE.txt has complete terms","overallGrade":"C","badgeStatus":"conditional","publishedAt":"2026-05-01T20:47:18.578Z","sourceUrl":"https://github.com/anthropics/skills/tree/main/skills/docx","findings":[{"id":"cmt8pr6bt16ebad09y41cmt6y","source":"vettd","category":"description","label":"Description includes usage context","detail":"Good: description explains when to activate the skill","severity":"info","ruleId":"VTD-0111"},{"id":"cmt8pr6bt16eead09ilpy1rl1","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"},{"id":"cmt8pr6bt16egad09mxq6d7x5","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"},{"id":"cmt8pr6bu16esad09yw5on5xn","source":"cisco","category":"security","label":"Archive extraction followed by execution","detail":"SKILL.md:45 — An archive is extracted and its contents are then executed. This pattern can deliver and run malicious payloads hidden in archives.","severity":"high","ruleId":"COMPOUND_EXTRACT_EXECUTE"},{"id":"cmt8pr6bt16e5ad09ulje6biw","source":"vettd","category":"structure","label":"SKILL.md present","detail":"Required skill definition file found","severity":"info","ruleId":"VTD-0095"},{"id":"cmt8pr6bu16eqad09t6iias97","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"},{"id":"cmt8pr6bt16e9ad09gqq0khnn","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"},{"id":"cmt8pr6bt16edad090x3metd0","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"},{"id":"cmt8pr6bt16eiad099jg80ptz","source":"vettd","category":"scripts","label":"CLI help supported","detail":"scripts/comment.py: Script documents its interface via --help or argument parsing","severity":"info","ruleId":"VTD-0114"},{"id":"cmt8pr6bu16euad09vnlt3hxl","source":"cisco","category":"security","label":"CODE EXECUTION detected by YARA","detail":"scripts/accept_changes.py:99 — Detects dangerous code execution patterns with untrusted input in agent skills: subprocess.run(\n            [\n                \"soffice\",\n                \"--headless\",","severity":"medium","ruleId":"YARA_code_execution_generic"},{"id":"cmt8pr6bt16ejad09e0xu3r4q","source":"vettd","category":"scripts","label":"CLI help supported","detail":"scripts/merge_runs.py: Script documents its interface via --help or argument parsing","severity":"info","ruleId":"VTD-0114"},{"id":"cmt8pr6bt16enad09di72eix0","source":"vettd","category":"scripts","label":"CLI help supported","detail":"scripts/office/validators/pptx.py: Script documents its interface via --help or argument parsing","severity":"info","ruleId":"VTD-0114"},{"id":"cmt8pr6bt16elad09688q3wuh","source":"vettd","category":"scripts","label":"CLI help supported","detail":"scripts/office/validate.py: Script documents its interface via --help or argument parsing","severity":"info","ruleId":"VTD-0114"},{"id":"cmt8pr6bu16etad09zfwy6xp0","source":"cisco","category":"security","label":"Archive extraction followed by execution","detail":"SKILL.md:51 — An archive is extracted and its contents are then executed. This pattern can deliver and run malicious payloads hidden in archives.","severity":"high","ruleId":"COMPOUND_EXTRACT_EXECUTE"},{"id":"cmt8pr6bt16e8ad09g22ln50x","source":"vettd","category":"structure","label":"Valid name field","detail":"Name \"docx\" follows spec (lowercase, hyphens, ≤64 chars)","severity":"info","ruleId":"VTD-0099"},{"id":"cmt8pr6bt16eaad098p9dcftf","source":"vettd","category":"description","label":"Description within character limit","detail":"835/1024 characters used","severity":"info","ruleId":"VTD-0110"},{"id":"cmt8pr6bt16e7ad09tl0p398q","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"},{"id":"cmt8pr6bu16epad09nd5udhgy","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"},{"id":"cmt8pr6bt16efad09nhxrd6gr","source":"vettd","category":"best-practices","label":"Validation loop referenced","detail":"Instructions for the agent to validate its own work before proceeding","severity":"info","ruleId":"VTD-0105"},{"id":"cmt8pr6bt16ehad0969b19yfz","source":"vettd","category":"scripts","label":"CLI help supported","detail":"scripts/accept_changes.py: Script documents its interface via --help or argument parsing","severity":"info","ruleId":"VTD-0114"},{"id":"cmt8pr6bu16eoad09842s413i","source":"vettd","category":"scripts","label":"CLI help supported","detail":"scripts/office/validators/redlining.py: Script documents its interface via --help or argument parsing","severity":"info","ruleId":"VTD-0114"},{"id":"cmt8pr6bt16emad092oqwey6c","source":"vettd","category":"scripts","label":"CLI help supported","detail":"scripts/office/validators/docx.py: Script documents its interface via --help or argument parsing","severity":"info","ruleId":"VTD-0114"},{"id":"cmt8pr6bu16erad09jqqdc5y9","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"},{"id":"cmt8pr6bt16e6ad097f4oslzf","source":"vettd","category":"structure","label":"scripts/ directory present","detail":"Bundled executable scripts found","severity":"info","ruleId":"VTD-0096"},{"id":"cmt8pr6bt16ekad09g51509go","source":"vettd","category":"scripts","label":"CLI help supported","detail":"scripts/office/soffice.py: Script documents its interface via --help or argument parsing","severity":"info","ruleId":"VTD-0114"},{"id":"cmt8pr6bt16ecad09voclgvo8","source":"vettd","category":"best-practices","label":"SKILL.md body length is reasonable","detail":"86 lines (recommended: under 500)","severity":"info","ruleId":"VTD-0101"}],"scannerRuns":[{"source":"vettd","status":"success","verdict":null,"grade":"A","criticalCount":0,"highCount":0},{"source":"cisco","status":"success","verdict":null,"grade":"C","criticalCount":0,"highCount":2}],"freshness":{"status":"check_failed","reason":"auth","retryable":true,"renamedTo":null,"lastCheckedAt":"2026-10-22T00:15:06.961Z","lastVerifiedAt":"2026-08-30T16:41:49.853Z","lastChangeDetectedAt":"2026-08-12T12:32:46.816Z","scannedHash":"6e6f5b95c1de6e803cc07b214f5059b074d64e0c","latestUpstreamHash":"6e6f5b95c1de6e803cc07b214f5059b074d64e0c","nextCheckDueAt":"2026-10-22T06:15:06.961Z"}},{"id":"cmssxe2i86knhad09ksqlujbi","slug":"doc-coauthoring","publicId":"5965eaaa-afcc-4b76-82ae-5bd4463e0e19","name":"doc-coauthoring","description":"Guide users through a structured workflow for co-authoring documentation. Use when user wants to write documentation, proposals, technical specs, decision docs, or similar structured content. This workflow helps users efficiently transfer context, refine content through iteration, and verify the doc works for readers. Trigger when user mentions writing docs, creating proposals, drafting specs, or similar documentation tasks.","author":"","version":"","license":"","overallGrade":"B","badgeStatus":"conditional","publishedAt":"2026-05-01T20:47:02.468Z","sourceUrl":"https://github.com/anthropics/skills/tree/main/skills/doc-coauthoring","findings":[{"id":"cmssxe2i86knjad09q7buzubu","source":"vettd","category":"structure","label":"No scripts/ directory","detail":"Consider bundling reusable scripts for validation and automation","severity":"info","ruleId":"VTD-0096"},{"id":"cmssxe2i86knrad09q949nbln","source":"vettd","category":"best-practices","label":"Step-by-step workflow found","detail":"Structured procedures improve reliability for complex tasks","severity":"info","ruleId":"VTD-0106"},{"id":"cmssxe2i86knkad09oyq3nd34","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"},{"id":"cmssxe2i86knvad09kgzb8zlp","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"},{"id":"cmssxe2i86knsad09wky6px08","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"},{"id":"cmssxe2i86knnad09pwcfvgyq","source":"vettd","category":"description","label":"Description within character limit","detail":"428/1024 characters used","severity":"info","ruleId":"VTD-0110"},{"id":"cmssxe2i86knqad09qr87qp0e","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"},{"id":"cmssxe2i86kniad09a18jdwia","source":"vettd","category":"structure","label":"SKILL.md present","detail":"Required skill definition file found","severity":"info","ruleId":"VTD-0095"},{"id":"cmssxe2i86knpad09dks610zp","source":"vettd","category":"best-practices","label":"SKILL.md body length is reasonable","detail":"371 lines (recommended: under 500)","severity":"info","ruleId":"VTD-0101"},{"id":"cmssxe2i86knuad094fayg74g","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"},{"id":"cmssxe2i86knlad09ef66qc2b","source":"vettd","category":"structure","label":"Valid name field","detail":"Name \"doc-coauthoring\" follows spec (lowercase, hyphens, ≤64 chars)","severity":"info","ruleId":"VTD-0099"},{"id":"cmssxe2i86knoad094wgmc6nz","source":"vettd","category":"description","label":"Description includes usage context","detail":"Good: description explains when to activate the skill","severity":"info","ruleId":"VTD-0111"},{"id":"cmssxe2i86knmad09g5r4jycj","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"},{"id":"cmssxe2i86kntad09bvcwwwfa","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"}],"scannerRuns":[{"source":"vettd","status":"success","verdict":null,"grade":"B","criticalCount":0,"highCount":0},{"source":"cisco","status":"success","verdict":null,"grade":"A","criticalCount":0,"highCount":0}],"freshness":{"status":"check_failed","reason":"auth","retryable":true,"renamedTo":null,"lastCheckedAt":"2026-10-22T00:16:06.963Z","lastVerifiedAt":"2026-08-30T23:24:50.793Z","lastChangeDetectedAt":"2026-08-12T12:32:46.816Z","scannedHash":"d9df960e61fe2bafe9183e37de6f9f6b73b74087","latestUpstreamHash":"d9df960e61fe2bafe9183e37de6f9f6b73b74087","nextCheckDueAt":"2026-10-22T06:16:06.963Z"}},{"id":"cmt93xpeu32dqad097dhxpjtw","slug":"claude-api","publicId":"007a1400-f587-4be3-8c82-46d8992e96ca","name":"claude-api","description":"|-","author":"","version":"","license":"Complete terms in LICENSE.txt","overallGrade":"F","badgeStatus":"flagged","publishedAt":"2026-05-01T20:46:54.490Z","sourceUrl":"https://github.com/anthropics/skills/tree/main/skills/claude-api","findings":[{"id":"cmt93xpev32dvad09pp5yn7zo","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"},{"id":"cmt93xpev32dzad09bipknsv5","source":"vettd","category":"best-practices","label":"SKILL.md exceeds 500 lines","detail":"548 lines — consider moving detailed reference material to references/","severity":"info","ruleId":"VTD-0101"},{"id":"cmt93xpeu32dtad098buxmq7f","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"},{"id":"cmt93xpev32dyad09chkvxnea","source":"vettd","category":"description","label":"Description too brief","detail":"A few sentences covering scope and trigger conditions improves activation accuracy","severity":"info","ruleId":"VTD-0112"},{"id":"cmt93xpev32duad09i2079q3c","source":"vettd","category":"structure","label":"Valid name field","detail":"Name \"claude-api\" follows spec (lowercase, hyphens, ≤64 chars)","severity":"info","ruleId":"VTD-0099"},{"id":"cmt93xpev32e0ad09dtbk6l8w","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"},{"id":"cmt93xpev32dwad09ksts7siq","source":"vettd","category":"description","label":"Description within character limit","detail":"2/1024 characters used","severity":"info","ruleId":"VTD-0110"},{"id":"cmt93xpev32e1ad09ulimg22d","source":"vettd","category":"best-practices","label":"Step-by-step workflow found","detail":"Structured procedures improve reliability for complex tasks","severity":"info","ruleId":"VTD-0106"},{"id":"cmt93xpev32dxad093kvva3tc","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":"info","ruleId":"VTD-0111"},{"id":"cmt93xpev32e2ad09x87p1t7c","source":"vettd","category":"best-practices","label":"Validation loop referenced","detail":"Instructions for the agent to validate its own work before proceeding","severity":"info","ruleId":"VTD-0105"},{"id":"cmt93xpev32e5ad091fxoijnp","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"},{"id":"cmt93xpeu32dsad09y5ipib49","source":"vettd","category":"structure","label":"No scripts/ directory","detail":"Consider bundling reusable scripts for validation and automation","severity":"info","ruleId":"VTD-0096"},{"id":"cmt93xpev32e3ad09cfhrvz5z","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"},{"id":"cmt93xpev32e4ad09sk021yse","source":"vettd","category":"security","label":"Instruction override language detected","detail":"Detected in shared/model-migration.md:839 — `phrase these as **context, not commands**. state the fact and let claude act on it; avoid override-style language (\"igno`","severity":"critical","ruleId":"VTD-0064"},{"id":"cmt93xpev32e7ad09ez9qno2d","source":"cisco","category":"security","label":"Skill description exceeds agent skills length limit","detail":"SKILL.md — Skill description is 1068 characters; Agent skills limit the `description` field to 1024 characters.","severity":"low","ruleId":"VTD-0101"},{"id":"cmt93xpev32e6ad09zw0gbt8v","source":"cisco","category":"security","label":"Potential Anthropic brand impersonation","detail":"SKILL.md — Skill name or description contains 'Anthropic', suggesting official affiliation","severity":"medium","ruleId":"VTD-0082"},{"id":"cmt93xpeu32drad09sbv8neq4","source":"vettd","category":"structure","label":"SKILL.md present","detail":"Required skill definition file found","severity":"info","ruleId":"VTD-0095"}],"scannerRuns":[{"source":"vettd","status":"success","verdict":null,"grade":"F","criticalCount":1,"highCount":1},{"source":"cisco","status":"success","verdict":null,"grade":"B","criticalCount":0,"highCount":0}],"freshness":{"status":"check_failed","reason":"auth","retryable":true,"renamedTo":null,"lastCheckedAt":"2026-10-22T00:15:06.961Z","lastVerifiedAt":"2026-08-30T19:09:50.211Z","lastChangeDetectedAt":"2026-08-24T19:29:40.909Z","scannedHash":"2f4ced4eb63fc6eb80bfdf85f050e319d5a57132","latestUpstreamHash":"2f4ced4eb63fc6eb80bfdf85f050e319d5a57132","nextCheckDueAt":"2026-10-22T06:15:06.961Z"}},{"id":"cmssy2ixe6os3ad09xh0zywuv","slug":"canvas-design","publicId":"8718a7d9-5a25-4f76-89ea-a8aca1195547","name":"canvas-design","description":"Create beautiful visual art in .png and .pdf documents using design philosophy. You should use this skill when the user asks to create a poster, piece of art, design, or other static piece. Create original visual designs, never copying existing artists' work to avoid copyright violations.","author":"","version":"","license":"Complete terms in LICENSE.txt","overallGrade":"A","badgeStatus":"vettd","publishedAt":"2026-05-01T20:46:41.889Z","sourceUrl":"https://github.com/anthropics/skills/tree/main/skills/canvas-design","findings":[{"id":"cmssy2ixe6osbad09ewaj21yp","source":"vettd","category":"best-practices","label":"SKILL.md body length is reasonable","detail":"124 lines (recommended: under 500)","severity":"info","ruleId":"VTD-0101"},{"id":"cmssy2ixe6os4ad09bce8ce64","source":"vettd","category":"structure","label":"SKILL.md present","detail":"Required skill definition file found","severity":"info","ruleId":"VTD-0095"},{"id":"cmssy2ixe6os9ad09ytr8i3fz","source":"vettd","category":"description","label":"Description within character limit","detail":"289/1024 characters used","severity":"info","ruleId":"VTD-0110"},{"id":"cmssy2ixe6os7ad0912wgis8i","source":"vettd","category":"structure","label":"Valid name field","detail":"Name \"canvas-design\" follows spec (lowercase, hyphens, ≤64 chars)","severity":"info","ruleId":"VTD-0099"},{"id":"cmssy2ixe6osaad09q4ozdgy2","source":"vettd","category":"description","label":"Description includes usage context","detail":"Good: description explains when to activate the skill","severity":"info","ruleId":"VTD-0111"},{"id":"cmssy2ixe6oscad09azvsuc02","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"},{"id":"cmssy2ixe6osead09jr6wado0","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"},{"id":"cmssy2ixe6osfad09pbnz0wqa","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"},{"id":"cmssy2ixe6osgad099u1f8e9o","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"},{"id":"cmssy2ixe6os5ad09dtgp17p0","source":"vettd","category":"structure","label":"No scripts/ directory","detail":"Consider bundling reusable scripts for validation and automation","severity":"info","ruleId":"VTD-0096"},{"id":"cmssy2ixe6os6ad09nov8cowu","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"},{"id":"cmssy2ixe6os8ad09zjgplwtc","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"},{"id":"cmssy2ixe6osdad09zs6emgbw","source":"vettd","category":"best-practices","label":"Step-by-step workflow found","detail":"Structured procedures improve reliability for complex tasks","severity":"info","ruleId":"VTD-0106"}],"scannerRuns":[{"source":"vettd","status":"success","verdict":null,"grade":"A","criticalCount":0,"highCount":0},{"source":"cisco","status":"success","verdict":null,"grade":"A","criticalCount":0,"highCount":0}],"freshness":{"status":"check_failed","reason":"auth","retryable":true,"renamedTo":null,"lastCheckedAt":"2026-10-22T00:16:06.963Z","lastVerifiedAt":"2026-08-29T22:48:14.945Z","lastChangeDetectedAt":"2026-08-12T12:32:46.816Z","scannedHash":"95095faaee2ea943e85a5d1d562fde06841e835e","latestUpstreamHash":"95095faaee2ea943e85a5d1d562fde06841e835e","nextCheckDueAt":"2026-10-22T06:16:06.963Z"}},{"id":"cmst3ypq67o2ead09h8l3ju0b","slug":"brand-guidelines","publicId":"e699cfb8-bbc4-4827-832f-9ad31b16b552","name":"brand-guidelines","description":"Applies Anthropic's official brand colors and typography to any sort of artifact that may benefit from having Anthropic's look-and-feel. Use it when brand colors or style guidelines, visual formatting, or company design standards apply.","author":"","version":"","license":"Complete terms in LICENSE.txt","overallGrade":"A","badgeStatus":"vettd","publishedAt":"2026-05-01T20:46:29.901Z","sourceUrl":"https://github.com/anthropics/skills/tree/main/skills/brand-guidelines","findings":[{"id":"cmst3ypq77o2gad09q742ib59","source":"vettd","category":"structure","label":"No scripts/ directory","detail":"Consider bundling reusable scripts for validation and automation","severity":"info","ruleId":"VTD-0096"},{"id":"cmst3ypq97o2pad09vh71qbz2","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"},{"id":"cmst3ypq97o2nad09o2gwoslp","source":"vettd","category":"best-practices","label":"SKILL.md body length is reasonable","detail":"68 lines (recommended: under 500)","severity":"info","ruleId":"VTD-0101"},{"id":"cmst3ypq97o2qad0971zc5bta","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"},{"id":"cmst3ypq97o2oad09gprjds4g","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"},{"id":"cmst3ypq97o2sad09i0p1xd04","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"},{"id":"cmst3ypq77o2iad09gx7r1wwd","source":"vettd","category":"structure","label":"Valid name field","detail":"Name \"brand-guidelines\" follows spec (lowercase, hyphens, ≤64 chars)","severity":"info","ruleId":"VTD-0099"},{"id":"cmst3ypq97o2rad09pbcinl2x","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"},{"id":"cmst3ypq77o2fad0960rhz8p6","source":"vettd","category":"structure","label":"SKILL.md present","detail":"Required skill definition file found","severity":"info","ruleId":"VTD-0095"},{"id":"cmst3ypq97o2mad09r6bse0ou","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":"info","ruleId":"VTD-0111"},{"id":"cmst3ypq77o2kad09ckjdnqfz","source":"vettd","category":"description","label":"Description within character limit","detail":"236/1024 characters used","severity":"info","ruleId":"VTD-0110"},{"id":"cmst3ypq77o2had09gpbv6snr","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"},{"id":"cmst3ypq77o2jad09zptriho4","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"}],"scannerRuns":[{"source":"vettd","status":"success","verdict":null,"grade":"A","criticalCount":0,"highCount":0},{"source":"cisco","status":"success","verdict":null,"grade":"A","criticalCount":0,"highCount":0}],"freshness":{"status":"check_failed","reason":"auth","retryable":true,"renamedTo":null,"lastCheckedAt":"2026-10-22T00:17:06.962Z","lastVerifiedAt":"2026-08-30T18:27:50.128Z","lastChangeDetectedAt":"2026-08-12T12:32:46.816Z","scannedHash":"1dc8bd3584b80568edae7da16382363e24ecf0f0","latestUpstreamHash":"1dc8bd3584b80568edae7da16382363e24ecf0f0","nextCheckDueAt":"2026-10-22T06:17:06.962Z"}},{"id":"cmssxa7sm6jupad09rqa3ko61","slug":"algorithmic-art","publicId":"ba5abb7e-3925-4d83-a52f-1758c11fa8e3","name":"algorithmic-art","description":"Creating algorithmic art using p5.js with seeded randomness and interactive parameter exploration. Use this when users request creating art using code, generative art, algorithmic art, flow fields, or particle systems. Create original algorithmic art rather than copying existing artists' work to avoid copyright violations.","author":"","version":"","license":"Complete terms in LICENSE.txt","overallGrade":"B","badgeStatus":"conditional","publishedAt":"2026-05-01T20:46:21.797Z","sourceUrl":"https://github.com/anthropics/skills/tree/main/skills/algorithmic-art","findings":[{"id":"cmssxa7sn6juqad0911zl9vv6","source":"vettd","category":"structure","label":"SKILL.md present","detail":"Required skill definition file found","severity":"info","ruleId":"VTD-0095"},{"id":"cmssxa7so6juvad098ndy3z4s","source":"vettd","category":"description","label":"Description within character limit","detail":"324/1024 characters used","severity":"info","ruleId":"VTD-0110"},{"id":"cmssxa7so6juzad09z2tf789n","source":"vettd","category":"best-practices","label":"Step-by-step workflow found","detail":"Structured procedures improve reliability for complex tasks","severity":"info","ruleId":"VTD-0106"},{"id":"cmssxa7sn6jusad09zpa32fs5","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"},{"id":"cmssxa7so6jv1ad09xrsndaar","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"},{"id":"cmssxa7sn6jutad09b5ixbjeg","source":"vettd","category":"structure","label":"Valid name field","detail":"Name \"algorithmic-art\" follows spec (lowercase, hyphens, ≤64 chars)","severity":"info","ruleId":"VTD-0099"},{"id":"cmssxa7sn6jurad09dg75helr","source":"vettd","category":"structure","label":"No scripts/ directory","detail":"Consider bundling reusable scripts for validation and automation","severity":"info","ruleId":"VTD-0096"},{"id":"cmssxa7so6juxad09yv52y3q3","source":"vettd","category":"best-practices","label":"SKILL.md body length is reasonable","detail":"399 lines (recommended: under 500)","severity":"info","ruleId":"VTD-0101"},{"id":"cmssxa7so6jv0ad09s9omlmns","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"},{"id":"cmssxa7so6jv2ad09tfor2h21","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"},{"id":"cmssxa7so6juwad09rztxn2a5","source":"vettd","category":"description","label":"Description includes usage context","detail":"Good: description explains when to activate the skill","severity":"info","ruleId":"VTD-0111"},{"id":"cmssxa7so6juyad094ckhi61k","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"},{"id":"cmssxa7sn6juuad0920tobns6","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"}],"scannerRuns":[{"source":"vettd","status":"success","verdict":null,"grade":"B","criticalCount":0,"highCount":0},{"source":"cisco","status":"success","verdict":null,"grade":"A","criticalCount":0,"highCount":0}],"freshness":{"status":"check_failed","reason":"auth","retryable":true,"renamedTo":null,"lastCheckedAt":"2026-10-22T00:19:06.966Z","lastVerifiedAt":"2026-08-30T02:33:49.523Z","lastChangeDetectedAt":"2026-08-12T12:32:46.816Z","scannedHash":"4aef6bcad51d058ec32b1acb9da436851863e56e","latestUpstreamHash":"4aef6bcad51d058ec32b1acb9da436851863e56e","nextCheckDueAt":"2026-10-22T06:19:06.966Z"}}],"publisherSupplied":["skills[].name","skills[].description","skills[].author","skills[].version","skills[].license"]}