agentsclimarketplace

Mira coach

Skill eidos11/mira-adultedge/skills/mira-coach

MIRA AdultEdge — Memory-Imagination-Reason Architecture for adult learning diagnosis and coaching

Install
npx -y skills add eidos11/mira-adultedge --skill mira-coach

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

2 things to look at

  • no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
  • 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

Run coaching (stage 4) on a MIRA diagnosis JSON produced by mira-diagnose-verify and emit the same JSON with a structured `coaching` key added. Unsupported patterns receive an explicit out-of-scope note — never a silent skip. Use when the user has a diagnosis JSON and wants coaching output, or wants to chain diagnose → coach in a pipeline.

SKILL.md

5.1 KB, ~1.3k tokens by cl100k_base, as published. Nobody here has run it

mira-coach

Add structured coaching to a MIRA diagnosis JSON.

When to use

Trigger this skill when the user has a diagnosis JSON from mira-diagnose-verify (or python -m mira --format json) and wants:

  1. structured coaching for the detected cognitive pattern (coaching.block, coaching.pattern_id), or
  2. explicit out-of-scope marking when the detected pattern has no coaching template yet (see §5 honesty rule below).

Do not trigger for raw learner text — run mira-diagnose-verify first to get the diagnosis JSON.

Input contract

Input must be a diagnosis JSON produced by mira-diagnose-verify:

keydescription
schema_versionmust be "0.2.2"
inputthe original learner claim text (required for coaching)
route_vtypeverification type (I / A / D)
psr{P, S, R} PSR decomposition
patternslist of {pattern_id, lane2_status, evidence_trace}
overlay_statusoverall verdict
evidence_summaryaggregated evidence text

The coaching and report keys must be absent (pre-coaching stage output).

Output contract

The output is the input JSON with one key added: coaching.

{
  "schema_version": "0.2.2",
  "input": "...",
  ...all original diagnosis keys preserved...,
  "coaching": {
    "block": "## Coaching\n\n...",
    "pattern_id": "fluency_illusion",
    "note": null
  }
}

coaching sub-fields

fielddescription
blockCoaching text (Socratic prompts + action invitation)
pattern_idPrimary pattern addressed; null if none resolved
notenull for a supported pattern OR no clear match; out-of-scope message for a resolved-but-unsupported pattern (disambiguate via pattern_id — see below)

note=null is ambiguous on its own — it covers two distinct cases. Consumers must read pattern_id to tell them apart:

pattern_idnotemeaning
setnullsupported pattern — coaching provided in block
nullnullno clear match — no pattern evidenced; block carries no-match guidance
setout-of-scope messagea pattern was resolved but has no coaching template

Honesty rule (§5) — ZERO silent skip

If a pattern is resolved but has no coaching template, coaching.note is set to:

"out of v0.x scope: pattern '<id>' has no coaching template"

It is never silently left as null. A silent skip is a P1 honesty violation. (The "no clear match" case — pattern_id=null — is distinct: there is no resolved pattern to mark out-of-scope, so note stays null.)

Supported patterns (v0.x): fluency_illusion, false_dilemma, oversimplified_cause, sunk_cost, effort_heuristic, willpower_blame.

2-step CLI usage contract

# Step 1 — diagnose reasoning text
python skills/mira-diagnose-verify/scripts/diagnose.py \
    "I failed because I'm not smart enough." \
    > diag.json

# Step 2 — add coaching
python skills/mira-coach/scripts/coach.py < diag.json > coached.json
# or equivalently:
python skills/mira-coach/scripts/coach.py diag.json > coached.json

Language flag:

python skills/mira-coach/scripts/coach.py --lang ko < diag.json > coached_ko.json

API

# scripts directory must be on sys.path
import coach
coached_dict = coach.coach(diag_json_dict, lang="en")

coach(diag_json, *, lang="en") -> dict

Accepts the diagnosis JSON as a Python dict. Returns the same dict with coaching added. Input dict is never mutated (immutability).

Structure

  • scripts/coach.py — thin wrapper: reconstructs DiagnoseResult from the diagnosis JSON → calls mira.pipeline.coach_from_overlay → returns input dict with coaching added (additive, not re-serialized from scratch).

Design notes

  • Thin wrapper only: all coaching and honest-skip logic lives in mira.pipeline.coach_from_overlay (engine). coach.py contains no coaching logic of its own.
  • Additive output: the input JSON is preserved exactly; coaching is added as a new top-level key. This avoids a third from-scratch serializer (DRY — only diagnose.py and mira/__main__.py serialize from pipeline output; coach.py reuses the diagnosis JSON directly).
  • Reconstruction: the diagnosis JSON lacks lane1_pass (set by run_reduced_critic inside coach_from_overlay). A lane1_pass=True placeholder is used; coach_from_overlay overwrites it immediately.
  • Immutability: input dict is never mutated; coach() returns a new dict.
  • Pattern: mirrors mira-diagnose-verify conventions — argparse, stdin or file input, JSON stdout, errors to stderr + exit 1.

What ships with it: 1 file

8.5 KB alongside SKILL.md, 1 of them executable

scripts/

Gives 0 of the 12 instructions most learn study skills give in ~1.3k tokens

Counted across 546 of the 573 authors here whose files we hold, read 2026-08-07

  • Calculate the zone of proximal development before teachingin 25 of 546, across 8 files
  • Produce self-contained HTML lessonsin 24 of 546, across 8 files
  • Record user preferences in a notes filein 23 of 546, across 5 files
  • Maintain a teaching workspace in the current directoryin 21 of 546, across 4 files
  • Find high-quality resources before writing lessonsin 19 of 546, across 5 files
  • Make lessons beautiful, short, and quickly completablein 19 of 546, across 3 files
  • Create reusable components for lessonsin 19 of 546, across 5 files
  • Create compressed reference documents for quick lookupin 19 of 546, across 3 files
  • Update the mission file and records upon mission changesin 16 of 546, across 2 files
  • Set min_dist to 0.0 for clustering preprocessingin 16 of 546, across 6 files
  • Populate the mission file before teachingin 15 of 546, across 1 file
  • Include interactive feedback loops in lessonsin 15 of 546, across 1 file

Said here and by no other author read

  • Preserve the input diagnosis JSON exactly
  • Add coaching as a new top-level key
  • Set an out-of-scope note for unsupported resolved patterns
  • Leave note null for supported patterns or no clear match
  • Disambiguate note null cases using pattern_id
  • Keep coaching logic out of the wrapper script

Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once. Length counted with cl100k_base; the agent that loads this file may tokenize it differently.

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.