Community-driven skills for Seren Desktop. Skills teach AI agents how to use APIs, run autonomous workflows, and guide users through tasks.
Standard
This repository follows the Agent Skills specification.
Spec rules we enforce:
- Required top-level fields:
name,description - Optional top-level fields:
license,compatibility,metadata,allowed-tools namemust:- be 1-64 chars
- use lowercase letters, digits, and hyphens only
- not start/end with a hyphen
- not contain consecutive hyphens
- exactly match the parent directory name
descriptionmust be non-empty and <= 1024 charsmetadatamust be a map of string keys to string values
Structure
Skills are organized by org (or publisher), with each skill in a subdirectory:
seren-skills/
├── apollo/
│ └── api/ # Apollo.io API integration
├── coinbase/
│ └── grid-trader/ # Automated grid trading bot
├── cryptobullseyezone/
│ └── tax/ # 1099-DA to Form 8949 reconciliation guide
├── kraken/
│ ├── grid-trader/ # Kraken grid trading bot
│ └── money-mode-router/ # Kraken product mode recommender
├── kalshi/
│ ├── hybrid-signal-trader/ # Kalshi hybrid signal trader
│ ├── watchlist-explainer/ # Kalshi watchlist explainer
│ ├── consensus-divergence-monitor/ # Kalshi cross-venue divergence monitor
│ └── macro-signal-monitor/ # Kalshi macro signal monitor
├── polymarket/
│ └── bot/ # Polymarket prediction market bot
└── seren/
├── browser-automation/ # Playwright browser automation
├── getting-started/ # Getting started guide
├── job-seeker/ # Job search automation
└── skill-creator/ # Skill creation guide
Slugs
The slug is derived by joining the org and skill name with a hyphen:
coinbase/grid-trader -> coinbase-grid-trader
cryptobullseyezone/tax -> cryptobullseyezone-tax
polymarket/bot -> polymarket-bot
kalshi/hybrid-signal-trader -> kalshi-hybrid-signal-trader
seren/getting-started -> seren-getting-started
seren/browser-automation -> seren-browser-automation
Seren Desktop consumes skills by slug in a flat namespace.
Skill Directory Layout
org/skill-name/
├── SKILL.md # Required - docs and frontmatter
├── scripts/ # Executable code (agent skills only)
│ └── agent.py
├── requirements.txt # Python dependencies
├── package.json # Node dependencies
├── config.example.json # Config template (optional)
└── .env.example # Environment template (optional)
Adding a Skill
See CONTRIBUTING.md for the full guide.
Quick version:
- Create
<org>/<skill-name>/at the repo root - Add a
SKILL.mdwith valid frontmatter wherenameequals<skill-name> - For agent skills, put runtime code in
scripts/and keep dependency/config templates at the skill root - Open a PR
Trading Skill Safety CI
PRs that change trading skills now run a dedicated validator that inspects the changed skill directories only. This keeps non-trading changes unblocked while still enforcing the minimum execution-safety floor for skills that can affect customer money.
The validator lives at scripts/validate_trading_skill_safety.py and is wired through .github/workflows/trading-skill-safety.yml.
Use the trading-skill guide for the required operator contract, runtime guardrails, waiver format, and local commands:
SKILL.md Frontmatter
--- name: skill-name description: What the skill does and when to use it license: Apache-2.0 # optional compatibility: "Requires git and jq" # optional allowed-tools: Bash(git:*) Read # optional, experimental ---
Conventions:
- Use the first
# H1in the document body as the display name - Keep runtime code in
scripts/ metadatais available per spec but not used by Seren skills today