factor_mining
Use when tasks need AI multi-agent factor mining research boundaries, versioned ResearchBrief/FactorSpec contracts, evaluation/review/decision objects, or…
Skill by quantskills
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/quantskills-factor-mining
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: research, productivity, agent-building
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md and code. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
- Runs as
- Python package
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/factor-mining
What's inside
- Skill name
factor_mining- Description
- Use when tasks need AI multi-agent factor mining research boundaries, versioned ResearchBrief/FactorSpec contracts, evaluation/review/decision objects, or cross-platform role task protocols without implementing compute/analyze algorithms here.
- License
- GPL-3.0
- Instructions
- 437 lines in SKILL.md · view on GitHub
Before installing
- Ships executable scripts
Agent Skills spec issues
- name: only lowercase letters, digits and single hyphens allowed
Files (24)
- SKILL.md
- __init__.py
- __init__.py · adapters/
- analyze.py · adapters/
- compute.py · adapters/
- execution_identity.py · adapters/
- failure_codes.py · adapters/
- formula.py · adapters/
- panel.py · adapters/
- series_codec.py · adapters/
- store.py · adapters/
- budget.py
- contracts.py
- controller.py
- event_chain.py
- events.py
- identity.py
- isolation.py
- objects.py
- policies.py
- ports.py
- replay_semantics.py
- snapshots.py
- state.py
SKILL.md (first lines)
# Factor Mining
`skills/factor_mining` is the Agent collaboration and research-governance boundary
for market-panel factor mining. It owns versioned research objects, abstract
ports, and this role/task protocol. It does **not** implement factor math, IC /
turnover / cost statistics, static leakage checks, backtests, platform SDKs, or
strategy-domain logic.
Generator roles may create arbitrary Python factor implementations in the
appropriate `strategies/<domain>/mined_factors/` package. A `FactorSpec` points
to the generated callable by importable module/name; factor execution is not
restricted to `skills.compute.indicators`. Generated functions may reuse
`skills.compute`, pandas/numpy, or implement completely new formulas.
## Dependency direction
```text
factor_mining -> compute / analyze / store
analyze -> backtest
skills/* must never import strategies/*
```
Adapters that implement ports live on the `factor_mining` side and call outward.
`compute`, `analyze`, `store`, and `report` must not depend on a Controller or
Agent runtime.
## Public Python API
```python
from skills.factor_mining import (
ResearchBrief,
FactorSpec,
FactorComputeRequest,
FactorExecutionResult,
FactorExecutionAdapter,
DataManagerArtifactStore,
EvaluationRequest,
EvaluationReport,
ReviewReport,
PoolDecision,
AgentTaskView,
TaskLease,
AgentTaskResult,
ResearchDecision,
FreezeManifest,
OOSAuthorization,
OOSAttempt,
OOSResult,
FactorExecutionPort,
AnalyzePort,
ArtifactStorePort,
ReportPort,
ResearchController,
CommandRequest,
ResearchRunStatus,
CandidateStatus,
)
```
`skills.factor_mining.adapters` provides deterministic adapters that implement
`FactorExecutionPort` and `ArtifactStorePort` against `skills.compute` /
`skills.store`. `AnalyzeAdapter` is a thin mapper over
`skills.analyze.AnalyzeFacade` that implements `AnalyzePort` and translates
analyze-native findings/metrics into `EvaluationReport` / `MetricFact` /
`RuleCheck` / `EvidenceRef`. `ResearchController` plus pure `state` / `budget` /
`policies` / `isolation` / `snapshots` modules provide explicit commands, optimistic
versions, idempotency, atomic budget leases, sealed fail-closed task views,
append-only hash-chained events, and Human Gate-1 → `FreezeManifest`. A narrow
trusted path follows the freeze: `authorize_oos` → `complete_oos` →
`record_gate2_approval` → `promote` / `reject_run`. The Controller derives the
one-shot key from frozen run/candidate/manifest/sealed-split lineage, writes a
sealed append-only `started` attempt before calling either port, and never
retries that key after a crash or terminal failure. OOS request construction is
an injected trusted factory and must exact-bind the manifest; callers cannot
supply split, threshold, compute, or evaluation settings. OOS results, attempt
ledgers, Gate-2 approvals, and release knowledge are sealed reference closures:
they never become task inputs, generator/reviewer context, or revision inputs.
The manifest freezes the trusted `evaluation_protocol_id` independently from
the Analyze engine version and records each threshold's official Analyze fact
and comparison operator (`rank_ic_ir`, `coverage_worst`, or
`group_turnover_mean`). OOS evidence and native artifacts remain separate typed
reference collections.
`ResearchController.build_release_report_request(...)` is the separate trusted
`ReportPort` hand-off: it closes over the Brief, FactorSpec, manifest,
authorization, optional OOSResult/evidence, both approvals, attempt ledger, and
terminal knowledge refs, without serializing panel values into a task or log.
## Schema version
`SCHEMA_VERSION` is `"1.4.0"`; every contract object and event rejects any other
`schema_version`, and there are no legacy imports, compatibility wrappers, or
permissive replay fallbacks. `EvaluationReport` carries exact request lineage;
task views bind `parent_task_id` and input hashes; `FreezeManifest` freezes
`evaluation_protocol_id` and canonical `oos_metric_selectors`; `OOSAttempt` is
content-addressed; `OOSResult` keeps evidence and artifact references in separate
collections. Objects or event chains persisted under another schema version must
be migrated explicitly outside the Controller or continued as a new versioned
run; runtime replay fails closed on any other shape.
## Ports
| Port | Caller | Responsibility |
|------|--------|----------------|
| `FactorExecutionPort` | Controller | Execute a compute-compatible `FactorSpec` |
| `AnalyzePort` | Controller | `preflight` / `evaluate` / `compare_to_pool` |
| `ArtifactStorePort` | Controller | Persist research artifacts under caller namespace |
| `ReportPort` | Release/report flow | Render reports from formal refs and facts |
### Research Controller
`ResearchController.handle(CommandRequest)` is the only mutation entrypoint.
It orchestrates `AnalyzePort.preflight` → `FactorExecutionPort.execute` →
`AnalyzePort.evaluate` → `AnalyzePort.compare_to_pool` and fail-fast rejects on
hard failures. It does not compute IC/robustness/backtests. State lives in
namespaced snapshot cache + append-only `controller_event` artifacts (hash
chain is authoritative). Concurrent commands CAS on expected next-version
slots via `put_if_absent`; port-bearing commands claim started/idempotency
before external calls and persist `FailureCode.RECOVERY_REQUIRED` without auto-recompute.
`DataManagerArtifactStore.put_if_absent` / `envelope_hash` provideFrom quantskills/agent-quantspace, GPL-3.0.
More from quantskills/agent-quantspace
- 0.667score
analyze
quantskills
Use when tasks need factor diagnostics, IC/grouped return analysis, attribution, robustness checks, deterministic factor-mining evaluation, or time-series…
SkillAFreshness: A★ 64Claude Code +9 - 0.632score
ingest
quantskills
Use when tasks need PandaData/PandaAI stock, fund, ETF, index, or futures data, reference data, adjustment factors, futures tick downloads, or symbol…
SkillBFreshness: B★ 64Claude Code +9 - 0.627score
report
quantskills
Use when tasks need complete HTML research reports, HTML dashboards, PNG chart helpers, or files under the research reports directory.
SkillBFreshness: B★ 64Claude Code +9 - 0.627score
ml
quantskills
Use when tasks need optional PyCaret model training, ML factor generation, inference wrappers, feature importance, or sparse LASSO weight generation.
SkillBFreshness: B★ 64Claude Code +9 - 0.627score
backtest
quantskills
Use when tasks need vectorized strategy execution, portfolio weighting, portfolio-level filters, transaction cost helpers, exit A/B analysis, overlay metrics…
SkillBFreshness: B★ 64Claude Code +9 - 0.627score
strategy
quantskills
Use when tasks need reusable strategy contracts, cross-sectional selection types, or time-series signal-to-weight helpers.
SkillBFreshness: B★ 64Claude Code +9 - 0.627score
compute
quantskills
Use when tasks need strategy-agnostic OHLCV indicators, math utilities, generic factor examples, regime slicing, resampling, or label makers.
SkillBFreshness: B★ 64Claude Code +9 - 0.626score
store
quantskills
Use when tasks need local market Parquet data, factor artifacts, backtest data, or model files through DataManager.
SkillBFreshness: B★ 64Claude Code +9 - 0.621score
research
quantskills
Use when tasks need reusable research pipeline templates, factor screening, or parameter sensitivity sweeps.
SkillBFreshness: B★ 64Claude Code +9
Signals
- Stars
- 64
- Forks
- 14
- Open issues
- 2
- Last commit (this folder)
- Aug 16, 2026 (2 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- GPL-3.0
- Repository
- github.com/quantskills/agent-quantspace
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from quantskills
- 0.667score
analyze
quantskills
Use when tasks need factor diagnostics, IC/grouped return analysis, attribution, robustness checks, deterministic factor-mining evaluation, or time-series…
SkillAFreshness: A★ 64Claude Code +9 - 0.632score
ingest
quantskills
Use when tasks need PandaData/PandaAI stock, fund, ETF, index, or futures data, reference data, adjustment factors, futures tick downloads, or symbol…
SkillBFreshness: B★ 64Claude Code +9 - 0.627score
report
quantskills
Use when tasks need complete HTML research reports, HTML dashboards, PNG chart helpers, or files under the research reports directory.
SkillBFreshness: B★ 64Claude Code +9 - 0.627score
ml
quantskills
Use when tasks need optional PyCaret model training, ML factor generation, inference wrappers, feature importance, or sparse LASSO weight generation.
SkillBFreshness: B★ 64Claude Code +9 - 0.627score
backtest
quantskills
Use when tasks need vectorized strategy execution, portfolio weighting, portfolio-level filters, transaction cost helpers, exit A/B analysis, overlay metrics…
SkillBFreshness: B★ 64Claude Code +9 - 0.627score
strategy
quantskills
Use when tasks need reusable strategy contracts, cross-sectional selection types, or time-series signal-to-weight helpers.
SkillBFreshness: B★ 64Claude Code +9
Cite this page
factor_mining skill. Agent Mart. https://agentmart.dev/skills/quantskills-factor-mining (last updated 2026-10-24)