a2850e3d19
Release / build-and-release (push) Has been cancelled
plugin.json has declared "skills": ["./"] unchanged since v2.1.0. That value used to work on older Claude Code but current versions reject it with: Path escapes plugin directory: ./ (skills). The error surfaces on fresh /doctor runs even after v3.0.3 restored the archive contents. Fix: omit the "skills" key entirely. Every other plugin in the Claude Code marketplace ecosystem (compound-engineering, coding-tutor, codex, esper, 15+ Anthropic official plugins) omits this key and the loader auto-discovers skills/*/SKILL.md. Matching that pattern clears the path-escape error on v2.1.109+ and remains compatible with older Claude Code versions where the default-discovery path was already the working code path. Co-authored-by: Matt Van Horn <455140+mvanhorn@users.noreply.github.com>
68 lines
2.0 KiB
JSON
68 lines
2.0 KiB
JSON
{
|
|
"name": "last30days-skill",
|
|
"version": "3.0.4",
|
|
"description": "Research a topic from the last 30 days across Reddit, X, YouTube, TikTok, Instagram, Hacker News, Polymarket, and the web.",
|
|
"settings": [
|
|
{
|
|
"name": "Extension Directory",
|
|
"description": "Extension installation directory (auto-set by Gemini CLI)",
|
|
"envVar": "GEMINI_EXTENSION_DIR",
|
|
"sensitive": false
|
|
},
|
|
{
|
|
"name": "ScrapeCreators API Key",
|
|
"description": "ScrapeCreators API Key for Reddit, TikTok, and Instagram search (required)",
|
|
"envVar": "SCRAPECREATORS_API_KEY",
|
|
"sensitive": true
|
|
},
|
|
{
|
|
"name": "OpenAI API Key",
|
|
"description": "OpenAI API Key - optional fallback for Reddit discovery",
|
|
"envVar": "OPENAI_API_KEY",
|
|
"sensitive": true
|
|
},
|
|
{
|
|
"name": "xAI API Key",
|
|
"description": "xAI API Key for X/Twitter search (optional)",
|
|
"envVar": "XAI_API_KEY",
|
|
"sensitive": true
|
|
},
|
|
{
|
|
"name": "OpenRouter API Key",
|
|
"description": "OpenRouter API Key (optional)",
|
|
"envVar": "OPENROUTER_API_KEY",
|
|
"sensitive": true
|
|
},
|
|
{
|
|
"name": "Parallel AI API Key",
|
|
"description": "Parallel AI API Key (optional)",
|
|
"envVar": "PARALLEL_API_KEY",
|
|
"sensitive": true
|
|
},
|
|
{
|
|
"name": "Brave Search API Key",
|
|
"description": "Brave Search API Key (optional)",
|
|
"envVar": "BRAVE_API_KEY",
|
|
"sensitive": true
|
|
},
|
|
{
|
|
"name": "Apify API Token",
|
|
"description": "Apify API Token (optional legacy)",
|
|
"envVar": "APIFY_API_TOKEN",
|
|
"sensitive": true
|
|
},
|
|
{
|
|
"name": "Twitter AUTH_TOKEN",
|
|
"description": "Twitter browser AUTH_TOKEN cookie for direct X search (optional)",
|
|
"envVar": "AUTH_TOKEN",
|
|
"sensitive": true
|
|
},
|
|
{
|
|
"name": "Twitter CT0",
|
|
"description": "Twitter browser CT0 cookie (optional, pair with AUTH_TOKEN)",
|
|
"envVar": "CT0",
|
|
"sensitive": true
|
|
}
|
|
]
|
|
}
|