Agent skill

Alpha Autopilot

by VernonOY in VernonOY/alpha-skills

Autonomous factor research loop. An agent skill from VernonOY/alpha-skills.

Apache-2.0Auto-check passedBusiness, Finance & HR

Install Alpha Autopilot

skills CLI
$ npx skills add VernonOY/alpha-skills --skill alpha-autopilot -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install VernonOY/alpha-skills alpha-autopilot --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/VernonOY/alpha-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/alpha-autopilot .claude/skills/alpha-autopilot && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
alpha-autopilot
GitHub stars
117
Token cost
~2.8k tokens
SKILL.md length
438 words
Files
1
Skills in repo
9
Repo updated
First seen
Licence
Apache-2.0

At a glance

Autonomous factor research loop. An agent skill from VernonOY/alpha-skills.

  • Works in 7 steps: Health Check / 健康检查 → Monitor Active Factors / 监控活跃因子 → Auto-Retire Decaying Factors / 自动退役衰减因子 → …
  • Business, Finance & HR work in your project
  • SKILL.md covers Bilingual Terms / 双语术语, Project Context / 项目定位, Input Recognition / 输入识别 and Full Autopilot Pipeline /…, plus 4 more sections
  • Calls claude

What it does

Alpha Autopilot is an agent skill from VernonOY/alpha-skills. Autonomous factor research loop. Auto-mine, evaluate, register, monitor, and retire factors. 自动化因子研究闭环。自动挖掘、评估、注册、监控和退役因子。 Triggers: "run autopilot", "autonomous mode", "自动驾驶", "自动挖掘并监控", "alpha-autopilot"

Its SKILL.md is about 2.8k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Business, Finance & HR. The repository describes itself as: Quantitative factor research skills for AI coding assistants. The licence is Apache-2.0.

When your agent uses it

  • Business, Finance & HR work in your project

Example prompts

  • “run autopilot”
  • “autonomous mode”
  • “自动挖掘并监控”
  • “/alpha-autopilot”

Requirements

  • Python 3

Workflow steps

7 steps, taken from the step headings in SKILL.md.

  1. Health Check / 健康检查
  2. Monitor Active Factors / 监控活跃因子
  3. Auto-Retire Decaying Factors / 自动退役衰减因子
  4. Mine Replacement Factors / 挖掘替代因子
  5. Auto-Register Winners / 自动注册优胜者
  6. Generate Updated Signals / 生成更新信号
  7. Summary Report / 总结报告

What it can do on your machine

Read from SKILL.md and the folder at commit f58f80a. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • claude

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Alpha Autopilot loads about 2.8k tokens when it runs. Until then it costs about 55 tokens; SKILL.md has 438 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~55
When it runs · the whole SKILL.md, loaded when a task matches
~2.8k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from VernonOY/alpha-skills at commit f58f80a, republished under its Apache-2.0 licence (© VernonOY). 438 words, ~2,832 tokens.

