Thesis Tracker logo

Thesis Tracker

OrganizationPopular
ginlix-ai
thesis-tracker

Keep a live thesis honest: pillar status, evidence ledger, monitoring triggers, drift detection. Triggers on thesis tracker, thesis update, is the thesis still intact, post-earnings thesis check, portfolio thesis review, re-underwrite.

Overview

Publisherginlix-ai
RepositoryLangAlpha
Skill namethesis-tracker
Stars
1.8K
Forks
288
Bundled files
1
LicenseApache-2.0
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • 1 bundled files

    Scripts, templates, and references the model can read while it works. Files are read-only and never executed.

  • Open source

    Published by ginlix-ai on GitHub. Read the source before you install it.

Installation

Install the Thesis Tracker AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/ginlix-ai/LangAlpha.git /tmp/LangAlpha
mkdir -p .claude/skills
cp -r /tmp/LangAlpha/plugins/langalpha_research/skills/thesis-tracker .claude/skills/thesis-tracker
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Thesis Tracker in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Thesis Tracker on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Thesis Tracker is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

Thesis Tracker

Two verdicts per update, because they move apart: the company thesis says whether the business is doing what we underwrote, and the security call says whether the stock is a decision we can act on today. A business can improve while the stock gets worse, since expectations rerate faster than evidence arrives, and a weakening business does not license a trim when we hold no price, no valuation frame and no position context. One status column hides both cases.

Evidence labels, source tiers, staleness, the readiness posture and the intake limits: .agents/skills/research-conventions/SKILL.md, read before the first deliverable.

The tracker is append-only. Prior pillars, thresholds and ledger rows stay as written; a row that no longer holds is marked superseded or stale with its date, or contradicted by a named later row, and the replacement is a new row. Drift is only visible against a history that was not edited, and catching drift is what the tracker is for.

Step 1: Take the mode, then frame the thesis and its pillars

The mode comes from what the user supplies, and its default runs without asking.

SuppliedModeDefault behaviour
Nothingblank shellEmit the empty structure below, list the minimum inputs, populate nothing
A ticker onlyframeDraft candidate pillars from filings and consensus, each carrying the evidence label its support earns and a draft provenance until the user confirms it
An existing thesisloadParse it into pillar records, and mark each field the source did not carry as missing
A thesis plus a developmentupdateRun the remaining steps on the delta only
A print, transcript or filingpost-earningsUpdate, with the evidence-quality parse in step 2 done first
Several positionsportfolio reviewPer name: aggregate status and security call, then four groups, priority actions, names deteriorating, names where evidence improved but risk and reward worsened, and catalysts inside the horizon
A long and a short as a pairpairedOne tracker per leg, plus what breaks the pair rather than either leg

Three to five pillars, each a claim that evidence could kill. A claim nothing could disconfirm is a preference, not a pillar.

Every pillar carries these fields:

FieldCarries
Claimone falsifiable sentence
Prioritycore or supporting; core pillars drive the reconciliation rule in step 3
Baselinethe figure at underwriting, with its as-of
Expected pathwhat the metric does, by when
Confirm / warning / break thresholdsthree levels, each with a provenance label; the break level is the exit trigger the thesis was written with
Latest evidencethe ledger row id and date from step 2
Signalthe current direction on the step 2 scale
Evidence qualitythe label from .agents/skills/research-conventions/references/evidence.md
Provenanceinherited, draft or approved per the note below: mandate approval, never a restatement of evidence quality
Model linethe line item this pillar drives, so a break has somewhere to land
Implied actionwhat a break implies, in the verb vocabulary of step 2
Next proof pointthe dated release or event that tests it
Ownerwho does the work

Provenance. Every pillar, threshold and action trigger is labelled inherited (written in the original underwriting), draft (our proposal, awaiting confirmation) or approved (an agreed monitoring rule). A pillar or level we introduce stays draft until the user confirms it, so an analyst-chosen exit price reads as a proposal rather than a mandate rule. This tracks approval, not support: a pillar drawn from a filing is fact on the evidence labels and still draft until someone signs off on it.

Blank shell. With no thesis supplied, deliver the empty structure and ask for the minimum inputs: ticker, direction, horizon, the two or three claims the position rests on, and any thresholds the user already runs. Fill nothing from memory, and say plainly which fields are waiting.

Done when the mode is named, every pillar carries all thirteen fields or names the field as missing, every pillar and threshold carries a provenance label, and no field holds a figure without a source.

Step 2: Append to the evidence ledger

One row per data point, appended, never rewritten:

