research
MAmattpocock/skills288k近 7 天新增 10,178 个 star
Find long and short candidates across a universe when no name is on the table yet: mandate, universe validation, archetype screens, thematic sweep, triage, idea cards, idea log. Triggers on idea generation, stock screen, find ideas, what looks interesting, screen for, new ideas, pitch me something.
A funnel, not a screen dump. A name that clears a filter is a candidate: it has earned the next hour of work, nothing more. The output is a short ranked list where each name says why it surfaced, what would have to be true, and what would kill it, plus the names that screened well and were rejected, which is where most of the learning sits.
Evidence labels, source tiers, staleness, the readiness posture and the intake limits: .agents/skills/research-conventions/SKILL.md, read before the first deliverable.
Read the investor-mandate memory first per .agents/skills/research-conventions/references/intake.md, then ask only about the forks it leaves open. Record every slot, with a disclosed default where nothing fixes it:
| Slot | Default when unstated |
|---|---|
| Mandate and vehicle | long-only fundamental |
| Objective | absolute return over a multi-quarter horizon |
| Direction | long, plus shorts only where the mandate allows them |
| Horizon | two to eight quarters, which is what the screens below are calibrated for |
| Geography and listing | the user's home market, primary listings |
| Market-cap range | above the liquidity floor, otherwise unrestricted |
| Liquidity floor | a minimum daily traded value the position size could clear in a few days |
| Benchmark | the mandate's index, or none stated |
| Instruments and constraints | common equity; restricted lists, borrow availability and position limits taken from the user when they exist |
| Theme | none, unless the request names one |
Done when every slot carries a value or a default that the delivery message discloses.
Screen metrics lie on a universe nobody cleaned:
Done when every candidate resolves to one traded line with its liquidity measured, and each flagged name carries the flag that will distort its screen output.
Choose two to four archetypes that fit the mandate rather than ranking one composite score. An archetype names a specific way a mispricing happens, which is what makes the false-positive test possible: a composite rank has no characteristic failure mode, so nothing can be tested against it.
Long archetypes: quality compounder, growth at a reasonable price, revision inflection, derated quality, self-help margin expansion, capital-allocation catalyst, sum-of-the-parts, post-earnings overreaction. Short archetypes: over-earning, deteriorating revisions, quality trap, balance sheet and refinancing, narrative excess, accounting and cash conversion.
The signal set for each archetype and, in the same entry, the ways that signal is characteristically wrong: .agents/skills/idea-generation/references/screen-archetypes.md, read before the first screen runs and again when a survivor is triaged.
screen_stocks with filters (market cap, sector, price, volume, beta, dividend) for the initial candidate list.get_company_overview for the snapshot: ratios, earnings history, consensus, price targets.get_financial_statements(symbol) for income statement, balance sheet and cash flow; get_insider_trades(symbol) for insider transactions and buy/sell statistics; get_shares_float(symbol) for float and share count; get_technical_indicator(symbol, 'rsi') and get_technical_indicator(symbol, 'macd') for the technical overlay.get_short_data(symbol) for short interest and short volume, US names only.WebSearch and WebFetch for recent news and catalysts.The valuation base comes from the sector, never from one house multiple: banks price on book and returns on it, property on cash flow per share and asset value, semiconductors and other cyclicals on cycle-adjusted earnings or replacement value. The base per sector, and the screen traps that come with it: .agents/skills/idea-generation/references/sector-overlays.md, read whenever the candidate list crosses a sector boundary, before names are ranked against each other, and when a screen metric looks unusually good.
Consensus that predates the latest print, guidance changed since the screen's inputs were built, a capital structure changed by an issuance, a buyback or an acquisition, prices from a prior session, and estimates mixed between calendarised and fiscal bases. Any of these invalidates a rank rather than a single cell. Freshness thresholds per data type: .agents/skills/research-conventions/references/evidence.md.
Done when each survivor names the archetype it came from, the screen values it cleared, the valuation base used for its sector, and the stale-data checks that were run.
For a theme-driven request:
.agents/skills/research-conventions/references/judgment.md.Exposure attribution gate. A name advances on a sourced link from the driver to a financial line: orders, backlog, revenue, margin or estimate revisions. A theme-day rally, a mention in a management call, or a plausible narrative connection is not attribution. Without the link the name is marked needs exposure attribution and stays out of the ranked list until someone sources it.
Done when every thematic candidate carries either its sourced exposure link with the line item named, or the needs exposure attribution mark.
Answer these before a name is presented. The answers are the raw material for the idea card, so write them down as you go:
Crowding. Reserve crowded for direct evidence: positioning data, ownership concentration, fund flows, short interest and days to cover. With price appreciation or narrative visibility alone, the accurate words are expectations-heavy or valuation-gated, and those are what the card says.
Buckets. Every survivor lands in exactly one:
| Bucket | Means |
|---|---|
immediate research candidate | the work starts now, with a named next step |
watchlist pending trigger | good setup, missing one thing; name the trigger and where it will show |
screen flag only | the metric is interesting, the story is unproven; revisit next screen |
reject | killed, with the reason, in the rejected-names section |
Done when every survivor answers all nine questions, carries a bucket, and uses crowded only where positioning evidence supports it.
[Company] ([TICKER]) | [long/short candidate] | [archetype] | [bucket]
| Metric | Value | vs. peers | As-of |
|---|---|---|---|
| Market cap | |||
| Valuation base | |||
| Second valuation cut | |||
| Growth | |||
| Profitability or returns | |||
| Cash generation |
Every row below market cap takes the sector's own base from .agents/skills/idea-generation/references/sector-overlays.md: EV/EBITDA and P/E on NTM with revenue growth and EBITDA margin for a generic industrial, price to tangible book with return on tangible equity for a bank, mid-cycle earnings power for a cyclical. A metric the sector is not priced on is left out rather than filled in.
Then, each in one or two sentences: why it surfaced (the screen and its values), the exposure proof where a theme is involved, the variant wedge (what we would believe that the price does not), why now (the dated reason this is a today problem rather than a someday problem), what must be true, what would invalidate it, the main false-positive risk from the archetype entry, the next highest-value work, and the routing.
Register. These are research candidates, so the language is candidate, screen flag, watchlist, requires diligence. Where a card ends in what to do, the verb comes from the gated vocabulary in .agents/skills/research-conventions/references/judgment.md, which for a screen output is normally watchlist or wait for proof with the missing input named.
Weak against strong, the difference being whether anyone could disagree with the sentence:
Done when every card carries all nine narrative fields, every metric row is one the sector is actually priced on, every figure carries its as-of, and no card contains an execution or position-sizing instruction.
Save to {task}/.
Idea log, appended per run so hit rate by archetype becomes reviewable: date, name, archetype, direction, rank, why surfaced, variant view, catalyst path, bucket, next work, owner, status, and, once known, the outcome and what the screen missed. The log is the only part of this skill that improves the next run.
Portfolio-aware variant. When the user supplies holdings: which candidates are additive, which duplicate exposure already held, which work as hedges or pairs against existing positions, what the list does to factor and sector exposure, and where position size runs into liquidity.
Routing. Each immediate research candidate names its next skill and the fields that travel with it: .agents/skills/earnings-preview/SKILL.md when a print is the next event, .agents/skills/earnings-analysis/SKILL.md when the trigger was a print already out, .agents/skills/initiating-coverage/SKILL.md for a full underwrite, .agents/skills/comps-analysis/SKILL.md or .agents/skills/dcf-model/SKILL.md when the debate is valuation, .agents/skills/thesis-tracker/SKILL.md once a view exists, and .agents/skills/catalyst-calendar/SKILL.md for the dated trigger a watchlist name waits on.
User files. A watchlist or portfolio file the user supplied is extended, never overwritten: write to a new file or a new tab, and add a data-quality flag column rather than editing source values.
Done when the list, the rejected names and the log are all present, one posture from the ladder in .agents/skills/research-conventions/SKILL.md is stated near the top, every routed name carries its handoff fields, and any user file supplied is unmodified.
MAmattpocock/skills288k近 7 天新增 10,178 个 star
AFaffaan-m/ECC278k近 7 天新增 4,046 个 star
GAgarrytan/gstack136k近 7 天新增 883 个 star
NEnextlevelbuilder/ui-ux-pro-max-skill135k近 7 天新增 1,864 个 star
NEnextlevelbuilder/ui-ux-pro-max-skill135k近 7 天新增 1,864 个 star
NEnexu-io/open-design101k近 7 天新增 1,126 个 star