Arthera Skills
The skill catalog for Aria Code — Arthera's AI quant terminal. Each skill
packages one piece of research discipline (point-in-time data hygiene, backtest
trust gates, risk decomposition, strategy spec gates…) as instructions plus
runnable verification scripts that Aria loads dynamically when a task matches.
Maintained by artherahq.
The catalog uses the open Agent Skills layout — a flat skills/ directory, a
spec/ describing the format, a template/ for new skills, and a plugin
marketplace.json — so the same skills also run in any Agent-Skills-compatible
runtime. Aria Code is the first-class consumer: its portable skill loader
verifies the catalog against skills.lock.json before anything executes.
Skills
| Skill | What it does |
|---|---|
point-in-time-research |
Enforces point-in-time data discipline when backtesting factors or strategies. Catches the three silent leaks (period-end dating, latest-value overwrite, same-session execution), quantifies the distortion with a four-variant A–D information-set comparison, and runs the validation gauntlet. Ships a runnable harness (scripts/information_set_compare.py --demo). |
backtest-validation |
Validates whether a backtest is trustworthy before any conclusion: honest metric set, turnover cost ladder, chronological IS/OOS split, stationary-bootstrap Sharpe CI, and the Deflated Sharpe Ratio against disclosed trials. Verdict gates (PASS/WARN/FAIL) with a runnable harness (scripts/validation_gauntlet.py --demo). |
compliance-audit-trail |
Validates a model/strategy governance manifest before it reaches a counterparty doing real due diligence: every capability claim needs an evidence pointer, every "production" asset must have actually cleared its declared gates, every risk control must be verified to trigger (not just present in the code), a persisted audit trail is required, and an empty limitations list is itself a flag. Verdict gates (PASS/WARN/FAIL) with a runnable harness (scripts/governance_manifest_gate.py --demo). |
multiple-testing-correction |
Corrects for multiple hypothesis testing before calling any factor, sub-period, or parameter-sweep result significant — Bonferroni and Benjamini-Hochberg FDR, plus a Fundamental Law of Active Management (Grinold 1989) breadth-illusion check for when claimed "independent" bets are actually correlated ones. Verdict gates (PASS/WARN/FAIL) with a runnable harness (scripts/multiplicity_gate.py --demo). |
gamma-exposure |
Computes Gamma Exposure (GEX) — options-dealer hedging pressure inferred from open interest and implied volatility — with the standard Black-Scholes/sign-convention methodology, then audits the report before it's shared: dealer-assumption and coverage disclosures required, summary numbers must match the per-strike detail, regime label must match the total's sign. Verdict gates (PASS/WARN/FAIL) with a runnable harness (scripts/gex_gate.py --demo) that reproduces a one-character sign bug silently flipping a regime call. |
risk-assessment |
Decomposes portfolio/strategy risk from its actual history: VaR/CVaR with Cornish–Fisher tail adjustment, drawdown, concentration (effective N), diversification illusion via pairwise correlation, historical worst windows, and labeled linear beta shocks. Flags → risk level with mandatory disclosures; runnable harness (scripts/risk_profile.py --demo). |
factor-research |
Judges whether a cross-sectional factor genuinely predicts returns: per-period rank IC/IR/t-stat, decay across horizons, quantile monotonicity, sub-period sign-flip detection, and turnover via rank autocorrelation. Verdict routes survivors to backtest-validation; runnable harness (scripts/factor_evaluate.py --demo). |
strategy-generation |
Turns trading ideas into disciplined specs and implementations through a six-stage pipeline with three executable gates: a spec validator (hard risk controls, cost assumption, overfit preflight, forbidden-claim scan, honesty ledger for tried variants), then backtest-validation, then risk-assessment. Deploy advice caps at paper trading (scripts/validate_strategy_spec.py --demo). |
portfolio-optimization |
Estimation-robust weights with no expected-return inputs: inverse vol, long-only min variance, ERC risk parity, and inline HRP — plus a walk-forward compare mode that reports honestly when the optimizer fails to beat equal weight out-of-sample. Disclosed covariance shrinkage; weights ship with risk contributions (scripts/optimize_portfolio.py --demo). |
execution-position |
The pre-trade gate: sizes a signal (vol-target, or fractional Kelly only from a declared edge, hard-capped at 0.25), checks position/gross/cash/liquidity limits and stop-distance sanity, estimates costs, and emits paper-only order intents — live execution fails mechanically (scripts/position_gate.py --demo). |
equity-research-report |
Produces comprehensive equity reports through an auditable plan, normalized evidence bundle, specialist agents, deterministic fallbacks, critic pass, and executable completion gates. |
The quant-research-skills plugin above is the research pipeline. A second
plugin, app-engineering-skills, helps the user build apps to their own
standards:
| Skill | What it does |
|---|---|
ui-design-system |
Helps the user establish and enforce their own design system: freezes their palette/type/radius/spacing choices into a portable design-tokens.json, validates it objectively (WCAG contrast, monotonic scales), then lints generated UI (SwiftUI/CSS/RN/Flutter) for color and radius literals that drift off their tokens. Taste stays the user's; consistency and accessibility are enforced by script. No house style of its own — runnable harnesses (scripts/design_tokens.py --demo, scripts/design_lint.py --demo). |
Install
Aria Code discovers the catalog through ARIA_SKILLS_PATH or a sibling
checkout and registers each skill as plugin:skill:
git clone https://github.com/artherahq/skills aria-skills
export ARIA_SKILLS_PATH=/path/to/aria-skills # or keep it next to aria-code
$quant-research-skills:point-in-time-research
$quant-research-skills:factor-research
$quant-research-skills:backtest-validation
$quant-research-skills:compliance-audit-trail
$quant-research-skills:multiple-testing-correction
$quant-research-skills:gamma-exposure
$quant-research-skills:risk-assessment
$quant-research-skills:strategy-generation
$quant-research-skills:portfolio-optimization
$quant-research-skills:execution-position
$quant-research-skills:equity-research-report
Inside Aria Code:
/skills doctorverifies catalog integrity and declared permissions./skills traceshows why a skill was selected or blocked.
The repo doubles as a standard plugin marketplace (artherahq/skills), so any
Agent-Skills-compatible runtime can install the same catalog.
Integrity And Permissions
.claude-plugin/skills.lock.jsonpins each Skill tree to a SHA-256 digest.skill-policy.jsondeclares tools, runtime permissions, and script policy.- Bundled scripts are never pre-authorized; Aria's normal command approval still applies.
- Regenerate and verify the lock after changing a Skill:
python scripts/build_skill_lock.py
python scripts/build_skill_lock.py --check
Layout
aria-skills/
├── .claude-plugin/
│ ├── marketplace.json # installable marketplace metadata
│ └── skills.lock.json # versioned content-integrity lock
├── skills/ # every skill follows the same shape:
│ └── <skill-name>/
│ ├── SKILL.md # triggering + workflow + guardrails
│ ├── skill-policy.json# declared tools / permissions / script policy
│ ├── references/ # methodology, thresholds, schemas
│ └── scripts/ # runnable harness or gate + its pytest suite
├── spec/ # the SKILL.md format, briefly
├── scripts/ # catalog integrity tooling (skills.lock builder)
└── template/ # scaffold for a new skill
Every skill ships an executable verifier with a --demo mode — the discipline
is enforced by scripts and exit codes, not by prose.
Run the bundled harness
The point-in-time skill ships a self-contained comparison harness. Verify it with no data:
cd skills/point-in-time-research/scripts
python information_set_compare.py --demo
It embeds a deliberate look-ahead edge and shows the earnings factor's alpha collapse from ~72% (naive, period-end-dated, revised values) to ~0% under strict point-in-time alignment.
Tests (pandas/numpy required; they skip cleanly where absent):
pytest skills/point-in-time-research/scripts/test_information_set_compare.py
License
Apache-2.0. See LICENSE.
No comments yet
Be the first to share your take.