$npx -y skills add davidliuk/graph-of-skills --skill graph-skills-retrieverRetrieve a bounded bundle of relevant external skills from a prebuilt Graph of Skills workspace. Use when the task may need specialized skills, scripts, or references that are not already obvious from current context, especially in containerized eval environments that mount a pre
| 1 | # Purpose |
| 2 | |
| 3 | Use this skill instead of manually browsing a large skill library. |
| 4 | |
| 5 | It assumes the environment already provides: |
| 6 | |
| 7 | - the `graphskills-query` CLI |
| 8 | - a GoS workspace or a prebuilt workspace configured through `GOS_WORKING_DIR` and optionally `GOS_PREBUILT_WORKING_DIR` |
| 9 | |
| 10 | If that wiring is missing, read `references/container-layout.md`. |
| 11 | |
| 12 | # Retrieve Relevant Skills |
| 13 | |
| 14 | Construct the query yourself. Do not rely on the retrieval system to infer missing task structure for you. |
| 15 | |
| 16 | A good query should usually include only the retrieval-critical fields that are actually known: |
| 17 | |
| 18 | - the concrete goal |
| 19 | - the main artifact or file format |
| 20 | - the key operation or algorithm |
| 21 | - the required library, API, protocol, or tool name if known |
| 22 | - the verifier-critical constraint or invariant |
| 23 | - the task object being edited, parsed, generated, optimized, or validated |
| 24 | |
| 25 | Keep it short, but make it specific. Prefer a compact noun/verb phrase over a long paragraph. |
| 26 | |
| 27 | Good patterns: |
| 28 | |
| 29 | ```text |
| 30 | update embedded xlsx in pptx and preserve formulas |
| 31 | parallel tfidf indexing with processpoolexecutor deterministic ranking |
| 32 | civ6 district adjacency exact calculator for verifier |
| 33 | parse branching dialogue script into graph export |
| 34 | ``` |
| 35 | |
| 36 | Bad patterns: |
| 37 | |
| 38 | ```text |
| 39 | please solve this task for me |
| 40 | I need help with a benchmark task |
| 41 | fix the project and make everything work |
| 42 | ``` |
| 43 | |
| 44 | Run: |
| 45 | |
| 46 | ```bash |
| 47 | graphskills-query "short specific query with goal + artifact + operation + constraint" |
| 48 | ``` |
| 49 | |
| 50 | Useful flags: |
| 51 | |
| 52 | ```bash |
| 53 | graphskills-query "debug spring boot jakarta migration build errors" --top-n 5 --seed-top-k 4 --max-context-chars 9000 |
| 54 | graphskills-query "extract text from receipts into xlsx" --json |
| 55 | graphskills-query "review paper references and improve the draft" --workspace /opt/graphskills/runtime |
| 56 | ``` |
| 57 | |
| 58 | # How To Use The Results |
| 59 | |
| 60 | 1. Start with a short task-level query. |
| 61 | 2. Read the returned bundle carefully and check the retrieval status. |
| 62 | 3. If the result says `Retrieval Status: NO_SKILL_HIT`, explicitly state that no relevant skill was retrieved and continue on a no-skill path. Do not imply that you used a retrieved skill. |
| 63 | 4. If the result says `Retrieval Status: SKILL_HIT`, inspect the task requirements, tests, and verifier first. Write down the minimum acceptance requirements before implementing. |
| 64 | 5. Use the exact `Source:` paths returned by retrieval. Do not reconstruct paths from the skill name or scan the whole skill library if a `Source:` path is already available. |
| 65 | 6. Follow the retrieved skill instructions and inspect the referenced `Source:` paths when you need scripts or references from a specific skill. |
| 66 | 7. Use the skill bundle to narrow the solution space. Prefer the shortest path to verifier pass, and prefer adapting an existing script or interface over inventing a broader replacement. |
| 67 | 8. Re-query with a narrower subproblem if the task shifts. |
| 68 | |
| 69 | # Guidance |
| 70 | |
| 71 | - Prefer 1-2 targeted retrieval calls over scanning the whole library. |
| 72 | - Keep the query focused on the current task or subproblem, not the whole conversation history. |
| 73 | - Query content priority: `goal > artifact/format > operation/API > verifier constraint`. |
| 74 | - Include filenames, formats, protocols, or library names when they are part of the task signal. |
| 75 | - Include exact invariants when they matter, e.g. `preserve formulas`, `deterministic ranking`, `exact total`, `match verifier`. |
| 76 | - Do not include benchmark names, generic filler, or conversation meta-text unless they are truly task-relevant. |
| 77 | - If the result is too broad, narrow the query and reduce `--top-n`. |
| 78 | - If the result is empty, retry with simpler keywords before giving up. |
| 79 | - If no skill is retrieved after retrying, say so explicitly and solve without pretending a skill was used. |
| 80 | - After a skill hit, take the shortest path to verifier pass and satisfy only the verifier's minimum requirement first. |
| 81 | - Use the exact `Source:` paths already returned before searching elsewhere. |
| 82 | - Do not add extra features, side outputs, UI panels, or refactors unless the task explicitly requires them. |
| 83 | - Treat retrieved skills as a constraint on implementation choices, not permission to explore more branches. |
| 84 | - Use `--json` only when you need structured fields like scores or edge evidence; plain text is usually enough. |