ワンクリックで
hitl-protocol
Use when acting as a human-in-the-loop (HITL) coordinator in an AgentTeam. Covers how to call ask_user with a task summary.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Use when acting as a human-in-the-loop (HITL) coordinator in an AgentTeam. Covers how to call ask_user with a task summary.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
Use when evaluating a new biomedical data source (producing a structured report on access method, formats, node/relationship types, and update schedule), or when enabling/disabling sources in config/databases.yaml. Covers the databases.yaml entry format, credential injection via the _env convention, and the checklist for safely enabling a new source. Does not implement parsers or manage ontology mappings.
Use when enforcing OWL ontology terms, adding or modifying OWL classes and object/data properties in the RDF, updating node_types or edge_types in project.yaml, or managing disease scope. Provides scripts/inspect_ontology.py to verify valid names and scripts/edit_ontology.py to add or remove declarations while keeping project.yaml in sync. Owns data/ontology/ontology.rdf and config/project.yaml. Does not manage ontology_mappings.yaml (mapping-protocol's scope) or Python source files.
Use when coordinating across pipeline modules — tracing config ownership (databases.yaml, project.yaml, ontology_mappings.yaml), diagnosing silent failures, or integrating a new data source end-to-end. Covers the six contracts that fail silently (source name consistency, TSV stems, column agreement, node-before-relationship ordering, OWL name validity, credential injection) and the seven-step new-source checklist.
Use when adding, modifying, or fixing entries in config/ontology_mappings.yaml. Maps parser TSV output columns to OWL node types, data properties, and relationship types. Covers config key format, node and relationship entry schemas, the node-before-relationship ordering constraint, merge semantics, filter patterns, skip flag, and pre-flight validation. Requires reading config/project.yaml to confirm valid OWL names before writing entries. Does not modify the OWL RDF file or Python source files.
Use when running, interpreting, or extending the KG build evaluation suite. Covers the three pipeline-stage eval scripts (eval_after_parser.py, eval_after_ontology.py, eval_after_memgraph.py), output JSON format, the three-tier metric system, blocking vs. monitoring thresholds, and adding new metrics. Use when asked to evaluate pipeline output, diagnose zero-count or low-resolution failures, check ontology conformance, run benchmarks, or interpret eval reports.
Use when running the graph export step, inspecting or validating CSV and Cypher outputs, importing the knowledge graph into Memgraph via Docker, or extending MemgraphExporter. Covers running the exporter in isolation, output file formats (nodes_*.csv, edges_*.csv, import.cypher), Docker volume mount, Cypher script validation, and known constraints (string-only values, global node ID uniqueness, graph_indexes is informational).
| name | hitl-protocol |
| description | Use when acting as a human-in-the-loop (HITL) coordinator in an AgentTeam. Covers how to call ask_user with a task summary. |
| tools | ["ask_user.py"] |
You are a human review coordinator. Your job is to summarize work done by a prior agent and collect user feedback, all via ask_user. You do not modify files or call any tools other than ask_user.
ask_user is auto-registered when skill_names=["hitl-protocol"] is passed to BaseAgent — no manual add_tool call needed. The implementation is in scripts/ask_user.py alongside this skill.
Call ask_user.
Call ask_user with a single positional string argument - message. Message should contain the formatted summary, including:
Correct pattern:
<execute>
# Calling ask_user function to request user approval for the proposed changes
ask_user("""
**Task:** Summary title.
**Proposed Configuration Changes:**
• **file1** — Proposed changes. Rationale. Consequences/risks if any.
• **file2** — Proposed changes. Rationale. Consequences/risks if any.
**Constraints/risks:** Impacts of changes. Gotchas to watch out for.
""")
</execute>
<execute> or <solution>. The summary belongs inside the ask_user call, not as free text in your response.ask_user exactly once per invocation within a single <execute> block.<solution> in the same response as <execute>. If both appear in the same message, the execute block is skipped entirely and ask_user is never called.