barrios88/barrios-skills/financial-text-nlp

Claude Code and agent skill by barrios88/barrios-skills

Trust tier 3
  • community
Source check pending

Checking that the SKILL.md file is still in the repository.

Measure sentiment and stance in financial and economic text — 10-K/10-Q MD&A, earnings calls, Fed/ECB communications — using FinBERT, FinVADER, and domain models. Use for accounting and finance NLP features, not general chat sentiment.

Install

npx vskill@latest install barrios88/barrios-skills/financial-text-nlp

SKILL.md

Barrios Skills — John Barrios's curated workflow for economists and accountants. Prioritize reproducible empirical work, clear identification language, and journal-ready output.

Financial & economic text NLP

When to use

  • Tone of MD&A, risk factors, 8-K text, or ESG/boilerplate sections
  • Earnings-call transcripts (prepare/Q&A separately when possible)
  • Central-bank or supervisory communications (hawkish/dovish stance)
  • Building panel covariates (firm–year sentiment) for regressions in `pyfixest` or Stata

Not for: casual product reviews or generic Twitter sentiment without a finance lexicon/model.

Tool map

TaskToolNotes
General financial toneFinBERT (ProsusAI)Sentence/chunk classification: positive/negative/neutral
Lexicon baselineFinVADERFast, transparent; good robustness check
Central-bank stanceCentralBankRoBERTa, WorldCentralBanksDomain labels ≠ FinBERT polarity
Econ NER / domain LMEconBERTaEntity/paper domain — not a drop-in sentiment score
Document → text`sec-edgar`, markitdown/DoclingGet clean text before scoring

Iron law: define the unit and the label

  1. Unit of analysis: sentence, paragraph, section, or full document (document scores need aggregation rules)
  2. Label meaning: polarity ≠ hawkishness ≠ forward-looking statements
  3. Train/test hygiene: do not tune thresholds on the same sample used for causal estimates
  4. Inspect: print 10 scored excerpts before merging to Compustat

Minimal FinBERT pattern

python
from transformers import AutoTokenizer, AutoModelForSequenceClassification
import torch
model_id = "ProsusAI/finbert"
tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForSequenceClassification.from_pretrained(model_id)
def score_texts(texts: list[str], max_length: int = 256):
inputs = tokenizer(
texts, padding=True, truncation=True, max_length=max_length, return_tensors="pt"
)
with torch.no_grad():
probs = torch.nn.functional.softmax(model(**inputs).logits, dim=-1)
# labels: positive, negative, neutral (confirm order via model.config.id2label)
return probs

Aggregate to firm–year with an explicit rule (mean of sentence scores; or net positivity = pos − neg). Document the rule in the paper.

Accounting / finance research notes

  • Boilerplate: length and legalese dilute tone — consider section fixed effects or residuals
  • Attribution: link scores to accession IDs / transcript IDs for replication
  • Identification: sentiment as outcome vs covariate vs instrument — state which; NLP error is measurement error
  • Robustness: report FinBERT + lexicon (FinVADER) or alternative chunking

Checklist

  • [ ] Text source and cleaning steps logged
  • [ ] Model id + revision pinned
  • [ ] Aggregation rule written down
  • [ ] Hand-checked excerpts saved
  • [ ] Merge keys to firm identifiers validated (CIK / gvkey / ticker map)

Security

  • Security scanPassed, 95 of 100Pattern checks on the skill's files.
  • Model reviewPassed

Quality evaluation

  • Task evaluationNot runNo evaluation yet. Run one in Skill Studio.

Source

Popularity

7-day trend score
0

Not refreshed yet.

Works with

Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.

  • Claude Code
  • Cursor
  • GitHub Copilot
  • Windsurf
  • Codex
  • Gemini CLI
  • Cline
  • Amp
  • Roo Code
  • Goose
  • Continue
  • Kilo Code
  • Junie
  • Trae
  • OpenHands
  • Qwen Code
  • AI Agent
  • Tabnine Chat
  • Sourcegraph Cody
  • Amazon Q
  • Firebase Genkit
  • Sweep
  • Devin
  • Phind
  • Mentat
  • Claude Desktop
  • Aider
  • GPT Pilot
  • Plandex
  • bolt.new
  • v0
  • Replit Agent
  • Anse
  • TypingMind
  • BetterChatGPT
  • LibreChat
  • Warp AI
  • Pieces
  • Fig AI
Embed badge
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/barrios88/barrios-skills/financial-text-nlp/badge)](https://verified-skill.com/skills/barrios88/barrios-skills/financial-text-nlp)

Something wrong with this skill or its page? Tell us.