TradeLoop Wiki for Claude, Cursor, ChatGPT & agents
The trader's persistent memory — plain markdown + git at ~/.tradeloop/wiki/trading/, Obsidian-compatible, no lock-in
curl -fsSL https://tradeloop.top/install.sh | shmacOS / Linux. Windows + manual install.
What it does
The trader's persistent memory — plain markdown + git at ~/.tradeloop/wiki/trading/, Obsidian-compatible, no lock-in. CORE PRINCIPLE — the wiki is GROUND TRUTH for what YOU (the agent) have read and concluded before. When the user mentions a ticker, a setup, a past run ('上次 NVDA 的 thesis', 'what did we conclude about the breakout', 'prep me on AAPL', 'remind me why I watched SE') → wiki__search / wiki__grep FIRST, then read_page the hits in full. An empty result IS information ('no prior notes on X') — say it verbatim. WRITE TRIGGERS: after any research run / playbook / brief ('记下来', 'save this', 'journal it', or a playbook's journal step) → write_page. LAYOUT — one canonical wiki `trading` (auto-created; legacy wikis remain readable via name=): raw/ = dated artifacts: journal/ (run logs, YYYY-MM-DD-slug), premarket/, briefs/, research/, earnings/, trades/ (decision log — research only, never advice), screens/, macro/, filings/, web/, media/. wiki/ = the DISTILLED layer that compounds: tickers/ (ONE LIVING PAGE PER SYMBOL — thesis, key levels, upcoming events, '## Read history' that every run appends to), sectors/, setups/ (pattern knowledge), lessons/ (post-mortems), entities/, concepts/, analyses/. Every raw write returns a synthesis_next_step — usually 'update wiki/tickers/<SYM>.md' — EXECUTE IT; that is how daily runs compound into theses. Call wiki_rules() once per conversation for the full contract.
The TradeLoop Wiki skill is one of 40+ pre-wired TradeLoop integrations that any MCP-compatible client — Claude Desktop, Claude Code, Cursor, Windsurf, Codex CLI, and ChatGPT desktop — can call out of the box. You don't configure MCP servers or copy API keys into a JSON file; the TradeLoop daemon discovers the skill at startup and exposes its tools to whichever AI client is running.
Sample prompts
Once TradeLoop is installed and TradeLoop Wiki is connected, ask your agent something like:
- “Read the latest 10-K, then file a summary into my research wiki under the ticker.”
- “Search my trade journal for everything I know about my NVDA thesis.”
- “Show the index page of my research wiki and list all active tickers.”
Tools available (28)
wiki__wiki_initBootstrap a wiki at ~/.tradeloop/wiki/<name>/: git init, raw/{journal,premarket,briefs,research,earnings,trades,screens,macro,filings,web,media}/, wiki/{tickers,sectors,setups,lessons,entities,concepts,analyses}/, README/index/log, Obsidian vault config. Idempotent. Usually unnecessary — the canonical `trading` wiki au
wiki__wiki_listEnumerate every wiki on disk under ~/.tradeloop/wiki/ — name, page count, last commit, per-wiki extensions. Use this when you need to know which wikis exist before deciding where to file content, or when the user asks 'what wikis do I have'. Auto-fires the canonical bootstrap on first call so default/work/personal/hobb
wiki__wiki_rulesReturn the full wiki maintenance contract — layout, ingest workflow, page conventions, citation rules, anti-patterns. CALL THIS ONCE per conversation before doing any wiki work; the rules are too long to embed in every tool description and you need them to behave as a disciplined wiki maintainer instead of a generic ag
wiki__read_pageRead a markdown file in the wiki by path relative to the wiki root (e.g. 'wiki/concepts/attention.md', 'raw/papers/vaswani-2017.md'). Returns parsed frontmatter + body + raw text. Use this BEFORE write_page on existing files so you integrate rather than overwrite. Returns exists=false if the path doesn't exist (not an
wiki__write_pageStore / save / write / archive / persist / commit / record a markdown page in the wiki. The canonical path for 'remember this for later', 'add to my notes', 'save to wiki', '保存到', '记录到'. Auto-commits to git so writes are durable. Path must start with 'raw/' or 'wiki/' and end with .md. NEVER edit raw/ files once writte
wiki__list_pagesList markdown files in one or more wikis, optionally filtered by path prefix, frontmatter type/tag, or recency (since/since_field). Returns frontmatter summaries (NO body — use read_page for full content). Sorted by last-updated descending. Common uses: scope a search ('what concept pages exist?'), check what already e
wiki__searchFull-text BM25 search across one or more wikis using SQLite FTS5. Returns ranked hits with snippet excerpts (matches highlighted with «»). READ-side default — call this whenever the user mentions a person / company / project / topic and your answer would benefit from prior context. Triggers: 'prep for my meeting with X
wiki__grepLine-level grep across wiki markdown — the companion to `search`. Where `search` returns BM25-ranked PAGE-level hits (good for 'find the relevant doc'), `grep` returns EVERY line-level match within max_results, with NO ranking — the agent picks. Use this when: • Compound queries (`Bob` AND `roadmap` both appearing):
wiki__create_entityAtomic synthesis-layer write — entity (or concept/analysis) page PLUS optional index.md append PLUS optional log.md append in ONE tool call with a single git commit. Replaces the 3-call sequence (write_page entity → write_page index → log) so the agent doesn't burn 3 user-confirmation round-trips on clients like Claude
wiki__attach_fileCopy a binary file (image, PDF, etc.) from anywhere on disk into raw/<subdir>/. Used for sources whose ground truth is non-text. Workflow: (1) agent reads the image via its native vision capability OR reads the PDF via Read; (2) agent calls attach_file to copy the original binary into the wiki; (3) agent calls write_pa
wiki__attach_urlDownload an HTTP(S) URL into raw/<dest>. Companion to attach_file: instead of taking a local path, takes a URL — useful for arxiv papers, public PDFs, web images that the user references by URL but hasn't saved to disk. Skill streams the response, fails fast on Content-Length over 10 MB, and aborts mid-stream if runnin
wiki__delete_pageHard-delete a page via `git rm`. Auto-commits. Use sparingly — for legitimate removal (mistaken file, merged duplicate, wrong slug). Preferred over write_page with empty body (which leaves the file as a 0-byte zombie). Recoverable via git: `git checkout HEAD~1 -- <path>` from the wiki root. NEVER delete raw/ files unle
wiki__move_pageRename / relocate a page via `git mv` AND auto-rewrite every [[wikilink]] in the wiki that pointed at the old path so it points at the new one. The rewrite preserves each link's original .md/no-.md style plus any #anchor or |alias suffix, and the entire move + rewrites land in a single git commit. Both paths must be in
wiki__list_backlinksReturn every page that references the given path, two ways: `wikilinks` (pages whose body contains a [[wikilink]] to this path — 'mentions / connects to') and `cited_in` (pages whose frontmatter.sources lists this path — 'derives from'). Both are returned because asking 'which pages reference X?' typically wants both.
wiki__graph_neighborsWalk the wiki's link graph and return everything within `depth` hops of `path`. Goes beyond list_backlinks: traverses three edge types — body wikilinks, frontmatter.sources, and frontmatter.superseded_by — in either or both directions, multi-hop. Use when you want the full neighbourhood around a page in one call (clust
wiki__graph_pathShortest path between two pages in the link graph. BFS-guaranteed shortest. Returns the ordered node sequence + the edge sequence between them, or `path: null` if no path within max_depth. Use when you want to explain WHY two pages are connected ('trace the chain that joins decision X to paper Y') — list_backlinks only
wiki__graph_centralityRank pages by structural importance in the link graph. Three flavours: 'degree' (in-degree, most-cited; default — single SQL group-by, ~instant), 'out_degree' (most-citing — finds hub pages), 'pagerank' (transitive importance via 30-iter power method — captures 'cited by other important pages' rather than raw citation
wiki__graph_subgraphExtract the subgraph rooted at a SET of starting pages — either listed explicitly via `paths` or matched via `prefix`. Returns the same node/edge shape as graph_neighbors so callers can post-process uniformly. Use this when you want the neighbourhood around an entire topic, not just one page (graph_subgraph(prefix='wik
wiki__supersede_sourceRedirect all wiki/ frontmatter.sources references from old_path to new_path in a single commit. Used when a raw/ source has been re-ingested under a versioned slug (raw/papers/foo.md → raw/papers/foo-v2.md) and the existing wiki/ pages should now cite the newer version. Walks every wiki/ page, replaces old_path with ne
wiki__lintRun a static health-check scan over the wiki. Pure scan — no LLM, no edits. Use when the user asks to 'audit / lint / clean up the wiki' or after a batch of moves / deletes / ingests where dead links may have accumulated. Returns structured findings the agent should review with the user before acting on. Checks (defaul
wiki__git_syncCommit any external (Obsidian / VS Code / manual) edits sitting in the wiki's working tree to git so the next read or write sees a consistent state. Every individual write_page / move_page / delete_page / attach_file already runs this automatically as a pre-write step — you only need to call git_sync explicitly at the
wiki__open_wikiOpen the wiki root (or a specific page) in the user's preferred app. By default ('auto' mode) routes to Obsidian when it's installed (detected via obsidian.json existence) and to the system file manager otherwise — opening into Obsidian is the natural target since wiki_init ships an Obsidian-friendly .obsidian/app.json
wiki__logAppend a structured timestamped entry to wiki/log.md. Call this after each ingest (raw source → wiki pages), each lint pass, or any notable wiki edit, so the user has a chronological record of how the wiki evolved. Format on disk: '## [<ISO date>] <kind> | <text>'. Common kinds: ingest, query, edit, lint, note. Don't l
wiki__reindex_pathRe-index a single page in a wiki's FTS sqlite. Idempotent — re-running on the same path replaces the row in place. Use when an EXTERNAL writer (e.g. another skill or the daemon writing a .md file directly) has touched a .md file that wiki itself didn't write — without this nudge, search()/list_pages() won't see the cha
wiki__predictLog a probabilistic PREDICTION into the wiki's forecasting ledger: claim (what you expect), p (probability 0-1 or a % like 70), resolve_by (YYYY-MM-DD to grade it), optional ticker / resolves_when (criterion) / source_path (the thesis page). The feedback loop that turns research volume into calibrated skill — resolve i
wiki__resolve_predictionGrade a prediction by id: outcome = yes (came true) | no | void (moot, excluded from scoring). Stamps resolved_at. Call for predictions() status='due'.
wiki__predictionsList predictions. status: open (unresolved) | due (unresolved AND resolve_by ≤ today — grade these) | resolved | all. Optional ticker filter. Also returns due_now count.
wiki__calibrationScore forecasting skill over resolved predictions: Brier score (0 perfect, 0.25 = coin-flip at 50%, lower better), hit rate vs mean confidence, over/under-confidence tilt, and a probability-bucketed calibration table (Tetlock/superforecasting). Optional ticker / since.
How to connect
TradeLoop Wiki is a no-auth skill — there's nothing to connect. Once TradeLoop is installed, your agent can call its tools immediately.
- Run
curl -fsSL https://tradeloop.top/install.sh | shon macOS / Linux (or the PowerShell command on Windows). - Run
tradeloop loginto create your account and a device-bound encryption key. - Run
tradeloop updateto sync the skill + credentials to every installed AI client.
Pricing
Free at every TradeLoop tier. Connect your account once at /connect; the OAuth or API-key credential stays encrypted on your machine and syncs to your other devices via the TradeLoop vault.
See the full TradeLoop pricing breakdown — Free $0/mo, Pro $29/mo, Ultra $99/mo — on the homepage.
Related
Looking at TradeLoop Wiki? You may also want:
- Google Sheets — read cell values from a spreadsheet range, write 2D arrays of values, create new spreadsheets, and list tabs / sheet metadata
- Notion — search across pages and databases, read page content, create new pages in a workspace, parent page, or data source, update page properties or append Markdown content, query databases with...
Or browse all 40 skills in the TradeLoop catalog.