flagged_skills_report
Identifies skills requiring review or blocking, sorted by highest risk score. Focuses only on items needing immediate attention.
Instructions
Returns just the REVIEW + BLOCK skills with their findings, sorted by risk_score descending. Use this when you only care about what needs attention.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Implementation Reference
- Core implementation of flagged_skills_report — vets all skills, filters to BLOCK/REVIEW, sorts by risk_score descending, returns FlaggedSkillsReport.
def flagged_skills_report(skills: list[Skill], directory: str) -> FlaggedSkillsReport: """List of REVIEW + BLOCK skills with their findings.""" reports = [vet_skill(s) for s in skills] flagged = [r for r in reports if r.risk_level in (RiskLevel.BLOCK, RiskLevel.REVIEW)] flagged.sort(key=lambda r: r.risk_score, reverse=True) return FlaggedSkillsReport( captured_at=datetime.now(UTC), directory=directory, flagged=flagged, ) - FlaggedSkillsReport Pydantic model schema — captured_at, directory, flagged (list of VetReport).
class FlaggedSkillsReport(BaseModel): """List of currently-flagged skills with their top findings.""" model_config = ConfigDict(frozen=True) captured_at: datetime directory: str flagged: list[VetReport] """REVIEW + BLOCK skills, sorted risk-score descending.""" - src/openclaw_skill_vetter_mcp/server.py:85-92 (registration)Tool registration with name, description, and inputSchema in the list_tools handler.
Tool( name="flagged_skills_report", description=( "Returns just the REVIEW + BLOCK skills with their findings, sorted by " "risk_score descending. Use this when you only care about what needs attention." ), inputSchema={"type": "object", "properties": {}, "required": []}, ), - Server call_tool dispatcher — calls flagged_skills_report(skills, directory) when tool name matches.
if name == "flagged_skills_report": skills = await backend.get_skills() directory = await backend.get_directory() return _serialize(flagged_skills_report(skills, directory)) - Resource handler for skill-vetter://flagged URI — also calls flagged_skills_report for the resource endpoint.
if uri_s == "skill-vetter://flagged": skills = await backend.get_skills() directory = await backend.get_directory() return flagged_skills_report(skills, directory).model_dump_json(indent=2)