{"id":"cmrodn7e11us3ad08zcocembq","slug":"larryskillskill","publicId":"31b224af-fa9b-4deb-9755-f4f3d96a8615","name":"larryskill/SKILL","description":"Automate TikTok slideshow marketing for any app or product. Researches competitors, generates AI images, adds text overlays, posts via Postiz, tracks analytics, and iterates on what works. Use when setting up TikTok marketing automation, creating slideshow posts, analyzing post performance, optimizing app marketing funnels, or when a user mentions TikTok growth, slideshow ads, or social media marketing for their app. Covers competitor research (browser-based), image generation, text overlays, TikTok posting (Postiz API), cross-posting to Instagram/YouTube/Threads, analytics tracking, hook testing, CTA optimization, conversion tracking with RevenueCat, and a full feedback loop that adjusts hooks and CTAs based on views vs conversions.","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:28.349Z","category":"","frameworks":[],"badgeStatus":"conditional","downloadCount":0,"verdictRationale":null,"verdictPolicyVersion":null,"skillId":"cmrodn6s91ub9ad08eclhlplz","findings":[{"id":"cmrodnd7u206sad0811h7ig5f","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":"cmrodnd7u206rad08p1q0fwsf","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":"cmrodnd7t2065ad08f51z712m","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":"cmrodnd7t206qad081l0bptac","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":"cmrodnd7t2062ad08jdleqhr7","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":"cmrodnd7t2061ad08lbl722z6","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":"cmrodnd7t2060ad08a4zdi9j9","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":"cmrodnd7t2064ad08ofsfpw0y","source":"vettd","category":"structure","label":"Valid name field","detail":"Name \"tiktok-app-marketing\" follows spec (lowercase, hyphens, ≤64 chars)","severity":"info","ruleId":"VTD-0099","owaspLlmCategory":null,"intent":null,"chainId":null,"fingerprint":"5ba54eca0b3e299a99112de98cbcd97f","filepath":""},{"id":"cmrodnd7t2067ad08lz0lqtms","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":"cmrodnd7t2066ad08vrowrla2","source":"vettd","category":"description","label":"Description within character limit","detail":"743/1024 characters used","severity":"info","ruleId":"VTD-0110","owaspLlmCategory":null,"intent":null,"chainId":null,"fingerprint":"66553d595a652c45a6f0d4353184b37e","filepath":""},{"id":"cmrodnd7t206aad08vu11zhht","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":"cmrodnd7t2069ad088gcr1eiy","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":"cmrodnd7t206cad08sp50posc","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":"cmrodnd7t2068ad081pi6e6px","source":"vettd","category":"best-practices","label":"SKILL.md body length is reasonable","detail":"82 lines (recommended: under 500)","severity":"info","ruleId":"VTD-0101","owaspLlmCategory":null,"intent":null,"chainId":null,"fingerprint":"42debaa072535bf5650f90d3168f0b93","filepath":""},{"id":"cmrodnd7t206bad0805br8thn","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","owaspLlmCategory":null,"intent":null,"chainId":null,"fingerprint":"e5a31b775d1df438cbeb1e3fcb2ff503","filepath":""},{"id":"cmrodnd7t206dad0844kea9lw","source":"vettd","category":"scripts","label":"CLI help supported","detail":"scripts/add-text-overlay.js: Script documents its interface via --help or argument parsing","severity":"info","ruleId":"VTD-0114","owaspLlmCategory":null,"intent":null,"chainId":null,"fingerprint":"bacfb1a11efd590203ff7c5670ad38d8","filepath":""},{"id":"cmrodnd7t206ead086xardfk6","source":"vettd","category":"scripts","label":"CLI help supported","detail":"scripts/check-analytics.js: Script documents its interface via --help or argument parsing","severity":"info","ruleId":"VTD-0114","owaspLlmCategory":null,"intent":null,"chainId":null,"fingerprint":"bacfb1a11efd590203ff7c5670ad38d8","filepath":""},{"id":"cmrodnd7t206gad08co5z9e0f","source":"vettd","category":"scripts","label":"CLI help supported","detail":"scripts/competitor-research.js: Script documents its interface via --help or argument parsing","severity":"info","ruleId":"VTD-0114","owaspLlmCategory":null,"intent":null,"chainId":null,"fingerprint":"bacfb1a11efd590203ff7c5670ad38d8","filepath":""},{"id":"cmrodnd7t206iad08qvw433sj","source":"vettd","category":"scripts","label":"CLI help supported","detail":"scripts/daily-report.js: Script documents its interface via --help or argument parsing","severity":"info","ruleId":"VTD-0114","owaspLlmCategory":null,"intent":null,"chainId":null,"fingerprint":"bacfb1a11efd590203ff7c5670ad38d8","filepath":""},{"id":"cmrodnd7t206kad08e4k6upw6","source":"vettd","category":"scripts","label":"CLI help supported","detail":"scripts/generate-slides.js: Script documents its interface via --help or argument parsing","severity":"info","ruleId":"VTD-0114","owaspLlmCategory":null,"intent":null,"chainId":null,"fingerprint":"bacfb1a11efd590203ff7c5670ad38d8","filepath":""},{"id":"cmrodnd7t206mad08uoyhtben","source":"vettd","category":"scripts","label":"CLI help supported","detail":"scripts/onboarding.js: Script documents its interface via --help or argument parsing","severity":"info","ruleId":"VTD-0114","owaspLlmCategory":null,"intent":null,"chainId":null,"fingerprint":"bacfb1a11efd590203ff7c5670ad38d8","filepath":""},{"id":"cmrodnd7t206oad0803resu7p","source":"vettd","category":"scripts","label":"CLI help supported","detail":"scripts/post-to-tiktok.js: Script documents its interface via --help or argument parsing","severity":"info","ruleId":"VTD-0114","owaspLlmCategory":null,"intent":null,"chainId":null,"fingerprint":"bacfb1a11efd590203ff7c5670ad38d8","filepath":""},{"id":"cmrodnd7t206fad082xtn3u6x","source":"vettd","category":"scripts","label":"Structured output format","detail":"scripts/check-analytics.js: 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":"cmrodnd7t206had08lc400s5n","source":"vettd","category":"scripts","label":"Structured output format","detail":"scripts/competitor-research.js: 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":"cmrodnd7t206jad08ircqe7ya","source":"vettd","category":"scripts","label":"Structured output format","detail":"scripts/daily-report.js: 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":"cmrodnd7t206lad084ojt7txm","source":"vettd","category":"scripts","label":"Structured output format","detail":"scripts/generate-slides.js: 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":"cmrodnd7t206nad082usipg9n","source":"vettd","category":"scripts","label":"Structured output format","detail":"scripts/onboarding.js: 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":"cmrodnd7t206pad08bzca686l","source":"vettd","category":"scripts","label":"Structured output format","detail":"scripts/post-to-tiktok.js: 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":"cmrodnd7t2063ad0845kpqu22","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":29,"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":29,"publisherSupplied":["name","description","author","version","license"]}