--- name: requirement-capture description: > Capture and manage matching requirements for capacity searches. Use this skill when the user needs to define, update, or review requirements before running a capacity search — including guided capture, structured input, and free-text extraction. --- # Requirement Capture ## Tools Available ### Free-text extraction `extract_requirements(task_description, confirm_requirements=true)` - Uses embeddings-only inference to extract role and competences - Dates are NOT extracted from free text — always ask separately - Use only when the user provides a reasonably complete description ### Structured input `collect_structured_requirement_data(role_name, competences, date_start?, date_end?, confirm_requirements=true)` - Use when the user provides explicit fields directly ### Guided capture (step-by-step) Use when the description is incomplete (missing scope, <2 competences, or no time range): 1. `start_guided_capture()` 2. `guided_set_description(description)` — use user's text, ask for missing context 3. `guided_set_role(role_name)` 4. `guided_set_time_range(date_start?, date_end?)` — open-ended allowed 5. `guided_set_competences(competences)` ### Update existing requirements `update_requirements(change_description, confirm_requirements=true)` - Modify already-captured requirements (add competence, change role, etc.) - Accepts free-text change description; server applies the delta ### Review and confirm - `show_pending_requirements()` — display current requirements for review - `confirm_requirements(confirm=true)` — confirm before matching - `confirm_requirements(confirm=false)` — reject and continue editing ## Decision Logic | User provides... | Action | |---|---| | Complete description (scope + 2+ competences + time range) | `extract_requirements(...)` | | Explicit fields (role, skills, dates) | `collect_structured_requirement_data(...)` | | Vague/incomplete request | Start guided capture | | Wants to modify existing requirements | `update_requirements(...)` | ## Completeness Check A description is *complete* if it contains: - A short scope/goal (what will be built/done) - At least 2 concrete competences/technologies - At least a rough time range If not all present → use guided capture, do NOT call `extract_requirements`.