Fix PE SKILL.md missing YAML frontmatter + hooks.json schema in all vertical plugins#221
Open
avireddy0 wants to merge 2 commits into
Open
Conversation
**Bug 1: PE SKILL.md missing YAML frontmatter** (10 files)
Each `private-equity/skills/*/SKILL.md` had `description:` as a body line
instead of inside `---\n...\n---` frontmatter. Claude Code's catalog
reads them as descriptionless, and `/doctor` reports them as dropped
descriptions. Other vertical plugins (financial-analysis, equity-research,
investment-banking) ship with correct frontmatter — this was a packaging
oversight in the PE plugin specifically.
Fix: extract the body `description:` text into proper frontmatter at the
top of each file. Name field derives from the directory slug.
**Bug 2: hooks.json schema mismatch** (2 files)
Both `private-equity/hooks/hooks.json` and `financial-analysis/hooks/hooks.json`
contain just `{}`. Claude Code's hook loader expects `{"hooks": {...}}`
(a record with a `hooks` key) and rejects bare `{}`:
financial-analysis@claude-for-financial-services [financial-analysis]:
Hook load failed: [{"expected": "record", "code": "invalid_type", ...}]
Reference: plugins that don't actually register hooks (e.g., `product-tracking-skills`)
ship `{"hooks": {}}` — that's the minimal valid form.
Fixes anthropics#220.
Initial commit only updated the 2 plugins that were currently surfacing
the error. But all 5 vertical plugins ship hooks.json with the same
broken shape — upstream has `[]` (empty array), Claude Code's loader
expects `{"hooks": {...}}` (record with `hooks` key). Will surface
the same error if those plugins ever get enabled by a user.
Patched:
- equity-research/hooks/hooks.json
- investment-banking/hooks/hooks.json
- wealth-management/hooks/hooks.json
Same `{"hooks": {}}` minimal-valid shape as `product-tracking-skills` ships.
avireddy0
added a commit
to Envision-Construction/financial-services
that referenced
this pull request
May 17, 2026
…ction fork main Brings in: - PE SKILL.md YAML frontmatter (10 files) - hooks.json schema fix across 4 vertical plugins Equivalent of anthropics#221 — applying directly here so Envision-Construction's marketplace consumers don't wait on the upstream review cycle. Will also leave PR anthropics#221 open upstream as a courtesy contribution.
4 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #220.
Two bugs
1. PE SKILL.md missing YAML frontmatter (10 files)
All 10
plugins/vertical-plugins/private-equity/skills/*/SKILL.mdfiles haddescription:written as a body line instead of inside---\n...\n---frontmatter. Claude Code's catalog reads them as descriptionless and `/doctor` reports them as dropped descriptions. The other vertical plugins (financial-analysis,equity-research, etc.) ship correctly — this was a PE-specific packaging oversight.Before:
```markdown
Due Diligence Checklist
description: Generate and track comprehensive due diligence checklists...
Workflow
...
```
After:
```markdown
name: dd-checklist
description: Generate and track comprehensive due diligence checklists...
Due Diligence Checklist
Workflow
...
```
Affected files (10):
2. hooks.json schema mismatch (4 of 5 vertical plugins)
Four plugins ship `hooks/hooks.json` containing just `[]` (empty array). Claude Code's hook loader expects `{"hooks": {: [...]}}` — a record with a `hooks` key. It errors with `expected: record, code: invalid_type` and refuses to load the plugin's hooks:
```
financial-analysis@claude-for-financial-services [financial-analysis]:
Hook load failed: [{"expected": "record", "code": "invalid_type", "path": [...
```
`investment-banking/hooks/hooks.json` was already correct (`{"hooks": {}}`) — using that as the reference shape since it matches what `product-tracking-skills` and other working plugins ship.
Patched:
Verification
```bash
every SKILL.md has frontmatter
for f in plugins/vertical-plugins/private-equity/skills/*/SKILL.md; do
head -1 "$f" | grep -q '^---$' || echo "MISSING: $f"
done
every hooks.json has the right shape
for f in plugins/vertical-plugins/*/hooks/hooks.json; do
python3 -c "import json,sys; d=json.load(open('$f')); assert 'hooks' in d, '$f'" || echo "BAD: $f"
done
```
Discovered
During a downstream Claude Code config-repo cleanup pass on 2026-05-17.