Summary
The us-stock-analysis plugin (marketplace invest-skill) fails to load in Claude Code with the error:
us-stock-analysis Plugin · invest-skill · ✘ failed to load · 1 error
Root cause: every SKILL.md in plugins/us-stock-analysis/skills/*/ has malformed YAML frontmatter — the required name: field is
missing, and the file contains a duplicate --- separator producing an empty leading frontmatter block.
Reproduction
- Add the marketplace and install the plugin in Claude Code:
/plugin marketplace add yennanliu/InvestSkill
/plugin install us-stock-analysis@invest-skill
- Run
/plugin list → plugin is reported as failed to load.
- None of the 21 skills (
stock-eval, dcf-valuation, chart-master, …) become available.
Tested on Claude Code (CLI), macOS, plugin version 1.6.0.
Current state (broken)
plugins/us-stock-analysis/skills/stock-eval/SKILL.md (and all 20 other skill files) starts with:
---
---
description: Evaluate US stocks with comprehensive fundamental and valuation analysis
---
Two issues here:
- Duplicate
--- separators: there is an empty frontmatter block followed by a second block. Most YAML parsers either reject this or
interpret the file as having no frontmatter.
- Missing
name: field: Claude Code's skill loader requires both name: and description:. Working skill plugins (e.g.
ansible-skills, Anthropic's superpowers) include both:
---
name: ansible-convert
description: Use when converting shell scripts to Ansible playbooks ...
---
Expected fix
For each of the 21 SKILL.md files under plugins/us-stock-analysis/skills/<skill-name>/SKILL.md, the frontmatter should be:
---
name: <skill-name>
description: <existing description>
---
where <skill-name> matches the parent directory name (stock-eval, dcf-valuation, chart-master, competitor-analysis,
dividend-analysis, earnings-call-analysis, economics-analysis, financial-report-analyst, full-report, fundamental-analysis,
insider-trading, institutional-ownership, options-analysis, portfolio-review, report-generator, research-bundle,
result-validator, sector-analysis, short-interest, stock-valuation, technical-analysis).
Suggested follow-up
The PR template checklist currently says:
- [ ] SKILL.md files have proper frontmatter with description
Recommend updating to:
- [ ] SKILL.md files have proper frontmatter with `name:` and `description:` (single `---` block)
so future skills don't reintroduce the issue.
Happy to send a PR with the fix if useful.
Summary
The
us-stock-analysisplugin (marketplaceinvest-skill) fails to load in Claude Code with the error:Root cause: every
SKILL.mdinplugins/us-stock-analysis/skills/*/has malformed YAML frontmatter — the requiredname:field ismissing, and the file contains a duplicate
---separator producing an empty leading frontmatter block.Reproduction
/plugin list→ plugin is reported as failed to load.stock-eval,dcf-valuation,chart-master, …) become available.Tested on Claude Code (CLI), macOS, plugin version 1.6.0.
Current state (broken)
plugins/us-stock-analysis/skills/stock-eval/SKILL.md(and all 20 other skill files) starts with:Two issues here:
---separators: there is an empty frontmatter block followed by a second block. Most YAML parsers either reject this orinterpret the file as having no frontmatter.
name:field: Claude Code's skill loader requires bothname:anddescription:. Working skill plugins (e.g.ansible-skills, Anthropic's superpowers) include both:
Expected fix
For each of the 21
SKILL.mdfiles underplugins/us-stock-analysis/skills/<skill-name>/SKILL.md, the frontmatter should be:where
<skill-name>matches the parent directory name (stock-eval,dcf-valuation,chart-master,competitor-analysis,dividend-analysis,earnings-call-analysis,economics-analysis,financial-report-analyst,full-report,fundamental-analysis,insider-trading,institutional-ownership,options-analysis,portfolio-review,report-generator,research-bundle,result-validator,sector-analysis,short-interest,stock-valuation,technical-analysis).Suggested follow-up
The PR template checklist currently says:
Recommend updating to:
so future skills don't reintroduce the issue.
Happy to send a PR with the fix if useful.