Public workflow definitions for Mike. We are open sourcing the workflows
available in Mike so that people can contribute improvements and use them with
the agent harness of their choice. The workflows follow the
SKILL.md Agent Skills specification
used by popular agent harnesses, making them straightforward to adapt and reuse.
The repository has two top-level workflow collections:
assistant-workflows/contains assistant workflows.tabular-review-workflows/contains tabular review workflows.
System and add-on workflows use the same simple folder structure. Their
availability is declared in SKILL.md rather than encoded through
additional directory nesting.
mike-legal-workflows/
assistant-workflows/
<workflow-id>/
SKILL.md
<pack-id>-pack/
pack.json
<workflow-id>/
SKILL.md
tabular-review-workflows/
<workflow-id>/
SKILL.md
table-columns.yaml
<pack-id>-pack/
pack.json
<workflow-id>/
SKILL.md
table-columns.yaml
workflow-schema/
workflow-metadata.schema.yaml
table-columns.schema.yaml
pack.schema.yaml
tabular-review-instructions.md
generate-tabular-skills.py
validate-workflows.py
Ordinary workflow folders are kept flat directly under the appropriate top-level collection. Only workflows that belong to a pack are nested inside their pack folder.
Keep skills lightweight and focused instead of making them overly complicated. Models are increasingly capable of handling general reasoning on their own, so skill instructions should provide only the workflow-specific context, constraints, and steps needed to produce a reliable result. Avoid unnecessary explanation, repetition, and prescriptive detail to keep workflows token-efficient.
Skills should not include CLI commands or commands specific to any particular agent harness. Describe the intended action in harness-neutral language so the workflow remains portable across compatible environments.
Every SKILL.md declares a mike-availability value inside its YAML
frontmatter metadata:
metadata:
mike-availability: "system"Use system for trusted workflows that ship with Mike and appear as
non-editable system workflows. Use add-on for workflows that users can
optionally install or copy into their own workspace:
metadata:
mike-availability: "add-on"This explicit metadata is the source of truth. Folder names should describe what a workflow does, not how it is distributed.
Assistant workflows contain metadata in SKILL.md YAML frontmatter and
instructions in the Markdown body.
Assistant workflows can prompt users for additional information or document uploads when needed. For example, a drafting workflow can ask the user to provide a template or precedent before continuing. Mike supports these interactive requests as part of the workflow.
Tabular review workflows contain metadata in SKILL.md YAML frontmatter,
workflow-level instructions in the Markdown body, and column definitions in
table-columns.yaml.
Mike does not currently use the instructions in a tabular review workflow's
SKILL.md when running the workflow. Users trigger tabular review runs directly,
and Mike applies fixed system prompts together with the workflow's
table-columns.yaml. The results are rendered as an interactive table in the
Mike application UI rather than having an agent generate the presentation on
the fly.
The SKILL.md is included to describe the workflow and ensure that it remains
portable to other agent harnesses that use skill-based instructions. Outside
Mike, the skill instructs the agent to produce an exportable Excel file and to
fall back to a Markdown table when Excel output is unavailable.
The canonical baseline is maintained in
workflow-schema/tabular-review-instructions.md.
Every tabular review SKILL.md should include these instructions and may add
subject-specific guidance in a separate section where needed. After changing
the canonical baseline, regenerate the tabular skill instructions with:
python3 workflow-schema/generate-tabular-skills.pyThe mike-type metadata field must agree with the top-level collection:
metadata:
mike-type: "assistant"or:
metadata:
mike-type: "tabular"A pack is a named bundle of add-on workflows of the same type. Pack folders
live in the relevant workflow collection and must end in -pack so they are
easy for both people and Mike to identify.
assistant-workflows/
commercial-drafting-pack/
pack.json
draft-service-agreement/
SKILL.md
draft-nda/
SKILL.md
The pack's pack.json lists its direct child workflow folders:
{
"$schema": "../../workflow-schema/pack.schema.yaml",
"id": "commercial-drafting",
"title": "Commercial Drafting",
"description": "Add-on workflows for drafting commercial agreements.",
"publisher": {
"name": "Mike"
},
"license": "MIT",
"version": "1.0.0",
"workflows": [
"draft-service-agreement",
"draft-nda"
],
"required_connectors": []
}Each listed directory must exist directly inside the pack folder, and each
workflow in a pack must declare mike-availability: "add-on" inside its
metadata. Packs should not contain system workflows. Installing a pack
installs all workflows listed in its manifest.
The pack id is immutable after publication and must match the pack folder name
without its -pack suffix. For example, commercial-drafting-pack/ uses
"id": "commercial-drafting".
Packs are type-specific: an assistant pack belongs in assistant-workflows/,
while a tabular review pack belongs in tabular-review-workflows/. This keeps
the repository flat and avoids another cross-cutting directory hierarchy.
Each workflow has a SKILL.md file with YAML frontmatter followed by Markdown
instructions. To remain portable across compatible agent harnesses, the
frontmatter uses the standard Agent Skills fields. name and description are
required by the open specification; license and metadata are also required
for workflows in this repository.
Only fields whose meaning is specific to Mike use the mike- prefix. General
fields such as version, author, language, practice, and jurisdictions
remain unprefixed. Metadata values are strings for compatibility with the Agent
Skills specification. Use the author or publishing organisation's name for
author.
---
name: "nda-review"
description: "Review an NDA and identify material legal and commercial issues."
license: "MIT"
metadata:
version: "1.0.0"
author: "Open Legal Products"
language: "English"
mike-display-name: "NDA Review"
mike-type: "assistant"
mike-availability: "system"
practice: "General Transactions"
jurisdictions: "General"
---The workflow folder and the name field must both match the lowercase,
hyphenated form of metadata.mike-display-name. For example, a Mike display
name of Credit Agreement Review uses the folder
credit-agreement-review/ and name: "credit-agreement-review". Keep these
identifiers stable once published. Because the identifier is derived from the
display name, treat mike-display-name as immutable after publication. A
breaking rename requires an explicit migration or alias in the consuming
application.
Tabular review table-columns.yaml files use:
$schema: "../../workflow-schema/table-columns.schema.yaml"For a tabular workflow inside a pack, use:
$schema: "../../../workflow-schema/table-columns.schema.yaml"Validate workflow metadata, canonical tabular instructions, column formats, indexes, names, and tags with:
python3 workflow-schema/validate-workflows.pySee CONTRIBUTING.md for authoring and validation rules, PROVENANCE.md for third-party licensing requirements, and VERSIONING.md for workflow and pack versioning.
MIT License. See LICENSE.