Add news & filings sentiment brief skill to equity-research vertical - #288
Open
HumphreySun98 wants to merge 1 commit into
Open
Add news & filings sentiment brief skill to equity-research vertical#288HumphreySun98 wants to merge 1 commit into
HumphreySun98 wants to merge 1 commit into
Conversation
Adds an equity-research skill that turns a corpus of news headlines, press releases, and filing excerpts into a structured, source-cited sentiment brief: per-item sentiment label (fixed set) with a verbatim quote, entity/relation extraction, event tagging, aggregation, and a human-review queue. Inspired by financial-NLP task decomposition (sentiment / entity / event) recast as inference-time instructions — no forecasts, no recommendations, staged for human sign-off. Ships a labeling-guide reference, a tested openpyxl schema validator, and a troubleshooting guide. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
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.
What
Adds a
news-sentimentskill to theequity-researchvertical: it turns a corpus of unstructured financial text — news headlines, press releases, and filing excerpts (8-K / 10-Q / 10-K) — into a structured, fully source-cited sentiment brief for a ticker or watchlist.Each item gets a sentiment label from a fixed set (
positive/neutral/negative/mixed), a verbatim source quote, entity/relation extraction, and an event tag; the skill then aggregates the distribution, logs notable events, and surfaces a human-review queue.Why
equity-researchcovers earnings analysis, initiating coverage, thesis tracking, and morning notes — but nothing systematically labels a corpus of news/filings item-by-item with per-item sentiment and citations.earnings-analysisis a single-quarter deep report;morning-noteandthesis-trackerconsume conclusions. This is a clean, non-overlapping gap, and it plays to Claude's core strength: reading unstructured text and producing auditable structure.The design is inspired by the financial-NLP task decomposition popularized by open-source finance LLM work (sentiment scoring / entity-relation extraction / event tagging) — recast here as inference-time instructions, not model training, and kept strictly inside the repo's guardrails: no price target, no forecast, no buy/sell call; every label is quote-backed and staged for human sign-off.
What's inside (mirrors the dcf-model gold-standard file pattern)
SKILL.md— MCP-first data sourcing; a "no forecast / no recommendation" boundary; the requirement that every label carry a verbatim quote; the labeling workflow; the output schema; correct patterns / common mistakes; and guardrails.references/labeling-guide.md— the label set with a single shared score boundary (±0.15, disjoint and exhaustive), the confidence scale, the entity/relation schema, the event taxonomy, edge cases (negation, forward-looking vs realized, company vs analyst voice, filing boilerplate, headline/body divergence, hindsight leakage), worked examples, and the aggregation rule.scripts/validate_sentiment.py— anopenpyxlvalidator (mirrors thedcf-modelvalidator) that checks the required columns, the sentiment enum, a non-emptysource_quoteon every item,sentiment_scorein[-1, 1](error) and consistent with its label (warning), and — crucially — that low-confidence andmixeditems are flaggedneeds_review = yes.TROUBLESHOOTING.mdandrequirements.txt(openpyxl only).Validation
python3 scripts/check.py→OK — 80 file(s) checked, 0 issues.scripts/validate_sentiment.pytested against clean and deliberately broken workbooks — the broken cases correctly flag an invalid label, an empty source quote, an out-of-range and label-inconsistent score, an over-magnitudemixedscore, and unflagged low-confidence/mixeditems.equity-researchplugin.json0.1.2 → 0.1.3. The new skill is not bundled into any agent, so there is no sync drift.Frontmatter is
name+descriptiononly, matching the existing vertical skills. This PR is self-contained and touches only the new skill directory plus the automatic version bump.