fanzy27/evolving-rl/add-dynamic-filter
Claude Code and agent skill by fanzy27/evolving-rl
- community
Checking that the SKILL.md file is still in the repository.
Guide for adding dynamic/filter hooks in slime rollout pipeline. Use when user wants sample-group selection during rollout, buffer filtering before training, or per-sample masking/processing hooks.
Install
npx vskill@latest install fanzy27/evolving-rl/add-dynamic-filterSKILL.md
The same SKILL.md was published earlier as xbqnrcm/shopsimrl/add-dynamic-filter.
Add Dynamic Filter
Add filtering hooks in rollout and buffer stages while preserving sample-group contracts.
When to Use
Use this skill when:
- User asks to filter sample groups during dynamic sampling
- User asks to customize buffer extraction strategy
- User asks to mask/remove some rollout samples before training
- User asks to process all generated samples for logging/analysis
Step-by-Step Guide
Step 1: Pick the Correct Hook
- Dynamic sampling filter:
--dynamic-sampling-filter-path - Buffer filter:
--buffer-filter-path - Per-sample rollout filter:
--rollout-sample-filter-path - All-samples post process:
--rollout-all-samples-process-path
Step 2: Implement the Function Signature
Dynamic sampling filter (called in slime/rollout/sglang_rollout.py):
Preferred return type:
Buffer filter (called in slime/rollout/data_source.py):
Rollout sample filter:
All-samples process:
Step 3: Preserve Group Structure
- Keep
list[list[Sample]]structure intact where required. - Do not flatten sample groups unless downstream path expects flattened samples.
- For sample removal, prefer
sample.remove_sample=Trueover deleting objects.
Step 4: Wire and Validate
Example wiring:
Step 5: Measure Side Effects
- Check final sample count remains aligned with
rollout_batch_sizeexpectations. - Verify drop reasons are surfaced in rollout metrics when dynamic filter is used.
- Validate training still receives valid loss masks/rewards after filtering.
Common Mistakes
- Returning wrong container type for buffer filter
- Dropping samples by deletion instead of mask flagging
- Losing sample-group alignment in group-RM setup
- Adding expensive logic in hot filtering paths
Reference Locations
- Dynamic filter types:
slime/rollout/filter_hub/base_types.py - Dynamic filter example:
slime/rollout/filter_hub/dynamic_sampling_filters.py - Rollout generation hook points:
slime/rollout/sglang_rollout.py - Buffer filter hook point:
slime/rollout/data_source.py
Security
- Security scanPassed, 90 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingslime/.claude/skills/add-dynamic-filter/SKILL.md
Popularity
- Repository stars
- 21
- Repository forks
- 1
- 7-day trend score
- 0
Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/fanzy27/evolving-rl/add-dynamic-filter)