# yan-labs/serenity-aleabitoreddit: a tweet archive that admits its own survivorship bias

> An agent skill that packages 6,592 public posts by a single supply-chain analyst into a per-ticker knowledge base, with the raw archive, article summaries and a maintenance script. Its provenance section names a known text-completeness gap by issue number, fetches article bodies with authentication and deliberately does not redistribute them, and its own disclaimer says the returns are unverified.

**yan-labs/serenity-aleabitoreddit** — Installable Serenity tweet archive + AI/semi supply-chain skill. Install: npx skills add yan-labs/serenity-aleabitoreddit

- Repository: https://github.com/yan-labs/serenity-aleabitoreddit
- Stars: 481 · Forks: 84
- Language: Python
- License: not declared
- Published: 2026-09-20 · Updated: 2026-09-20 · Language: en
- Canonical page: https://hysenlabs.com/projects/yan-labs-serenity-aleabitoreddit

## The README opens with an install command before any heading

The first thing in the file is a fenced shell block containing the one-line install, and the project title appears below it, followed by a link out to the subject's X account:

```bash
npx skills add yan-labs/serenity-aleabitoreddit
```

It is a small structural oddity, but it means the first thing a reader of the raw file encounters is a command rather than a description of what they are installing. The file inventory that follows is the more substantive document, listing fourteen paths with a one-line description of each: the skill definition itself, five reference documents, six period analyses preserved for provenance, three data files, a local avatar copy, two Python scripts and one Node adapter. That inventory is not exhaustive against the actual top level, which also holds a repository checking script, a skills manifest and a tests directory. So the documented surface is slightly narrower than the tree.

## The archive is a dated snapshot with a manual refresh path

The corpus is stated precisely: 6,592 tweets spanning 2025-07-02 to 2026-09-17, plus four long-form X Articles published between 2026-01 and 2026-05. That gives a window of roughly fourteen and a half months, and the archive is a snapshot rather than a live feed. The last commit on record is dated 2026-10-01, so even the newest entry is a couple of weeks behind the repository itself. Keeping it current is a manual two-step job rather than an automated pipeline: one script condenses the tweet JSON into monthly chunks and recomputes the ticker statistics, and a second pulls the latest posts, deduplicates by id and resolves fuller text where the client allows. Neither runs on a schedule that the documentation describes, and there are no tagged releases to mark a version of the archive.

## Collection degrades through three paths and one of them authenticates

The provenance section is the most useful part of the file because it says how the data was obtained and what happens when that fails. Posts were collected through a set of Twitter and X tooling, described as historically one command-line client and currently another, with the current client used when its session is healthy. The fallbacks are the public profile page and Jina status pages, described as the unattended path. Collection used date-windowed search with full-day windows and an intra-day top-up for high-volume days, explicitly to work around the platform's pagination and rate limits. The consequence for a reader is that completeness varies per run depending on which of three paths was live: a period collected while an authenticated session worked may contain full text that a later degraded run could only capture as an excerpt.

## A known text gap is identified only by issue number

One data-quality problem is acknowledged without being described. The update script exposes a repair flag, and the documentation says to run it repeatedly to backfill the affected period in batches that stay inside rate limits. The period is referred to by issue number rather than by dates, so a reader has to leave the documentation to find out which stretch of the archive is incomplete. The gap has a specific cause: X Note Tweets carry full text that the current client omits from its default output, so a small read-only Node adapter exists purely to recover that omitted text. Where it cannot be recovered, the documented fallback is to keep the public status excerpt instead. So the archive contains a mix of complete notes and partial ones, and nothing in the data files marks which is which.

## Article bodies were fetched with authentication and not redistributed

The four long-form articles are handled differently from the posts. Their bodies were fetched using authenticated article access, then distilled into summaries, and the repository states plainly that full article text is not redistributed here. The reference document that holds them is described as compact summaries plus rules for how to use each one in a portfolio context. This is the right boundary to draw for content the fetcher could read but did not author, and it is stated rather than implied. It does leave a gap in the artifact: the reasoning behind a summarised thesis cannot be checked against the original from inside this repository, so those entries are second-hand in a way the tweet archive, where the primary text is stored, is not.

## The disclaimer disclaims both the trading and the track record

