ℹ
Purpose & Capability
Name/description match the included code and gateway config: the skill calls optionalStock and marketdata gateways and includes a large stock map for name→code resolution. However SKILL.md asserts "Agent only needs to read this file" while the Skill contains runnable JS (skill-entry.js) and explicit CLI commands; that claim is inconsistent with the included code and runtime commands.
!
Instruction Scope
SKILL.md both instructs the agent to run node skill-entry.js commands and simultaneously claims the agent need only read SKILL.md — a contradiction. The runtime logic implements an auth flow that generates a cloud link and then stores/reads authorization data from a shared path named gtht-skill-shared/gtht-entry.json. The code's ct() function searches ancestor and sibling directories for that shared file and may copy a gtht-entry.json from a parent path into the project, meaning it can read/write files outside the current project boundary. This expands scope beyond the stated "restrict to current project directory" constraint and risks accessing other projects' tokens or configs.
✓
Install Mechanism
No install spec is provided (instruction-only with bundled JS files). That lowers installer risk because nothing is downloaded at install time. The included files are local; no external installers or obscure download URLs are present.
!
Credentials
The skill declares no required environment variables or credentials, but implements its own cloud auth flow that results in an API key being written to gtht-skill-shared/gtht-entry.json. Storing API keys in a shared file in ancestor/sibling directories can expose credentials to other projects/users on the same host. The code also parses/decodes tokens (JWT-like) and extracts userCode. The behavior of storing and printing the saved-path to stdout may leak sensitive information to logs.
!
Persistence & Privilege
always:false and no system-wide install, but the skill writes/creates gtht-skill-shared/gtht-entry.json and will attempt to locate and copy such files from parent directories. That can modify files outside its own project and effectively share or clobber an auth token across projects — an elevated persistence/impact vector relative to a simple, local watchlist helper.
Scan Findings in Context
[fs-write-read-copy] unexpected: Code uses fs.writeFileSync, fs.copyFileSync, and mkdirSync to create/read/write gtht-skill-shared/gtht-entry.json in ancestor/sibling directories. Persisting an API key within the current project is expected, but scanning and copying from parent/sibling paths is not justified by the SKILL.md restriction to the current project and could expose other projects' tokens.
[network-endpoints-gateway-config] expected: gateway-config.json contains explicit prod/test endpoints (https://zx.app.gtja.com:8443/...). Network calls to market and optionalStock gateways are expected for a watchlist/marketdata skill.
[jwt-base64-decode] expected: Code decodes/parses a token-like API key and extracts a userCode (base64/JWT parsing). This is consistent with the described cloud auth flow, but the parsed values are then stored and may be logged.
What to consider before installing
What to consider before installing:
- The skill's purpose (manage your "我的自选" watchlist) and its network endpoints look coherent, but the SKILL.md contains contradictory claims: it says "Agent only needs to read this file" while also instructing to run node skill-entry.js commands. Expect the skill to execute the bundled JS, not just read the doc.
- The code implements a cloud auth flow that writes an API key to gtht-skill-shared/gtht-entry.json. Critically, the code searches ancestor/sibling directories for that shared path and may copy a gtht-entry.json from outside the current project into this project's folder. That means it can read or overwrite tokens in other workspace locations.
- Risks: other projects' tokens could be exposed or copied here; saved API keys may be written in a shared location and printed to stdout (log leakage); files outside the project may be modified.
- Recommended actions before using/installing:
- Inspect the full skill-entry.js yourself (or ask someone you trust) to confirm no unwanted behavior.
- If you still want to use it, run it in a restricted/sandbox environment (container/VM) that isolates filesystem access from other projects and secrets.
- Consider removing or hardening the shared directory behavior: require the auth file to be stored in a project-local path only, and avoid automatic copying from parent directories.
- Do not put high-privilege credentials in this skill's auth flow; prefer skills that use scoped environment variables or a clear OAuth flow that stores tokens in a dedicated secure store.
If you cannot review or sandbox the code, treat this skill as higher risk and avoid granting it access to any machine with other projects or secrets you care about.