name: med-screening-standards description: 筛选标准文件管理与规则建议流程技能。Use when managing screening_standards.md/docx lifecycle, processing rule suggestions, syncing docx markup, or parsing screening standards into structured rules.
med-screening-standards
- File hierarchy (in
reviewRoot, defaultresearch_os/文献评价):
screening_standards.md— the ONLY long-lived preference source (plain text, no markup)screening_standards.docx— human revision display version (red additions / blue strikethrough)screening_standards.backup.docx— at most one backup, overwritten on each run.screening_standards.last_synced.md— snapshot at last sync for change detectionstandards_rule_suggestions_log.json— persistent log of all rule suggestions
- screening_standards.md structure:
- Title / preamble: configured scope definition
## 优先关注— positive preferences (upgrade signals)## 降权— negative preferences (downgrade signals)## 严格排除— hard exclude rules## 不确定— uncertain boundaries## 注意事项— caveats
- Docx sync (syncScreeningStandardsDocx):
- Rebuilds docx from scratch on each run
- Current additions displayed in red text
- Current deletions displayed in blue strikethrough
- Before overwriting, create backup as
screening_standards.backup.docx(overwrite previous backup) - Preserve unknown user content in visible "用户保留内容 / Preserved User Content" section
- Pass
suggestionsLogPathso latest suggestions appear in docx table immediately
- Change detection:
- Compare current md with
.screening_standards.last_synced.md - Generate change markup: additions count, deletions count
- Write audit fields:
screening_standards_change_markup_applied,screening_standards_additions_count,screening_standards_deletions_count
- Rule suggestion workflow:
- Trigger: feedback evidence_count >= 2 OR explicit human evaluation text
- Types:
hard_exclude,positive_preference,negative_preference - hard_exclude suggestions default to
requires_manual_review=true - Status handling in "待确认规则建议" table:
pending/待定: no effect on md, no classifyItem impactaccept/接受: write suggested rule to md formal rules sectionreject/拒绝: no md write; record rejected to prevent duplicate suggestionsrevise/修改: write revised rule to md; if empty, warn and skip- Unknown non-empty status: warn, skip, do not treat as pending
- Pending suggestions (including pending hard_exclude) must NOT affect classifyItem
- Only accepted/revised suggestions synced to md affect classification
- Suggestions must be deduplicated against existing md rules and existing docx suggestions
- Consumable workspaces:
- The "评价" (evaluation) area in docx is a consumable workspace: after processing, clear evaluation text
- The "待确认规则建议" (Pending Rule Suggestions) table is consumable: after processing, keep only unresolved pending suggestions
- Suggestions with status accepted/rejected/revise or with
processed_atmust not be written back into next docx round
- Parse function (parseScreeningStandards):
- Reads md content and returns structured object:
topic_definition: preamble texthard_excludes: array of {rule, keywords, section}positive_preferences: array of {rule, keywords, section}negative_preferences: array of {rule, keywords, section}grade_rules: {exclude_rules, downgrade_rules, priority_rules}warnings: from uncertain sectioncaveats: from caveats section
- Implementation:
workflow_classifier.mjs→parseScreeningStandards()andloadScreeningStandards()
- Normalization on load:
- Before using standards file, normalize previous display markup: red additions become plain text; blue strikethrough deletions are removed
- If file missing, initialize with Chinese baseline standard and continue
- Guardrails:
- Never fabricate rules without evidence (evidence_count >= 2 or explicit human text)
- Never overwrite real screening_standards.docx in tests; use temp files
- Do not write unbounded timestamped backups; at most one fixed backup file
- screening_standards.md is the only source of truth; docx is a display artifact