Vercel Composition Patterns
supabase/supabase
React composition patterns that scale. An agent skill from supabase/supabase.
Architecture of the Dolos processing pipeline — WorkUnit lifecycle, executor modes, CardanoWorkUnit variants, WorkBuffer state machine, and sequencing.
$ npx skills add txpipe/dolos --skill dolos-pipeline -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install txpipe/dolos dolos-pipeline --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/txpipe/dolos.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/dolos-pipeline .claude/skills/dolos-pipeline && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "dolos-pipeline" agent skill from https://github.com/txpipe/dolos/tree/main/skills/dolos-pipeline into .claude/skills/dolos-pipeline/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "dolos-pipeline", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/txpipe/dolos/tree/main/skills/dolos-pipelineType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add txpipe/dolos --skill dolos-pipeline -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install txpipe/dolos dolos-pipeline --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/txpipe/dolos.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/dolos-pipeline .agents/skills/dolos-pipeline && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "dolos-pipeline" agent skill from https://github.com/txpipe/dolos/tree/main/skills/dolos-pipeline into .agents/skills/dolos-pipeline/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "dolos-pipeline", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add txpipe/dolos --skill dolos-pipeline -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install txpipe/dolos dolos-pipeline --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/txpipe/dolos.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/dolos-pipeline .cursor/skills/dolos-pipeline && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "dolos-pipeline" agent skill from https://github.com/txpipe/dolos/tree/main/skills/dolos-pipeline into .cursor/skills/dolos-pipeline/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "dolos-pipeline", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/txpipe/dolos.git --path skills/dolos-pipeline--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add txpipe/dolos --skill dolos-pipeline -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install txpipe/dolos dolos-pipeline --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/txpipe/dolos.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/dolos-pipeline .gemini/skills/dolos-pipeline && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "dolos-pipeline" agent skill from https://github.com/txpipe/dolos/tree/main/skills/dolos-pipeline into .gemini/skills/dolos-pipeline/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "dolos-pipeline", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install txpipe/dolos dolos-pipelineInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add txpipe/dolos --skill dolos-pipeline -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/txpipe/dolos.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/dolos-pipeline .github/skills/dolos-pipeline && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "dolos-pipeline" agent skill from https://github.com/txpipe/dolos/tree/main/skills/dolos-pipeline into .github/skills/dolos-pipeline/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "dolos-pipeline", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add txpipe/dolos --skill dolos-pipeline -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install txpipe/dolos dolos-pipeline --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/txpipe/dolos.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/dolos-pipeline .opencode/skills/dolos-pipeline && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "dolos-pipeline" agent skill from https://github.com/txpipe/dolos/tree/main/skills/dolos-pipeline into .opencode/skills/dolos-pipeline/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "dolos-pipeline", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
dolos-pipelineArchitecture of the Dolos processing pipeline — WorkUnit lifecycle, executor modes, CardanoWorkUnit variants, WorkBuffer state machine, and sequencing.
Dolos Pipeline is an agent skill from txpipe/dolos. Architecture of the Dolos processing pipeline — WorkUnit lifecycle, executor modes, CardanoWorkUnit variants, WorkBuffer state machine, and sequencing. Reference when debugging execution ordering, understanding phase boundaries, or adding new work unit types.
Its SKILL.md is about 2.2k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Development. The licence is Apache-2.0.
4 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 728e245. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
goFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Dolos Pipeline loads about 2.2k tokens when it runs. Until then it costs about 69 tokens; SKILL.md has 772 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from txpipe/dolos at commit 728e245, republished under its Apache-2.0 licence (© txpipe). 772 words, ~2,187 tokens.
.claude/skills/dolos-pipeline/SKILL.md (or your agent's skills folder).Every piece of work in Dolos implements the WorkUnit<D: Domain> trait (crates/core/src/work_unit.rs) with 5 execution phases:
| Phase | Purpose | I/O |
|---|---|---|
load() | Query state/archive stores for required data | Read from stores |
compute() | CPU-intensive work on loaded data | No storage access |
commit_wal() | Write to write-ahead log for crash recovery | Write to WAL |
commit_state() | Apply computed changes to state store | Write to state |
commit_archive() | Write historical data/logs, and the index entries they project, to archive | Write to archive |
Additionally, tip_events() returns events for live subscribers.
Default no-op implementations exist for commit_wal and tip_events.
crates/core/src/sync.rs)Full lifecycle for live block processing:
SyncExt::roll_forward() → drains pending work via drain_pending_work() → execute_work_unit() per unitcrates/core/src/import.rs)Optimized for bulk data import (Mithril snapshots):
commit_wal() (immutable source data, no crash recovery needed)ImportExt::import_blocks() → same drain/execute pattern minus WAL/tipsDefined in crates/cardano/src/lib.rs, dispatches to 5 concrete work units + a stop sentinel:
CardanoWorkUnit
├── Genesis(GenesisWorkUnit) — Bootstrap initial state
├── Roll(RollWorkUnit) — Process block batches
├── Rupd(RupdWorkUnit) — Compute rewards at stability window
├── Ewrap(EwrapWorkUnit) — Apply rewards, refund deposits at epoch end
├── Estart(EstartWorkUnit) — Transition snapshots, compute new pots
└── ForcedStop — Signal test harness terminationForcedStop returns Err(DomainError::StopEpochReached) in commit_state() to signal termination.
The WorkBuffer enum (crates/cardano/src/lib.rs) sequences work unit creation through state transitions:
Empty → (genesis block) → Genesis
Empty → (regular block) → OpenBatch
OpenBatch → (more blocks) → OpenBatch
OpenBatch → (RUPD boundary) → PreRupdBoundary
OpenBatch → (epoch boundary) → PreEwrapBoundary
OpenBatch → (stop epoch) → PreForcedStop
PreRupdBoundary → pop_work() → [Roll for batch] → RupdBoundary
RupdBoundary → pop_work() → [Rupd] → Restart
PreEwrapBoundary → pop_work() → [Roll for batch] → EwrapBoundary
EwrapBoundary → pop_work() → [Ewrap] → EstartBoundary
EstartBoundary → pop_work() → [Estart] → Restart
PreForcedStop → pop_work() → [Roll for batch] → ForcedStop
ForcedStop → pop_work() → [ForcedStop sentinel]
Restart → (next block) → OpenBatch / boundary detectionKey methods:
receive_block() — Accepts a new block, detects epoch/RUPD boundaries, transitions statepop_work() — Extracts next work unit, mutates buffer to next statecan_receive_block() — True for Empty, Restart, OpenBatch; false for boundary statesBoundary detection (crates/cardano/src/pallas_extras.rs):
epoch_boundary(eras, prev_slot, next_slot) — Returns (prev_epoch, boundary_slot, next_epoch) if slots span different epochsrupd_boundary(stability_window, eras, prev_slot, next_slot) — Returns boundary slot if the randomness stability window threshold is crossed within the same epochGenesis → Roll batches → [4k/f slots] Rupd → Roll batches → [epoch end] Ewrap → Estart → Roll batches → ...Within a single epoch:
RollWorkUnitsepoch_start + randomness_stability_window (4k/f slots). Computes reward distribution using the mark snapshotEpochValue snapshots (go ← set ← mark ← live ← next), computes initial pots for the new epochcrates/cardano/src/genesis/work_unit.rs)Trigger: First block received on empty buffer.
| Phase | Action |
|---|---|
| load | No-op |
| compute | No-op |
| commit_wal | Reset WAL to Origin |
| commit_state | Bootstrap pots, pparams, epoch state from genesis config |
| commit_archive | No-op |
crates/cardano/src/roll/work_unit.rs)Trigger: Batch of blocks accumulated in OpenBatch, flushed at boundary or batch size limit.
Key types:
WorkBatch — Contains Vec<WorkBlock>, fetched UTxOs, loaded entitiesWorkBlock — Single block + computed deltas + UTxO deltaVisitor pattern: DeltaBuilder (crates/cardano/src/roll/mod.rs) traverses each block visiting root metadata, then each TX's inputs/outputs/mints/certificates/withdrawals/updates/proposals. Entity visitors (AccountVisitor, PoolStateVisitor, etc.) produce deltas.
| Phase | Action |
|---|---|
| load | No-op (UTxO loading happens in pop_work()) |
| compute | No-op (delta computation happens in pop_work() via DeltaBuilder) |
| commit_wal | Sort batch by slot, append to WAL |
| commit_state | Load entities, apply deltas, commit state + live-UTxO tags + cursor |
| commit_archive | Write blocks, with the archive tags and exact lookups they project |
| tip_events | Emit Apply event per block (live mode only) |
crates/cardano/src/rupd/)Trigger: Block crosses the epoch_start + randomness_stability_window threshold.
| Phase | Action |
|---|---|
| load | Load accounts, pools, protocol params from state |
| compute | Calculate rewards via pool/account visitors |
| commit_state | Store pending rewards in state |
| commit_archive | Write reward logs to archive |
Uses mark snapshot (E-1) for stake distribution and pool params. Pre-Babbage (protocol < 7): filters out unregistered accounts before calculation. Babbage+: calculates for all accounts.
crates/cardano/src/ewrap/)Trigger: Block crosses an epoch boundary (different epoch than previous block).
| Phase | Action |
|---|---|
| load | Load epoch state, pools, accounts, DReps, proposals |
| compute | Filter rewards, compute refunds, route unspendable to treasury |
| commit_state | Apply filtered rewards, refunds, treasury adjustments |
| commit_archive | Write boundary logs |
Key visitors:
rewards::RewardApplyVisitor — Filter spendable rewards, track applied_rewardsrefunds::DepositRefundVisitor — Refund pool/proposal depositsenactment::ProposalEnactmentVisitor — Enact ratified proposalscrates/cardano/src/estart/)Trigger: Immediately after Ewrap completes.
| Phase | Action |
|---|---|
| load | Load epoch state, pools, accounts, proposals |
| compute | Transition snapshots, compute pot delta |
| commit_state | Apply snapshot transitions, update pots, increment epoch |
| commit_archive | Write new epoch state |
Snapshot transition: All EpochValue<T> fields advance: go ← set ← mark ← live ← next.
Computed from genesis parameters (crates/cardano/src/utils.rs):
| Window | Formula | Mainnet (k=2160, f≈0.05) |
|---|---|---|
stability_window (3k/f) | ceil(3 × k / f) | ~129,600 slots |
randomness_stability_window (4k/f) | ceil(4 × k / f) | ~172,800 slots |
RUPD fires at 4k/f, not 3k/f. This is critical for correct reward pre-filtering boundaries.
load(), pure computation in compute(), clean commit phases. This enables potential parallelization.needs_cache_refresh: Set after Genesis and Estart to reload era summary from state before the next work unit.pop_work(): UTxO fetching (batch.load_utxos()) and delta computation (roll::compute_delta()) happen before the work unit is returned, not during load()/compute(). This keeps the WorkUnit trait implementation thin.© txpipe, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in skills/dolos-pipeline of txpipe/dolos.
Open the folder on GitHubat commit 728e245
Dolos Pipeline next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Dolos Pipeline this skilltxpipe/dolos | 138 | — | ~2.2k | Automated safety check: Pass | Apache-2.0 | |
| Vercel Composition Patternssupabase/supabase | 111k | 58 repos | ~726 | Automated safety check: Pass | MIT | |
| Finishing a Development Branchobra/superpowers | 297k | 5 repos | ~1.9k | Automated safety check: Pass | MIT | |
| Typescript Advanced Typesrolling-scopes/rsschool-app | 10k | 25 repos | ~4.2k | Automated safety check: Pass | MPL-2.0 | |
| PR Babysitteropeninterpreter/openinterpreter | 69k | 3 repos | ~4.2k | Automated safety check: Pass | Apache-2.0 | |
| Code Review ChecklistshareAI-lab/learn-claude-code | 78k | 5 repos | ~1.1k | Automated safety check: Pass | MIT |
supabase/supabase
React composition patterns that scale. An agent skill from supabase/supabase.
obra/superpowers
Walks the last step of a branch: confirm tests pass, detect the git environment, ask how to integrate, carry out your choice and clean up the worktree.
rolling-scopes/rsschool-app
Master TypeScript's advanced type system including generics, conditional types, mapped types, template literals, and utility types for building type-safe applications.
openinterpreter/openinterpreter
Watches an open GitHub pull request until it merges, handling review comments, diagnosing CI failures and retrying flaky checks along the way.
shareAI-lab/learn-claude-code
Reviews code against a five-part checklist covering security, correctness, performance, maintainability and testing, and reports findings in a fixed format.
onyx-dot-app/onyx
Iteratively improves a PR (GitHub), MR (GitLab), or shelved changelist (Perforce) until Greptile gives it a 5/5 confidence score with zero unresolved comments.
txpipe/dolos
Systematic workflow for debugging Cardano ledger epoch pots mismatches in Dolos.
txpipe/dolos
Reconcile the user-facing documentation under docs/content/ with the current source-of-truth in the codebase.
txpipe/dolos
Set up a new epochpots integration test with ground truth fixtures from DBSync
txpipe/dolos
Add a missing pointer address mapping to hacks.rs by looking up the stake credential in DBSync
txpipe/dolos
Reference of non-obvious Cardano ledger behaviors that have caused bugs in Dolos.
txpipe/dolos
Update hardcoded Conway governance proposal mappings in hacks.rs by querying DBSync
Categories
Architecture of the Dolos processing pipeline — WorkUnit lifecycle, executor modes, CardanoWorkUnit variants, WorkBuffer state machine, and sequencing. Dolos Pipeline is an agent skill from txpipe/dolos. Architecture of the Dolos processing pipeline — WorkUnit lifecycle, executor modes, CardanoWorkUnit variants, WorkBuffer state machine, and sequencing.
Dolos Pipeline fits situations like: development work in your project.
Run `npx skills add txpipe/dolos --skill dolos-pipeline -a claude-code`. Or copy the skill folder (skills/dolos-pipeline in txpipe/dolos) into .claude/skills/dolos-pipeline in your project. Claude Code loads it when a task matches its description.
Run `npx skills add txpipe/dolos --skill dolos-pipeline -a codex`. Or copy the skill folder (skills/dolos-pipeline in txpipe/dolos) into .agents/skills/dolos-pipeline in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add txpipe/dolos --skill dolos-pipeline -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/dolos-pipeline, .gemini/skills/dolos-pipeline, .github/skills/dolos-pipeline and .opencode/skills/dolos-pipeline in your project.
Going by SKILL.md and its folder, Dolos Pipeline needs the command-line tools its instructions call (go).
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Dolos Pipeline is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.2k tokens (SKILL.md is roughly 8.7k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Dolos Pipeline: Vercel Composition Patterns (supabase/supabase, 111k stars), Finishing a Development Branch (obra/superpowers, 297k stars), Typescript Advanced Types (rolling-scopes/rsschool-app, 10k stars) and PR Babysitter (openinterpreter/openinterpreter, 69k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
txpipe (a GitHub organization) maintains it in txpipe/dolos, which has 138 GitHub stars. The repository holds 7 skills in this directory. The repository was last updated on October 9, 2026.
Source: txpipe/dolos on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.