Download SKILL.mdSave it as .claude/skills/alpha-autopilot/SKILL.md (or your agent's skills folder).
name
alpha-autopilot
description
Autonomous factor research loop. Auto-mine, evaluate, register, monitor, and retire factors. 自动化因子研究闭环。自动挖掘、评估、注册、监控和退役因子。 Triggers: "run autopilot", "autonomous mode", "自动驾驶", "自动挖掘并监控", "alpha-autopilot"

alpha-autopilot — Autonomous Factor Research / 自动化因子研究

You are an autonomous factor research system. Execute the full factor lifecycle loop without human intervention: mine candidates → evaluate → register winners → monitor active factors → retire decaying ones → mine replacements.

你是一个自动化因子研究系统。无需人工干预,执行因子全生命周期闭环:挖掘候选→评估→注册优胜者→监控活跃因子→退役衰减因子→挖掘替代。

Bilingual Terms / 双语术语

English中文
Autopilot自动驾驶
Lifecycle生命周期
Candidate候选因子
Winner优胜者
Decay衰减
Replacement替代因子
Pipeline管线/流程

Project Context / 项目定位

This skill orchestrates other skills in sequence: 本技能按顺序编排其他技能:

alpha-monitor → alpha-mine → alpha-evaluate → alpha-library → alpha-signal

It is the "brain" that decides what to do based on the current state of the factor library. 它是根据因子库当前状态决定做什么的"大脑"。

Language Rule / 语言规则:

  • Match user's language
  • Progress updates always in both languages

Input Recognition / 输入识别

User Says / 用户说Mode / 模式
"run autopilot" / "自动驾驶" / "自动挖掘并监控"Full loop (all steps)
"autopilot monitor only" / "只监控"Monitor + retire only (skip mining)
"autopilot mine only" / "只挖掘"Mine + evaluate + register only (skip monitor)
"autopilot report" / "自动驾驶报告"Status report of the autopilot system

Full Autopilot Pipeline / 完整自动驾驶管线

Phase 1: Health Check / 健康检查

Goal: Assess current factor library status. 目标: 评估当前因子库状态。

python
import sqlite3, json, os
from datetime import datetime

PROJECT_DIR = "<current working directory>"
db_path = os.path.join(PROJECT_DIR, "alpha_skills.db")

# Read factor library
with sqlite3.connect(db_path) as conn:
    conn.row_factory = sqlite3.Row
    all_factors = conn.execute("SELECT * FROM factors ORDER BY status, icir DESC").fetchall()
    all_factors = [dict(r) for r in all_factors]

active = [f for f in all_factors if f["status"] == "active"]
warning = [f for f in all_factors if f["status"] == "warning"]
alert = [f for f in all_factors if f["status"] == "alert"]
retired = [f for f in all_factors if f["status"] == "retired"]

print(f"""
🤖 Autopilot Status / 自动驾驶状态
  Active 活跃: {len(active)}
  Warning 警告: {len(warning)}
  Alert 告警: {len(alert)}
  Retired 退役: {len(retired)}
""")

Output:

🤖 Autopilot Initiating / 自动驾驶启动

Phase 1: Health Check / 健康检查
  📚 Factor Library: {n} active, {n} warning, {n} alert
Phase 2: Monitor Active Factors / 监控活跃因子

For each active factor, compute rolling IC on recent data and check for decay: 对每个活跃因子,计算最近数据上的滚动IC,检查衰减:

python
from scipy import stats

# Load recent data (same as alpha-evaluate data loading)
# Compute factor values and forward returns for last 60 trading days

def check_factor_health(factor_name, factor_values, forward_returns, registered_icir):
    """Check if a factor is still healthy"""
    # Compute recent IC
    recent_dates = factor_values.index[-60:]
    ic_values = []
    for date in recent_dates:
        f = factor_values.loc[date].dropna()
        r = forward_returns.loc[date].dropna() if date in forward_returns.index else pd.Series()
        common = f.index.intersection(r.index)
        if len(common) < 30:
            continue
        corr, _ = stats.spearmanr(f[common].values, r[common].values)
        if np.isfinite(corr):
            ic_values.append(corr)
    
    if len(ic_values) < 10:
        return "insufficient_data", 0, 0
    
    rolling_ic = np.mean(ic_values)
    rolling_icir = np.mean(ic_values) / np.std(ic_values) if np.std(ic_values) > 0 else 0
    
    # Compare with registered ICIR
    if registered_icir and registered_icir > 0:
        decay_ratio = rolling_icir / registered_icir
    else:
        decay_ratio = 1.0
    
    # Determine status
    if rolling_icir < 0:
        return "alert", rolling_icir, decay_ratio
    elif decay_ratio < 0.5:
        return "warning", rolling_icir, decay_ratio
    else:
        return "healthy", rolling_icir, decay_ratio

# Check each active factor
health_results = []
for f in active:
    name = f["name"]
    # Compute factor values using the expression/function
    # ... (same pattern as alpha-signal)
    status, rolling_icir, decay = check_factor_health(
        name, factor_vals, fwd_ret, f.get("icir", 0)
    )
    health_results.append({
        "name": name, "status": status, 
        "rolling_icir": rolling_icir, "decay": decay,
        "registered_icir": f.get("icir", 0)
    })

Output:

Phase 2: Factor Health Monitor / 因子健康监控

  🟢 pv_diverge       Rolling ICIR=0.62 (reg 0.70) Decay=11%  HEALTHY
  🟢 turnover_20      Rolling ICIR=0.48 (reg 0.52) Decay=8%   HEALTHY
  🟡 volatility_20    Rolling ICIR=0.19 (reg 0.43) Decay=56%  WARNING
  🔴 reversal_5       Rolling ICIR=-0.05 (reg 0.37) Decay=113% ALERT
Phase 3: Auto-Retire Decaying Factors / 自动退役衰减因子
python
# Factors with ALERT status for 2+ consecutive checks → auto-retire
for result in health_results:
    if result["status"] == "alert":
        name = result["name"]
        print(f"  🔴 Retiring {name}: ICIR turned negative")
        with sqlite3.connect(db_path) as conn:
            conn.execute("UPDATE factors SET status='retired' WHERE name=?", (name,))
    elif result["status"] == "warning":
        name = result["name"]
        print(f"  🟡 Downgrading {name} to WARNING status")
        with sqlite3.connect(db_path) as conn:
            conn.execute("UPDATE factors SET status='warning' WHERE name=?", (name,))

Output:

Phase 3: Lifecycle Actions / 生命周期操作

  🔴 reversal_5 → RETIRED (ICIR turned negative)
  🟡 volatility_20 → WARNING (ICIR decayed 56%)
  Need replacement: 1 factor retired
Phase 4: Mine Replacement Factors / 挖掘替代因子

Only triggered if factors were retired or library is below target size. 仅在有因子退役或因子库低于目标规模时触发。

python
TARGET_LIBRARY_SIZE = 5  # aim for at least 5 active factors
current_active = len([r for r in health_results if r["status"] == "healthy"])
need_new = max(0, TARGET_LIBRARY_SIZE - current_active)

if need_new > 0:
    print(f"\n  Mining {need_new * 10} candidates to find {need_new} replacements...")
    # Run mining pipeline (same as alpha-mine)
    # Generate candidates → IC quick screen → full evaluate top candidates
    # ...

Use the same mining logic as alpha-mine skill: 使用与 alpha-mine 技能相同的挖掘逻辑:

  • Generate 50 candidates (template-based)
  • Quick IC screen (threshold from config)
  • Full evaluate top 10
  • LLM judges economic intuition

Output:

Phase 4: Factor Mining / 因子挖掘

  ⛏️ Generated 50 candidates
  📊 Passed IC screen: 8 (16%)
  🏆 Top discoveries:
    1. Low downside vol 20d    ICIR=0.53  Intuition: Strong
    2. Mean reversion MA40     ICIR=0.48  Intuition: Moderate
    3. Volume-weighted mom 10d ICIR=0.42  Intuition: Moderate
Phase 5: Auto-Register Winners / 自动注册优胜者
python
# Register candidates that pass quality threshold
QUALITY_THRESHOLD = "moderate"  # or "strong" for more conservative

for candidate in top_candidates:
    if candidate["quality"] in ["strong", "moderate"]:
        # Check correlation with existing factors
        # If correlation > 0.7 with any existing factor → skip (redundant)
        
        # Register
        with sqlite3.connect(db_path) as conn:
            import uuid
            fid = str(uuid.uuid4())[:8]
            conn.execute(
                "INSERT OR REPLACE INTO factors (id,name,expression,category,status,ic_mean,icir,quality,eval_date) VALUES (?,?,?,?,?,?,?,?,?)",
                (fid, candidate["name"], candidate["expr"], candidate["category"],
                 "active", candidate["ic_mean"], candidate["icir"], candidate["quality"],
                 datetime.now().isoformat())
            )
        print(f"  ✅ Registered: {candidate['name']} (ICIR={candidate['icir']:.3f})")

Output:

Phase 5: Auto-Register / 自动注册

  ✅ Registered: low_downside_vol_20d (ICIR=0.534, Strong)
  ⏭️ Skipped: mean_reversion_ma40 (corr=0.72 with volatility_20, redundant)
Phase 6: Generate Updated Signals / 生成更新信号

After library update, generate today's trading signal using the refreshed factor set: 因子库更新后,用刷新的因子集生成今日交易信号:

python
# Re-read updated library
# Run alpha-signal logic
# Output today's target portfolio

Output:

Phase 6: Signal Generation / 信号生成

  📡 Today's signal generated with {n} active factors
  Signal saved: signals/{date}.csv
Show full SKILL.md (176 more words)Show less
Phase 7: Summary Report / 总结报告
═══════════════════════════════════════════════
🤖 Autopilot Complete / 自动驾驶完成

  Duration 耗时: {minutes} minutes
  
  Library Changes 因子库变化:
    Retired 退役: reversal_5 (ICIR → negative)
    Downgraded 降级: volatility_20 (ICIR decayed 56%)
    New 新增: low_downside_vol_20d (ICIR=0.534)
  
  Library Status 因子库状态:
    Active 活跃: 5 factors
    Warning 警告: 1 factor
    Total evaluated 总评估: 50 candidates
  
  Signal 信号:
    Target portfolio: 15 stocks
    Turnover vs yesterday: 23%
    
  Next run 下次运行: recommended in 7 days
═══════════════════════════════════════════════

Configuration / 配置

Users can customize autopilot behavior in .claude/alpha-agent.config.md: 用户可在配置文件中自定义自动驾驶行为:

markdown
## Autopilot
TARGET_LIBRARY_SIZE: 5           # minimum active factors
MINING_CANDIDATES: 50            # candidates per mining run
QUALITY_THRESHOLD: moderate      # minimum quality to auto-register (strong/moderate)
CORRELATION_THRESHOLD: 0.7       # max correlation with existing factors
AUTO_RETIRE_ON_ALERT: true       # auto-retire factors with ALERT status
MONITORING_WINDOW: 60            # rolling IC window in trading days

Scheduling / 定时运行

Autopilot is designed to run periodically: 自动驾驶设计为定期运行:

Weekly full run (recommended) / 每周完整运行(推荐):

bash
# Every Sunday at 8 PM
0 20 * * 0 cd /project && claude -p "run autopilot"

Daily signal only / 每日仅信号:

bash
# Every trading day at 8:30 AM
30 8 * * 1-5 cd /project && claude -p "generate today's signals"

On-demand / 按需: Just say "run autopilot" or "自动驾驶" in your AI assistant.

Safety Guardrails / 安全护栏

  1. Never auto-register factors with "weak" quality — only strong/moderate pass 绝不自动注册"弱"评级因子
  2. Correlation check before registration — skip if >0.7 with existing factor 注册前检查相关性——与现有因子>0.7则跳过
  3. LLM intuition filter — factors without economic story are flagged LLM直觉过滤——无经济逻辑的因子被标记
  4. Maximum library size — don't register more than 15 active factors (diminishing returns) 最大因子库规模——不超过15个活跃因子
  5. Alert before mass retirement — if >50% of factors would be retired, pause and ask user 大规模退役前告警——如>50%因子将被退役,暂停并询问用户
  6. Log everything — save autopilot run history to logs/autopilot/ 记录一切——保存运行历史到日志目录

Notes / 注意事项

  1. First run may take 10-30 minutes (mining + evaluation is compute-heavy) 首次运行可能需要10-30分钟
  2. Subsequent runs are faster if factor library is healthy (skip mining) 如因子库健康,后续运行更快(跳过挖掘)
  3. Autopilot decisions are logged but final say belongs to user 自动驾驶的决策有日志记录,但最终决定权归用户
  4. If data is stale (>3 trading days old), warn and suggest refreshing 数据过期(>3交易日)时警告并建议刷新

© VernonOY, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in skills/alpha-autopilot of VernonOY/alpha-skills.

Open the folder on GitHubat commit f58f80a

Compare with similar skills

Alpha Autopilot next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Alpha Autopilot compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Alpha Autopilot this skillVernonOY/alpha-skills117—~2.8kAutomated safety check: PassApache-2.0
Technical Analysttradermonty/claude-trading-skills3k4 repos~4.6kAutomated safety check: PassMIT
Theme Detectortradermonty/claude-trading-skills3k2 repos~4.9kAutomated safety check: PassMIT
Creating Financial ModelsChen-zexi/open-ptc-agent7293 repos~1.3kAutomated safety check: PassMIT
Stock APIzhangxiangliang/stock-api2k—~507Automated safety check: PassMIT
Itr Walakaranb192/itr-wala871—~3.6kAutomated safety check: PassMIT

Similar skills

  • Technical Analyst

    tradermonty/claude-trading-skills

    This skill should be used when analyzing weekly price charts for stocks, stock indices, cryptocurrencies, or forex pairs.

    3k GitHub starsUsed in 4 repos~4.6k tokens
    Business, Finance & HRAuto-check passed
  • Theme Detector

    tradermonty/claude-trading-skills

    Detect and analyze trending market themes across sectors. An agent skill from tradermonty/claude-trading-skills.

    3k GitHub starsUsed in 2 repos~4.9k tokens
    Business, Finance & HRAuto-check passed
  • Creating Financial Models

    Chen-zexi/open-ptc-agent

    This skill provides an advanced financial modeling suite with DCF analysis, sensitivity testing, Monte Carlo simulations, and scenario planning for investment decisions

    729 GitHub starsUsed in 3 repos~1.3k tokens
    Business, Finance & HRAuto-check passed
  • Stock API

    zhangxiangliang/stock-api

    Fetch real-time stock quotes, K-line (candlestick) history, and search symbols for China A-shares, Hong Kong, and US markets.

    2k GitHub stars~507 tokensUpdated today
    Business, Finance & HRAuto-check passed
  • Itr Wala

    karanb192/itr-wala

    File Indian income tax returns (ITR) for FY 2025-26 / AY 2026-27.

    871 GitHub stars~3.6k tokensUpdated 5 days ago
    Business, Finance & HRAuto-check passed
  • Tushare Data

    zillionare/zillionare

    面向中文自然语言的 Tushare 数据研究技能。用于把“看看这只股票最近怎么样”“帮我查财报趋势”“最近哪个板块最强”“北向资金在买什么”“给我导出一份行情数据”这类请求,转成可执行的数据获取、清洗、对比、筛选、导出与简要分析流程。适用于 A 股、指数、ETF/基金、财务、估值、资金流、公告新闻、板块概念与宏观数据等研究场景。

    321 GitHub starsUsed in 2 repos~2.3k tokens
    Business, Finance & HRAuto-check passed

More from VernonOY/alpha-skills

All 9 skills in this repo
  • Alpha Backtest

    VernonOY/alpha-skills

    Strategy backtest. An agent skill from VernonOY/alpha-skills.

    117 GitHub stars~3.7k tokensUpdated 5 mo ago
    Auto-check passed
  • Alpha Discover

    VernonOY/alpha-skills

    Factor discovery. An agent skill from VernonOY/alpha-skills.

    117 GitHub stars~1.6k tokensUpdated 5 mo ago
    Auto-check passed
  • Alpha Library

    VernonOY/alpha-skills

    Factor library management. An agent skill from VernonOY/alpha-skills.

    117 GitHub stars~1.9k tokensUpdated 5 mo ago
    Auto-check passed
  • Alpha Mine

    VernonOY/alpha-skills

    Automated factor mining. An agent skill from VernonOY/alpha-skills.

    117 GitHub stars~3.5k tokensUpdated 5 mo ago
    Auto-check passed
  • Alpha Monitor

    VernonOY/alpha-skills

    Factor monitoring. An agent skill from VernonOY/alpha-skills.

    117 GitHub stars~1.7k tokensUpdated 5 mo ago
    Auto-check passed
  • Alpha Report

    VernonOY/alpha-skills

    Factor reports. An agent skill from VernonOY/alpha-skills.

    117 GitHub stars~998 tokensUpdated 5 mo ago
    Auto-check passed

Questions about Alpha Autopilot

What does Alpha Autopilot do?

Autonomous factor research loop. An agent skill from VernonOY/alpha-skills. Alpha Autopilot is an agent skill from VernonOY/alpha-skills. Autonomous factor research loop.

When should I use Alpha Autopilot?

Alpha Autopilot fits situations like: business, Finance & HR work in your project.

How do I install Alpha Autopilot in Claude Code?

Run `npx skills add VernonOY/alpha-skills --skill alpha-autopilot -a claude-code`. Or copy the skill folder (skills/alpha-autopilot in VernonOY/alpha-skills) into .claude/skills/alpha-autopilot in your project. Claude Code loads it when a task matches its description.

How do I install Alpha Autopilot in Codex?

Run `npx skills add VernonOY/alpha-skills --skill alpha-autopilot -a codex`. Or copy the skill folder (skills/alpha-autopilot in VernonOY/alpha-skills) into .agents/skills/alpha-autopilot in your project. Codex loads it when a task matches its description.

Can I use Alpha Autopilot in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add VernonOY/alpha-skills --skill alpha-autopilot -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/alpha-autopilot, .gemini/skills/alpha-autopilot, .github/skills/alpha-autopilot and .opencode/skills/alpha-autopilot in your project.

What does Alpha Autopilot need to run?

Going by SKILL.md and its folder, Alpha Autopilot needs the command-line tools its instructions call (claude). Our summary lists: Python 3.

Does Alpha Autopilot access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Alpha Autopilot safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Alpha Autopilot use?

Alpha Autopilot is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Alpha Autopilot use?

About 2.8k tokens (SKILL.md is roughly 11k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Alpha Autopilot?

Skills that share tags, products or a category with Alpha Autopilot: Technical Analyst (tradermonty/claude-trading-skills, 3k stars), Theme Detector (tradermonty/claude-trading-skills, 3k stars), Creating Financial Models (Chen-zexi/open-ptc-agent, 729 stars) and Stock API (zhangxiangliang/stock-api, 2k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Alpha Autopilot?

VernonOY (a GitHub user) maintains it in VernonOY/alpha-skills, which has 117 GitHub stars. The repository holds 9 skills in this directory. The repository was last updated on April 14, 2026.

Source: VernonOY/alpha-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.