pptgenerator
Analysis
The skill appears aimed at PPT generation, but it sends presentation work to a different external domain than the one advertised and also stores optional API keys and history locally.
Findings (3)
Artifact-based informational review of SKILL.md, metadata, install specs, static scan signals, and capability signals. ClawScan does not execute the skill or run runtime probes.
Checks for instructions or behavior that redirect the agent, misuse tools, execute unexpected code, cascade across systems, exploit user trust, or continue outside the intended task.
API_URL = "https://www.ultrappt.com/api/v1/agent/skill/chat"
The skill text advertises being powered by pptultra.com, but the script is configured to use an ultrappt.com API endpoint, which is a materially different data destination for user PPT prompts and content.
Checks whether tool use, credentials, dependencies, identity, account access, or inter-agent boundaries are broader than the stated purpose.
CONFIG_FILE = os.path.join(_SKILL_DIR, ".config.json") ... key = os.environ.get("PPT_API_KEY", "").strip() ... cfg["api_key"] = api_keyThe script supports reading an API key from an environment variable and saving it to a local config file, while the registry metadata declares no required env vars, credentials, or config paths.
Checks for exposed credentials, poisoned memory or context, unclear communication boundaries, or sensitive data that could leave the user's control.
"prompt": prompt, "share_url": result.get("share_url", ""), "summary": result.get("summary", ""), ... history = history[-20:]The script keeps a local history of recent prompts, generated share links, and summaries for later use; it is bounded to 20 entries but not clearly disclosed in SKILL.md.
