thudm/deepdive/add-dynamic-filter

Claude Code and agent skill by thudm/deepdive

Trust tier 2
  • community
LLM review pending
Source check pending

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 thudm/deepdive/add-dynamic-filter

SKILL.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):

python
def filter_function(args, samples, **kwargs):
# return DynamicFilterOutput or bool

Preferred return type:

python
from slime.rollout.filter_hub.base_types import DynamicFilterOutput
return DynamicFilterOutput(keep=True, reason=None)

Buffer filter (called in slime/rollout/data_source.py):

python
def buffer_filter(args, rollout_id, buffer, num_samples):
return selected_groups

Rollout sample filter:

python
def rollout_sample_filter(args, samples):
# modify sample.remove_sample in-place where needed

All-samples process:

python
def process_all_samples(args, all_samples, data_source):
...
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=True over deleting objects.
Step 4: Wire and Validate

Example wiring:

bash
--dynamic-sampling-filter-path slime.rollout.filter_hub.dynamic_sampling_filters.check_reward_nonzero_std
--buffer-filter-path <module>.buffer_filter
--rollout-sample-filter-path <module>.rollout_sample_filter
--rollout-all-samples-process-path <module>.process_all_samples
Step 5: Measure Side Effects
  • Check final sample count remains aligned with rollout_batch_size expectations.
  • 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, 100 of 100Pattern checks on the skill's files.
  • Model reviewNot runA model review is scheduled for the next rescan.

Quality evaluation

  • Task evaluationNot runNo evaluation yet. Run one in Skill Studio.

Source

Popularity

7-day trend score
0

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
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/thudm/deepdive/add-dynamic-filter/badge)](https://verified-skill.com/skills/thudm/deepdive/add-dynamic-filter)

Something wrong with this skill or its page? Tell us.