Research mathematical logic tasks using domain context and codebase exploration. Invoke for logic-language research involving modal logic, Kripke semantics, and related mathematical foundations.
45:T11dc,
Thin wrapper that delegates mathematical logic research to logic-research-agent subagent.
IMPORTANT: This skill implements the skill-internal postflight pattern. After the subagent returns, this skill handles all postflight operations (status update, artifact linking, git commit) before returning.
Reference (do not load eagerly):
.claude/context/core/formats/return-metadata-file.md - Metadata file schemaNote: This skill is a thin wrapper with internal postflight. Context is loaded by the delegated agent.
This skill activates when:
Validate required inputs:
task_number - Must be provided and exist in state.jsonfocus_prompt - Optional focus for research direction# Lookup task
task_data=$(jq -r --argjson num "$task_number" \
'.active_projects[] | select(.project_number == $num)' \
specs/state.json)
# Validate exists
if [ -z "$task_data" ]; then
return error "Task $task_number not found"
fi
# Extract fields
language=$(echo "$task_data" | jq -r '.language // "general"')
status=$(echo "$task_data" | jq -r '.status')
project_name=$(echo "$task_data" | jq -r '.project_name')
description=$(echo "$task_data" | jq -r '.description // ""')
Update task status to "researching" BEFORE invoking subagent.
Create the marker file to prevent premature termination.
Prepare delegation context for the subagent:
{
"session_id": "sess_{timestamp}_{random}",
"delegation_depth": 1,
"delegation_path": ["orchestrator", "research", "skill-logic-research"],
"timeout": 3600,
"task_context": {
"task_number": N,
"task_name": "{project_name}",
"description": "{description}",
"language": "logic"
},
"focus_prompt": "{optional focus}",
"metadata_file_path": "specs/OC_{NNN}_{SLUG}/.return-meta.json"
}
CRITICAL: You MUST use the Task tool to spawn the subagent.
Required Tool Invocation:
Tool: Task (NOT Skill)
Parameters:
- subagent_type: "logic-research-agent"
- prompt: [Include task_context, delegation_context, focus_prompt, metadata_file_path]
- description: "Execute logic research for task {N}"
DO NOT use Skill(logic-research-agent) - this will FAIL.
The subagent will:
.opencode/context/project/logic/specs/{NNN}_{SLUG}/reports/specs/{NNN}_{SLUG}/.return-meta.jsonAfter subagent returns, read the metadata file.
If status is "researched", update state.json and TODO.md.
Add artifact to state.json with summary.
Commit changes with session ID using targeted staging.
Remove marker and metadata files.
Return a brief text summary (NOT JSON). Example:
Research completed for task {N}:
- Found existing patterns in source files
- Loaded domain context for modal logic and Kripke semantics
- Used Mathlib lookup tools to discover relevant theorems
- Created report at specs/{NNN}_{SLUG}/reports/research-{NNN}.md
- Status updated to [RESEARCHED]
- Changes committed
Return immediately with error message if task not found.
If subagent didn't write metadata file:
Non-blocking: Log failure but continue with success response.
Return partial status if subagent times out (default 3600s). Keep status as "researching" for resume.
This skill returns a brief text summary (NOT JSON). The JSON metadata is written to the file and processed internally.