QVeris Finance Skills
Use this skill to turn the Finance Skills candidate into standardized, trace-backed research factors: sentiment, valuation inputs, earnings recap, liquidity, and correlation. Preserve the factor framing; replace legacy data packages and third-party APIs with QVeris.
Source record:
| Field | Value |
|---|---|
| Candidate number | 4 |
| Original repository | Finance Skills |
| GitHub URL | https://github.com/himself65/finance-skills |
| License | MIT |
| Evaluation recent activity | 2026-06-14 |
| Local source snapshot | third_party/source_repos/04-finance-skills |
| Snapshot latest commit | 87f688e on 2026-06-07 |
Runtime Contract
- Use only
qveris_finance.*CAP tools andQVERIS_API_KEY. - Resolve the security with
qveris_finance.ref_symbology,qveris_finance.ref_security_master, andqveris_finance.ref_company_profile. - Accept
dry_run,max_calls,max_age, andbudget_note; if omitted in a natural-language request, default todry_run=false, no hardmax_callslimit,max_age=P1D, and a conservative budget note, then echo those controls. - Use the shared retry policy at
../references/qveris-finance-retry-policy.md; retry transient 5xx/transport failures at most 2 times, do not blind-retry 404s, and hard reject semantic mismatches. - Include
qveris_tracefor each factor and expose stale or missing inputs. - Treat QVeris
_meta.source_provideras internal provenance only; never call, request credentials for, depend on, print, or copy it into sanitized trace. - Normalize trace provenance:
qveris_trace[].tool_nameand any human-readable trace labels must use onlyqveris_finance.*capability names. If QVeris returns vendor/provider IDs in_meta.source_provideror_meta.failover_log, drop those fields from sanitized trace and describe only the QVeris capability status, validation result, fallback, and missing fields. - In final user-facing output, do not name external providers even when explaining prohibited fallbacks; say "non-QVeris sources" or "external provider routes" instead.
- Suppress
analyst_target_price,target_price, price-objective, upside, buy/sell, and recommendation fields even if a QVeris payload contains them. - Sanity-check entity, market, date window, fiscal period, and payload shape before using data; if a payload is stale, cross-period, truncated, or semantically mismatched, mark it in
data_qualityandmissing_fields.
Evidence Gate
Read ../references/qveris-finance-data-quality-rubric.md before using QVeris payloads as evidence. A payload that succeeds transport but fails identity, date-window, fiscal-period, benchmark, or statement-consistency checks is hard rejected, not treated as a usable fallback.
- Use evidence status labels from the shared rubric:
complete,partial,proxy_only, orinsufficient. - Require at least 2 observations for multi-day bars before computing liquidity, return, correlation, realized volatility, drawdown, or trend.
- Reject index or benchmark payloads whose returned symbol, name, or asset type does not match the requested benchmark; mark
semantic_mismatch. - If a requested annual/FY statement such as FY2025 cash flow returns a latest-quarter or TTM-shaped payload, treat the current call as
period_mismatch, not as requested-period evidence. - After a
period_mismatch, inspectcap-detailand retry once with stricter documented fields such asfiscal_year,fiscal_period,period_type,period, orlimit; if the payload still does not match, mark the requested statement missing, for exampleFY2025 cash flow missing due to period mismatch. - Treat
qveris_finance.news_fin_taggedas qualitative context only when sentiment or cluster routes are unavailable. Do not derive numeric sentiment, strong catalysts, or directional risk conclusions from tagged news alone. - Use manual trailing valuation inputs only when required QVeris fields are present and label them as calculated. Do not infer forward multiples unless consensus or derived-ratio evidence succeeds.
- Keep invalid, failed, rejected, unavailable, or weak-relevance CAPs out of
Evidence Usedand the positive side of theFactor Table. Put them only inData Quality And Missing Fields,missing_fields, orTrace Appendixwith reason codes such ascapability_unavailable,semantic_mismatch,period_mismatch,entity_mix,weak_relevance, orinsufficient_observations. - Apply issuer relevance checks to every news and sentiment row. If returned text appears to refer to another entity, such as a similarly named company, mark
entity_mix, lower confidence, and do not use it as sentiment or catalyst evidence. - Summarize long QVeris payloads in full-workflow reports. If a response is truncated or too large for a compact table, mark
payload_summarizedorpayload_truncatedand offer a single-capability note for inspection.
CAP Invocation
- Use native
qveris_finance.*tools only when that runtime applies the same Skill-owned adapter and returns aqveris.finance-parameter-adaptation.v1audit; otherwise use this Skill's CLI. - If native functions are not exposed but the repo script is available, execute standardized CAP calls from the repository root with
node {baseDir}/scripts/qveris_finance_tool.mjs cap-query qveris_finance.<capability_name> --param key=value --safe-json. Use repeatable--paramflags for shell-safe parameters; reserve--params '<json>'for complex nested payloads. - Treat the Skill-owned CLI as the mandatory finance adapter: it resolves the live canonical CAP, filters and losslessly converts parameters, never copies sample values, permits at most three fully audited attempts, and rejects
success=false, missing required fields, wrong entity/market/date/period, and stale real-time data. Use only itsqveris.finance-parameter-adaptation.v1audit and actual attempt parameters in Trace. - Direct HTTP CAP calls are transport implementation details of
scripts/qveris_finance_client.mjs; workflow code must not bypass the Skill-owned adapter. - Use
cap-searchorGET /capabilities/searchonly when the CAP ID or parameter contract is uncertain; usecap-detailorGET /capabilities/{capability_id}to verify fields. - Generic QVeris discovery,
/tools/execute, raw provider routes, and legacy finance shims are prohibited fallbacks.
Workflows
- Sentiment factor:
qveris_finance.news_fin_tagged,qveris_finance.sentiment_text_signals; callqveris_finance.news_dedup_clusteronly aftercap-detailconfirms it exists. - Valuation input factor:
qveris_finance.fundamentals_is,qveris_finance.fundamentals_bs,qveris_finance.fundamentals_cf,qveris_finance.fundamentals_derived_ratios,qveris_finance.mkt_l1_rt,qveris_finance.estimates_consensus. - Earnings recap factor:
qveris_finance.event_calendar_earnings,qveris_finance.earnings_actual_surprise,qveris_finance.estimates_consensus,qveris_finance.transcripts_earnings_call. - Liquidity factor:
qveris_finance.mkt_bars_adjusted,qveris_finance.mkt_breadth_internals, and available trading aggregate fields from QVeris payloads. - Correlation factor:
qveris_finance.mkt_bars_adjusted,qveris_finance.risk_beta_vol, and benchmarkqveris_finance.index_levels.
Live Fallback Policy
- If
qveris_finance.sentiment_text_signalsreturns a provider error, fall back toqveris_finance.news_fin_taggedand derive only a qualitative news-context factor. - Mark quantitative sentiment score fields as missing unless
qveris_finance.sentiment_text_signalssucceeds. - If a statement payload returns a different period than requested, keep it out of aligned valuation tables, retry once with stricter documented period parameters when available, and move unresolved mismatches to
missing_fieldsplusdata_quality.warnings. - If
qveris_finance.fundamentals_derived_ratios,qveris_finance.estimates_consensus, orqveris_finance.earnings_actual_surprisefail, keep valuation and earnings factors as partial inputs with missing numeric fields; do not convert them into directional return claims. - Set
qveris_trace[].fallback_used: trueand includeprimary_tool_unavailableinmissing_fieldsfor fallback sentiment output.
Output Requirements
- Return a Markdown user report by default, not a single large JSON object.
- Use this report structure:
Summary,Factor Table,Evidence Used,Data Quality And Missing Fields,What This Can Support,What This Cannot Support, andTrace Appendix. - Keep the factor table user-readable with value, direction, confidence, evidence status, and missing fields.
- Use a two-layer trace: concise user-facing evidence table by default, full
qveris_traceJSON only in the appendix when useful, when the user asks for machine-readable output, or when preparing schema fixtures. - If
max_calls,dry_run, or budget constraints prevent the main workflow from running, return a budget-limited Markdown report: state what was not called, do not infer missing factors, and list the next QVeris calls that would be needed. - Treat sentiment as explanatory input, not a return forecast.
- Do not output buy/sell triggers, target prices, or rebalancing instructions.
- Include
data_qualitywith status, stale fields, out-of-window events, and suppressed fields when applicable. - End with a final non-empty line that is exactly
Not investment advice.. Do not add a Chinese, bilingual, translated, or prefixed disclaimer line.
Prohibited Capabilities
Do not use dynamic data-package installs, any non-QVeris finance data provider, SEC scraping, browser automation, cookies, login state, third-party API keys, automated trading, wallet/swap, buy/sell points, portfolio action instructions, or target price commitments. Provider names are listed in the source record only for internal migration context; do not repeat them in final output.
References
- Read
references/qveris-tool-map.mdbefore choosing tool calls. - Read
../references/qveris-finance-retry-policy.mdwhen a CAP call fails, needs retry, or needs fallback classification. - Check
../references/qveris-finance-cap-registry-snapshot-2026-07-07.mdwhen deciding whether a capability belongs on the primary path. - Use
examples/default-markdown-report.mdas the primary user-facing output example. - Use
fixtures/qveris/sample-output.json,fixtures/qveris/fallback-output.json, andfixtures/qveris/budget-limited-output.jsonas schema fixtures only. - Use
examples/natural-language-prompts.mdfor copyable natural-language test prompts. - Use
examples/natural-language-test-output-2026-07-07.mdas a dated reviewer output record. - Run
scripts/validate_qveris_finance_report.py <markdown-report>on generated reviewer reports when updating examples or fixtures.