Add One-Shot Skills Reliability and Guardrails#397
Conversation
This comment was marked as duplicate.
This comment was marked as duplicate.
This comment was marked as duplicate.
This comment was marked as duplicate.
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
|
@copilot open a new pull request to apply changes based on the comments in this thread |
…rmatting (#399) * Initial plan * Fix all review comments in skills documentation Co-authored-by: bpulluta <115118857+bpulluta@users.noreply.github.com> --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: bpulluta <115118857+bpulluta@users.noreply.github.com>
ppinchuk
left a comment
There was a problem hiding this comment.
Thanks @bpulluta! I think this will be super useful for folks who are new to COMPASS and would like to set up a new tech with the help of AI.
My main question is what you envision the extraction-run skill being used for, and how it's different from the schema-creation skill?
| - Schema exists and plugin config points to it. | ||
| - You are onboarding a new technology (diesel generator, geothermal, CHP, hydrogen). |
There was a problem hiding this comment.
Aren't these the exact opposite? If a schema exists, you're no longer onboarding a new technology, right?
| | Field | Type | Behavior | | ||
| |---|---|---| | ||
| | `schema` | string (path) | **Required.** Path to JSON schema file, relative to plugin YAML location. | | ||
| | `data_type_short_desc` | string | Short description used in LLM prompts (e.g. `utility-scale <tech> ordinance`). | | ||
| | `query_templates` | list | Search query templates; `{jurisdiction}` is replaced at runtime. | | ||
| | `website_keywords` | dict | Keyword → score map for URL ranking during website crawl. | | ||
| | `heuristic_keywords` | dict or `true` | Pre-LLM text filter. If `true`, LLM generates lists from schema. | | ||
| | `collection_prompts` | list or `true` | Text collection prompt(s). If **`true`**, LLM auto-generates from schema. | | ||
| | `text_extraction_prompts` | list or `true` | Text consolidation prompt(s). If **`true`**, LLM auto-generates from schema. | | ||
| | `extraction_system_prompt` | string | Overrides default LLM system prompt for the extraction step. Use this to scope extraction tightly to the target technology. | | ||
| | `cache_llm_generated_content` | bool | Cache LLM-generated `query_templates`, `website_keywords`, and `heuristic_keywords`. Set to `false` when iterating schema to see live changes. | |
There was a problem hiding this comment.
There is already a new keyword for this function. Would it be worthwhile to instead point to a function that the model should read to learn about the input parameters? Otherwise, this will become out of date, as it is right now
Summary
This PR hardens the one-shot extraction skills to make setup and iteration more repeatable, simpler to follow, and safer against runtime misconfiguration.
What Changed
Why
users can avoid common setup mistakes and get a working, repeatable baseline faster.
Testing Notes