# Lossless Agent Skills > Lossless Agent Skills A shared library of [Agent Skills](https://agentskills.io/specification) used by Lossless Group team members and AI coding agents on Lossless projects. Skills here are tool-agnostic: they work with [pi-coding-agent](https://github.com/badlogic/pi-mono), Claude Code, OpenAI Codex, and anything else that follows the Agent Skills spec. This site is the collection's GitHub Pages splash. It surfaces 24 skills and 11 changelog entries authored alongside the collection. The companion `/llms-full.txt` concatenates the raw markdown of every skill and changelog entry for one-fetch LLM ingest. ## Reference - [Full-text search](https://lossless-group.github.io/lossless-agent-skills/search/): Pagefind-indexed across every skill body and changelog entry. - [Full corpus content](https://lossless-group.github.io/lossless-agent-skills/llms-full.txt): every skill and changelog entry concatenated as raw markdown — preferred ingest target for LLMs that can handle a single large document. - [Source repository](https://github.com/lossless-group/lossless-agent-skills): the skills, the splash, the changelog. - [Lossless Group](https://lossless.group): the org that maintains this practice. ## Skills The full catalog. Tool-agnostic skills meant to be loaded by any Agent-Skills-spec-conforming runtime. Alphabetical by title. - [astro-knots](https://lossless-group.github.io/lossless-agent-skills/skills/astro-knots/): The Lossless Group's Astro Knots conventions — vision, tech hierarchy, approved frameworks, and hard prohibitions for the family of ~10+ Astro sites and the Lossless Flavored Markdown ecosystem. Use whenever working on an Astro project in the lossless-monorepo (or any sibling repo), scaffolding new sites, choosing dependencies, building components, integrating LFM, or when the user mentions "Astro Knots", "LFM", "Lossless Flavored Markdown", or "pseudomonorepo". Hard prohibitions on React, JSX, Angular, and unnecessary dependencies. - [changelog-conventions](https://lossless-group.github.io/lossless-agent-skills/skills/changelog-conventions/): How The Lossless Group writes and structures changelog/ entries across all repos (projects, true monorepos, pseudomonorepos). Use whenever shipping or pushing a coherent chunk of work, when scaffolding a new repo's changelog/ directory, when authoring a product release message, when the user says "log this", "write a changelog", or "ship note", or when reviewing a changelog/ file. Also fires when the user drops screenshots for an entry or the work being logged is visual — composes with prep-images-for-embed so images get CDN-hosted with real alt text without the user naming both skills. Encodes the strict frontmatter (publish, lede, ISO dates), filename pattern, "it exists" priority, the never-use-relative-image-paths rule (entries get rolled up into parent sites, so relative paths break), and the show-don't-enforce ethos. - [context-vigilance](https://lossless-group.github.io/lossless-agent-skills/skills/context-vigilance/): Lossless Group's framework for managing context-v/ directories in any project. Use whenever creating, updating, or organizing files in any context-v/ folder (specs, plans, prompts, blueprints, reminders, agent-skills, explorations, issues — plus the universal extra/ and sitemap/, and the experimental loops/, handoffs/, decisions/, habits/, and contracts/), or when the user asks about context engineering, AI co-development workflow, or the "context-v" convention. Enforces directory roles, the four-part epoch.major.minor.patch versioning, YAML frontmatter standard, wikilink cross-references, and the prep/reflective/journey cognitive modes. - [crawl-fetch-ingest](https://lossless-group.github.io/lossless-agent-skills/skills/crawl-fetch-ingest/): The Lossless Group's workflow for filling in team and portfolio metadata for VC firms and the operating companies they back — crawl a firm's site, fetch structured data + brand assets for people and companies referenced in a deck/PDF, ingest as canonical .md files with YAML frontmatter. Supports two starting anchors — firm-anchored (one VC → its team → its portfolio → portco CEOs) and company-anchored (one operating company → its backer firms → each backer's team + portfolio, stopping there) — for credibility-card use. Use whenever you need to recreate VC team pages, advisor sections, or portfolio company sections in HTML/Tailwind/Reveal slideshows; whenever the input is "here's a PDF and/or a firm URL, fill in the people and companies"; whenever you need headshots, LinkedIn URLs, company logos (SVG preferred), CEO metadata; whenever you need to "ingest our backers" or "make these investors legible to readers"; whenever the user mentions "fill out the team", "find the headshots", "credibility ingest", "we need their portfolio companies", or names this skill directly. Encodes the four-checkpoint cascade (VC team → advisors → portfolio companies → portco CEOs), the cross-tool fallback pattern (Firecrawl → Tavily → OpenGraph.io), the global-cache-per-firm convention so the same firm's data is reused across multiple decks/memos, and the loose canonical schema that sites converge toward on refactor (not enforced on ingest). - [decile-hub-connector](https://lossless-group.github.io/lossless-agent-skills/skills/decile-hub-connector/): How augment-it (and any Lossless VC-client workspace) talks to the Decile Hub API — the first per-client custom connector. Use whenever pulling from or pushing to Decile Hub (people, organizations, pipeline prospects, deal shares, deal memos, funds/entities, portfolio companies, capital accounts, notes, tasks, files, events), wiring the Decile connector for a new client, building or maintaining the decile-mcp server, mapping Decile records into the SurrealDB canonical layer, or when the user mentions "Decile", "DecileHub", "DECILE_API_URL", "DECILE_HUB_API_KEY", or a per-client CRM connector. Encodes the auth (raw API token in the Authorization header — no Bearer), the per-tenant subdomain base URL, the THREE distinct pagination patterns, the upsert-by-natural-key write semantics, the custom_data_points / variables (merge-tag) system, and the mapping of Decile people/organizations onto the SurrealDB canonical persons/organizations tables. The authoritative contract is the on-disk OpenAPI spec; this skill is the operating guide on top of it. - [deck-iteration-workflow](https://lossless-group.github.io/lossless-agent-skills/skills/deck-iteration-workflow/): The Lossless Group's workflow for developing slides-only Astro sites for fundraise processes, aligned with the calmstorm-decks project patterns and the iterative approach from the "Develop a Slides-only Astro Site for a Fundraise Process" specification. Use when creating or modifying slide decks, managing slide variants, or implementing the structured iteration workflow for fundraise material development. - [expense-report-generation](https://lossless-group.github.io/lossless-agent-skills/skills/expense-report-generation/): How to turn raw card and bank statement downloads into a defensible, client-ready expense report. Use whenever the user asks to build an expense report, reconcile AmEx or bank statements, work out "what is this charge for", aggregate reimbursables for a client or trip, split a claim by month, or render an expense PDF; whenever a folder of statement CSVs/PDFs needs to become a submittable document; or whenever the user says "expense report", "reimbursement", "what am I paying for", "which card was that on", "make this a PDF". Encodes the parent-company descriptor trap (Loom bills as ATLASSIAN, Trae as BYTEDANCE), the never-invent-a-product-name rule, the statement-close gap that silently truncates trips, cheap PDF text extraction, and the two-section BASE/EXTENDED structure. - [generate-consistent-og-images](https://lossless-group.github.io/lossless-agent-skills/skills/generate-consistent-og-images/): How to generate share-imagery (OpenGraph banners, portraits, squares, tall WhatsApp/iMessage cards) for any Lossless site or splash page so the resulting images form a coherent visual family — via two coexisting techniques: Ideogram illustration, or rasterizing the project's own hero/specimen component with macOS's `qlmanage`+`sips` (or a Playwright screenshot for higher fidelity). Use whenever a site, splash, plugin page, or fundraise deck needs an OG image generated or refreshed; whenever the user says "make an og image", "generate a banner", "we need a share image", "regenerate banners across formats", "the unfurl looks stale", "screenshot the hero for the share image", "turn this component into an OG image"; whenever scaffolding a new Astro Knots site that doesn't yet have an `og:image` or a `DESIGN.md`; whenever per-page or per-component custom illustrative imagery is needed even if it deliberately departs from the OG-image canon; whenever an existing OG image (of either technique) might already be live and a decision is needed about replacing vs. keeping it. Encodes the pattern of (1) choose Ideogram illustration vs. hero rasterization per the Strategy Choice section, (2) check / create a DESIGN.md following the Google Stitch open spec, (3) check / add an `imagery:` recipe block to that DESIGN.md, (4) call Ideogram v3 generate with every field locked except `prompt` and `aspect_ratio` (or rasterize the hero via `qlmanage`+`sips`), (5) save with the canonical naming convention, (6) treat WhatsApp + iMessage chat-preview as the primary share surface and other socials as secondary, (7) run the Case Protocol before wiring anything into a live `og:image` tag. The skill never sees an API key in source — `IDEOGRAM_API_KEY` lives in `~/.secrets` and is inherited from the shell, same pattern as the `crawl-fetch-ingest` skill. - [gh-cli-projects-tasks-conventions](https://lossless-group.github.io/lossless-agent-skills/skills/gh-cli-projects-tasks-conventions/): How The Lossless Group uses the `gh` CLI for GitHub issues and Projects v2 tasks across the pseudomonorepo tree. Use whenever creating, editing, or listing GitHub Project tasks via `gh project item-create`, `gh project item-add`, or `gh project item-edit`; whenever creating repo issues via `gh issue create`; whenever the user mentions "gh project", "create a task", "create an issue", "add to the project", "draft a project item", "ProjectV2", labels, milestones, issue types, or asks to script task/issue creation; whenever an agent is about to author a task body that references one or more `context-v/` files. Encodes the **task-body-is-a-github-link** convention — every task whose work-context lives in a `context-v/` file gets a body whose primary content is a clickable GitHub URL to that file in its own repo (NOT a deep path inside the parent monorepo, because each pseudomonorepo level is its own git repo and the URL must respect that) — and the **prefill-the-sidebar** convention: query the repo/org's actual labels, milestones, assignees, and issue types, infer the best fit, ask the user only when nothing fits logically. Composes with the `pseudomonorepos` skill to identify which repo a local context-v path belongs to and which branch tier (`development` / `main` / `master`) the link should target. - [git-conventions](https://lossless-group.github.io/lossless-agent-skills/skills/git-conventions/): The Lossless Group's git commit message conventions — structured headers with action verbs and effort groupings, paragraph-spaced bodies that explain impact before implementation, and "Also included" riders for minor changes. Use when writing commit messages, reviewing commits, or when the user mentions "commit message format", "git conventions", or asks how to structure a commit. - [lossless-crm-interface-guidelines](https://lossless-group.github.io/lossless-agent-skills/skills/lossless-crm-interface-guidelines/): Conventions for reading and writing the operator's Twenty CRM instances (Lossless, Palmer AI, The Water Foundation) via MCP. Use whenever adding or enriching a company, person, deal, thesis, event, or portfolio relationship; when triaging a list or export into the CRM; or when extending the CRM schema. Encodes instance routing, the custom object model (Investment, Deal Source, Deal Prospect, Thesis, Thesis Fit, Events, Interaction), the forced-choice scoring standard, provenance rules, the companion-timeline-row rule that makes custom objects visible on a Person or Company timeline, and known MCP pitfalls. - [lossless-flavored-markdown](https://lossless-group.github.io/lossless-agent-skills/skills/lossless-flavored-markdown/): The Lossless Group's extended-markdown flavor — what LFM is, when to use it, how its directives normalize across syntaxes (CommonMark, GFM, Obsidian callouts, remark-directive, Markdoc), how citations and link previews work, and how sites extend it via trigger maps and theme tokens. Use whenever authoring or rendering content in any Astro Knots site, integrating the @lossless-group/lfm package, building or registering custom components for markdown, debugging callouts/embeds/citations, or when the user mentions "LFM", "Lossless Flavored Markdown", "extended markdown", "directive syntax", "wikilink", "trigger map", "callout", or "hex-code citation". - [maintain-design-md](https://lossless-group.github.io/lossless-agent-skills/skills/maintain-design-md/): How to author and maintain a `DESIGN.md` file at the root of any Lossless project (site, splash page, plugin landing, fundraise deck) following Google Stitch's open spec. Use whenever a project is missing a `DESIGN.md` and an agent needs the project's visual identity in machine-readable form; whenever the user mentions "design tokens", "design system", "DESIGN.md", or "Stitch spec"; whenever theme/CSS-token work changes the runtime values (new CSS custom property in `:root`, renamed token, new mode, new component pattern, refreshed palette, refreshed typography scale) and the documented contract has drifted; whenever a sibling skill (`generate-consistent-og-images`, `theme-system`, `astro-knots`) needs to read locked design values; whenever the user says "the agent doesn't know what color we use" or "let's write down the design system." Encodes (1) the Stitch spec's frontmatter token groups (colors, typography, rounded, spacing, components) and the eight prose sections in canonical order, (2) the maintenance triggers — what kinds of code changes should bounce back into the document, (3) the "runtime CSS is source of truth, DESIGN.md is the contract" discipline, (4) the precedent for off-spec extensions like an `imagery:` block, (5) anti-patterns. The skill never sees an API key or makes network calls — it's a pure-document discipline. - [maintain-filemap](https://lossless-group.github.io/lossless-agent-skills/skills/maintain-filemap/): Use whenever the directory shape of a Lossless pseudomonorepo (or any child repo) changes — a new top-level directory is added, a submodule is mounted or unmounted, a major subsystem is renamed — or on a weekly cadence, or before any release that would land on GitHub, to regenerate the `FILEMAP.md` at each affected repo's root so collaborators see the current shape without cloning. Triggers when the user mentions "filemap", "tree", "directory layout", "repo overview", "what does this repo even contain", "new collaborator joining"; also when the agent itself proposes adding/removing a top-level dir or a submodule, because that's exactly the moment the discipline matters. - [maintain-splash-pages](https://lossless-group.github.io/lossless-agent-skills/skills/maintain-splash-pages/): The Lossless Group's pattern for repo-level splash pages — small Astro sites at /splash/ that ship to GitHub Pages on push to main, render the repo's changelog/ + context-v/ alongside curated marketing copy, and stay isolated from any package the repo also publishes. Use proactively whenever scaffolding a noteworthy new repo (every "important" repo wants one), when shipping a coherent chunk of work that an external reader would land on, when adding a feature (search, sort, tags row, theme mode) to an existing splash, when converting a legacy apps// site to splash/, when troubleshooting a Pages deploy, or when the user mentions "splash", "GitHub Pages", "lossless-group.github.io", "Pagefind on our site", or working under a splash/ directory. Codifies the proven shape across three reference implementations (memopop-site, content-farm/splash, lfm/splash) and the package-isolation discipline that keeps splashes safe to add to repos that also publish to JSR/npm. - [open-graph-share-seo-geo](https://lossless-group.github.io/lossless-agent-skills/skills/open-graph-share-seo-geo/): How to make a page unfurl reliably in iMessage, WhatsApp, Slack, Discord, LinkedIn, and X; surface to search engines via sitemap.xml + robots.txt; and stay legible to generative engines (GEO), including the llms.txt standard for LLM corpus ingest. Use when adding or debugging OpenGraph / Twitter Card metadata, picking an OG image format, choosing where to host the image, fixing pages that "won't unfurl", auditing share previews, scaffolding /llms.txt and /llms-full.txt, or adding @astrojs/sitemap + robots.txt to a splash or marketing site. Encodes the JPEG-over-WebP rule, the ImageKit content-negotiation gotcha, the absolute-URL requirement, the og:image:type-must-match-bytes invariant, the cache-busting recipe for forcing a re-unfurl, the prose-in-markdown source-of-truth pattern for llms.txt, and the sitemap filter that keeps non-HTML routes (llms.txt, 404) out of the search-engine index. - [overlay-svg-text](https://lossless-group.github.io/lossless-agent-skills/skills/overlay-svg-text/): How to overlay on-brand SVG text on Lossless OG / share imagery — Hack Bold gradient-filled h1, thin sans eyebrow, Poor Story handwritten note. Use whenever a generated OG image needs title/eyebrow/sub text composited on top before it ships (the empty-region zone from `generate-consistent-og-images` is the canvas this skill paints into), whenever an unfurl preview looks too anonymous without a wordmark or subtitle, whenever a fundraise-deck slide needs a brand-flavored title overlay on a hero image, whenever the user says "overlay text on the OG image", "add a title to the banner", "make the unfurl say something", "drop a wordmark on this", or names this skill directly. Encodes the brand-wide type system (Hack Bold for gradient h1, thin sans for eyebrow, Poor Story for handwritten notes), the per-site gradient-from-DESIGN.md discipline (the brand SVGs are raster-baked references, not editable gradient sources — the editable gradient lives in each project's DESIGN.md), the canonical SVG fill-with-gradient pattern (simpler and more portable than mask/union for this use case), and the sharp-based compositing pipeline that writes JPEG-out for delivery per the open-graph-share-seo-geo skill. - [prep-images-for-embed](https://lossless-group.github.io/lossless-agent-skills/skills/prep-images-for-embed/): Turn raw screenshots into embeddable, CDN-hosted images with real alt text — rename, resize, strip metadata, stage in a gitignored folder, upload to ImageKit, and emit SEO-correct markdown or HTML. Use whenever the user drops screenshots and wants them in a changelog entry, splash page, spec, or any markdown surface; whenever they say "add these screenshots", "put these images in the changelog", "upload these to the CDN", "make this post image-heavy"; whenever local image references need converting to CDN URLs; or whenever an image is destined for an og:image. Encodes the measured content-negotiation result (upload JPEG, never WebP — the WebP fallback is a PNG up to 3x larger), the alt-text-is-not-optional rule, the per-repo gitignored staging convention, and the naming scheme that makes filenames themselves carry SEO weight. - [pseudomonorepos](https://lossless-group.github.io/lossless-agent-skills/skills/pseudomonorepos/): The Lossless Group's coined term and pattern — parent repos that aggregate child repos (often as git submodules) primarily to host a parent-level context-v/. Use whenever working anywhere in lossless-monorepo or its descendants, when starting any new task that might overlap with prior work, when scaffolding a new project, when the user mentions "pseudomonorepo", "submodule", "context-v", or names of the children (ai-labs, astro-knots, content-farm, tidyverse), AND ALWAYS when the user proposes to move/relocate/re-clone/re-nest a repo within the tree (which triggers the HARD STOP three-precondition checklist — local branches synced, remote branches catalogued, gitignored secrets backed up). Encodes the search-first-before-creating behavior, the tree-walking discipline, and the relocation-safety protocol. - [search-lossless-corpus](https://lossless-group.github.io/lossless-agent-skills/skills/search-lossless-corpus/): Use whenever the user asks a question that prior work might already have answered — "what did we decide about X", "when did we ship X", "why did we choose X over Y", "has this failed before", "where did we put X" — and generally to ground answers in The Lossless Group's own corpus instead of training-data folklore. Encodes the four local Chroma collections (`context-vigilance-corpus`, `lossless-changelog`, `claude-code-sessions`, `claude-code-tool-traces`) reachable via the `chroma` MCP server, the four-step agentic-search loop (decompose → execute → evaluate → synthesize), the citation discipline (source path + timestamp + repo slug for every claim), and the metadata-filter patterns that make queries precise. Triggers on questions about prior decisions, shipped work, past Claude Code sessions, recurring tool failures, or any "did we already…" framing. Does not cover Chroma setup, ingestion pipelines, or maintenance — those are handled by [[chroma-local]] and the [[context-vigilance-kit]] scripts. - [slide-target](https://lossless-group.github.io/lossless-agent-skills/skills/slide-target/): Load the full working context for ONE DidiDecks slide (deck/variant/slot) so an agent can iterate on it slide-by-slide without re-explaining where things live. The first of the `slide-*` skill family (target → improve → rank → decompose). Use whenever the user wants to work on a specific slide of a DidiDecks/Astro deck — "let's work on slide 2", "fix this card", "/slide-target rural-income v1 02", "go slide by slide", "target the funder-pipeline slide" — or when iterating on a client-site deck under dididecks-ai (reach-edu-hub, chroma-decks, etc.). Assembles the section file, the slides.ts slot, the narrative slot, the rank/audit status, the live URLs, and the design-system tokens for exactly that slide, then scopes all work to it. Composes with deck-iteration-workflow and theme-system. - [study-repos-first](https://lossless-group.github.io/lossless-agent-skills/skills/study-repos-first/): The Lossless Group's discipline of pinning a curated collection of upstream repos (a "study") around a domain question *before* designing or coding in that domain. Use when starting work that touches conventions, file formats, schemas, protocols, or any decision where prior art exists; when the user mentions "study", "studies/", "reference collection", "prior art", "pin a submodule", or names of existing studies (open-specs-and-standards, memory-layers-for-agents, data-analytics-specifications-and-standards); when scaffolding a new study, extending one, or deciding whether something belongs in a study vs. a project. Encodes the "read upstream code, don't paraphrase from training data" behavior. - [surrealdb-canonical-layer](https://lossless-group.github.io/lossless-agent-skills/skills/surrealdb-canonical-layer/): Verify a SurrealDB-backed canonical layer directly, over the `surrealdb` MCP server, instead of writing a disposable Node script per check. Use whenever the user asks to confirm a batch of writes landed correctly ("did the FreedomFest speakers get tagged right", "do these people have an org relationship", "check that event's rows aren't duplicated"), whenever a new client/event/import needs its data audited for coherence, whenever setting up SurrealMCP for a new project, or when the user mentions "SurrealDB", "canonical layer", "client_access tagging", "affiliation edge", or names this skill directly. Encodes augment-it's live schema (persons/organizations/affiliations/observations/events) as the worked example, the per-table client_access shape (string[] on most tables, singular string on observations — a real inconsistency, not a typo), the flag-don't-fix verification discipline, and the read-only-vs-full-CRUD tradeoff of the official surrealmcp server. Generalizes past augment-it to any project (dididecks-ai, memopop-ai) that adopts the same schemaless-canonical-layer + observations-as-log pattern. - [theme-system](https://lossless-group.github.io/lossless-agent-skills/skills/theme-system/): The Lossless Group's theme and mode architecture — two-tier token system, three-mode contract (light/dark/vibrant), theme.css organization, and design system conventions. Use when setting up themes/modes for any Astro Knots site, debugging mode toggles, working with CSS tokens, or when the user mentions "vibrant mode", "two-tier tokens", "theme.css", or design system patterns. ## Changelog Entry-by-entry release notes for the collection, sorted by `date_modified` descending. Following the Lossless Group changelog conventions. - [Three Skills Shipped, Two Date Families Untangled, and a Repo That Can Keep a Secret](https://lossless-group.github.io/lossless-agent-skills/changelog/2026-08-15_01/): A skill library that publishes everything needs somewhere to put the things it can't. This session built that boundary — gitignored config read by instruction, an audit grep that has to come back empty, and a rule against injecting our conventions into repos we only have READ on — then shipped three skills through it and finally wrote down the frontmatter standard the tree had been running on tacitly for months. - [Public skills, private config — and the first skill to prove it](https://lossless-group.github.io/lossless-agent-skills/changelog/2026-08-14_01/): Some skills only work if they know who they're working for, which is exactly what a public repo can't hold. The answer is a gitignored config/private.json read at runtime by instruction rather than by templating, an example file that serves as the contract, and an audit grep that has to come back empty before you push. The CRM interface guidelines are the first skill built to that shape. - [context-vigilance grows from six folders to eight — plus a universal tier and an experimental tier](https://lossless-group.github.io/lossless-agent-skills/changelog/2026-07-21_01/): plans/ and agent-skills/ earned canon the honest way: fourteen and five repos adopted them without anyone declaring them official. The skill now names them, blesses extra/ and sitemap/ as universal utilities (extra/ gitignored by default), and stakes out loops/, handoffs/, decisions/, and contracts/ as the experimental tier still finding its shape. - [A new SurrealDB verification skill, a lede-length discipline propagated across two skills, and sync-skills-symlinks preps for an agent-skills migration](https://lossless-group.github.io/lossless-agent-skills/changelog/2026-07-07_01/): A skill for querying a SurrealDB canonical layer directly instead of writing a throwaway Node script per check. Plus: the lede field was drifting toward mini-essays, so changelog-conventions and context-vigilance both got a 'subtitle-length, not a paragraph' rule with the same wording. Plus: sync-skills-symlinks.sh now recognizes a context-v/agent-skills/ layout alongside the legacy context-v/skills/ one, ready for a migration that hasn't moved any actual skill directories yet. - [New skill (gh-cli-projects-tasks-conventions), new credibility-ingest routine, and three skill updates from real-world incidents](https://lossless-group.github.io/lossless-agent-skills/changelog/2026-06-05_01/): A premature-on-purpose new skill for gh project task creation — codifying just two conventions (compose with pseudomonorepos to find the right repo, link to context-v files via clickable GitHub URLs) so they don't drift while the rest emerge. Plus a company-anchored credibility-ingest routine that inverts the crawl-fetch-ingest cascade so a fundraising deck can render its backers legibly. Plus three updates born from real incidents: an Astro Knots prerender-vs-auth rule (calmstorm-decks shipped a silent production bypass before we caught it), an audience-cascade cross-reference in git-conventions, and a full rewrite of the content-rollup reference now that two production splashes have implemented it. - [Reframe the audience-cascade section in changelog-conventions — marketing up top, engineering as the narrative unfolds](https://lossless-group.github.io/lossless-agent-skills/changelog/2026-05-22_01/): The earlier framing read as 'marketing all the way down,' which fought the four-audience cascade the same section then described. Reframed to say what the cascade actually does: the lede / Why Care? / What's New? are marketing-shaped, the How it Works / Under the Hood / Files Touched are engineering-shaped, and both belong — what differs is sequence. - [Scaffold the lossless-agent-skills splash page](https://lossless-group.github.io/lossless-agent-skills/changelog/2026-05-11_02/): Repo gets its own GitHub Pages splash — operator/CLI posture, skills catalog as the primary content surface, Pagefind search, llms.txt for LLM ingest, sitemap + robots for search engines. - [Three New Skills — Crawl-Fetch-Ingest, Maintain DESIGN.md, Generate Consistent OG Images](https://lossless-group.github.io/lossless-agent-skills/changelog/2026-05-11_01/): Codified three workflows the team had been doing freehand: VC firm metadata crawls (crawl-fetch-ingest), agent-readable project visual-identity contracts following Google Stitch's open spec (maintain-design-md), and consistent share-imagery generation via the Ideogram v3 API with WhatsApp/iMessage as the primary target (generate-consistent-og-images). The OG-images skill picked up an empirical refinement this session — empty space has to be declared as a first-class rendered subject, not left as residue — that pushed the BannerTall composition from a chronic 85% subject-fill to a clean 40-65%. - [Two New Skills — Maintain Splash Pages, Chroma Agent Skills (Submodule)](https://lossless-group.github.io/lossless-agent-skills/changelog/2026-05-07_01/): Added the Maintain Splash Pages skill — codifying the /splash/ GitHub Pages pattern proven across three reference implementations — and pinned chroma-core/agent-skills as a submodule so agents loading the Lossless skills tree get upstream-authoritative Chroma guidance instead of paraphrased-from-training-data vector-store advice. - [First Aggregator Feedstock — 23 Changelogs, 222 Entries, One Data File](https://lossless-group.github.io/lossless-agent-skills/changelog/2026-05-04_02/): Walked the lossless-monorepo tree, found 23 changelog directories holding 222 entries across 18 upstream repos, and wrote the first machine-readable feedstock for the future Lossless Changelog umbrella aggregator — without waking the lossless-site beast that hosts it. - [Lossless Skills v0.0.0.1: From a Question to a Repo](https://lossless-group.github.io/lossless-agent-skills/changelog/2026-05-04_01/): We sat down to ask 'how is Pi different from Claude Code?' and ended the session with a public Lossless org repo of four interlocking Agent Skills, a global agent config, and the first principles of Changelog First Development.