Skip to main content

neuroskill-evidence

Implicit evidence collection, personal effectiveness tracking, and data-driven recommendation engine for NeuroSkill. Defines the standardised px: label schema, automatic before/after measurement, outcome scoring, personal protocol ranking, life-event labeling, and evidence-driven selection rules. Loaded whenever the LLM runs a protocol, suggests an intervention, tracks habits, or the user asks what works for them.

Zur Installation springen

Quellinformationen

Repository
NeuroSkill-com/skills
Letzte Quellaktivität
2. April 2026 um 04:48
Erkannte Sprache von SKILL.md
Englisch
Sterne
13
Forks
5

Installationsoptionen

Standardmäßig ist der Prompt ausgewählt, der zuerst die Quelle prüft. Sie können zu einem direkten Befehl wechseln oder eine lokale Kopie herunterladen.

Quelldateien prüfen

Lesen Sie SKILL.md und alle von SkillsMP angezeigten Begleitdateien, bevor Sie sich für eine Installation entscheiden.

SKILL.md wird angezeigt

SKILL.md
Quellanweisungen · Schreibgeschützte Vorschau
name
neuroskill-evidence
description
Implicit evidence collection, personal effectiveness tracking, and data-driven recommendation engine for NeuroSkill. Defines the standardised px: label schema, automatic before/after measurement, outcome scoring, personal protocol ranking, life-event labeling, and evidence-driven selection rules. Loaded whenever the LLM runs a protocol, suggests an intervention, tracks habits, or the user asks what works for them.
# NeuroSkill Evidence Collection *(This skill defines how the LLM silently collects, aggregates, and uses evidence about what actually helps each person. Every other skill that delivers an intervention, tracks a habit, or makes a recommendation should follow these rules.)* --- ## Core Principle **Every intervention is a natural experiment.** The EEG headband is already running. The baseline already exists. The post-state will arrive automatically. All the LLM needs to do is snapshot, label, and remember. The user should NEVER be asked: "Can I label this?" or "Should I measure the outcome?" Just do it. The labeling and measurement are invisible infrastructure. The only thing the user sees are the insights that emerge over time. **The goal is population-of-one science.** Not "does box breathing reduce stress in general?" but "does box breathing reduce stress for YOU, at THIS time of day, in THIS context, compared to THESE alternatives?" --- ## Who Uses This Skill Every skill that does any of the following MUST follow the evidence collection rules: | Skill | How it uses evidence | |---|---| | **neuroskill-protocols** | Label every protocol execution (start + end + deltas). Rank protocols by personal effectiveness. Select proven winners. | | **neuroskill-hooks** | Label hook trigger events. Track whether the user acted on the hook and whether it helped. Tune thresholds from real outcomes. | | **neuroskill-streaming** | Label calibration sessions. Track TTS-guided protocol outcomes. | | **neuroskill-sessions** | Correlate session-level metrics with labeled interventions. Identify which sessions had protocols and which didn't. | | **neuroskill-search** | Use `px:` labels to find past interventions and correlate with neural similarity search results. | | **neuroskill-labels** | The evidence system IS the label system. All `px:` labels flow through `label` and `search_labels`. | | **neuroskill-sleep** | Label evening routines. Correlate sleep architecture with pre-sleep interventions. | | **neuroskill-dnd** | Label DND activations. Track whether protected focus periods produced better outcomes. | | **neuroskill-screenshots** | Correlate screen content (apps, sites) with brain state changes when labeled. | | **neuroskill-llm** | The LLM is the evidence engine — it creates labels, queries them, aggregates, and recommends. | | **neuroskill-recipes** | Recipes can incorporate evidence queries for automation scripts. | --- ## Standardised Label Schema ### Prefix System All evidence labels use the `px:` prefix (protocol/experience execution): | Prefix | Meaning | Example | |---|---|---| | `px:start:<name>` | Intervention began | `px:start:box_breathing` | | `px:end:<name>` | Intervention ended | `px:end:box_breathing` | | `px:note:<name>` | Observation (no start/end pair) | `px:note:poor_sleep` | | `px:skip:<name>` | Offered but declined | `px:skip:kapalabhati` | | `px:auto:<name>` | Auto-triggered by hook | `px:auto:stress_alert` | The `px:` prefix makes all evidence data instantly queryable: ```json {"command": "search_labels", "args": {"query": "px:end", "k": 50}} {"command": "search_labels", "args": {"query": "px:end:box_breathing", "k": 20}} {"command": "search_labels", "args": {"query": "px:start", "k": 50, "mode": "context"}} ``` ### Context Format The `context` field uses pipe-separated `key=value` pairs for machine-parseable structured data: ``` modality=breath | trigger=high_bar | bar=0.72 | stress_index=68 | relaxation=0.31 | focus=0.45 | hr=78 | mood=0.40 | faa=-0.03 | rmssd=26 ``` ### Required Fields **Start label context — always include:** | Field | Description | Example | |---|---|---| | `modality` | Intervention type | `breath`, `tactile`, `cognitive`, `visual`, `movement`, `auditory`, `passive_physio`, `music`, `dietary`, `relational`, `environmental` | | `trigger` | EEG trigger that prompted this | `high_bar`, `low_focus`, `low_rmssd`, `high_drowsiness`, `low_mood`, `high_cognitive_load`, `user_request` | | `bar` | Beta/Alpha Ratio at start | `0.72` | | `stress_index` | Stress index at start | `68` | | `relaxation` | Relaxation score at start | `0.31` | | `focus` | Focus score at start | `0.45` | | `hr` | Heart rate at start | `78` | | `mood` | Mood score at start | `0.40` | | `faa` | Frontal Alpha Asymmetry at start | `-0.03` | | `rmssd` | HRV (RMSSD) at start | `26` | **End label context — always include (in addition to the above at end-state):** | Field | Description | Example | |---|---|---| | `duration_min` | Duration in minutes | `5` | | `delta_bar` | Change in BAR | `-0.24` | | `delta_stress` | Change in stress_index | `-26` | | `delta_relaxation` | Change in relaxation | `+0.27` | | `delta_focus` | Change in focus | `+0.07` | | `delta_hr` | Change in heart rate | `-10` | | `delta_mood` | Change in mood | `+0.15` | | `delta_faa` | Change in FAA | `+0.04` | | `delta_rmssd` | Change in RMSSD | `+12` | | `outcome` | Overall result | `positive`, `neutral`, `negative` | ### Outcome Determination Outcome is based on the **target metric** for the intervention's trigger: | Trigger | Target metric | Positive if | Negative if | |---|---|---|---| | `high_bar` / stress | `bar`, `stress_index` | Dropped ≥ 10% or ≥ 0.05 abs | Rose ≥ 10% | | `low_focus` | `focus` | Rose ≥ 10% or ≥ 0.05 abs | Dropped ≥ 10% | | `low_relaxation` | `relaxation` | Rose ≥ 10% or ≥ 0.05 abs | Dropped ≥ 10% | | `low_mood` | `mood`, `faa` | Rose ≥ 10% or ≥ 0.05 abs | Dropped ≥ 10% | | `high_cognitive_load` | `cognitive_load` | Dropped ≥ 10% or ≥ 0.05 abs | Rose ≥ 10% | | `low_rmssd` / low HRV | `rmssd` | Rose ≥ 10% or ≥ 3 ms abs | Dropped ≥ 10% | | `high_drowsiness` | `wakefulness` | Rose ≥ 10% or ≥ 0.05 abs | Dropped ≥ 10% | | `high_headache` | `headache_index` | Dropped ≥ 10% or ≥ 5 abs | Rose ≥ 10% | | `user_request` | User's stated goal | Ask user or infer from context | — | | All other | Neutral unless clear change | — | — | If target metric change is between thresholds → `neutral`. ### Full Label Examples **Starting a protocol:** ```json {"command": "label", "args": { "text": "px:start:box_breathing", "context": "modality=breath | trigger=high_bar | bar=0.72 | stress_index=68 | relaxation=0.31 | focus=0.45 | hr=78 | mood=0.40 | faa=-0.03 | rmssd=26" }} ``` **Ending a protocol (success):** ```json {"command": "label", "args": { "text": "px:end:box_breathing", "context": "modality=breath | trigger=high_bar | duration_min=5 | bar=0.48 | stress_index=42 | relaxation=0.58 | focus=0.52 | hr=68 | mood=0.55 | faa=0.01 | rmssd=38 | delta_bar=-0.24 | delta_stress=-26 | delta_relaxation=+0.27 | delta_focus=+0.07 | delta_hr=-10 | delta_mood=+0.15 | delta_faa=+0.04 | delta_rmssd=+12 | outcome=positive" }} ``` **Noting a life event:** ```json {"command": "label", "args": { "text": "px:note:caffeine_intake", "context": "type=coffee | bar=0.45 | focus=0.52 | stress_index=38 | hr=72 | mood=0.55" }} ``` **User declined a suggestion:** ```json {"command": "label", "args": { "text": "px:skip:kapalabhati", "context": "reason=breath_averse | trigger=low_wakefulness | offered_alternative=cold_water_face" }} ``` **Hook auto-triggered:** ```json {"command": "label", "args": { "text": "px:auto:stress_alert", "context": "hook=Stress Auto-Protocol | distance=0.089 | bar=0.78 | stress_index=72 | suggested=ear_massage" }} ``` --- ## Measurement Flow ### For Formal Protocols (mandatory, every time) ``` 1. BEFORE — Snapshot & Label ├─ {"command": "status"} → capture baseline metrics ├─ Store baseline in working memory for this conversation └─ {"command": "label", "args": {"text": "px:start:<protocol>", "context": "..."}} 2. DURING — Monitor (optional, per protocol) ├─ Poll status every 30–60s for live feedback if appropriate └─ Label notable moments: {"text": "px:note:alpha_spike_during_body_scan"} 3. AFTER — Snapshot, Compute, Label (30–60 seconds post-protocol, let metrics settle) ├─ {"command": "status"} → capture post-state ├─ Compute deltas (after − before) for all core metrics ├─ Determine outcome (positive / neutral / negative per rules above) ├─ {"command": "label", "args": {"text": "px:end:<protocol>", "context": "..."}} └─ Report to user (brief, natural language — see Surfacing Rules) 4. REMEMBER — Store in working memory └─ "This person did box_breathing. Outcome: positive. delta_bar: -0.24." Use this to inform future suggestions in this conversation. ``` ### For Life Events (implicit, when mentioned) When the user mentions any of the following, silently label it: | User says / does | Label | Follow-up measurement | |---|---|---| | "I had coffee" / "drinking tea" | `px:note:caffeine_intake` | Check `focus`, `bar` at +30 min and +60 min if still in conversation. Label `px:note:caffeine_effect_30m` with deltas. | | "Going for a walk" / "just walked" | `px:start:walk` → later `px:end:walk` | Snapshot mood, engagement, stress before and after. | | "Just ate" / "having lunch" | `px:note:meal` | Check `drowsiness`, `focus` at +30 min. Label `px:note:post_meal_30m`. | | "Bad sleep" / "slept poorly" | `px:note:poor_sleep` | Snapshot today's baseline. Correlate with `sleep` command data. | | "Great sleep" | `px:note:good_sleep` | Same — build sleep-to-performance correlation. | | "In a meeting" / "meeting starting" | `px:note:meeting_start` | Check `stress_index`, `cognitive_load` after if still talking. | | "Meeting done" | `px:note:meeting_end` | Snapshot post-meeting state. | | "Just exercised" / "gym done" | `px:note:exercise_end` | Snapshot full metrics — exercise is a powerful intervention. | | "Feeling anxious" / "stressed out" | `px:note:subjective_stress` | Correlate with EEG data — how well does their self-report match their metrics? | | "Feeling great" / "good mood" | `px:note:subjective_positive` | Same — validate or contrast with EEG. | | App switch visible in `status` | `px:note:app_context` with `status → apps.top_24h` | Correlate screen content with brain state over time. | | "Taking a break" | `px:start:break` → later `px:end:break` | Measure recovery: how much did metrics improve? | | User declines a protocol | `px:skip:<protocol>` with reason | Track preference patterns — what do they avoid and why? | **Rules for life-event labeling:** - Only label what the user explicitly mentions or what's clearly visible in API data. - NEVER infer ("you sound upset" → don't label unless they said it). - Keep labels factual, not interpretive. - Don't label every message — only intervention-like events. ### For Hook Triggers When a hook fires (visible in `listen` events or `hooks_log`): ```json {"command": "label", "args": { "text": "px:auto:stress_alert", "context": "hook=Stress Auto-Protocol | distance=0.089 | bar=0.78 | stress_index=72 | suggested=ear_massage | user_acted=pending" }} ``` If the user follows up with a protocol → label normally and link: ```json {"command": "label", "args": { "text": "px:start:ear_massage",
Auf GitHub ansehen
Diese SKILL.md ist sehr gross, daher zeigt SkillsMP hier nur den ersten Abschnitt. Auf GitHub ansehen