Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 0 additions & 24 deletions .agents/plugins/marketplace.json
Original file line number Diff line number Diff line change
Expand Up @@ -16,18 +16,6 @@
},
"category": "Productivity"
},
{
"name": "quant-stock-technical",
"source": {
"source": "local",
"path": "./plugins/quant-stock-technical"
},
"policy": {
"installation": "AVAILABLE",
"authentication": "ON_INSTALL"
},
"category": "Finance"
},
{
"name": "stock-scenario-story",
"source": {
Expand Down Expand Up @@ -87,18 +75,6 @@
"authentication": "ON_INSTALL"
},
"category": "Productivity"
},
{
"name": "quant-stock-polling-trader",
"source": {
"source": "local",
"path": "./plugins/quant-stock-polling-trader"
},
"policy": {
"installation": "AVAILABLE",
"authentication": "ON_INSTALL"
},
"category": "Finance"
}
]
}
38 changes: 1 addition & 37 deletions .claude-plugin/marketplace.json
Original file line number Diff line number Diff line change
Expand Up @@ -24,30 +24,12 @@
"codex"
]
},
{
"name": "quant-stock-technical",
"displayName": "Quant Stock Technical",
"source": "./plugins/quant-stock-technical",
"description": "Acquire audited KIS EOD data, screen four exchanges, and evaluate selected opening-hour outcomes.",
"version": "0.4.6",
"author": {
"name": "mrcha033"
},
"homepage": "https://github.com/mrcha033/skills",
"repository": "https://github.com/mrcha033/skills",
"category": "finance",
"tags": [
"stocks",
"technical-analysis",
"quantitative"
]
},
{
"name": "stock-scenario-story",
"displayName": "Stock Scenario Story",
"source": "./plugins/stock-scenario-story",
"description": "Research and narrate a sourced, numbers-free market story after a validated quant handoff.",
"version": "0.1.0",
"version": "0.1.1",
"author": {
"name": "mrcha033"
},
Expand Down Expand Up @@ -131,24 +113,6 @@
"reply",
"retrieval"
]
},
{
"name": "quant-stock-polling-trader",
"displayName": "Quant Stock Polling Trader",
"source": "./plugins/quant-stock-polling-trader",
"description": "Build and supervise deterministic daily KIS shadow sessions from official calendars through reconciliation.",
"version": "0.5.4",
"author": {
"name": "mrcha033"
},
"homepage": "https://github.com/mrcha033/skills",
"repository": "https://github.com/mrcha033/skills",
"category": "finance",
"tags": [
"stocks",
"broker-api",
"polling"
]
}
]
}
52 changes: 0 additions & 52 deletions .github/workflows/validate.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,36 +26,6 @@ jobs:
PY
- name: Validate distribution catalog synchronization
run: python -B scripts/sync_distribution.py --check
- name: Run deterministic calculator self-test
run: python -B skills/quant-stock-technical/scripts/analyze_stock.py --self-test
- name: Run first-hour research calculator self-test
run: python -B skills/quant-stock-technical/scripts/analyze_stock_v2.py --self-test
- name: Run read-only opening-hour collector self-test
run: python -B skills/quant-stock-technical/scripts/collect_open1h_research.py --self-test
- name: Run opening-hour evaluator self-test
run: python -B skills/quant-stock-technical/scripts/evaluate_open1h_research.py --self-test
- name: Run selected opening-hour outcomes self-test
run: python -B skills/quant-stock-technical/scripts/selected_open1h_outcomes.py --self-test
- name: Run selected opening-hour walk-forward self-test
run: python -B skills/quant-stock-technical/scripts/walk_forward_open1h.py --self-test
- name: Run four-exchange universe builder self-test
run: python -B skills/quant-stock-technical/scripts/build_universe_manifest.py --self-test
- name: Run deterministic universe screen self-test
run: python -B skills/quant-stock-technical/scripts/screen_universe.py --self-test
- name: Run KIS Korea EOD collector self-test
run: python -B skills/quant-stock-technical/scripts/fetch_kis_kr_eod.py --self-test
- name: Run KIS U.S. EOD collector self-test
run: python -B skills/quant-stock-technical/scripts/fetch_kis_us_eod.py --self-test
- name: Run account snapshot collector self-test
run: python -B skills/quant-stock-polling-trader/scripts/account_snapshot.py self-test
- name: Run official market calendar self-test
run: python -B skills/quant-stock-polling-trader/scripts/market_calendar.py self-test
- name: Run recurring daily pipeline self-test
run: python -B skills/quant-stock-polling-trader/scripts/daily_pipeline.py self-test
- name: Run strategy-position lifecycle self-test
run: python -B skills/quant-stock-polling-trader/scripts/position_lifecycle.py --self-test
- name: Run systemd generator self-test
run: python -B skills/quant-stock-polling-trader/scripts/systemd_units.py self-test
- name: Run mandatory handoff-gate self-test
run: python -B skills/stock-scenario-story/scripts/validate_quant_handoff.py --self-test
- name: Run numbers-free story gate self-test
Expand All @@ -82,28 +52,6 @@ jobs:
run: python -B tests/test_handoff_integration.py
- name: Run advisor integration test
run: python -B tests/test_advisor_review.py
- name: Run universe builder regression
run: python -B tests/test_universe_builder.py
- name: Run four-exchange screen contract regression
run: python -B tests/test_screen_universe.py
- name: Run screening and execution regression
run: python -B tests/test_quant_execution.py
- name: Run QTA2 execution and market-regime regression
run: |
python -B tests/test_qta2_execution.py
python -B tests/test_qta2_market_regime.py
- name: Run strategy-position ledger regression
run: python -B tests/test_position_lifecycle.py
- name: Run systemd unit generator regression
run: python -B tests/test_systemd_units.py
- name: Run KIS U.S. EOD regression
run: python -B tests/test_kis_us_eod.py
- name: Run KIS Korea EOD regression
run: python -B tests/test_kis_kr_eod.py
- name: Run official market calendar regression
run: python -B tests/test_market_calendar.py
- name: Run recurring daily pipeline regression
run: python -B tests/test_daily_pipeline.py
- name: Validate marketplace packaging
run: python -B tests/test_marketplace_packaging.py
- name: Validate deterministic release packaging
Expand Down
116 changes: 16 additions & 100 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# MrCha Skills

