skill-z3-research

$npx mdskill add benbrastmckie/nvim/skill-z3-research

Conducts Z3/SMT research using a dedicated subagent

  • Solves tasks requiring Z3 theorem proving or SMT constraint analysis
  • Uses Agent, Bash, Edit, Read, and Write tools for execution
  • Activates for z3 task types or SMT-related research queries
  • Delegates work to z3-research-agent and returns structured metadata
SKILL.md
.github/skills/skill-z3-researchView on GitHub ↗
---
name: skill-z3-research
description: Research Z3/SMT tasks. Invoke for Z3-language research.
allowed-tools: Agent, Bash, Edit, Read, Write
---

# Z3 Research Skill

Thin wrapper that delegates Z3 research to `z3-research-agent` subagent.

## Trigger Conditions

This skill activates when:
- Task type is "z3"
- Research involves SMT solving or constraints
- Z3-specific research is needed

## Execution Flow

### Stage 1: Input Validation
Validate task_number exists.

### Stage 2: Preflight Status Update
Update status to "researching" BEFORE invoking subagent.

### Stage 3: Prepare Delegation Context
Include task_context, focus_prompt, metadata_file_path.

### Stage 4: Invoke Subagent
Use Agent tool with subagent_type: "z3-research-agent".

### Stage 4b: Self-Execution Fallback

**CRITICAL**: If you performed the work above WITHOUT using the Agent tool (i.e., you read files,
wrote artifacts, or updated metadata directly instead of spawning a subagent), you MUST write a
`.return-meta.json` file now before proceeding to postflight. Use the schema from
`return-metadata-file.md` with status value "researched".

If you DID use the Agent tool, skip this stage -- the subagent already wrote the metadata.

## Postflight (ALWAYS EXECUTE)

The following stages MUST execute after work is complete, whether the work was done by a
subagent or inline (Stage 4b). Do NOT skip these stages for any reason.

### Stage 5: Parse Subagent Return
Read the metadata file from `specs/{N}_{SLUG}/.return-meta.json`.

### Stage 6: Update Task Status (Postflight)
Update state.json and TODO.md based on result.

### Stage 7: Link Artifacts
Add research artifact to state.json. Update TODO.md per `@.claude/context/patterns/artifact-linking-todo.md` with `field_name=**Research**`, `next_field=**Plan**`.

### Stage 8: Git Commit
Commit changes with session ID.

### Stage 9: Return Brief Summary

## Return Format

Brief text summary (NOT JSON).
More from benbrastmckie/nvim