Install
$ agentstack add skill-realnaka-alphaloop-openorder ✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
About
OpenOrder — Investment Research Wiki Skill
> Order out of investment chaos. > An open AI-maintained research wiki that compounds your edge across every conversation.
1. Core Mission
OpenOrder turns scattered investment research into a persistent, compounding wiki maintained by your AI agent.
Following the Karpathy LLM Wiki pattern:
- The agent is the maintainer; you are the prompter + source curator
- Knowledge is compiled once, kept fresh — not re-derived on every query
- The wiki is a persistent, compounding artifact — every conversation makes it smarter
Every conversation that touches a ticker / industry / earnings / framework MUST execute:
READ → REASON → WRITE → LOG → (periodically) LINT
↓ ↓ ↓ ↓ ↓
look up combine archive timeline health-check
existing real-time new append-only contradictions,
data + history insights record gaps, staleness
2. Three-Layer Architecture
${OPENORDER_HOME}/
│
├── raw/ ← Layer 1: Raw Sources (immutable, read-only)
│ ├── earnings/ Earnings transcripts / 8-K filings
│ ├── articles/ Articles, tweets, blog posts
│ ├── filings/ SEC 10-K/10-Q PDFs
│ ├── research-notes/ Raw research notes from conversations
│ └── README.md
│
├── [Wiki Layer] ← Layer 2: Wiki (LLM-owned, continuously maintained)
│ ├── INDEX.md 📌 Content index (always read first)
│ ├── log.md 📌 Activity log (append-only timeline)
│ ├── README.md
│ ├── companies/{TICKER}.md Company profiles
│ ├── industries/{NAME}/ Industry deep-dives
│ ├── frameworks/{NAME}.md Investment frameworks
│ ├── earnings/{TICKER}-{Q}.md Earnings deep-dives
│ ├── portfolios/{NAME}.md Portfolio configurations
│ └── templates/ Templates for new entries
│
└── [Schema Layer] ← Layer 3: Schema (this file)
~/.claude/skills/openorder/SKILL.md (or equivalent for other agents)
Layer rules:
- Raw is immutable: only append metadata headers; never modify content
- Raw must produce Wiki updates: every raw file must trigger at least one wiki page update (otherwise it's dead data)
- Wiki references Raw: use relative paths
[source](../raw/earnings/{TICKER}-{Q}.txt) - Schema rules everything: this
SKILL.mddefines all rules
3. Mandatory Trigger Scenarios
🟢 MUST trigger (no user reminder needed)
The first action MUST be Read ${OPENORDER_HOME}/INDEX.md when any of the following appears:
3.1 Ticker / company mentions
- Any equity ticker: US (4-letter), HK (4-digit), A-share (6-digit + .SZ/.SH), TW (.TW/.TWO), JP (.JP), KR, etc.
- Any company name (English or local language)
- Crypto: any token symbol (BTC, ETH, SOL, etc.) or protocol name
3.2 Industry / theme keywords
Replace this list with your own domain. Defaults below cover common AI / hard-tech / energy themes:
- Semiconductors: foundry, fab, EUV, lithography, advanced packaging, CoWoS, chiplet
- AI infra: hyperscaler capex, data center, scale-out, scale-up, NVLink, InfiniBand
- Photonics: optical interconnect, CPO, CW laser, EML, DFB, VCSEL, InP, SiPh
- Memory: HBM, HBM3E, HBM4, DDR5
- Energy / storage: SOFC, fuel cell, BESS, sodium-ion, long-duration storage
- Crypto: L1/L2, DeFi, perp DEX, stablecoin, restaking
- (extend with your own domain keywords in the customization layer below)
3.3 Framework / methodology keywords
- chokepoint, bottleneck, moat, value chain, supply chain
- super-cycle, supply-constrained, structural shortage
- target price, valuation, P/E, EV/EBITDA, DCF
- thesis, conviction, base/bull/bear case
3.4 Earnings / financial keywords
- earnings, guidance, beat, miss, transcript, 8-K, 10-Q, 10-K, FY/CY quarters
- any concrete metric (revenue, gross margin, EPS, capex, backlog, inventory) tied to a company
3.5 Trading / portfolio keywords
- "buy", "sell", "trim", "add", "short", "hedge"
- "position", "weight", "allocation", "portfolio", "basket"
3.6 Explicit operation keywords
- Ingest: "read this article", "ingest", "archive", "save this source"
- Lint: "lint wiki", "health check", "find contradictions", "self-audit"
- Query: any normal question (default mode)
🟡 Suggested triggers
- "value chain", "upstream/downstream", "picks and shovels"
- "AI beneficiaries", "second derivative plays"
- Any "X vs Y" comparison
4. Operation 1: READ (mandatory every time)
Trigger → Read INDEX.md (mandatory, ~5s)
↓
Determine relevance, then read as needed:
├── Company question → companies/{TICKER}.md
├── Industry question → industries/{NAME}/README.md
├── Framework question → frameworks/{NAME}.md
├── Historical earnings → earnings/{TICKER}-{Q}.md
├── Portfolio → portfolios/{NAME}.md
└── Timeline → log.md (newest first)
↓
When answering:
1. Cite information timestamps ("based on YYYY-MM-DD data")
2. Reference specific files ("see companies/{TICKER}.md")
3. If data is stale → use WebSearch to confirm current state
5. Operation 2: INGEST (when user provides a new source)
Triggered by: user pastes a URL, sends a tweet/article, says "read this", "ingest", "archive".
Standardized 5-step flow:
Step 1. Fetch full content
├── URL: WebFetch / Browser
├── Tweet: browser MCP
├── Earnings: pull from filing / SEC direct link
└── Write to raw// (immutable; only add metadata header)
Step 2. Extract entities + key findings
├── Which companies are mentioned? (existing/new in wiki)
├── Which industries / concepts?
├── Key numbers, quotes, contradictions
└── Confirm with user what to emphasize
Step 3. Update Wiki (may touch 10-15 files)
├── New company → use templates/company-template.md to create
├── Existing company → update "analysis log", revise bull/bear, adjust scores
├── Industry page → add "event tracking" entry
├── Framework → if validated/challenged, update framework file
└── Each file: top "Last updated" date + bottom changelog entry
Step 4. Append log.md (mandatory)
Add entry:
## [YYYY-MM-DD HH:MM] ingest | {title}
- Source: raw/.../{file}
- Key findings: ...
- Files touched: companies/X.md, industries/Y.md, ...
Step 5. Update INDEX.md
├── Update top "Last updated"
├── Update "Wiki navigation" table (if new files)
└── Update bottom "Update history"
After ingest, tell the user:
- Which files were modified (so they can review in Obsidian)
- Whether new findings need their decision
6. Operation 3: WRITE (when conversation produces new insights)
6.1 When to write
| Trigger event | Required write | |---|---| | User mentions an uncatalogued company | Immediately create companies/{TICKER}.md (use template) | | New earnings released or discussed | Create earnings/{TICKER}-{Q}.md + update company profile | | Conversation produces a new insight/analysis | Append to relevant file's "Analysis log" + log.md + INDEX.md | | User makes a trading decision (buy/sell) | Create or update portfolios/{NAME}.md + log.md | | Industry change (M&A, partnership, product launch) | Update industries/{NAME}/README.md "Event tracking" | | Framework validated or revised | Update relevant frameworks/ file + log.md |
6.2 Writing rules
Required metadata
- File top:
> **Last updated**: YYYY-MM-DD - File bottom: changelog (newest first)
- INDEX.md: update history + todos
- log.md: append one entry
Writing style
- Concrete data: not "revenue grew strongly" — say "revenue $1.81B (+27% YoY)"
- Cite sources: not "analysts think" — say "GS report 2026/3" or "CEO on Q3 FY26 transcript", with raw path
- Flag assumptions: model predictions must say "assuming X conditions"
- Bull/bear balance: every company profile MUST have both bull and bear arguments
Naming conventions
- Company:
companies/{TICKER}.md(e.g.AAPL.md,0700-HK.md,688012-SH.md) - Earnings:
earnings/{TICKER}-{QUARTER}.md(e.g.AAPL-Q1-FY26.md) - Industry:
industries/{NAME}/README.md - Framework:
frameworks/{NAME}.md(kebab-case) - Portfolio:
portfolios/{NAME}-{DATE}.md - Raw: see
raw/README.md
6.3 Templates
See templates/company-template.md and templates/earnings-template.md.
7. Operation 4: LOG (append on every write)
Location: ${OPENORDER_HOME}/log.md
Format (Karpathy convention — uniform prefix for grep):
## [YYYY-MM-DD HH:MM] {action} | {one-line summary}
- Trigger: {user prompt or event}
- Files touched: {file1}, {file2}, ...
- Key findings/decisions: {1-3 lines}
- Raw source: {path if applicable}
action values:
ingest— new source absorbedquery— user Q&A (only log if it produced new insight)lint— health checkdecision— real trading decisionrevise— corrected old thesisframework— framework update
How to append: use StrReplace at the top of the # Wiki Activity Log heading (newest first).
Benefit: grep "^## \[" log.md | tail -10 instantly shows recent activity.
8. Operation 5: LINT (periodic or explicit)
Triggered by: user says "lint wiki", "health check", "find contradictions"; or proactively offer monthly.
Lint 5 checks:
8.1 Contradictions
- Same company has conflicting target price / rating in
companies/X.mdvsportfolios/Y.md? - Industry ranking in
industries/.../README.mdconflicts withframeworks/.../*.mdscores? - Same metric different across multiple
earnings/files?
8.2 Staleness
- Company profile
Last updatedpredates its latest earnings → flag for update - Earnings file >90 days old but catalysts have passed → need a new earnings file?
8.3 Orphans
- Files in
companies/not referenced by any portfolio / framework / industry? - Raw sources without a corresponding wiki update?
8.4 Missing pages
- Companies/concepts mentioned multiple times across files but no profile (e.g. "Anritsu" cited 5 times but no
companies/Anritsu.md)? - Catalyst tables mention "watch X in YYYY/MM" — date passed without follow-up?
8.5 Data gaps
- Companies that haven't been refreshed in 30+ days
- Industries lacking a value-chain mermaid diagram
Lint output: a markdown report listing all issues + suggested next actions. Does not auto-modify — user decides.
9. Cross-Agent Compatibility
OpenOrder works with any AI agent that supports either SKILL.md or AGENTS.md:
| Agent | Skill mechanism | Install location | |---|---|---| | Claude Code (Anthropic) | SKILL.md (native) | ~/.claude/skills/openorder/ | | Cursor (IDE + CLI) | SKILL.md (compatible) | ~/.cursor/skills-cursor/openorder/ | | Codex CLI (OpenAI) | AGENTS.md or SKILL.md | ~/.codex/skills/openorder/ | | OpenCode (sst) | AGENTS.md | .opencode/agent/ or repo root | | Hermes Agent (NousResearch) | AGENTS.md + ~/.hermes/skills/ | ~/.hermes/skills/openorder/ | | OpenClaw | AGENTS.md | per project config | | Aider | CONVENTIONS.md | repo root (symlink to SKILL.md) | | Cline / Roo Code | .clinerules | repo root |
The repository ships both SKILL.md (this file) and AGENTS.md (mirror). The install.sh script auto-detects installed agents and creates the appropriate symlinks.
10. Special Scenarios
10.1 Uncatalogued company
- WebSearch latest financials + industry position
- Use
templates/company-template.mdto createcompanies/{TICKER}.md - Add to INDEX.md
- Append
log.mdingest entry - Answer the user
10.2 Stale data
- WebSearch confirms latest data
- Update file + INDEX.md timestamp
- Note in changelog: "YYYY-MM-DD: data updated from X to Y"
- Append
log.mdrevise entry
10.3 Conflict with new data
- New data wins
- Note conflict reason in changelog
- If thesis was wrong → revise bull/bear arguments
- Append
log.mdrevise entry
10.4 Real trading decision
- Create or update
portfolios/{NAME}.md - Record: entry/exit price, size, time, rationale
- Append
log.mddecision entry - Add "review reminder" todo to INDEX.md
11. Self-check Checklist
Before ending any conversation that touched stocks / industries:
- [ ] Did I read INDEX.md?
- [ ] Did I read the relevant company profile(s)?
- [ ] Did I answer using wiki content?
- [ ] Are there new data / insights that need to be written back?
- [ ] Is there a raw source to ingest?
- [ ] Does log.md need a new entry?
- [ ] Does INDEX.md need updating?
- [ ] Are there new todos?
If any answer is "no but should be yes", do it now.
12. Anti-patterns to avoid
❌ Anti-pattern 1: Answer without reading the wiki
Wrong: "AAPL is a consumer hardware company..." (from memory) Right: Read INDEX.md → Read companies/AAPL.md → answer based on wiki
❌ Anti-pattern 2: Read but don't update
Wrong: Use stale data and stop Right: If conversation produced new conclusion → append to file + log.md + INDEX.md
❌ Anti-pattern 3: Create file but don't update INDEX
Wrong: Create companies/NEW.md but INDEX.md unchanged Right: Every new file → update INDEX navigation table + log.md
❌ Anti-pattern 4: Write data without timestamps
Wrong: "revenue +20% YoY" (which quarter?) Right: "Q3 FY26 revenue $1.81B (+20.5% YoY), reported YYYY-MM-DD"
❌ Anti-pattern 5: Bull-only profiles
Wrong: List only positives Right: Every profile must have a bear case section
❌ Anti-pattern 6: Skip Raw layer when ingesting
Wrong: Summarize an article straight into wiki without storing the original Right: First save raw/articles/{date}-{slug}.md, then wiki references it
❌ Anti-pattern 7: Wiki changes without log.md entry
Wrong: Modify 5 files, log.md unchanged Right: Every write operation must append log.md (even one line)
13. Customization (fork to your domain)
OpenOrder ships investment research as the default domain. To adapt:
- Edit Section 3 trigger keywords to match your field (e.g. biotech, crypto, real estate)
- Edit
templates/to fit your entity type (instead of "company profile" → "drug pipeline" / "protocol" / "property") - Edit
frameworks/to fit your scoring methodology - Keep Sections 2/4/5/6/7/8 unchanged — these are domain-agnostic operations
See [docs/customize.md](docs/customize.md) for examples adapting OpenOrder to:
- Crypto research wiki
- Academic literature review
- Personal journaling / quantified self
- Internal team knowledge base
14. External Tools Integration
| Tool | Role | How agent uses it | |---|---|---| | Local markdown (this wiki) | Primary store | Read / Grep / Glob | | git | Version history + collaboration | git log + auto-commit hook | | Obsidian | Visual browse + bidirectional links | Vault → ${OPENORDER_HOME} | | WebSearch / Browser MCP | Real-time data + ingest | Standard tools |
15. Version History
| Version | Date | Changes | |---|---|---| | v1.0.0 | First public release | Open-sourced as OpenOrder |
16. Credits
OpenOrder's three-layer architecture (Raw / Wiki / Schema), log.md timeline, Lint operation, and Ingest workflow are directly inspired by Andrej Karpathy's LLM Wiki pattern:
The investment-research domain framing, chokepoint scoring methodology, and cross-agent install scaffolding are original to OpenOrder.
License: MIT. See [LICENSE](LICENSE).
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: realnaka
- Source: realnaka/alphaloop
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet — be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.