A public, multi-topic collection of portable Agent Skills by `mrcha033`, packaged as eight independently installable marketplace plugins for Codex and Claude Code.
A public, multi-topic collection of portable Agent Skills by `mrcha033`, packaged as six independently installable marketplace plugins for Codex and Claude Code.

Each directory under `skills/` remains a self-contained skill built around `SKILL.md`. Each marketplace plugin contains exactly one matching skill; none adds MCP servers or hooks. Broker credentials stay local and are never packaged.

Expand All @@ -15,8 +15,6 @@ codex plugin add agent-finish-line@mrcha-skills
codex plugin add yonsei-central-student-governance-counsel@mrcha-skills
codex plugin add learnus-course-copilot@mrcha-skills
codex plugin add katok-reply-reuse@mrcha-skills
codex plugin add quant-stock-technical@mrcha-skills
codex plugin add quant-stock-polling-trader@mrcha-skills
codex plugin add stock-scenario-story@mrcha-skills
```

Expand All @@ -31,8 +29,6 @@ claude plugin install agent-finish-line@mrcha-skills
claude plugin install yonsei-central-student-governance-counsel@mrcha-skills
claude plugin install learnus-course-copilot@mrcha-skills
claude plugin install katok-reply-reuse@mrcha-skills
claude plugin install quant-stock-technical@mrcha-skills
claude plugin install quant-stock-polling-trader@mrcha-skills
claude plugin install stock-scenario-story@mrcha-skills
```

Expand Down Expand Up @@ -111,60 +107,21 @@ The General Student Council corpus is sourced from the public Drive linked by th

## Finance skills

### Quant Stock Technical

`quant-stock-technical` calculates reproducible technical opinions, risk, entry, stop, target, and a historical technical-strength score from completed daily adjusted OHLCV data. It can also build and screen a deterministic, source-hashed intersection of KOSPI, KOSDAQ, NYSE, and NASDAQ listings without changing `qta-1.0.0`. It excludes news, fundamentals, sentiment, analyst opinion, discretionary model judgment, and broker mutations.

