Files
Orchestrator/bahn/teamlandkarte-mcp/.github/skills/search-refinement/SKILL.md
T
ankn a5f8fb49ab Migrate all repos into monorepo context folders
Bahn: aisupport, Analyse-O2C-C2S, awesome-bahn-mcp-servers, beam-mcp,
      Confluence_Bot, db-planet-mcp-server, O2C-Harness, project-audit,
      Projekt-KIQ-HP, teamlandkarte-mcp
Dhive: Jury-Voting
Privat: CV, NoteGraph (NOTE: NoteGraph needs complete redo after consolidation)
Shared: AI-Orchestrator, OrgMyLife, power_skills_and_more
Shared/references: symphony (read-only)

Bahn repos remain available as independent remotes - this monorepo
pulls them in via subtree, the originals are untouched.
2026-06-30 20:39:52 +02:00

48 lines
1.7 KiB
Markdown

---
name: search-refinement
description: >
Filter, paginate, and browse search results from capacity or task matching.
Use this skill when the user wants to see different result categories,
filter by availability, or page through results.
---
# Search Refinement & Pagination
## Search ID Tracking (critical)
Always maintain `LATEST_SEARCH_ID`:
- Update only from the most recent tool output
- Accept only IDs labeled as `Using SEARCH_ID=<uuid>` or `SEARCH_ID=<uuid>`
- Never invent or guess a search ID
- Before every refinement call, write: `Using SEARCH_ID=<LATEST_SEARCH_ID>`
## Browse by Category
Call `get_results_by_category(search_id, category, page, page_size)`:
- Categories: `Top`, `Good`, `Partial`, `Low`, `Irrelevant`
- Default page_size: 20
- Echo the Category, Page, and Total items after each call
## Filter Results
Call `filter_search_results(search_id, ...)` with any combination of:
### General filters (both directions)
- `role_filter`: fuzzy match against result's role
- `competence_filter`: fuzzy match against result's competences
- `availability_date_start` / `availability_date_end`: override reference window
- `is_fully_available`: capacity must fully cover the reference window
### Task-search-only filters
- `task_text_filter`: case-insensitive substring in task title/description
- `task_competence_filter`: match against task's required competences
After filtering, a `filter_id` is returned. Use it in subsequent `get_results_by_category` calls.
## Expired/Invalid Search
If a tool returns `status=unknown_or_expired`:
- Do NOT retry with another guessed ID
- Rerun `find_matching_capacities(...)` or `find_matching_tasks(...)` to create a fresh search
- Replace `LATEST_SEARCH_ID` with the new value