FieldCarries
Id and datestable row id, the date the fact arrived
Reporting periodthe fiscal period the fact belongs to, per .agents/skills/research-conventions/references/market-data-rules.md
Source and typethe document or tool call, and its evidence label
Factwhat was reported, in figures
Our prior expectationwhat we had modelled
Market expectationconsensus or the visible bogey, with its vintage
Interpretationwhat it means for the claim, in one sentence
Pillarwhich pillar it lands on
Signal and magnitudefrom the scale below
Evidence qualityper the evidence labels
Impactmodel, valuation, confidence, and the action taken
Follow-up and ownerthe next piece of work and who holds it

Signal scale, used as a qualitative discipline: strongly confirming, confirming, mildly confirming, neutral, mildly weakening, weakening, strongly weakening, plus mixed, invalidating and untested. Read the distribution of signals across a pillar and state the direction in words. Summing them into a composite score invents precision the evidence does not carry.

Evidence-quality parse. A headline beat becomes evidence only once it is decomposed: volume against price against mix, cost actions, tax rate, share count and buyback, currency, one-time items, KPI definition quality, the shape of guidance, revisions beyond the next quarter, cash conversion. Name which component carried the beat and whether it recurs. A beat that came from tax and share count leaves every operating pillar untested.

Management credibility. Commentary earns weight when it is quantified, consistent with what was said last quarter, specific about the mechanism, and candid about what went wrong. Vague optimism, a changed KPI definition and selective disclosure earn none. Write which of the two you are looking at.

Accounting red flags. Each one lowers evidence quality on the pillar it touches and opens a dated follow-up: a KPI definition or disclosure change, non-GAAP adjustments growing as a share of earnings, a revenue-recognition change, receivables or inventory building faster than sales, cash conversion falling away from reported earnings, a spike in capitalised costs, a segment restatement, an auditor or CFO departure, related-party transactions, and "one-time" charges that recur.

Action. The verb comes from the closed vocabulary in .agents/skills/research-conventions/references/judgment.md, which also states the inputs each verb needs before it is available. The tracker adds no verbs: on a short leg the reader's word for exit is cover. Its two workflow outcomes, update model when the change lands in a line item and escalate when a threshold in step 7 fires, are steps the tracker takes rather than position actions, and they sit beside the verb rather than in its slot.

Done when every new data point is one ledger row naming its pillar, its signal and its evidence quality, prior rows are unchanged, and every action verb has its inputs in hand.

Step 3: Status the pillars and reconcile the aggregate

Each pillar takes exactly one of eight values:

StatusMeans
strengtheningevidence beat the expected path and the path ahead is unchanged or better
intactevidence is consistent with the expected path
watcha warning threshold was touched, or evidence is mixed; the next proof point decides it
impaireda break threshold was crossed here while the thesis still stands on the other pillars
brokenthe claim failed and the reason to own it is gone
changedthe business is doing something other than what we underwrote, so the old claim no longer applies
untestedno evidence has reached this pillar since underwriting
retireddeliberately closed, with the date and the reason

Reconciliation. The aggregate follows the core pillars. One core pillar at impaired with an aggregate more benign than watch requires an evidenced override, written as one sentence naming what offsets it and the evidence behind the offset. Two or more core pillars at impaired set the aggregate to impaired. A core pillar at broken or changed sets the aggregate to the same. This is the anti-drift mechanism: without it the aggregate sits at intact for a year while the pillars underneath it rot.

The scorecard the reader sees is one row per pillar, in this shape:

PillarPriorityExpected pathLatest evidenceSignalStatus

Scoring honesty. Weighted pillar scores and conviction charts appear only when the user's own method defines the weights. Absent that, the aggregate is one of the eight words plus the sentence that justifies it.

Done when every pillar carries one of the eight values, the aggregate is reconciled or the override sentence is written, and no numeric conviction score appears that the user did not define.

Step 4: Rate the security call

CallHolds when
callablethe action verb and every input it needs are in hand
conditionalcallable once one named input arrives; name it and the date it arrives
re-underwritethe thesis changed, so the call goes back through the initiation rather than through a trim
inputs missingan input the call needs is missing

These four are the status of one object, the security call, not a readiness scale: the artifact still carries one posture from the ladder in .agents/skills/research-conventions/SKILL.md, read against its input state.

The gate. Without a current price, a valuation frame or the position context (size, cost basis, benchmark weight), the security call is inputs missing and says which of the three is missing. A weakening company thesis converts into re-underwrite or into a monitoring item, and a valuation-led action waits for the valuation input.

Price action is a signal to decompose. Before a price move enters the update as evidence, split it across fundamentals, estimate revisions, multiple change, factor and sector beta, positioning and crowding, liquidity and flows, options and hedging, and macro. Attribute what the data supports and say what stays unattributed. A move nobody can attribute is a question, not a confirmation, and price remains a statement of belief per .agents/skills/research-conventions/references/judgment.md.