`quant-stock-polling-trader` is a separately installable execution plugin. Its
daily path is a direct `prepare → snapshot/plan → shadow entry → reconcile`
workflow for KIS. It does not require approved source digests, provenance
signatures, account-identity HMACs, trading-arm files, or Toss/NH exports.
Additional Toss/NH exposure files may be supplied when the user wants them
included, but they are not prerequisites.
Its first-hour runner precomputes the slow path before the open, warms
authentication 30 seconds early, admits only broker-rate-feasible candidate
counts, polls on absolute rank-ordered cycles, and records cycle/quote/submit
latency. Live mutation remains disabled.
Its systemd generator emits an execution-readable strict bundle and hardened
units into an empty directory. The command itself is non-activating, but an
explicit request for actual automation is not complete until the reviewed
units are installed, enabled or started as requested, and their user-systemd
state is verified.
The four-exchange v2 universe is currently qualified from KIS stock masters, so
v2 planning is KIS-only; Toss remains available only through the legacy
contract until a Toss-qualified universe snapshot is implemented and verified.
V2 planning also requires a local SHA-256-bound market-session snapshot,
the latest completed session date, and fresh same-instant account/exposure
snapshots.

For KIS, keep paper and live app keys separate. Prefer process environment or
an OS secret store; use `~/.config/mrcha-skills/secrets.env` with permission
`0600` only as a fallback. Check status first:
### QTA migration

```bash
python3 skills/quant-stock-polling-trader/scripts/broker_credentials.py status --environment paper
```

If it reports `BLOCKED`, run `configure` yourself in an interactive local
terminal so credentials never enter chat or an agent-owned PTY:

```bash
python3 skills/quant-stock-polling-trader/scripts/broker_credentials.py configure --environment paper
```

After configuration, let the agent recheck presence and verify token issuance
without printing or persisting the token:

```bash
python3 skills/quant-stock-polling-trader/scripts/broker_credentials.py status --environment paper
python3 skills/quant-stock-polling-trader/scripts/broker_credentials.py auth-check --environment paper
```

Authentication does not enable an order, and live mutation remains disabled.
`quant-stock-technical` and `quant-stock-polling-trader` are no longer
distributed as marketplace skills. The QTA implementation and its automation
now live in a dedicated standalone project, where long-running market-data,
execution, ledger, and calibration jobs can be managed as one application.
Existing users should remove those two marketplace plugins after migrating
their local runtime; this repository does not publish a replacement plugin.

### Stock Scenario Story

`stock-scenario-story` is its qualitative antithesis. It runs only after validating the complete result from `quant-stock-technical`, hides every upstream number, researches the surrounding company and market context, and tells a sourced, theatrical, numbers-free story purely for entertainment.
`stock-scenario-story` runs only after validating a complete external QTA
result matching the legacy `quant-stock-technical/v1` contract, hides every
upstream number, researches the surrounding company and market context, and
tells a sourced, theatrical, numbers-free story purely for entertainment.

## Versioned release packages

Expand Down Expand Up @@ -218,8 +175,6 @@ If marketplace installation is unavailable, clone the repository and copy only t

```bash
git clone https://github.com/mrcha033/skills.git mrcha-skills
cp -R mrcha-skills/skills/quant-stock-technical ~/.codex/skills/
cp -R mrcha-skills/skills/quant-stock-polling-trader ~/.codex/skills/
cp -R mrcha-skills/skills/stock-scenario-story ~/.codex/skills/
cp -R mrcha-skills/skills/advisor-review ~/.codex/skills/
cp -R mrcha-skills/skills/agent-finish-line ~/.codex/skills/
Expand All @@ -228,7 +183,10 @@ cp -R mrcha-skills/skills/learnus-course-copilot ~/.codex/skills/
cp -R mrcha-skills/skills/katok-reply-reuse ~/.codex/skills/
```

