Trust Assessment
short-video-copywriter received a trust score of 67/100, placing it in the Caution category. This skill has some security considerations that users should review before deployment.
SkillShield's automated analysis identified 5 findings: 0 critical, 1 high, 2 medium, and 2 low severity. Key findings include Missing required field: name, Unpinned npm dependency version, Node lockfile missing.
The analysis covered 4 layers: Manifest Analysis, Static Code Analysis, Dependency Graph, LLM Behavioral Safety. All layers scored 70 or above, reflecting consistent security practices.
Last analyzed on February 13, 2026 (commit 13146e6a). SkillShield performs automated 4-layer security analysis on AI skills and MCP servers.
Layer Breakdown
Behavioral Risk Signals
Security Findings5
| Severity | Finding | Layer | Location | |
|---|---|---|---|---|
| HIGH | Prompt Injection via User Input The 'topic' field from user input is directly embedded into the LLM prompt without any sanitization or robust injection defenses. A malicious user could inject instructions into the 'topic' to manipulate the LLM's behavior, bypass safety mechanisms, or attempt to extract sensitive information from the LLM's context. Implement robust prompt injection defenses. This includes input validation/sanitization for the 'topic' field, adding explicit negative instructions to the system prompt, or using a 'sandwich' defense pattern to isolate user input. | LLM | src/index.ts:80 | |
| MEDIUM | Missing required field: name The 'name' field is required for claude_code skills but is missing from frontmatter. Add a 'name' field to the SKILL.md frontmatter. | Static | skills/user520512/short-video-copywriter/SKILL.md:1 | |
| MEDIUM | Unpinned npm dependency version Dependency 'langchain' is not pinned to an exact version ('^0.2.0'). Pin dependencies to exact versions to reduce drift and supply-chain risk. | Dependencies | skills/user520512/short-video-copywriter/package.json | |
| LOW | Node lockfile missing package.json is present but no lockfile was found (package-lock.json, pnpm-lock.yaml, or yarn.lock). Commit a lockfile for deterministic dependency resolution. | Dependencies | skills/user520512/short-video-copywriter/package.json | |
| LOW | Inconsistent API Key Handling Prevents Environment Variable Usage The skill's `generateShortVideoCopy` function explicitly requires an `apiKey` argument and throws an error if it's not provided. This prevents the `openai` client from automatically picking up the `OPENAI_API_KEY` from environment variables, as is common practice and implied by the `SKILL.md` documentation. The interactive CLI mode of the skill is currently non-functional because it calls `generateShortVideoCopy` without passing the `apiKey` argument, leading to a runtime error. Modify the `generateShortVideoCopy` function to allow the `apiKey` to be optionally read from `process.env.OPENAI_API_KEY` if not explicitly provided as an argument. For example: ```typescript export async function generateShortVideoCopy( request: CopyRequest, explicitApiKey?: string ): Promise<CopyResult> { const apiKey = explicitApiKey || process.env.OPENAI_API_KEY; if (!apiKey) { throw new Error('OPENAI_API_KEY is required, either as an argument or in environment variables.'); } const openai = new OpenAI({ apiKey }); // ... } ``` | LLM | src/index.ts:100 |
Scan History
Embed Code
[](https://skillshield.io/report/537b73b899ce0a9f)
Powered by SkillShield