본문으로 건너뛰기
cccskills
무료GitHub에 공개

earnings-sweep

Earnings-season triage across ALL active theses (not just Live Portfolio holdings) — every earnings call reported inside the window gets a Quartr event summary, a Conviction-Trigger/Outstanding-Questions cross-reference, and a coverage check against existing Research notes, producing a ranked deep-read queue for /transcript. Use when user says "earnings sweep", "who reported", "triage earnings", "catch up on earnings season", or after any earnings-heavy stretch. Default window 14 days; `/earnings-sweep 90` covers a full season.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

실행 점수 미검증

설치 방법 보기

포함된 파일(1)

  • SKILL.md7.2 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

The breadth layer /transcript lacks: one pass over every active-thesis earnings call in the window, cheap summaries first, so the expensive deep reads land only where a thesis is actually touched. Universe = all status: active theses via the /event-sweep-maintained "Vault Active" watchlist (which mirrors exactly that set, self-healing on /status transitions) — NOT the Live Portfolio holdings table, which is a subset. Output is a scanning surface in Daily Intel/ (pruned by /clean daily-intel), never a Research note: the paper trail starts when a recommended /transcript runs.

Division of labour vs /event-sweep (keep these from drifting into each other): /event-sweep is the scheduled weekly surveillance of ALL event types at fixed cadence; /earnings-sweep is on-demand, earnings-only, takes an arbitrary window (a fortnight or a whole season), adds the coverage dedupe (which reporters already have vault research) and the ranked deep-read queue. During earnings season the weekly sweep says "these reported"; this skill says "here is the order in which to actually read them, and which ones you already covered".

Arguments

  • /earnings-sweep — window = last 14 days
  • /earnings-sweep [N] — window = last N days (clamp 1-120; a season is ~90)