A block near the top of the document does two separate things, and the second is the rarer one. It states that this is not financial advice and is decision support only, that the skill never trades and never places or cancels orders. Then it goes further and says the subject's self-reported returns are unverified and carry obvious survivorship and selection bias, that the names involved are volatile micro and small caps, and that the intent is to use the analytical lens to ask better questions rather than to copy trades. A repository that archives someone's calls has an obvious incentive to present those calls as a track record, and this one names the bias in its own words. That framing is also why the skill's contents are framed as a framework rather than a list of positions.

## The skill tells you to ignore one-day moves and read a longer window

The most operationally useful section is the one about timing, and it argues against the obvious use of a tweet archive. A review dated 2026-06-11 is credited with adding a rule: the best supply-chain posts are usually not clean one-day copy-trade signals, and the more repeatable pattern runs from 5 to 60 trading days between a public thesis and its validation, where validation means orders, filings, media coverage, institutional ownership or local market attention catching up. Four post types are then classified, from a new bottleneck thesis carrying the highest research weight when the dependency is fresh and evidenced, through reaffirmation and dip-buying, through watchlist-only ideas described as research input, to victory laps that confirm an older thesis and are called late-cycle. A closing rule separates the thesis from the market window, noting that a strong idea inside weak breadth is a selective window rather than a signal to chase.

## No licence file, no releases, and a disclaimer about affiliation

Two metadata gaps are worth naming before anyone builds on this. The repository records no licence, and there is no licence file in the tree either, so there is no stated grant for redistribution of an archive containing a third party's posts, metrics and profile image. There are also no tagged releases, so the version of the archive a skill directory contains is whatever was last committed. The repository does address authorship directly, stating that it holds only public information about the account, article metadata and derived analysis, and that it is an independent artifact not affiliated with, endorsed by or connected to the person whose work it distils. That is a statement of position rather than a legal instrument, and the absence of a licence means the two are not equivalent.

## Conclusion

This suits someone studying how a public analyst's reasoning is distilled into a reusable structure, and who will read the primary archive rather than the summaries. Treat it as a research artifact and not a signal source, which is also what its own disclaimer says. Before relying on it, check whether the repair pass has been run for the named issue, whether the collection fell back to public pages during the period you care about, and what licence you are actually operating under, since the repository declares none.

## FAQ

### who is serenity aleabitoreddit

A public X account whose posts this repository archives and distils. The archive is described as the work of a stock trader and analyst focused on AI and semiconductor supply chains, covering optical and photonics, compound semiconductor substrates, memory, neocloud financing, data centre power demand and robotics, with the archive built from 6,592 posts spanning 2025-07-02 to 2026-09-17.

### What is in the serenity-aleabitoreddit skill?

A skill definition covering the subject, his analytical approach, three workflows and risk framing, plus reference documents for his methodology, a per-ticker knowledge base with conviction tiers, summaries of the long-form articles, a dated call timeline with a calibration note, and maintenance rules. It also ships the raw tweet archive as JSON and CSV, ticker statistics, six period analyses for provenance, and scripts to condense and refresh the archive.

### Does the serenity-aleabitoreddit skill trade or give financial advice?

No. The documentation states it is not financial advice and is decision support only, that the skill never trades and never places or cancels orders, and that the returns it describes are self-reported, unverified, and carry survivorship and selection bias. It advises using the lens to ask better questions rather than to copy trades.

### How do I install the serenity-aleabitoreddit skill?

Run `npx skills add yan-labs/serenity-aleabitoreddit`. Alternatively copy the folder into an agent's skills directory and, for a project-local Claude Code setup, symlink it from the Claude skills path to the copy in the shared agent skills directory.

### How complete is the tweet archive in serenity-aleabitoreddit?

Partly. Posts were collected through an authenticated client when its session was healthy and through public profile pages and Jina status pages otherwise, so completeness varies by run. Note Tweet full text omitted by the client is recovered by a read-only adapter, and a repair flag exists to backfill the affected period, which the documentation identifies only by issue number.

## Sources

- [Issues](https://github.com/yan-labs/serenity-aleabitoreddit/issues)
- [README](https://github.com/yan-labs/serenity-aleabitoreddit/blob/main/README.md)
- [yan-labs/serenity-aleabitoreddit on GitHub](https://github.com/yan-labs/serenity-aleabitoreddit)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/yan-labs-serenity-aleabitoreddit
