Source profileQuality 95/100

zjunlp/Mechanist/skills/notify/SKILL.md

notify

Draft a research-progress briefing and dispatch it through whatever notification service the user has already configured. Channel-agnostic — this skill only drafts the briefing text and scans for a configured service; it does not hard-code or recommend any particular channel or tool. Opt-in: it does nothing unless task.md asks for notifications (e.g. email reminders). Every briefing is saved to notification/ (never overwritten). Called by /auto on an hourly cadence and at progress / done / halte

Source repository stars
48
Declared platforms
0
Static risk flags
0
Last source update
2026-08-26
Source checked
2026-08-28

Decision brief

What it does: where it fits

Draft a briefing for: $ARGUMENTS (event type + optional reason; defaults to hourly when omitted).

Best for

    Not for

    • Tasks that require unconfirmed production actions or broad system permissions.
    • Environments where the pinned source and install steps cannot be inspected.

    Compatibility matrix

    Platform support, with evidence labels

    PlatformStatusEvidenceWhat to check
    CodexNot declaredNo explicit evidencePortability before use
    Claude CodeNot declaredNo explicit evidencePortability before use
    CursorNot declaredNo explicit evidencePortability before use
    Gemini CLINot declaredNo explicit evidencePortability before use
    Open the compatibility checker

    Installation

    Inspect first. Install second.

    The source command is displayed only when detected. A safe inspection prompt is always available so your agent can explain every action before execution.

    Source-detected install commandSource
    npx skills add https://github.com/zjunlp/Mechanist --skill "skills/notify"
    Safe inspection promptEditorial

    Inspect the Agent Skill "notify" from https://github.com/zjunlp/Mechanist/blob/ec95171ef7026fba5079b250c2afd253510a74b0/skills/notify/SKILL.md at commit ec95171ef7026fba5079b250c2afd253510a74b0. List every install step, command, network request, credential, file read/write, external action, and rollback step. Explain whether it fits my task. Do not install or execute anything until I approve.

    Workflow

    What the source asks the agent to do

    1. 01

      Step 1 — Opt-in gate (task.md)

      Read task.md at the project root. Proceed only if the user opted into notifications — any of:

      an explicit marker line: notify:, notification:, email-notify:, notify: email (value naming a channel or just true);natural-language intent to be notified, in any language — e.g. "email me when …", "notify me by email", or the equivalent in the task.md's own language.Read task.md at the project root. Proceed only if the user opted into notifications — any of:
    2. 02

      Step 2 — Detect a configured notification service

      Scan for whatever notification service the user has already set up, and use it. Do not assume, install, configure, or recommend any particular tool — detection is read-only, and configuration is the user's job. A briefing may go to more than one configured service.

      Email — if an authorized email account / sending tool is present in the environment (whatever the user set up), email is available. Determine the recipient and the send interface from that tool's own configuration.Any other service the user configured — a webhook URL, a chat integration, or a token file the project documents. Use each per its own contract.Do not attempt to authenticate or log in here. If a service is present but not authorized, treat it as not configured.
    3. 03

      Step 3 — Gather material (read-only)

      Pull the current state from whatever exists (skip missing files silently):

      CLAIMSLEDGER.md / claimsledger.json — per-claim statement, main-experiment headline, verify verdict, finalstatus, pipelinestatus, openitems[].refine-logs/EXPERIMENTPLAN.md — milestones, chosen mechanism, models + datasets.refine-logs/EXPERIMENTTRACKER.md — per-run Status (pending/running/done/failed).
    4. 04

      Step 4 — Write the briefing (a real update, not a form)

      The briefing is an email to a busy collaborator — write it the way a sharp research assistant updates their PI, not by filling a template. Lead with what matters, interpret the numbers instead of dumping them, and make any action item impossible to miss. Adapt length and shape t…

      Open with a one-line TL;DR (this doubles as the email subject) and then a 2–4 sentence plain-language summary of where the research stands right now and what changed since last time.Use prose for state and interpretation, tables/bullets for numbers and lists — mix freely, whatever reads fastest on a phone.Always compute the delta since the last briefing. Read the newest existing notification/.md and say what moved: which runs finished, which verdicts flipped, GPU-hours burned since then. "3 of 8 runs finished since the l…
    5. 05

      Step 5 — Save to notification/ (durable, never overwritten)

      Always write the drafted briefing to notification/ at the project root, timestamped so it never collides and never overwrites a prior briefing:

      Always write the drafted briefing to notification/ at the project root, timestamped so it never collides and never overwrites a prior briefing:bash mkdir -p notification

    Permission review

    Static risk signals and limitations

    No configured static risk pattern was detected

    This is not proof of safety. Runtime behavior, indirect dependencies, and hidden external systems are outside the static scan.

    Evidence record

    Why each signal appears

    EvidenceSourceComputedTestedEditorial
    SignalValueEvidence typeMeaning
    Quality score95/100ComputedDocumentation, specificity, maintenance, and trust rules
    Repository stars48SourceRepository attention, not individual Skill quality
    Compatibility0 platformsSourceDeclared in the catalog source record
    Usage guideautomated source guideEditorialGenerated or reviewed according to the visible evidence level

    Pinned source

    Provenance and original SKILL.md

    Repository
    zjunlp/Mechanist
    Skill path
    skills/notify/SKILL.md
    Commit
    ec95171ef7026fba5079b250c2afd253510a74b0
    License
    MIT
    Collected
    2026-08-28
    Default branch
    main
    View the original SKILL.md

    Notify — Draft + Dispatch a Progress Briefing

    Draft a briefing for: $ARGUMENTS (event type + optional reason; defaults to hourly when omitted).

    Overview

    This skill is the pipeline's notification utility. It does two things and nothing else:

    1. Drafts a human-readable progress briefing (fixed content spec below) from the workspace artifacts.
    2. Dispatches it through whatever notification service the user has already configured — it is channel-agnostic, so it never assumes, recommends, or hard-codes a specific channel or tool; it scans for whatever is configured (e.g. an email account, a webhook) and uses it.

    Opt-in + zero-impact guarantee. This skill is a silent no-op unless task.md opts into notifications. When it is not opted in — or no notification service is configured — the pipeline behaves exactly as if this skill did not exist. It never blocks a workflow and never fails loudly: any dispatch error is logged and swallowed.

    Step 1 — Opt-in gate (task.md)

    Read task.md at the project root. Proceed only if the user opted into notifications — any of:

    • an explicit marker line: notify:, notification:, email-notify:, notify: email (value naming a channel or just true);
    • natural-language intent to be notified, in any language — e.g. "email me when …", "notify me by email", or the equivalent in the task.md's own language.

    If no opt-in signal is present → log [notify] not opted in (no task.md notification directive) — skipping and return immediately. Do not draft, do not write files.

    The task.md opt-in is the user's standing authorization for these auto-generated pipeline notifications — see Step 5's send note.

    Step 2 — Detect a configured notification service

    Scan for whatever notification service the user has already set up, and use it. Do not assume, install, configure, or recommend any particular tool — detection is read-only, and configuration is the user's job. A briefing may go to more than one configured service.

    • Email — if an authorized email account / sending tool is present in the environment (whatever the user set up), email is available. Determine the recipient and the send interface from that tool's own configuration.
    • Any other service the user configured — a webhook URL, a chat integration, or a token file the project documents. Use each per its own contract.
    • Do not attempt to authenticate or log in here. If a service is present but not authorized, treat it as not configured.

    If no service is configured → still draft and save the briefing to notification/ (Step 4), then log [notify] briefing saved to notification/ — no dispatch channel configured and return. The saved file is the durable record even when nothing is sent.

    Step 3 — Gather material (read-only)

    Pull the current state from whatever exists (skip missing files silently):

    • CLAIMS_LEDGER.md / claims_ledger.json — per-claim statement, main-experiment headline, verify verdict, final_status, pipeline_status, open_items[].
    • refine-logs/EXPERIMENT_PLAN.md — milestones, chosen mechanism, models + datasets.
    • refine-logs/EXPERIMENT_TRACKER.md — per-run Status (pending/running/done/failed).
    • refine-logs/EXPERIMENT_RESULTS.md — key metrics, phenomenon_status.
    • review-stage/REVIEW_STATE.jsoniterations_consumed, last_score, last_verdict, status.
    • experiment_queue/queue_state.json (if present) — queued/running/stuck runs.
    • runs/ + runs/iteration_round_*/ — recent run dirs and cost.json (GPU-hours).
    • The caller's reason argument and event type.

    Step 4 — Write the briefing (a real update, not a form)

    The briefing is an email to a busy collaborator — write it the way a sharp research assistant updates their PI, not by filling a template. Lead with what matters, interpret the numbers instead of dumping them, and make any action item impossible to miss. Adapt length and shape to how much actually happened since the last briefing: a quiet hour is three honest sentences; a milestone landing or a blocker is a full update. Never emit empty skeleton sections, and never pad — a short true update beats a long hollow one.

    Follow the output-language rule (skills/shared-references/output-language.md): detect language from task.md and write the whole briefing in that language (keep code / paths / ids / metric names in English).

    Voice & shape

    • Open with a one-line TL;DR (this doubles as the email subject) and then a 2–4 sentence plain-language summary of where the research stands right now and what changed since last time.
    • Use prose for state and interpretation, tables/bullets for numbers and lists — mix freely, whatever reads fastest on a phone.
    • Always compute the delta since the last briefing. Read the newest existing notification/*.md and say what moved: which runs finished, which verdicts flipped, GPU-hours burned since then. "3 of 8 runs finished since the last update — C1 is now a verified PASS" beats a static snapshot every time.
    • Interpret, don't just report. Say whether a result is good / bad / expected, whether training looks healthy, whether a negative is a real finding or a suspected under-power artifact, whether momentum is normal or stalling.
    • Close with What's next, and — when anything needs a human — a prominent ⚠ Needs you line naming the single concrete action.

    Material to weave in (include what is real for this run; drop what is empty — do not print "N/A" rows):

    • Headline — one sentence a phone-glance absorbs.
    • Where things stand — current stage, overall health, momentum vs the last briefing.
    • Progress — per claim: the claim in plain words → main-experiment verdict → verify verdict, with the key number and what it means. Plus runs done / running / failed and GPU-hours (total, and since last briefing).
    • Plan & context — current milestone(s) and success criterion, chosen mechanism / models / datasets — only as much as a fresh reader needs to follow along.
    • In flight — what is running now, on which GPU(s), elapsed / rough ETA; queue depth and any stuck jobs.
    • What's next — the next milestone or stage, and any upcoming decision point.
    • Needs you — halts, Round-End Decisions, or anything requiring a human-only action (sudo, credentials, disk/quota, an external approval the pipeline cannot perform). State the one concrete thing to do; lead with it for halted / approval-needed.

    Worked example (an hourly briefing mid-run — this is the level of care and richness to aim for, not a fixed layout to copy):

    Subject: mechanist · hourly — C1 verified PASS, 2 runs left
    
    Hi — quick hour-mark update on the first-person-belief study.
    
    Where things stand. We're in the verify stage and it's going well. Since the last
    briefing an hour ago, the C1 main effect held under both the dataset-swap and the
    model-swap variants, so C1 is now a verified PASS (robustness 0.83). The two
    remaining C2 ablation runs are still going; no crashes, GPU use within the 4-card cap.
    
    Progress
    - C1 — "the model rates first-person 'I believe X' as less true than the matched
      third-person assertion." Main experiment supported (Δ=0.21, p<0.01); verify PASS,
      2/2 eligible variants agree. This one looks solid.
    - C2 — steering along the belief direction shifts refusal rate. Main experiment
      positive; the layer-sweep ablation is finishing now (below).
    - Runs: 6/8 done, 2 running, 0 failed · ~11.3 GPU-h total (+2.1 since last update).
    
    In flight
    - C2_layer_sweep on GPUs 4,5 — ~35 min in, ETA ~20 min.
    
    What's next. Once the two ablations land, verify closes and the pipeline moves into
    the review/iteration loop. Nothing needed from you right now — I'll ping you when
    verify finishes or if anything gets stuck.
    
    Full per-claim detail any time in CLAIMS_LEDGER.md.
    

    Two more shapes, to show the range:

    • Quiet hour — don't manufacture content: "Still on the C2 layer-sweep, ~40 min to go, everything nominal — nothing new since the last update. Next ping when it finishes."
    • Needs-you (approval-needed) — lead with the ask: "⚠ Blocked: the run needs to install a system CUDA library and can't sudo on its own. Action: run sudo apt-get install libaio-dev on the box, then reply and I'll resume. Everything else is paused and safe." Prefix the subject with [ACTION NEEDED].

    Event → what to emphasize (the writing adapts; these are the leads):

    eventtypical triggerlead with
    hourly~1h cadence during a long runwhere things stand + the delta since last time
    progressa milestone / run finished with a real resultthe new result and what it means
    donepipeline reached a terminal statethe final verdict per claim + where deliverables live
    haltedfail-loudly halt / Round-End Decisionwhat stopped, why, and the remedy
    approval-neededblocked on a human-only actionthe ⚠ ask, first line; subject [ACTION NEEDED]

    Step 5 — Save to notification/ (durable, never overwritten)

    Always write the drafted briefing to notification/ at the project root, timestamped so it never collides and never overwrites a prior briefing:

    mkdir -p notification
    # filename: <UTC-timestamp>_<event>.md  (e.g. 20260709T014233Z_hourly.md)
    

    notification/ is the append-only archive of everything this skill produced. It is kept at the project root across rounds/next-round never moves it into rounds/round_<N>/ (see skills/next-round/SKILL.md keep-list).

    Step 6 — Dispatch through the configured channel

    If a service was found in Step 2, send the briefing through that service's own send interface. The dispatch mechanics belong to whatever tool the user configured — this skill supplies the content and these conventions:

    • Subject / title = the briefing's one-line TL;DR (Step 4), prefixed with the project tag — e.g. mechanist · hourly — C1 verified PASS, 2 runs left. A specific line the user can triage from the lock screen; never a generic "progress briefing".
    • Body = the saved briefing (notification/<file>.md). Send it as-is; if the channel prefers formatted content, a light HTML rendering of the same text is fine — the content is identical either way.
    • Recipient / destination comes from the configured service (the user's own address / channel) unless task.md names a different one.
    • For approval-needed / halted, prefix the subject with [ACTION NEEDED].
    • Standing-authorization for autonomous send (scoped to pipeline briefings only). If the configured channel requires an interactive confirmation before sending, treat the task.md opt-in as the user's explicit standing authorization for these auto-generated notifications and self-confirm in the same flow rather than blocking for a reply. This applies strictly to briefings this skill drafted — never to user-directed messages.

    On any send error (non-zero exit, auth expired, rate-limit): log it, keep the saved notification/ file, and return without blocking. Never let a notification failure stop or delay the pipeline.

    Key Rules

    • Write it like a person, not a form. Lead with the point, interpret the numbers, adapt length to what happened, and always report the delta since the last briefing. A terse skeleton with placeholder bullets is a failure of this skill even when every field is technically filled.
    • Opt-in only. No task.md notification directive → pure no-op, zero side effects.
    • Never block, never fail loudly. A dispatch failure is logged and swallowed; the pipeline proceeds unchanged.
    • Channel-agnostic. This skill drafts text and hands it to a configured service; it does not own or hard-code a channel. If none is configured, it still saves to notification/.
    • notification/ is append-only and root-persistent. Timestamped filenames — never overwrite; never archived by /next-round.
    • No secrets in a briefing. Never include API keys, tokens, passwords, or raw credentials.
    • Always surface a genuine blocker. If the run needs a human-only action (sudo, credentials, quota, external approval), the Blocked section must name it and the one action required — this is the case a notification exists for.

    Frequently asked questions

    What to verify before installation and use

    What does the notify source document cover?

    Draft a briefing for: $ARGUMENTS (event type + optional reason; defaults to hourly when omitted).

    How do I install notify?

    The source record exposes this install command: npx skills add https://github.com/zjunlp/Mechanist --skill "skills/notify". Inspect the command and pinned source before running it.

    Alternatives

    Compare before choosing

    Computed 10045,960

    coreyhaines31/marketingskills

    ab-testing

    When the user wants to plan, design, or implement an A/B test or experiment, or build a growth experimentation program. Also use when the user mentions "A/B test," "split test," "experiment," "test this change," "variant copy," "multivariate test," "hypothesis," "should I test this," "which version is better," "test two versions," "statistical significance," "how long should I run this test," "growth experiments," "experiment velocity," "experiment backlog," "ICE score," "experimentation program

    Computed 10025,136

    alirezarezvani/claude-skills

    app-store-optimization

    App Store Optimization (ASO) toolkit for researching keywords, analyzing competitor rankings, generating metadata suggestions, and improving app visibility on Apple App Store and Google Play Store. Use when the user asks about ASO, app store rankings, app metadata, app titles and descriptions, app store listings, app visibility, or mobile app marketing on iOS or Android. Supports keyword research and scoring, competitor keyword analysis, metadata optimization, A/B test planning, launch checklist

    Computed 100147

    equinor/neqsim

    neqsim-professional-reporting

    Engineering deliverable quality — the nine analytical-depth moves (contributor ranking, adjudicating the source document, quantitative rule-outs, robustness crossover, conservatism direction, discriminating test), results.json schema, figure→discussion→linked_results traceability, evidence matrices, assumptions/gaps registers, citation conventions, KaTeX math formatting, units consistency, executive-summary structure, AACE class declaration. USE WHEN: producing a task report, a PEPR/M1/root-caus

    Computed 100133

    JasonColapietro/suede-creator-skills

    suede-ab-testing

    Suede-owned experimentation discipline for hypotheses, sample sizing, test duration, significance, and repeatable experiment programs. Use when comparing variants, deciding whether a result is reliable, or building an experiment backlog and cadence. NOT FOR: analytics instrumentation (use suede-analytics), post-click conversion diagnosis (use suede-site-alchemy), or writing the variant copy itself (use suede-copy).