Done when the security call carries one of the four values, any value other than callable names the missing input and what would supply it, and every price move cited in the update carries its decomposition.

Step 5: Monitoring and the KPI tracker

MetricThresholdSourceWindowConfirming signalDisconfirming signalAction if crossedAction if notProvenance

That is the six columns the monitored-item table in .agents/skills/research-conventions/references/judgment.md requires, plus the tracker's three: the two signal columns, which are what make the row usable by whoever reads it on the day, and provenance.

KPI tracker, one row per tracked metric, with every comparison basis present:

KPIThis periodPrior periodOur estimateGuidanceConsensusThresholdPeers

A comparison we cannot get is marked n/a with the reason in the cell. Dropping the column hides that the KPI was never compared to the thing that would have moved the thesis.

Which KPIs a sector rewards tracking, and the warning sign that shows up first in each: .agents/skills/thesis-tracker/references/sector-signals.md, read when the name is outside a sector you have already framed pillars for.

Done when every monitored item names the action on each side of its threshold, and every KPI row shows all six comparison bases or marks the missing one with its reason.

Step 6: Drift and red team

Mark each drift pattern present or absent, by name, in every update:

  1. The reason changed. Today's rationale is not the underwriting rationale, and no re-underwrite recorded the switch.
  2. Catalyst laundering. A catalyst passed without the expected result and was replaced by qualitative rationale rather than a new dated proof point.
  3. Valuation substitution. "It is cheap" quietly took over from the growth or margin pillar we actually underwrote.
  4. Dismissal by horizon. Repeated disconfirming evidence is being set aside as long-term noise.
  5. Protection as reason. Downside protection became the reason to hold a position taken for upside.

Then red-team the current view: the strongest opposing case as its holder would put it (per .agents/skills/research-conventions/references/judgment.md), the evidence behind it, what would make it right, what would change our recommendation, the open questions, and the next review date. Useful prompts across sectors: is the debate about growth, margin, multiple, balance sheet, management credibility or regulation; is the KPI we track leading or lagging; is the weakness cyclical, company-specific or structural; and what does the current price already assume.

Done when each of the five patterns is marked present or absent, and the red team names a view someone actually holds with the evidence that supports it.

Step 7: Operating model and output

The artifact opens with the operating model, so the reader knows who acts and when:

SlotValue
PM decision owner
Analyst owner
Evidence and ledger owner
KPI and model owner
Review cadencequarterly at minimum, and on every catalyst
Post-catalyst update deadlinethe working days after an event by which the ledger and statuses are updated
Escalation triggersa break threshold crossed, the aggregate at impaired or worse, or the security call inputs missing for two consecutive cycles
Next review gatethe date, and the decision that gate makes

Order of the deliverable: header (aggregate status, security call, readiness posture, as-of), operating model, pillar scorecard, KPI tracker, monitoring table, ledger rows added since the last version, drift and red team, next gate. Markdown for a morning meeting, or Word through .agents/skills/docx/SKILL.md for a review pack. Save to $WORK_DIR/work/{task}/.

Route the work the tracker uncovers rather than doing it here: dated events to .agents/skills/catalyst-calendar/SKILL.md, a changed line item to .agents/skills/model-update/SKILL.md, a re-underwrite call to .agents/skills/initiating-coverage/SKILL.md, and a print that needs full decomposition to .agents/skills/earnings-analysis/SKILL.md.

Done when both verdicts and the posture are in the first screen of the artifact, the ledger delta lists every row added since the previous version, and the next review gate carries a date.

Bundled files

The model reads these on demand while the skill is loaded. They are exposed as readable files and are never executed.

Frequently asked questions

What does the Thesis Tracker AI skill do?

Keep a live thesis honest: pillar status, evidence ledger, monitoring triggers, drift detection. Triggers on thesis tracker, thesis update, is the thesis still intact, post-earnings thesis check, portfolio thesis review, re-underwrite.

Why use Thesis Tracker on TypingMind?

Because you install it once and use it with any model. Thesis Tracker is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Thesis Tracker in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/ginlix-ai/LangAlpha/tree/main/plugins/langalpha_research/skills/thesis-tracker. TypingMind reads its SKILL.md and bundles its files and installs it as a skill you can enable per chat.

Which AI models can use Thesis Tracker?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Thesis Tracker?

As many as you like. As long as a model supports skills, you can use Thesis Tracker with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Thesis Tracker AI skill free?

Yes. It is published on GitHub by ginlix-ai under the Apache-2.0 license. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