Goal
Create a GitHub Copilot agent skill that guides users through defining their Knowledge Base interactively and then generates the corresponding code or config.
Behaviour
The skill operates in two phases:
Phase 1 — Grilling:
Start with a natural language description of the user's domain and KB purpose, then drill down into:
- Which KI types are needed (ANSWER/REACT for providing knowledge, ASK/POST for requesting it).
- The graph pattern(s) — what shape of RDF data is exchanged.
- Prefixes and ontology URIs.
- Data source type (Python custom logic, SPARQL endpoint, etc.).
- KB identity (ID, name, description) and KE endpoint URL.
Phase 2 — Generation:
Ask the user which output mode they want:
- Python file — a complete
.py file with KnowledgeBase instantiation, KI registrations (decorators for ANSWER/REACT, method calls for ASK/POST), typed BindingModel classes, and handler stubs. Compatible with knowledge-mapper run.
- Config YAML — a
config.yaml compatible with knowledge-mapper sparql (or other config-driven subcommands).
Implementation notes
- Skill should be placed in the repository under a
skills/ directory and documented.
- Use
CONTEXT.md for domain language and API reference during generation.
- Generated code should follow the patterns in
examples/.
Goal
Create a GitHub Copilot agent skill that guides users through defining their Knowledge Base interactively and then generates the corresponding code or config.
Behaviour
The skill operates in two phases:
Phase 1 — Grilling:
Start with a natural language description of the user's domain and KB purpose, then drill down into:
Phase 2 — Generation:
Ask the user which output mode they want:
.pyfile withKnowledgeBaseinstantiation, KI registrations (decorators for ANSWER/REACT, method calls for ASK/POST), typedBindingModelclasses, and handler stubs. Compatible withknowledge-mapper run.config.yamlcompatible withknowledge-mapper sparql(or other config-driven subcommands).Implementation notes
skills/directory and documented.CONTEXT.mdfor domain language and API reference during generation.examples/.