Exit Waterfall
mohitagw15856/pm-claude-skills
Compute who gets what at each exit price from a cap table — liquidation preferences, conversion points, and where the founders' share collapses.
Reorganize Foundry test files (.t.sol) for readability and consistency without changing semantics.
$ npx skills add OriginProtocol/origin-dollar --skill organize-test -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install OriginProtocol/origin-dollar organize-test --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/OriginProtocol/origin-dollar.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.codex/skills/organize-test .claude/skills/organize-test && 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 "organize-test" agent skill from https://github.com/OriginProtocol/origin-dollar/tree/master/.codex/skills/organize-test into .claude/skills/organize-test/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "organize-test", 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/OriginProtocol/origin-dollar/tree/master/.codex/skills/organize-testType 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 OriginProtocol/origin-dollar --skill organize-test -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install OriginProtocol/origin-dollar organize-test --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/OriginProtocol/origin-dollar.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.codex/skills/organize-test .agents/skills/organize-test && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "organize-test" agent skill from https://github.com/OriginProtocol/origin-dollar/tree/master/.codex/skills/organize-test into .agents/skills/organize-test/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "organize-test", 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 OriginProtocol/origin-dollar --skill organize-test -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install OriginProtocol/origin-dollar organize-test --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/OriginProtocol/origin-dollar.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.codex/skills/organize-test .cursor/skills/organize-test && 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 "organize-test" agent skill from https://github.com/OriginProtocol/origin-dollar/tree/master/.codex/skills/organize-test into .cursor/skills/organize-test/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "organize-test", 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/OriginProtocol/origin-dollar.git --path .codex/skills/organize-test--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 OriginProtocol/origin-dollar --skill organize-test -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install OriginProtocol/origin-dollar organize-test --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/OriginProtocol/origin-dollar.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.codex/skills/organize-test .gemini/skills/organize-test && 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 "organize-test" agent skill from https://github.com/OriginProtocol/origin-dollar/tree/master/.codex/skills/organize-test into .gemini/skills/organize-test/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "organize-test", 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 OriginProtocol/origin-dollar organize-testInstalls 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 OriginProtocol/origin-dollar --skill organize-test -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/OriginProtocol/origin-dollar.git skills-src && mkdir -p .github/skills && cp -r skills-src/.codex/skills/organize-test .github/skills/organize-test && 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 "organize-test" agent skill from https://github.com/OriginProtocol/origin-dollar/tree/master/.codex/skills/organize-test into .github/skills/organize-test/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "organize-test", 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 OriginProtocol/origin-dollar --skill organize-test -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install OriginProtocol/origin-dollar organize-test --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/OriginProtocol/origin-dollar.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.codex/skills/organize-test .opencode/skills/organize-test && 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 "organize-test" agent skill from https://github.com/OriginProtocol/origin-dollar/tree/master/.codex/skills/organize-test into .opencode/skills/organize-test/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "organize-test", 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.
organize-testReorganize Foundry test files (.t.sol) for readability and consistency without changing semantics.
Organize Test is an agent skill from OriginProtocol/origin-dollar. Reorganize Foundry test files (.t.sol) for readability and consistency without changing semantics. Use when the user asks to organize, reorder, clean up, tidy, or reformat a test file's structure.
Its SKILL.md is about 3.7k 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 Business, Finance & HR, covering Plain language and style rules. The repository describes itself as: OUSD and OETH are stablecoins that passively accrue yield while you are holding it. The licence is MIT.
10 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit ae82163. 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.
No scripts in the folder and no shell commands in SKILL.md (its code samples are solidity).
From 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.
Organize Test loads about 3.7k tokens when it runs. Until then it costs about 53 tokens; SKILL.md has 1,326 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 OriginProtocol/origin-dollar at commit ae82163, republished under its MIT licence (© OriginProtocol). 1,326 words, ~3,726 tokens.
.claude/skills/organize-test/SKILL.md (or your agent's skills folder).Reorganize an existing Foundry test file (*.t.sol) so that imports, state variables, and functions follow the repository's established conventions. This skill makes purely structural changes — it never alters logic, assertions, values, names, or execution order.
These rules are absolute. If any rule would be violated by a proposed change, skip that change entirely.
*.t.sol inside contracts/tests/. NEVER touch production contracts or deploy scripts.public/internal/private), mutability (constant/immutable), types, or inheritance lists.Before making any edit, complete every item:
*.t.sol under contracts/tests/.Shared.t.sol), Concrete (concrete test), Fuzz (fuzz test), or Base (Base.t.sol, BaseFork.t.sol, BaseSmoke.t.sol).Organize imports into groups separated by a single blank line. Within each group, sort alphabetically by the imported symbol name (the name inside {}).
Each import group gets a named section header comment. Use the format // --- <Group Name> to label each group.
// SPDX-License-Identifier: BUSL-1.1
pragma solidity ^0.8.0;
// --- Test base
import {Base} from "tests/Base.t.sol";
import {Fork_SomeStrategy_Shared_Test} from "../shared/Shared.t.sol";
// --- Test utilities
import {Mainnet} from "tests/utils/Addresses.sol";
import {Sonic} from "tests/utils/Addresses.sol";
// --- External libraries
import {IERC20} from "@openzeppelin/contracts/token/ERC20/IERC20.sol";
import {IERC721} from "@openzeppelin/contracts/token/ERC721/IERC721.sol";
import {MockERC20} from "@solmate/test/utils/mocks/MockERC20.sol";
// --- Project imports
import {IOToken} from "contracts/interfaces/IOToken.sol";
import {IVault} from "contracts/interfaces/IVault.sol";
import {MockStrategy} from "contracts/mocks/MockStrategy.sol";
import {InitializableAbstractStrategy} from "contracts/utils/InitializableAbstractStrategy.sol";| Section | Contents |
|---|---|
Test base | Parent shared contract, Base.t.sol |
Test utilities | Address registries (tests/utils/Addresses.sol), test helpers |
External libraries | forge-std, OpenZeppelin, Solmate, etc. |
Project imports | Interfaces, contracts, and mocks from contracts/ |
If Group 4 is large and mixes interfaces with mocks/implementations, split it into two named sections: Project interfaces and Project contracts.
State variables must be organized into sections using the repo's standard section divider (see Section 5). Each section groups variables by semantic role.
constant variables, then immutable variables.IVault, IOToken, IAMOStrategy, etc.), then mock contracts.address variables for test actors (only if the file declares actors beyond what Base.t.sol provides).IERC20 references for external tokens (only if the file declares tokens beyond what Base.t.sol provides).uint256 fork ID variables (only in Base-level files).constant before immutable before mutable.abstract contract Fork_SomeStrategy_Shared_Test is BaseFork {
//////////////////////////////////////////////////////
/// --- CONSTANTS
//////////////////////////////////////////////////////
uint256 internal constant DEFAULT_AMOUNT = 1_000e18;
address internal constant DEAD_ADDRESS = address(0xdead);
//////////////////////////////////////////////////////
/// --- CONTRACTS
//////////////////////////////////////////////////////
IAMOStrategy internal amoStrategy;
IOToken internal otoken;
IVault internal vault;
MockERC20 internal mockToken;
//////////////////////////////////////////////////////
/// --- SETUP
//////////////////////////////////////////////////////
function setUp() public virtual override {
// ...
}
}Function ordering depends on the file type.
Shared.t.sol, base test contracts)Every function group gets its own section divider (54-slash format from Section 5):
//////////////////////////////////////////////////////
/// --- SETUP
//////////////////////////////////////////////////////
function setUp() public virtual override { ... }
function _deployContracts() internal { ... }
function _configureContracts() internal { ... }
//////////////////////////////////////////////////////
/// --- HELPERS
//////////////////////////////////////////////////////
function _depositAsVault(uint256 amount) internal { ... }
function _verifyEndConditions() internal view { ... }
//////////////////////////////////////////////////////
/// --- ASSERTION HELPERS
//////////////////////////////////////////////////////
function _assertBalances(uint256 expected) internal view { ... }
//////////////////////////////////////////////////////
/// --- CALLBACKS
//////////////////////////////////////////////////////
function onERC721Received(...) external returns (bytes4) { ... }
//////////////////////////////////////////////////////
/// --- LABELS
//////////////////////////////////////////////////////
function _labelContracts() internal { ... }Ordering within SETUP: setUp() first, then deployment/fetch helpers in the order they are called by setUp (_deployContracts, _deployMockContracts, _configureContracts, _fetchContracts, _resolveActors, _fundInitialUsers).
Omit a section divider if the section would be empty. Merge ASSERTION HELPERS into HELPERS if there are only 1-2 assertion helpers.
Every test group gets its own section divider:
//////////////////////////////////////////////////////
/// --- PASSING TESTS
//////////////////////////////////////////////////////
function test_deposit() public { ... }
function test_deposit_checkBalanceReflectsDeposit() public { ... }
//////////////////////////////////////////////////////
/// --- REVERTING TESTS
//////////////////////////////////////////////////////
function test_deposit_RevertWhen_paused() public { ... }
function test_deposit_RevertWhen_zeroAmount() public { ... }
//////////////////////////////////////////////////////
/// --- EVENT TESTS
//////////////////////////////////////////////////////
function test_deposit_emitsDeposit() public { ... }
//////////////////////////////////////////////////////
/// --- HELPERS
//////////////////////////////////////////////////////
function _prepareDeposit(uint256 amount) internal { ... }If the file tests multiple functions (common in ViewFunctions.t.sol or Admin.t.sol), use a section divider per function (e.g., /// --- MINT, /// --- REDEEM), each following the passing → reverting → event order internally.
Same section divider convention:
//////////////////////////////////////////////////////
/// --- FUZZ TESTS
//////////////////////////////////////////////////////
function testFuzz_deposit_correctBalance(uint256 amount) public { ... }
function testFuzz_deposit_neverExceedsMax(uint256 amount) public { ... }
//////////////////////////////////////////////////////
/// --- HELPERS
//////////////////////////////////////////////////////
function _boundAmount(uint256 amount) internal pure returns (uint256) { ... }If the file has enough fuzz tests to warrant sub-groups, split into BASIC PROPERTIES and COMPOUND PROPERTIES.
The repo uses this exact format:
//////////////////////////////////////////////////////
/// --- SECTION_NAME
///////////////////////////////////////////////////////)./// --- followed by the section name in ALL_CAPS.| Section | Used in |
|---|---|
CONSTANTS | Shared, Base |
CONTRACTS | Shared |
CONTRACTS & MOCKS | Shared (unit tests with mocks) |
ACTORS | Base, Shared |
EXTERNAL TOKENS | Base |
FORK IDS | Base |
SETUP | Shared |
HELPERS | Shared, Concrete, Fuzz |
PASSING TESTS | Concrete |
REVERTING TESTS | Concrete |
LABELS | Shared (when _labelContracts is present) |
CONFIGURATION | Shared (when config variables exist) |
If the file uses a custom section name that is clear and descriptive, keep it. Only rename section headers when they are misleading.
Do not reorganize if any of these conditions hold:
*.t.sol file under contracts/tests/.contracts/ outside tests/), a deploy script, or a legacy JS/TS test.assembly { ... }) interleaved with state variable declarations — moving variables could change storage layout.After all edits are complete:
forge b from contracts/ to confirm compilation.forge fmt tests/ scripts/ from contracts/ to ensure formatting is consistent.Before reporting completion, verify every item:
*.t.sol under contracts/tests/forge b passesforge fmt tests/ scripts/ runs cleanly1. User provides a test file path (or asks to organize a test file)
2. READ the entire file
3. CLASSIFY the file type (Shared / Concrete / Fuzz / Base)
4. CHECK pre-edit checklist (Section 1)
5. PLAN all moves (imports → variables → functions)
6. EDIT the file — imports first, then state variables, then functions
7. VERIFY — forge b, forge fmt, review diff
8. REPORT what was changed (or that the file was already clean)If at any point a move feels unsafe, skip it and note it in the report.
© OriginProtocol, MIT. 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 .codex/skills/organize-test of OriginProtocol/origin-dollar.
Open the folder on GitHubat commit ae82163
Organize Test 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 |
|---|---|---|---|---|---|---|
| Organize Test this skillOriginProtocol/origin-dollar | 153 | — | ~3.7k | Automated safety check: Pass | MIT | |
| Exit Waterfallmohitagw15856/pm-claude-skills | 1.4k | — | ~1.1k | Automated safety check: Pass | MIT | |
| Backtest ExplainYicunAI/Pnlclaw-community | 197 | — | ~378 | Automated safety check: Pass | AGPL-3.0 | |
| Lease Decodermohitagw15856/pm-claude-skills | 1.4k | — | ~1.3k | Automated safety check: Pass | MIT | |
| Tenant Rights Explainermohitagw15856/pm-claude-skills | 1.4k | — | ~1.2k | Automated safety check: Pass | MIT | |
| OkrPrismer-AI/PrismerCloud | 1.6k | — | ~2.3k | Automated safety check: Pass | MIT |
mohitagw15856/pm-claude-skills
Compute who gets what at each exit price from a cap table — liquidation preferences, conversion points, and where the founders' share collapses.
YicunAI/Pnlclaw-community
Analyzes backtest results in plain language, connecting metrics to what they mean for the strategy
mohitagw15856/pm-claude-skills
Decode a residential lease into plain English and rank the clauses that can hurt you.
mohitagw15856/pm-claude-skills
Understand your rights as a renter in a specific situation — repairs ignored, a rent increase, an eviction notice, deposit disputes, or entry without notice — and what to do next.
Prismer-AI/PrismerCloud
Draft and track a strategic OKR charter — turn a human's plain-language goal into ONE Objective + 2-5 measurable Key Results, link existing tasks, and route the commit to a human sponsor.
LeoYeAI/openclaw-master-skills
Create, backtest, and deploy autonomous trading agents in plain English.
OriginProtocol/origin-dollar
Generate Foundry fork tests for contracts that need real on-chain integration coverage.
OriginProtocol/origin-dollar
Generate Foundry smoke tests that validate deployment health using DeployManager/Resolver against real on-chain state with pending governance applied.
OriginProtocol/origin-dollar
Handle git commits with auto-staging, targeted pre-commit formatting, and Conventional Commit messages.
OriginProtocol/origin-dollar
Develop, modify, review, and maintain standalone Talos actions in contracts/tasks/actions, including chain guardrails, contract bindings, transaction safety, schedules, action catalogues, and Talos…
OriginProtocol/origin-dollar
Generate Foundry unit tests for a contract using this repository's conventions, structure, and naming.
OriginProtocol/origin-dollar
Verifies a POST-EXECUTION mainnet (or other network) smart-contract deployment PR for this repo: confirms every deployed contract is listed in the PR description, that the on-chain verified source…
Categories
Reorganize Foundry test files (.t.sol) for readability and consistency without changing semantics. Organize Test is an agent skill from OriginProtocol/origin-dollar.sol) for readability and consistency without changing semantics.
Organize Test fits situations like: the user asks to organize; reformat a test files structure.
Run `npx skills add OriginProtocol/origin-dollar --skill organize-test -a claude-code`. Or copy the skill folder (.codex/skills/organize-test in OriginProtocol/origin-dollar) into .claude/skills/organize-test in your project. Claude Code loads it when a task matches its description.
Run `npx skills add OriginProtocol/origin-dollar --skill organize-test -a codex`. Or copy the skill folder (.codex/skills/organize-test in OriginProtocol/origin-dollar) into .agents/skills/organize-test 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 OriginProtocol/origin-dollar --skill organize-test -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/organize-test, .gemini/skills/organize-test, .github/skills/organize-test and .opencode/skills/organize-test in your project.
SKILL.md names no scripts, command-line tools or credentials: Organize Test is instructions for the agent only.
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.
Organize Test is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.7k tokens (SKILL.md is roughly 15k 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 Organize Test: Exit Waterfall (mohitagw15856/pm-claude-skills, 1.4k stars), Backtest Explain (YicunAI/Pnlclaw-community, 197 stars), Lease Decoder (mohitagw15856/pm-claude-skills, 1.4k stars) and Tenant Rights Explainer (mohitagw15856/pm-claude-skills, 1.4k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
OriginProtocol (a GitHub organization) maintains it in OriginProtocol/origin-dollar, which has 153 GitHub stars. The repository holds 7 skills in this directory. The repository was last updated on October 6, 2026.
Source: OriginProtocol/origin-dollar on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.