The thinking
Notes
Specs, blueprints, prompts, reminders, strategy. Living documentation that underwrites the
code, kept in each repo's context-v/ and rendered here when marked publishable.
Specs
- fullstack-vc
A Two-Perspective How-To Engine — Use-Cases ✕ Tool-Uses, Built on LFM (Not Starlight)
VCs arrive two ways: 'I need to automate dealflow' (a use-case) and 'I've heard I need Hermes Agent' (a tool). The same how-to should be reachable from both doors. This spec defines a docs engine on top of @lossless-group/lfm that renders one body of how-to content through two parallel navigation perspectives — with left-nav, right-hand TOC, prev/next pagination, wikilinks, callouts, citations, and video/GIF embeds — and deliberately does NOT adopt Astro Starlight.
- lossless-changelog
Aggregate Changelog Streams Across the Lossless Tree via the GitHub API
One hand-maintained collection becomes a live aggregation over 38 changelog streams, each pulled from its own repo at its own branch.
-
Codifying a Comprehensive Extended Markdown Flavor and Shared Package
A named, versioned markdown flavor that codifies what we already render, backed by one shared remark/rehype package.
-
Context-V GitHub Fetcher for Multi-Repo Content Aggregation
A build-time fetcher that pulls context-v documents from ~20 repos, so lossless.group can render them without copying or submodules.
-
Create an Image-Heavy Portfolio Website for Boutique E-Commerce
A mobile-first, image-heavy portfolio site: carousel galleries, tiered pricing cards, WhatsApp CTA, all managed through markdown.
-
Develop a Slides-only Astro Site for a Fundraise Process
A slides-only Astro site that stays consistnent with relevant Context Vigilance files fed into AI Assistant context.
-
Dynamic Portfolio Page Specification and Implementation Plan
Three clickable levels — logo grid, expanding card, detail page — with a passcode gate that reveals placeholders, not real data.
-
Dynamic Webpage to Display Portfolio w Authentication
Dynamically display portfolio information on a branded webpage, with certain types of information only displayed for certain privileges connected to authentication.
- lossless-changelog
Extract the Lossless Brand Layer from lossless-site
The brand is worth keeping; its token system isn't — 14 Google fonts loaded to use none. Extract it into two-tier tokens, dark by decision.
-
Image Catalog and ImageKit Hosting for Arthouse
The repo stays public because it holds metadata only; ImageKit holds the bytes, and a privacy tier keeps NSFW originals out of the output.
-
Include Full Search as a Default
Search ships from the first build via `astro-pagefind`, not at some size threshold. Seven surfaces have it; fifteen do not.
- dark-matter
Master Dark Matter Site Specification
The whole front end in one document — theming, mode switching, layout hierarchy, and a porting checklist specific enough that another Astro Knots site can adopt the same system by working down the list.
-
Polish Pass for Arthouse Site
Takes arthouse-site from scaffold-complete to client-presentable, with an AI photo-to-illustration pipeline for sensitive source material.
-
Portfolio-Wide Job Aggregator
A specification for scraping, aggregating, and displaying job openings across a venture capital firm's portfolio companies — built as a reusable pattern for any VC client site.
- learnstart-site
Rebuild the LearnStart Site
Rebuild LearnStart's lost Heroku site from scratch on the Astro Knots stack — a mission-forward, learn.vc-kindred VC site with the full light/dark/vibrant discipline, independently deployable from its own private repo.
-
Remark-Citations: A Unified Plugin for Hex-Code Footnote Management
A standalone remark plugin that transforms footnote identifiers (hex codes, numeric, or mixed) into sequentially-numbered citations with structured metadata parsing, designed for the unified/remark ecosystem and bundled into @lossless-group/lfm.
- arthouse-site
Services Section as a Tiered, Categorized Card Catalog
A Sveltia-driven Services surface shaped Category → Card → Tier, where optional tags tick the price up before the order goes to WhatsApp.
-
Versatile Component Library for Video Players
Videos links can come from various sources, and include metadata, playlists, and other information that handled to maximize the value of video content, all from simple markdown triggers.
Blueprints
-
A Standard Table of Contents for Every Markdown Collection
One reading-position ToC everywhere, built on LFM's heading outline — the only source that tells a heading from a `#` inside a code fence.
-
Build a Fundraise Deck Workspace
Step-by-step playbook for standing up a private, gated, two-surface fundraise deck workspace, as proven on `sites/calmstorm-decks`.
-
Build a Promotion Surface for Investment Opportunities
A hard-gated `/promote` hub per opportunity, surfacing deck and memo behind real auth, built for 3–5 minute variant iteration cycles.
-
Build an Upgrade Ladder Cart from Superset Tiers
Make every tier a strict superset of the one below and the cart can show you the delta instead of swapping in a whole new cart.
-
Citation System Architecture
A citation and reference management system for Astro sites using hex codes as stable identifiers that convert to sequential integers at render time.
-
Codeblock Syntax Highlighting with Shiki
Blueprint for implementing syntax-highlighted code blocks across astro-knots sites using Shiki with the tokyo-night theme and reusable wrapper components.
-
Confidential Content Access Control Blueprint
A tiered pattern for protecting privileged or confidential content across astro-knots sites, from simple passcodes to full OAuth integration.
-
Continuous Integration for Astro Knots Sites
Every Astro Knots site has a deploy workflow and none has a test. That is defensible right up until a site imports package source, ships a broken link, or renders raw `[[wikilinks]]` to production — none of which a successful build notices.
-
Generate a Pseudomonorepo Rollup of Changelog and Context
Deliberate sync: a human runs `pnpm rollup:sync`, each child's changelog and context-v lands in `src/rollup/`, and the build stays file IO.
-
GitHub Secure Content Pattern
A pattern enabling Astro sites to fetch confidential content from a private GitHub repository at runtime, keeping sensitive documents out of static assets.
-
Guarantee Text Wrapping and No Horizontal Bleed at Any Width
One Tailwind class caused it: `mx-auto` on a flex item disables stretch, so `<main>` sized to its content instead of its parent.
-
Jumbotron Popdown Patterns
Design and implementation patterns for consistent jumbotron popdown menus in the Lossless UI.
- dark-matter
Jumbotron Popdown Patterns
Navigation dropdowns that are big enough to preview real content, and consistent enough that adding a new one is a props change rather than a new component.
-
Maintain an Elegant Open Graph System
A scalable, consistent architecture for Open Graph metadata optimized for the messaging-first share economy.
-
Maintain an Interactive Polling System
Embeddable theme-aware polls on Astro SSG: data model, flat-file→database storage progression, vote integrity, Svelte + GSAP contracts.
-
Maintain an Interactive Polling System
Embeddable theme-aware polls on Astro SSG: the Session/Poll model, Astro DB on Turso, DB→markdown archive, Svelte + GSAP UI contracts.
-
Maintain Confidential Access with Persistent Sessions and Auth Telemetry
Signed pre-authed links for named stakeholders, passcodes for everyone else, and telemetry so every silent auth failure leaves a row.
-
Maintain Design System and Brand Kit Motions
Every Astro-Knots site ships `/brand-kit` for stakeholders and `/design-system` for developers — this is the scope split and the upkeep.
-
Maintain Embeddable Slides
Markdown slide decks already embed via a `:::slides` directive; Astro-component decks do not — the embed route only reads `.md` files.
-
Maintain Themes and Modes Across CSS and Tailwind
Implementation blueprint for dual-axis theme and mode control using Tailwind CSS v4 custom properties, with runtime utilities and Vitest verification.
-
Slides System for Astro and Markdown
A comprehensive specification for building presentation slide systems in Astro-Knots sites with RevealJS, Three.js, and full theme/mode integration.
-
Styles Architecture Blueprint
Architecture blueprint for Dark Matter's CSS and Tailwind v4 theming system, defining named brand colors, derived scales, semantic tokens, and three display modes.
- dark-matter
Using Heartbeat Patterns to Save Session Data
`beforeunload` lies — especially on mobile — so you never really know when a reader stopped reading. Periodic still-here pings turn session duration into something you can actually measure, with no dependencies.
Plans
- mpstaton-site
Implement the Standard Table of Contents on mpstaton-site
The parent blueprint says every collection rendering markdown gets the same reading-position ToC. This site has five such surfaces, a hand-rolled slugify that has to go, and — as of today — the LFM version that makes it possible.
-
Wikilink Resolution System for LFM
LFM parses `[[Obsidian-style]]` links; each site supplies the config resolving them to local or external URLs and styling the destination.
- learnstart-site
Wire portfolio trademarks into the logo surfaces (carousel + wall)
Turn the text-scroller into a real, mode-aware logo marquee — one company at a time, picking the best trademark from the 71-company .logo-scrape staging and wiring trademark_light / trademark_dark into logos.json.
Prompts
-
Discuss How to Publish Long Form Like eBook
Starlight, mdBook, and Quartz all lose to hand-rolling with LFM — because the 1,751-line handbook forces LFM's wishlist forward.
-
Fetch Brand and Tokens from Client Site
Extract colors, fonts, and design tokens from a client's existing website to bootstrap theme.css with brand-aligned values. Uses curl/fetch to grab CSS and design assets.
-
Flare: Concentric Wobble Rings
Creative brief and technical spec for an interactive concentric-rings animation — imperfect circles radiating from an off-center origin with mouse hover repulsion and click ripple effects. Inspired by greenoaks.com.
-
Ideogram Style Prefix for Splash OG Images
Reusable Ideogram preamble that conditions generated OpenGraph and share images to match the astro-knots splash — knot-and-thread motif, the splash's three-mode palette, and an editorial typographic sensibility. Paste before your subject line.
-
Implement Context-V Fetcher for mpstaton-site
Step-by-step implementation guide for adding a build-time GitHub content fetcher to mpstaton-site that pulls context-v documents from multiple repos.
-
Implement Portfolio with Confidential Access in New Site
Step-by-step implementation plan for adding portfolio features with confidential access control to the dark-matter site, based on proven patterns from hypernova-site.
-
Introducing Features and UI Components
Prompt for introducing features and UI components to the Hypernova site, including team pages, responsive design patterns, and branded exports.
-
New Site Quickstart Guide
Step-by-step guide for scaffolding a new Astro site in the astro-knots monorepo, from empty directory to working markdown rendering.
-
Set up a Splash Page with Changelog and Context-V Rendering
Brief prompt for scaffolding a small standalone repo (its own GitHub project, deployed to GitHub Pages) that renders its own changelog and context-v markdown through @lossless-group/lfm.
-
Set Up Index and Basic Components Using Brand Theme
A prompt plan for evolving index pages and basic components to use the brand theme system instead of hard-coded colors, with step-by-step instructions for Cascade/Windsurf.
Reminders
-
Astro Frontmatter: Avoid Inline Block Comments and Risky Regex Literals
In `.astro` frontmatter, a `/* */` comment after a statement lexes as a regex literal — the error reports a column past EOF. Use `//`.
-
Astro Knots is not a True Monorepo
A reminder that Astro-Knots is organized like a monorepo but functions as a collection of independent Astro projects for convenient pattern porting.
-
Dates are UTC at rest, viewer-local at render
Store and emit dates in UTC. Localize in the viewer's browser, never at build time — formatting a date during a static build bakes whichever timezone the build machine happened to be in into the HTML every reader sees.
-
Design System Pages Per Site
Every site should have a design-system route with browsable pages for components, flare, and layouts — built with zero-friction by Code Assistants, not a third-party documentation tool.
-
Flare Components — Creative Workflow
Flare is our naming convention for design-oriented components — images, illustrations, and animations as code. This reminder covers naming, preferred tech, and the creative brief workflow.
-
Improvising within Design System Color Palettes
A reminder to AI code assistants and developers: use named colors and design tokens; when improvising raw hex or rgba values, reintegrate them into the system.
-
Orient Before You Introduce a Term of Art
A reader who does not yet know what the thing is cannot learn its name. Plain question first, clinical title second — enforce it in the schema.
-
Preference for Shortcuts in Config to Absolute Paths
`../../../components/basics/DeckHeader.astro` breaks the moment you move the importer; `@components/…` reads the same from anywhere.
-
Preferred Stack
A quick reference for the preferred technology stack: HTML/CSS first, Astro for SSG, Svelte for interactivity, Tailwind for styling, and no React.
-
Quirks of Obsidian Flavored Markdown
A quick reference for the quirks of Obsidian Flavored Markdown.
-
Rule to Assure Collection Schema is Flexible
A lenient Zod schema doesn't remove the failure, it moves it — the build goes green and the date renders blank instead.
-
Tags Must Use Train-Case
All tags in YAML frontmatter must use Train-Case — capitalize each word, hyphens between words, no spaces, no underscores, no all-lowercase.
-
Wrap Long String Values in Double Quotes
Long YAML string values — descriptions, titles with punctuation, URLs with query strings, ledes — should always be wrapped in double quotes. Cheap insurance against the entire class of YAML-syntax-collision bugs.
-
Write a Changelog Prior to Meaningful Commits
A quick reference for writing a changelog prior to meaningful commits.
-
YAML Frontmatter Parsing Must Be Lenient
Across every Astro Knots site, content frontmatter parsing must tolerate messy YAML — log a warning and skip the file, never fail the whole build. No strict YAML parsers, ever.
Explorations
-
AI Photo-to-Illustration Transform for Arthouse
Exploring how to take a real client photograph — sometimes NSFW-sensitive — and return an obviously AI-generated illustrative version (anime, painterly, or stylized) that is safe to publish on the public arthouse-site portfolio.
-
Choosing an Image Generator for Text-on-Background Banners
An April 2026 snapshot of image generators judged on one job: release-banner images with legible title text and a consistent brand feel.
-
Converge on an Animations Playbook
Lottie the format is open; every tool that produces one is proprietary SaaS. A tiered motion playbook for Astro Knots given that lock-in.
-
Exploring GitHub Actions for Package Publishing
A practical walkthrough of what GitHub Actions are, how they work, and how to use them to publish packages to JSR and GitHub Packages with provenance — written for someone who has never set up CI/CD before.
-
Implementing Full-Text Search by Default
Every Astro Knots site should ship with full-text search out of the box. This is a tour of what that costs, why Pagefind (a Rust-powered static indexer) is the strong default, and what the runner-up libraries are for the cases where it isn't.
-
New Homebrew Formulae Worth Knowing About
A quick-hit survey of six new Homebrew formulae — dispenso, jsongrep, opentimestamps-client, proxelar, qtcanvaspainter, and qttasktree — with an honest assessment of what each does and whether our dev team should care.
-
Practices to Sense-Make Context Vigilance at Scale
An exploration of lightweight conventions, indices, templates, and tooling that keep a context-v library legible as it grows from dozens to hundreds of documents — without introducing a new system to maintain.
-
Rethinking Confidential Access with Persistent Sessions and Auth Telemetry
The calmstorm-decks lockout — busy client, no telemetry — exposed the passcode pattern's limit: you can't tell a failed cookie from a typo.
-
Understanding the JavaScript Runtime and Package Manager Landscape
A ground-up exploration of what Node, Deno, Bun, npm, pnpm, Yarn, Vite, tsup, and esbuild actually are, why they exist, how they relate to each other, and when to use which — because the JavaScript ecosystem never explains itself.
-
Web Research Agents for Content Augmentation
Point an agent at a URL and have it fill out a tool's YAML frontmatter — and why most agent-framework hype is the wrong tool for that job.
Strategy
Issues
-
Astro Check Type Errors on mpstaton-site
`pnpm build` passes while `astro check` reports 8 errors — five root causes, only one of which lossless-site shares.
-
Documentation Gaps Blocking New Site Onboarding
The canonical markdown package has no package.json, and the reference site uses the `workspace:*` pin CLAUDE.md forbids.
-
Hot Reload for Raw-Filesystem Content (across astro-knots sites)
`readFileSync` content never hot-reloads — it sits outside Astro's content layer. Needs a Vite watcher AND a dev cache bypass, not either.
-
Images in LFM render without intrinsic dimensions
Both image paths in the LFM renderer emit an <img> with no width or height, so every image will shift the page as it loads. Latent today because no changelog has images — about to stop being latent.
- learnstart-site
learnstart.vc DNS is stranded in an inaccessible Cloudflare account
The domain's records are served by Cloudflare, the Cloudflare account can't be reached, and the zone still carries live Google Workspace email alongside the ghost of the deleted Heroku site. Snapshot first, cut over second.
-
Nine hand-rolled frontmatter parsers, all functionally identical
One YAML bug had to be fixed nine times. The nine copies turn out to be byte-different and behaviourally identical — the drift is brace style, nothing more.
- fullstack-vc
Optimize for Localized OpenGraph Metadata and Banner Image with Overlay
We want WhatsApp / iMessage / Twitter shares of any project page to surface a banner image that's visibly *about that project* — title baked in, not just a generic site-wide image. Today we have project-specific title and description in the OG meta tags but a shared placeholder image. Documents the four paths to a fix and the trigger that should reopen this work.
-
Resolving Mode Switching Across Multiple Components
Astro scopes your `[data-mode]` selector to the component, but the attribute lives on `<html>` — it never matches. `:global()` is the fix.
-
Scripting Across Multiple Tables in NocoDB
Links emailAccess rows to Organizations by email domain, minting orgs as needed — via the `[linkField.id]: [{id}]` update syntax.
-
SSH Key Passphrase Prompts - macOS Keychain Integration
The passphrase prompt returned because `~/.ssh/config` had `UseKeychain` only under `Host gitlab.com` — a `Host *` block fixes the rest.
- arthouse-site
Sveltia CMS — Constraints That Shape Architecture
Sveltia is not Decap: the extension points it dropped — above all the custom media library API — become silent no-ops, not errors.
- fullstack-vc
Troubleshooting SSG Authentication and the Port to SSR with a Database
-
Verifying the Wikilink Resolver Migration on mpstaton-site
The migration is written, pushed, and provably identical to the rules it replaces — but nobody has watched it resolve a single real link, because the content it needs is behind two API tokens that only exist on another machine.
-
Workspace vs JSR for LFM Consumers
Four sites got flipped to `workspace:*` during the LFM extraction. Only one should be — Vercel never checks out the parent workspace.
Sitemap
-
Callout System (LFM)
Three-file split for rendering Lossless Flavored Markdown callouts — structure, type registry, and mode-aware styles. Every type obeys the light/dark/vibrant mode switcher.
- fullstack-vc
Page Spec — projects/index.astro & projects/[slug].astro
A specification for the FullStack VC Projects page (gallery + detail), the supporting content collection, the Hero and Project Gallery section components, and the Jumbo Popdown that surfaces projects from the site header.
-
Team Pages Specification
Agency-wide specification defining how astro-knots sites should implement data-driven team pages with role-based grouping, shared data models, and brand theming.
-
Team Spans Page Spec
Specification for a responsive grid layout displaying team members grouped by roles in contiguous spans with CSS Grid and consistent card styling.
Extra
General
-
Context-V — Context Vigilance for AI-Native Software Teams
A working library of the documents we feed to Claude Code so we can build sites, apps, and design systems at remarkable speed — and a directory schema that keeps that library legible as it grows.
-
Papermark Self-Hosted Dataroom Deployment
Complete deployment specification for self-hosting Papermark as an open-source virtual data room for sharing investment memos, pitch decks, and due diligence documents.
Agent skills
-
SKILL
Fan out across all active Astro Knots sites, upgrade dependencies in safe → risky order (patch/minor first, then major bumps like Astro and TypeScript), fix breaking changes, verify builds with `pnpm build` + `pnpm exec astro check`, write changelog entries, and push submodules. Loops until every site is current. Invoke via `/loop` to self-pace across all sites, or pass a specific site name to target one.
-
SKILL
Redesign a site as N complete, genuinely different design directions built in parallel against one shared content layer — working code, two-tier theming, three-mode contract, themed image assets, consistent stack — so a stakeholder can compare them like-for-like and retiring the losers is a delete rather than a refactor. Use whenever a prospective or existing client needs a redesign pitch, whenever the user says "three directions", "design variants", "show them some options", "redesign this site", "build a spike", "competing designs", or asks to generate multiple looks for one site; also when scaffolding the chooser/brand-kit/design-system surfaces those variants need. Encodes the spine-before-pixels ordering, the one-content-layer rule, per-direction Tier 2 theme files, the single-family themed-imagery pattern, constraint-in-code, and the no-cross-imports isolation that makes variants disposable.
Loops
-
Dependency Upgrade Loop
Fan out across all active Astro Knots sites, upgrade dependencies, fix breaking changes, verify builds, write changelogs, and push — looping until all sites are clean.
-
Propagate an LFM Release Across Sites
A published @lossless-group/lfm version is not shipped until every consuming site is on it and still renders. This is the per-site cadence — bump, build, drive, changelog, commit, push submodule — run one site at a time so a bad release is caught on the first, not the fourth.
Narratives
- fullstack-vc
Are you willing AND able?
- fullstack-vc
Close
- fullstack-vc
Cortado Demo — Claude Teams for Firm Impact
- fullstack-vc
Cover
- fullstack-vc
Create your account
- fullstack-vc
Format
- fullstack-vc
From Yes to Win
- fullstack-vc
How the breakouts run
- learnstart-site
LearnStart — Site Narrative
The globally-recognized Pre-Seed to Seed arm of Learn Capital, managed independently — told in two voices: one for LPs, one for founders.
- fullstack-vc
The LPs as Co-Investors Conundrum
- fullstack-vc
Toby Demo — OpenClaw + Obsidian for Pipeline
- fullstack-vc
Track 1 · Internal Conviction → IC
- fullstack-vc
Track 2 · Syndicate to VCs
- fullstack-vc
Track 3 · Offer to LPs
- fullstack-vc
What the room has told us
- fullstack-vc
What this is
Tasks
- fullstack-vc
Migrate Participant Stacks from Markdown to Turso with DB→Markdown Materialization
Stacks (current / aspirational / abandoned) live today in src/content/participants/<handle>.md and persist via GitHub App commits on every save — the same pattern the polling blueprint v2 §8.1 explicitly retired for time-sensitive data because of commit-history pollution, PEM brittleness, and concurrent-edit fragility. This task moves stacks to Astro DB on Turso as the authoritative store, with a periodic snapshot back to markdown so the build-in-public visibility stays intact. Generalizes the same materialization motion polling already uses (v2 §9), bringing two surfaces under one principled pattern.
- fullstack-vc
Redesign Stack Builder with Toggleable Multi-Column Layout and Cross-Column Drag-Drop
Today's StackBuilder is a single-column 'Current stack' editor — aspirational and abandoned entries are only reachable by scrolling far below and editing the markdown frontmatter by hand. Redesign as a wider three-bucket canvas with pill toggles for which buckets are visible, two-up side-by-side view when two are active, and drag-and-drop to move tools across buckets. Cross-column moves reshape data (notes ↔ intent ↔ reason) with inline prompts so nothing is silently lost. Mobile gracefully degrades to a tap-to-move modal.
- fullstack-vc
Wire Google Workspace OAuth as a Third Identity Provider
Env scaffolding for Google OAuth was added (uncommitted .env.example diff + real credentials in .env), but the code wiring was never written. This task implements the routes, session-payload union widening, header tooltip row, login button, and roster matching to bring Google to parity with the GitHub + LinkedIn providers — highest-leverage move before the May 27 All-Hands since most VC attendees convert better on Workspace than on either existing provider.