Step 0: Pre-flight

  1. Lock: vault-wide per _shared/preflight.md Procedure 1, timeout 10 min.
  2. Rename-marker: glob .rename_incomplete.* — warn-only (no thesis edits in this skill).
  3. Quartr probe (hard): per _shared/quartr.md §1 load list_events,get_event_summary,read_transcript. Unavailable → abort (no fallback source for summaries).
  4. Universe: read .data/quartr_watchlist.json → watchlistId + members. Missing → recompute active set from thesis frontmatter (grep -l '^status: active' Theses/*.md), resolve via .data/quartr_ids.json, and emit ℹ️ watchlist state missing — run /event-sweep --setup to persist; proceeding from thesis frontmatter (per-company list_events fan-out in that degraded case, capped at the active count).
  5. Mental models (light tier): [[Generalist - Overview]] only — triage flags follow the READING PROTOCOL (touches are hypotheses; "confirms"/"fires" language banned in the digest).

Step 1: Find the reporters

mcp__quartr__list_events {watchlistId, startDate: TODAY-N, endDate: TOMORROW, expand: ["transcript"], limit: 200, order: "desc"}

Filter to parentEventType: "earnings_call" (covers q_1…q_4, h_1/h_2). Partition: transcript-bearing (summary queue) vs reported-no-transcript-yet (list with transcript pending — re-run in a few days tag). limit hit → page by date and warn on truncation, never silently drop reporters.

Step 2: Coverage dedupe (before spending a single summary call)

Per reporter, check whether the vault already ingested this print: glob Research/*[TICKER]* for notes dated on/after the event date with source_type: earnings or transcript_quarter matching the event's quarter, and grep the thesis ## Log for a Transcript ingested: [QN-YYYY] entry. Already covered → the reporter appears in the digest under Already ingested with its note wikilink and drops out of the queue. This is the anti-duplicate-work layer: a season-length window re-run must not recommend re-reading what /transcript already processed.

Step 3: Summaries + cross-reference (uncovered reporters only)

Per uncovered reporter:

  1. get_event_summary {eventId} — render at full detail into the digest (every substantive bullet; only legal boilerplate cut — same contract as /event-sweep Step 3). Null summary + transcript available → read_transcript {section: "qna"} fallback capped at 3 per run; beyond the cap, tag summary pending — deep-read directly.
  2. Targeted section reads of the thesis: ## Conviction Triggers + ## Outstanding Questions (+ ## Key Metrics table row for the guidance comparison). Flag every summary bullet that bears on a trigger variable, an open question, or moves a guided figure the thesis quotes. Record direction it appears to point + the deep link.

Step 4: Rank the deep-read queue

Score per reporter (transparent, mechanical): +3 per trigger-variable touch · +2 per Outstanding-Question touch · +1 for a guidance change vs what the thesis carries · +1 if conviction: high · −1 if the summary is pure in-line-quarter with no framing change. Sort descending; ties break by conviction then market-cap-agnostic recency. The queue is a recommendation list of /transcript TICKER commands in order — the user (or a later session) executes; this skill never runs them.

Step 5: Write the digest

Daily Intel/YYYY-MM-DD - Earnings Sweep.md — frontmatter date, tags: [meta, daily-intel, earnings-sweep], window: <start>..<end>; no publish:. Structure:

# Earnings Sweep — [window]

[stats: M active names · R reported in window · C already ingested · U triaged · Q queued for deep reads]

## Deep-read queue (ranked)
[1. /transcript TICKER — score N — one-line why (the strongest touch) · event link]

## Trigger/question touches
[table: TICKER · summary bullet · trigger/question touched · apparent direction · deep link]

## By reporter (full summaries)
### TICKER — QN FYYY (date) — [event URL]
[full summary per Step 3 · guidance-vs-thesis note · → queue position or "no thesis touch — skim only"]

## Already ingested
[TICKER · quarter · [[existing research note]]]

## Pending transcripts
[TICKER · reported date · re-run hint]

No thesis writes, no Log entries, no _hot.md. Summaries are pointers (contract §6): figures reach theses only through /transcript or filings.

Step 6: Release lock + report

Stats line, top 3 of the queue with their one-line whys, digest wikilink.

Design constraints (xxx DO NOT VIOLATE xxx)

  1. Universe is active theses, not holdings. The Live Portfolio table is a subset of the book's attention; a thesis being researched deserves earnings triage before it is owned.
  2. Dedupe before spend. Step 2 runs before any summary call — a 90-day re-run over a covered season should cost near zero and recommend nothing already done.
  3. Flag, never conclude; summaries are pointers. Same discipline as /event-sweep; the ranked queue is the only opinion this skill emits, and it is an attention ranking, not a verdict.
  4. Bounded cost. One events query + one summary per uncovered reporter + ≤3 qna fallbacks. Season-length windows are bounded by reality (~44 names × ≤2 prints an actual quarter-window contains).

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

Sweep addressed callouts older than a threshold (default 180 days) into the target note's

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

jameswong2011/InvestmentVault32026년 10월 16일 업데이트

Extract a thesis's load-bearing assumptions and scan for internal contradictions — the falsifiable claims the bull case requires, what would falsify each, and where the thesis's own Risks / Bear Case / research already argue against it. Use when user says "assumptions", "what must be true", "load-bearing assumptions", or "does [TICKER] contradict itself".

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

jameswong2011/InvestmentVault32026년 10월 16일 업데이트

brief

무료

Generate a concise 1-page investment brief from a thesis — the elevator pitch version. Use when user says "brief", "summarise thesis", "pitch me [TICKER]", "one-pager", or "investment memo".

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

jameswong2011/InvestmentVault32026년 10월 16일 업데이트

catalyst

무료

Extract and maintain a cross-portfolio catalyst calendar from all thesis notes. Use when user says "catalyst", "calendar", "what's coming up", "upcoming events", or "what could move the portfolio".

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

jameswong2011/InvestmentVault32026년 10월 16일 업데이트

clean

무료

Delete old snapshots from _Archive/Snapshots/. Accepts a day threshold (default 180). Also `daily-intel [days]` mode — prune auto-generated n8n scanning surfaces (news briefs, X dashboards) from Daily Intel/ older than 90 days. Use when user says "clean", "clean snapshots", "delete old snapshots", "clean daily intel", or when /lint flags stale snapshots.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

jameswong2011/InvestmentVault32026년 10월 16일 업데이트

clean

무료

Delete old snapshots from _Archive/Snapshots/. Accepts a day threshold (default 180). Also `daily-intel [days]` mode — prune auto-generated n8n scanning surfaces (news briefs, X dashboards) from Daily Intel/ older than 90 days. Use when user says "clean", "clean snapshots", "delete old snapshots", "clean daily intel", or when $lint flags stale snapshots.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

jameswong2011/InvestmentVault32026년 10월 16일 업데이트

jameswong2011의 스킬 모두 보기

이 스킬의 문제 신고