QVeris AlphaEar Market Intelligence
Use this skill to preserve AlphaEar's stock, news, sentiment, signal-tracking, and reporting workflows while replacing direct public feeds, local databases, model downloads, and prediction tooling with QVeris structured-data CAP evidence plus audited Web news/sentiment evidence.
Source record:
| Field | Value |
|---|---|
| Candidate number | 42 |
| Original repository | Awesome Finance Skills / AlphaEar |
| GitHub URL | https://github.com/RKiding/Awesome-finance-skills |
| License | Apache-2.0 |
| Evaluation recent activity | 2026-03-29 |
| Local source snapshot | third_party/source_repos/42-awesome-finance-skills |
| Snapshot latest commit | 853f09b on 2026-03-29 |
Source Adaptation
- Preserve the original AlphaEar intent: ticker lookup, stock price context, financial fundamentals, finance news, sentiment coverage checks, signal evolution, and structured reporting.
- Treat original scripts, local models, local databases, prediction-market feeds, and time-series forecast logic as migration context only.
- Convert forecasts and "investment signal" wording into descriptive monitoring: evidence can show what changed, but not whether to act.
- Use audited opened Web pages for issuer news and qualitative sentiment; do not use the disabled tagged-news or text-sentiment CAPs.
- Keep reports user-readable by default; put full machine-readable trace JSON only in the appendix, fixtures, or when explicitly requested.
Runtime Contract
- Use
qveris_finance.*CAP tools andQVERIS_API_KEYfor structured finance data. The only non-CAP exception is the audited Web news/sentiment lane. - Execute every finance data call through this Skill's
scripts/qveris_finance_adapter.mjs, or through a native wrapper that runs the byte-identical adapter; never call/capabilities/querydirectly from the workflow. - Default natural-language output to Markdown, not a large JSON object.
- Accept
dry_run,max_calls,max_age, andbudget_note; if omitted, default todry_run=false, no hardmax_callslimit,max_age=P1D, and a conservative budget note. - Read
references/qveris-finance-data-quality-rubric.mdbefore using any payload as evidence. - Read
references/qveris-workflow-semantic-guards.mdbefore any derived, comparative, ranking, sentiment, or multi-layer workflow. Usescripts/qveris_workflow_guards.mjsfor the applicable pre-prose gates. - Use
references/qveris-finance-retry-policy.mdfor 5xx, fetch failures, 404s, payload truncation, and semantic mismatches. - Build trace, call counts, retries, and timestamps only from saved
observed_calls. Never invent an execution ID or planned call; useexecution_id=nullwhen an observed call returned no ID. - Sanitize every output surface, including Evidence, Sources, prose, params, responses, and Trace. Strip provider names, provider API URLs, raw route/tool IDs, candidates, failover, credentials, models, and routing metadata recursively; the Trace row remains exactly
tool_name,params,status,execution_id,fallback_used, andmissing_fields. - Reject transport-success payloads that return the wrong entity, wrong benchmark, wrong date window, wrong fiscal period, too-thin bars, empty relevant fields, or corrupted text.
- Suppress target prices, upside/downside, ratings, buy/sell wording, rebalancing instructions, trade triggers, automated execution plans, and prediction commitments.
- Read and follow
references/qveris-web-news-sentiment-policy.md. Never callqveris_finance.news_fin_taggedorqveris_finance.sentiment_text_signals; use its audited Web lane in every run mode, including benchmark and replay.
Evidence Gate
- Freeze one decision context before collection. Set
effective_cutoff=min(T0,CUT_OFF)when both exist; never replace a supplied T0/CUT_OFF/FY/FQ/D30 binding with the current time, a later market close, or the latest returned record. - Resolve every issuer through
qveris_finance.ref_symbologyorqveris_finance.ref_security_masterbefore quoting facts. - Require every entity-scoped evidence row, not merely one row in the payload, to prove the requested symbol or issuer and market. Missing identity is
semantic_entity_missing; mixed or mismatched rows are rejected. - Require returned symbol, company name, exchange, market, asset type, and currency to match the request.
- Require at least 2 observations before computing returns, trends, liquidity, volatility, drawdown, or correlation. Sort and deduplicate dated prices first;
Nprices yield exactlyN-1adjacent returns, and the report must state both counts. - Require financial statements and derived ratios to match fiscal year, fiscal period, period end, and basis.
- If an annual or FY statement request returns latest-quarter or TTM-shaped data, retry once with stricter documented period parameters after
cap-detail; if still mismatched, mark the requested period missing. - Treat matching
YYYY-12-31as valid A-share annual/FY proof. Do not treat a quarter end as annual. If FQ or single-quarter/cumulative basis is absent, do not describe the financial layer as fully comparable. - Use only issuer-matched, in-window opened Web pages for news. Qualitative sentiment is limited to
positive,negative,mixed, orinsufficientand requires at least two independent qualifying sources. - Even with two or more sources, describe sentiment only as the result for the qualifying source sample. Never generalize a small issuer-news sample to overall market sentiment, investor consensus, or likely price direction.
- Keep Web provenance in
web_trace; it never counts as QVeris CAP success. - Emit
changedorunchangedonly from a comparison record containingbaseline_as_of,baseline_value,current_as_of,current_value, andcomparison_basis. If any field is absent, set the comparison status tounsupported. - Rank or compare candidates only when all rows share the same window and every required factor/input. If a common factor or finite non-zero denominator is missing, output an unranked coverage table and
ranking_unsupported. - Treat removed or unverified routes such as news clusters, prediction-market feeds, and forecast models as
capability_unavailableunless currentcap-detailconfirms a QVeris finance CAP.
CAP Invocation
- Standardized CAP invocation is mandatory. A missing CAP or runtime becomes
capability_unavailableortool_runtime_missing; it never authorizes a legacy raw route. - 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 tools are unavailable and the run is in this repository root, use:
node {baseDir}/scripts/qveris_finance_tool.mjs cap-query qveris_finance.<capability_name> --param key=value --safe-json. - 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 validates the returned data rather than trusting the envelope
successflag alone. Asuccess=falseenvelope is usable only when an execution ID and non-empty required fields exist and issuer, market, date, period, freshness, and capability-specific semantic gates all pass. Recordenvelope_successandcontract_cleanseparately inqveris.finance-parameter-adaptation.v1. - When QVeris returns
full_content_file_url, the adapter must fetch the HTTPS payload, validate that payload, record its content hash, and remove the signed URL. A missing or failed full-content fetch is rejected. - If the Skill-owned scripts are missing and no native
qveris_finance.*runtime exposes the identical adapter audit, mark structured finance layerstool_runtime_missing; do not use Web, legacy providers, local databases, or invented data to replace those structured layers. The separate audited Web lane remains limited to news/sentiment. - Use
cap-searchonly when the capability ID is uncertain. - Use
cap-detailbefore adding any unvalidated sentiment, cluster, prediction, specialty, or alternate-data capability to the run. - Keep failed calls and rejected payloads in the trace appendix when they influence missing fields or fallback status.
Workflows
- Freeze the decision context and runtime bindings, then run identity, temporal, and requested-period guards before deriving any claim.
- Select output mode before collection. Use
full_noteonly when identity, requested-window price evidence, requested fundamental/event layers, and audited issuer-relevant Web news/sentiment coverage all pass; otherwise usecoverage_monitor. - Market-intelligence note: resolve issuer, collect profile, quote/bars, fundamentals, audited Web news context, qualitative sentiment coverage if available, and monitoring read.
- Sentiment coverage check: run the sentiment guard; if fewer than two independent source owners qualify, set sentiment to
insufficient. Otherwise prefix the conclusion with the qualifying-source sample size and retain supported/conflicting cues. - Signal-monitor update: compare new validated evidence against the user's prior thesis or watch item, then label evidence as changed/unchanged/unsupported without action language.
- Before a comparison, ranking, return series, or factor summary, run the applicable deterministic workflow guard. A rejected result authorizes only an unranked/unsupported disclosure, never an improvised calculation.
- Build a claim ledger from accepted evidence IDs, entity, period/window, calculation record, and guard result. Render Summary, Evidence, and Analysis only from this ledger.
- Report assembly: put only validated layers in Evidence. In
coverage_monitor, open the Summary with the unavailable full-note layers and keep unverified layers exclusively in Data Quality And Missing Fields. - Budget-limited run: call identity/profile first, then the minimum requested evidence; omit optional sentiment, news, or ratios when
max_callsis too low.
Fallback Policy
- If QVeris returns 503, fetch failure, timeout, or all candidates failed, retry at most twice under the shared retry policy.
- If a CAP returns 404 or invalid capability, do not blind retry; mark
capability_unavailableunlesscap-searchfinds a replacement. - If bars return fewer observations than requested, do not compute multi-day metrics; mark
insufficient_observations. - If Web collection or verification fails, mark news/sentiment coverage missing; never revive the disabled CAPs or infer a numeric score.
- If a successful payload is semantically wrong, exclude it from evidence and record
semantic_mismatch,period_mismatch,entity_mix,weak_relevance, orencoding_artifact. - If
max_callsblocks the minimum useful workflow, return a budget-limited report rather than filling gaps.
Output Requirements
- Use level-2 Markdown headings exactly:
## Summary,## Evidence,## Analysis,## Data Quality And Missing Fields, and## Trace Appendix. - Include a concise evidence table with claim,
qveris_finance.*capability, parameters, status, and fallback. - State
report_mode: full_noteorreport_mode: coverage_monitorin Summary. - Render the Trace Appendix with the exact parseable header
| tool_name | params | status | execution_id | fallback_used | missing_fields |; use compact JSON values, one row per observed attempt, and no planned/not-called rows. - For live, fresh, or E2E output, save and validate an
observed_calls.v1sidecar whose calls recordrequest_kind=capabilities/queryand canonicalcapability_id; without a verified sidecar, place the unverified note before## Trace Appendixand emit only the exact header plus separator with no rows. - Include
missing_fields,data_quality.status, rejected payload reasons, stale fields, and suppressed fields. - Include
effective_cutoff, price observation/return counts for return-based claims, andworkflow_guard_status. Never show a ranking when the guard returnedranking_unsupported. - Put full
qveris_traceJSON only in the appendix, schema fixture, or when the user asks for machine-readable output. - End user-facing reports with a final non-empty line that is exactly
Not investment advice.
Prohibited Capabilities
Do not use non-QVeris structured-finance data sources, Web use outside the audited news/sentiment policy, browser automation, cookies, login state, external provider keys, dynamic data-package installs, local model downloads, automated trading, prediction-market execution, buy/sell triggers, target prices, upside/downside, rebalancing instructions, or execution plans.
References
- Use shared finance contract version
2026-07-29.1; repository CI verifies the local rubric, retry policy, CAP registry, and output schema againstreferences/qveris-finance-shared-manifest.jsonhashes. - Read
references/qveris-tool-map.mdbefore choosing calls. - Read
references/qveris-finance-data-quality-rubric.mdbefore treating any payload as evidence. - Read
references/qveris-finance-retry-policy.mdwhen a CAP fails, returns the wrong shape, or needs fallback. - Read
references/qveris-web-news-sentiment-policy.mdbefore collecting news or qualitative sentiment. - Read
references/qveris-workflow-semantic-guards.mdbefore comparisons, rankings, return calculations, sentiment aggregation, or final claim assembly. - Check
references/qveris-finance-cap-registry-snapshot-2026-07-07.mdbefore adding a route to the primary path. - Use
examples/default-markdown-report.mdas the primary user-facing example. - Use
fixtures/qveris/*.jsonas machine-readable schema fixtures only.