OpenClaw Skills
Repository: https://github.com/billcheung10/openfish-skills
The skills follow the gstack pattern: do not generate a live trading agent from one sentence. Ask one decision question at a time, write a reviewed spec, build dry-run first, and require explicit approval before any live order.
Skill Set
Section titled “Skill Set”| Skill | Purpose |
|---|---|
openfish-trading-agent | Umbrella lifecycle skill and shared references. |
openfish-agent-design | Wallet/account/funding/backend/strategy/risk interview. |
openfish-agent-risk-review | Safety and implementation review before build. |
openfish-agent-builder | Dry-run-first workspace generation. |
openfish-first-live-order | Readiness gate and exactly one explicitly approved live FAK/FOK submit. |
openfish-agent-review | Dry-run/live-run review and adjustment recommendations. |
Install In OpenClaw
Section titled “Install In OpenClaw”From an OpenClaw project root:
git clone https://github.com/billcheung10/openfish-skills.git./openfish-skills/setup --host openclawTo append the Openfish routing section to an AGENTS.md file:
./openfish-skills/setup --host openclaw --agents AGENTS.mdComplete Usage Example
Section titled “Complete Usage Example”This example shows the intended user experience: OpenClaw asks one decision question at a time, confirms the plan, builds a dry-run agent, and only moves toward live trading after explicit approval.
1. User Starts With A Trading Goal
Section titled “1. User Starts With A Trading Goal”In OpenClaw, the user can start with:
Use the Openfish skills to help me build a dry-run-first trading agent.
Goal: trade liquid crypto prediction markets.Preference: directional momentum, not market making.Risk: no live orders until I approve an exact first-order plan.Budget: use one Openfish account for this agent, first live order cap 100 FISH.OpenClaw should route this to openfish-agent-design, not directly to code generation.
2. Skill Runs A Staged Interview
Section titled “2. Skill Runs A Staged Interview”A typical answer path:
| Skill question | Example answer |
|---|---|
| Lifecycle stage? | New agent from scratch. |
| Account status? | Create/register a dedicated Openfish wallet for this agent. |
| Funding status? | Fund later; dry-run is allowed first. |
| Execution backend? | CLI-backed for first local run; API-backed if the agent becomes hosted. |
| Market scope? | Prefer high-liquidity crypto and other liquid markets recommended by Openfish. |
| Strategy type? | Directional momentum with no autonomous strategy changes. |
| Risk limits? | Max order size 25 FISH in dry-run, first live order cap 100 FISH, max daily loss 300 FISH, stop on account-state failure. |
The design stage should produce:
openfish_agent_design.mdagent_spec.yamlrisk_contract.yaml
The user reviews those files before build starts.
3. Account And Funding Gate
Section titled “3. Account And Funding Gate”The generated runbook should keep credentials out of chat and guide the user through account readiness:
openfish wallet createopenfish clob create-api-key --agent-env-file .env.agentopenfish clob account-statusFor API-backed agents, the generated workspace uses environment variables or a local secret file. It must not write real API secrets into tracked source files.
If the wallet is not registered with Openfish yet, the skill stops at onboarding. If the account has no FISH balance, dry-run can continue, but live-readiness remains blocked.
4. Build Dry-Run First
Section titled “4. Build Dry-Run First”After the user approves the design, OpenClaw routes through openfish-agent-risk-review and then openfish-agent-builder.
The generated API-backed workspace can run a dry-run flow similar to:
python3 onboarding_checklist.py --agent-wallet 0xYOUR_AGENT_WALLET --registered --statuspython3 mvp_full_flow.py \ --category crypto \ --strategy directional \ --target-size 25 \ --max-intents 3 \ --reviewExpected reports:
reports/onboarding_report.mdreports/observation_report.mdreports/dry_run_report.mdreports/review_report.md
At this point no live orders have been submitted.
5. First Live Order Validation
Section titled “5. First Live Order Validation”Only after the user explicitly requests a first live validation should OpenClaw route to openfish-first-live-order.
Readiness check:
python3 mvp_full_flow.py \ --category crypto \ --strategy directional \ --target-size 25 \ --max-intents 3 \ --live-ready \ --reviewThis still submits zero orders. It produces either:
reports/live_run_ready_report.mdreports/live_run_blocked_report.md
If ready, it also produces reports/first_live_order_plan.md with one exact order candidate. The user must approve that exact market, side, price, size, notional, budget cap, and cancellation rule before any live submit.
6. Run Periodically Or Continuously
Section titled “6. Run Periodically Or Continuously”After a clean one-shot dry-run and review, the user can ask OpenClaw to convert the agent into scheduled or resident operation. The generated workspace uses run_loop.py as a bounded wrapper around agent.py.
Dry-run every 5 minutes for up to 12 runs:
python3 run_loop.py \ --interval-seconds 300 \ --max-runs 12 \ --max-runtime-seconds 7200 \ --max-errors 2 \ --stop-file ./STOP \ -- \ --category crypto \ --strategy directional \ --target-size 25 \ --max-intents 3 \ --min-depth 1 \ --max-spread 0.20Stop a scheduled or resident run:
touch STOPFor live-readiness monitoring, the same wrapper can pass --live, but this still submits zero orders:
python3 run_loop.py \ --interval-seconds 900 \ --max-runs 8 \ --max-runtime-seconds 7200 \ --max-errors 2 \ --stop-file ./STOP \ -- \ --category crypto \ --strategy directional \ --target-size 25 \ --max-intents 3 \ --liveDo not schedule submit_first_live_order.py. First live submission remains a separate, explicit, one-order approval step.
7. Review And Adjust
Section titled “7. Review And Adjust”After dry-run or the first live attempt, route to openfish-agent-review.
The review should answer:
- Did the agent follow the confirmed spec and risk contract?
- Were markets liquid enough?
- Were any orders blocked, cancelled, or unexpectedly filled?
- Should the next run keep, reduce, pause, stop, or revise the strategy?
The skill should update the spec only after review. It should not silently increase budget, switch market scope, enable live mode, transfer funds, or withdraw.
Update
Section titled “Update”cd openfish-skillsgit pull./setup --host openclawUninstall
Section titled “Uninstall”rm -rf .openclaw/skills/openfish-*Account And Funding Expectations
Section titled “Account And Funding Expectations”The onboarding gate is complete only when:
- A wallet exists or has been imported.
- The wallet has registered with Openfish by creating/deriving CLOB API credentials.
/agent/account/stateoropenfish clob account-statussucceeds.- FISH ledger balance is present when live trading is requested.
Local wallet creation alone is not enough.
Safety Rules
Section titled “Safety Rules”- Never paste private keys, seed phrases, API secrets, or passphrases into chat.
- Generated agents default to dry-run.
- One Openfish wallet/account per live agent is the default recommendation.
- Live order submission requires explicit approval of an exact first-order plan.
- Withdrawal and transfer steps are checklist-only; skills do not auto-withdraw.