Start a new Codex task after copying. Invoke `$advisor-review` explicitly when you want an independent review. For the paired finance workflow, invoke `$quant-stock-technical` first and pass its unmodified JSON result to `$stock-scenario-story`.
Start a new Codex task after copying. Invoke `$advisor-review` explicitly when
you want an independent review. For the finance story workflow, pass an
unmodified external QTA result matching `quant-stock-technical/v1` to
`$stock-scenario-story`.

## Standalone Claude Code skills

Expand Down Expand Up @@ -257,42 +215,9 @@ marketplace and update normally. ChatGPT and Claude web uploads remain copied
artifacts, so those users must upload the newly versioned file; the platform
does not currently turn a local upload into a repository subscription.

## Input

The deterministic calculator requires finalized ticker and same-exchange
benchmark CSV files with:

```text
date,open,high,low,close,adjusted_close,volume
```

Also provide the market, ticker, and valid effective tick size. The calculator
requires at least 756 shared completed sessions and recommends 1,260.

The four-exchange builder additionally requires dated official listing and
broker-master snapshots, explicit adjusted-EOD file mappings, benchmark
mappings, effective-dated tick contracts, and a hashed per-exchange catalog
coverage minimum. Missing data is recorded as an exclusion; it is never
fetched or guessed during the entry window.

## Validation

```bash
python3 -B skills/quant-stock-technical/scripts/analyze_stock.py --self-test
python3 -B skills/quant-stock-technical/scripts/build_universe_manifest.py --self-test
python3 -B skills/quant-stock-technical/scripts/screen_universe.py --self-test
python3 -B skills/quant-stock-technical/scripts/fetch_kis_kr_eod.py --self-test
python3 -B skills/quant-stock-technical/scripts/fetch_kis_us_eod.py --self-test
python3 -B skills/quant-stock-polling-trader/scripts/execution_core.py --self-test
python3 -B skills/quant-stock-polling-trader/scripts/broker_adapters.py --self-test
python3 -B skills/quant-stock-polling-trader/scripts/broker_credentials.py self-test
python3 -B skills/quant-stock-polling-trader/scripts/account_snapshot.py self-test
python3 -B skills/quant-stock-polling-trader/scripts/market_calendar.py self-test
python3 -B skills/quant-stock-polling-trader/scripts/daily_pipeline.py self-test
python3 -B skills/quant-stock-polling-trader/scripts/systemd_units.py self-test
python3 -B skills/quant-stock-polling-trader/scripts/plan_orders.py --self-test
python3 -B skills/quant-stock-polling-trader/scripts/run_session.py self-test
python3 -B skills/quant-stock-polling-trader/scripts/reconcile.py --self-test
python3 -B skills/stock-scenario-story/scripts/validate_quant_handoff.py --self-test
python3 -B skills/stock-scenario-story/scripts/validate_story_text.py --self-test
python3 -B skills/advisor-review/scripts/build_context_packet.py --self-test
Expand All @@ -306,19 +231,10 @@ python3 -B skills/katok-reply-reuse/scripts/rank_replies.py --self-test
python3 -B skills/yonsei-central-student-governance-counsel/scripts/self_test.py
python3 -B tests/test_handoff_integration.py
python3 -B tests/test_advisor_review.py
python3 -B tests/test_universe_builder.py
python3 -B tests/test_screen_universe.py
python3 -B tests/test_quant_execution.py
python3 -B tests/test_kis_us_eod.py
python3 -B tests/test_market_calendar.py
python3 -B tests/test_daily_pipeline.py
python3 -B tests/test_systemd_units.py
python3 -B scripts/sync_distribution.py --check
python3 -B tests/test_marketplace_packaging.py
python3 -B tests/test_release_packaging.py
claude plugin validate . --strict
```

The score is historical technical strength, not a probability of profit. Calculated price levels do not account for suitability, position sizing, fees, taxes, FX, slippage, broker rules, or fill probability.

No software license has been granted yet. Public availability does not grant permission to copy, modify, or redistribute the contents.
20 changes: 0 additions & 20 deletions plugins/quant-stock-polling-trader/.claude-plugin/plugin.json

This file was deleted.

35 changes: 0 additions & 35 deletions plugins/quant-stock-polling-trader/.codex-plugin/plugin.json

This file was deleted.

Loading
Loading