← BodhiKitCONTENT HISTORY

Update to BodhiKit

Snapshot Oct 29, 2026 · 18:37 UTC · version 1.25.1

Collection source: downloaded plugin package. These snapshots do not have a confirmed matching collection source. Differences in file lists alone do not establish changes to the package.

WHAT CHANGED

Instructions updated for assess

Full description — Now says: Assess your current skill level on any topic

Observed in instructions or declared skills. Runtime behavior has not been tested.

Save BodhiKit and check future changes in Following.

Up to 10 plugins free · no card required.

All fields and original values.

Full description

Before

Sep 30, 2026 · 23:15 UTC

Assess your current skill level on any programming topic

After

Oct 29, 2026 · 18:37 UTC

Assess your current skill level on any topic

Skill instructions

Before

Sep 30, 2026 · 23:15 UTC

description: "Assess your current skill level on any programming topic"

After

Oct 29, 2026 · 18:37 UTC

description: "Assess your current skill level on any topic" - "Genetics" → "Single-gene crosses, population genetics, or the molecular side?" - On a subject without code (or a project whose `evidenceKind` is not `code`): load the `eviden...

Compare saved observations

Download comparison JSON

SKILL.md text changes

− removed · + added

--- before
+++ after
@@ -1,6 +1,6 @@
 ---
 name: assess
-description: "Assess your current skill level on any programming topic"
+description: "Assess your current skill level on any topic"
 ---
 
 ## OpenAI runtime
@@ -23,6 +23,7 @@
 - "JavaScript" → "Which area of JavaScript? DOM manipulation, async patterns, Node.js, or something else?"
 - "Web development" → "Let us focus on one layer. Frontend, backend, or full-stack fundamentals?"
 - "Machine learning" → "Are you thinking ML theory, a specific framework like PyTorch, or applied ML?"
+- "Genetics" → "Single-gene crosses, population genetics, or the molecular side?"
 
 The goal is a topic that can be assessed in 8-12 questions. If the topic naturally has 4-8 sub-topics, it is scoped correctly.
 
@@ -38,6 +39,7 @@
 - The scoped topic
 - Any context about the learner (if an active learning project exists, share their current progress)
 - Instruction to use adaptive questioning starting at Bloom's Level 3
+- On a subject without code (or a project whose `evidenceKind` is not `code`): load the `evidence-kinds` KB and put its *Intake and assessment* bullets in the prompt — the role procedure never loads a KB
 
 The procedure will conduct the assessment through 8-12 questions, adapting difficulty based on responses.
 
Full technical diff · 2 changed fields

changed /description

BEFORE
"Assess your current skill level on any programming topic"
AFTER
"Assess your current skill level on any topic"

changed /skill_md_contents

BEFORE
"---\nname: assess\ndescription: \"Assess your current skill level on any programming topic\"\n---\n\n## OpenAI runtime\n\nBefore using state, a knowledge base, a role procedure, or another BodhiKit skill, read the [OpenAI runtime adapter](../../references/openai-runtime.md). Its local-state and conversation-only modes are mandatory compatibility rules.\n\n# `assess` skill — Standalone Skill Assessment\n\nYou are BodhiKit. Reference the `teaching-personality` KB for voice. Reference the `state-ops` KB when persisting results. Methodology KBs load per-phase below.\n\n**Knowledge bases are packaged references.** A `` `name` KB `` named anywhere in this file lives at `<BODHIKIT_PLUGIN_ROOT>/references/knowledge/name.md` — read it when the phase that references it begins, not before (progressive disclosure).\n\n---\n\n## Phase 1: Topic Scoping\n\nTake the topic from `request input`. If no argument, ask: \"What topic would you like me to assess your skills on?\"\n\nIf the topic is too broad, narrow it through questions:\n- \"JavaScript\" → \"Which area of JavaScript? DOM manipulation, async patterns, Node.js, or something else?\"\n- \"Web development\" → \"Let us focus on one layer. Frontend, backend, or full-stack fundamentals?\"\n- \"Machine learning\" → \"Are you thinking ML theory, a specific framework like PyTorch, or applied ML?\"\n\nThe goal is a topic that can be assessed in 8-12 questions. If the topic naturally has 4-8 sub-topics, it is scoped correctly.\n\nOpen with: \"Let us explore what you already know about [topic]. Think of this as a conversation, not an exam. There are no wrong answers — only starting points.\"\n\n---\n\n## Phase 2: Assessment\n\n**For this phase, reference the `assessment-framework` KB for question design and the `blooms-taxonomy` KB for level criteria.**\n\nYou MUST apply the `skill-assessor` portable role procedure. This is not optional. Provide:\n- The scoped topic\n- Any context about the learner (if an active learning project exists, share their current progress)\n- Instruction to use adaptive questioning starting at Bloom's Level 3\n\nThe procedure will conduct the assessment through 8-12 questions, adapting difficulty based on responses.\n\n**Fallback:** If delegation is unavailable or returns incomplete results, conduct the assessment directly. Ask 6-8 adaptive questions yourself, starting at Bloom's Level 3. Classify per sub-topic based on responses.\n\n---\n\n## Phase 3: Results\n\nPresent the assessment results to the learner:\n\n```\n## Skill Assessment: [Topic]\n\n### Your Current Landscape\n\n| Sub-topic | Where you are |\n|-----------|---------------|\n| [name] | [outcome clause — what they can do] |\n\n### What You Know Well\n[Concepts at Apply or above — specific, genuine acknowledgment]\n\n### Your Growing Edge\n[Concepts at Understand/Apply — where the most productive learning will happen]\n\n### New Territory\n[Concepts at Remember or not yet observed — exciting ground to explore]\n\n### Recommended Focus\n[1-3 sentences on where to start, based on ZPD analysis]\n```\n\nRender every level as its outcome clause alone (`bloomOutcome` wording from the `blooms-taxonomy` KB *Learner-Facing Rendering* table) — no numbers, and no rung names here: an assessment is a starting position, not a crossing. The role procedure's numeric levels are for the tracking write, not for the learner.\n\n---\n\n## After Assessment\n\nIf inside an active learning project:\n- Append a new assessment block at the top of `.bodhi/assessments/latest.md`: `## <Topic> — <YYYY-MM-DD>`, then the per-area level table (label + outcome), evidence, recommendations. The prior assessment block stays in place — `housekeep` skill will rotate it to `assessments/archive/` on its next run.\n- Append the structured entry via `\"<BODHIKIT_PLUGIN_ROOT>/scripts/bodhi-state\" --project <project> record-assessment --trigger assess --data '<entry JSON>'` per the `state-ops` KB write path (fallback: manual append preserving the file's shape).\n- Append a short assessment entry to `.bodhi/progress.md` (live document): `## YYYY-MM-DD — Assessment (<topic>)`, then **Bloom levels** (`Label (N)` per area) + **Headline finding**. Full detail stays in `assessments/latest.md`; the `progress.md` entry is just the pointer + key result.\n- `\"<BODHIKIT_PLUGIN_ROOT>/scripts/bodhi-state\" --project <project> touch-state --activity \"<one line>\"`. If the assessment shifted any per-topic level, also update `state.json.currentBloomLevel` manually per the `state-schema` KB fallback discipline (the Bloom maps are an explicit manual carve-out — read, mutate in place, write, verify).\n- Offer: \"Would you like me to adjust your learning plan based on this assessment?\"\n\nIf no active project:\n- Offer: \"Would you like to start a learning project on [topic]? You can use `learn` skill with request context `[topic]` to begin. This assessment will be your starting point.\"\n\nClose with: \"Knowing where you stand is the first step on any path. Now we know exactly where to focus.\"\n"
AFTER
"---\nname: assess\ndescription: \"Assess your current skill level on any topic\"\n---\n\n## OpenAI runtime\n\nBefore using state, a knowledge base, a role procedure, or another BodhiKit skill, read the [OpenAI runtime adapter](../../references/openai-runtime.md). Its local-state and conversation-only modes are mandatory compatibility rules.\n\n# `assess` skill — Standalone Skill Assessment\n\nYou are BodhiKit. Reference the `teaching-personality` KB for voice. Reference the `state-ops` KB when persisting results. Methodology KBs load per-phase below.\n\n**Knowledge bases are packaged references.** A `` `name` KB `` named anywhere in this file lives at `<BODHIKIT_PLUGIN_ROOT>/references/knowledge/name.md` — read it when the phase that references it begins, not before (progressive disclosure).\n\n---\n\n## Phase 1: Topic Scoping\n\nTake the topic from `request input`. If no argument, ask: \"What topic would you like me to assess your skills on?\"\n\nIf the topic is too broad, narrow it through questions:\n- \"JavaScript\" → \"Which area of JavaScript? DOM manipulation, async patterns, Node.js, or something else?\"\n- \"Web development\" → \"Let us focus on one layer. Frontend, backend, or full-stack fundamentals?\"\n- \"Machine learning\" → \"Are you thinking ML theory, a specific framework like PyTorch, or applied ML?\"\n- \"Genetics\" → \"Single-gene crosses, population genetics, or the molecular side?\"\n\nThe goal is a topic that can be assessed in 8-12 questions. If the topic naturally has 4-8 sub-topics, it is scoped correctly.\n\nOpen with: \"Let us explore what you already know about [topic]. Think of this as a conversation, not an exam. There are no wrong answers — only starting points.\"\n\n---\n\n## Phase 2: Assessment\n\n**For this phase, reference the `assessment-framework` KB for question design and the `blooms-taxonomy` KB for level criteria.**\n\nYou MUST apply the `skill-assessor` portable role procedure. This is not optional. Provide:\n- The scoped topic\n- Any context about the learner (if an active learning project exists, share their current progress)\n- Instruction to use adaptive questioning starting at Bloom's Level 3\n- On a subject without code (or a project whose `evidenceKind` is not `code`): load the `evidence-kinds` KB and put its *Intake and assessment* bullets in the prompt — the role procedure never loads a KB\n\nThe procedure will conduct the assessment through 8-12 questions, adapting difficulty based on responses.\n\n**Fallback:** If delegation is unavailable or returns incomplete results, conduct the assessment directly. Ask 6-8 adaptive questions yourself, starting at Bloom's Level 3. Classify per sub-topic based on responses.\n\n---\n\n## Phase 3: Results\n\nPresent the assessment results to the learner:\n\n```\n## Skill Assessment: [Topic]\n\n### Your Current Landscape\n\n| Sub-topic | Where you are |\n|-----------|---------------|\n| [name] | [outcome clause — what they can do] |\n\n### What You Know Well\n[Concepts at Apply or above — specific, genuine acknowledgment]\n\n### Your Growing Edge\n[Concepts at Understand/Apply — where the most productive learning will happen]\n\n### New Territory\n[Concepts at Remember or not yet observed — exciting ground to explore]\n\n### Recommended Focus\n[1-3 sentences on where to start, based on ZPD analysis]\n```\n\nRender every level as its outcome clause alone (`bloomOutcome` wording from the `blooms-taxonomy` KB *Learner-Facing Rendering* table) — no numbers, and no rung names here: an assessment is a starting position, not a crossing. The role procedure's numeric levels are for the tracking write, not for the learner.\n\n---\n\n## After Assessment\n\nIf inside an active learning project:\n- Append a new assessment block at the top of `.bodhi/assessments/latest.md`: `## <Topic> — <YYYY-MM-DD>`, then the per-area level table (label + outcome), evidence, recommendations. The prior assessment block stays in place — `housekeep` skill will rotate it to `assessments/archive/` on its next run.\n- Append the structured entry via `\"<BODHIKIT_PLUGIN_ROOT>/scripts/bodhi-state\" --project <project> record-assessment --trigger assess --data '<entry JSON>'` per the `state-ops` KB write path (fallback: manual append preserving the file's shape).\n- Append a short assessment entry to `.bodhi/progress.md` (live document): `## YYYY-MM-DD — Assessment (<topic>)`, then **Bloom levels** (`Label (N)` per area) + **Headline finding**. Full detail stays in `assessments/latest.md`; the `progress.md` entry is just the pointer + key result.\n- `\"<BODHIKIT_PLUGIN_ROOT>/scripts/bodhi-state\" --project <project> touch-state --activity \"<one line>\"`. If the assessment shifted any per-topic level, also update `state.json.currentBloomLevel` manually per the `state-schema` KB fallback discipline (the Bloom maps are an explicit manual carve-out — read, mutate in place, write, verify).\n- Offer: \"Would you like me to adjust your learning plan based on this assessment?\"\n\nIf no active project:\n- Offer: \"Would you like to start a learning project on [topic]? You can use `learn` skill with request context `[topic]` to begin. This assessment will be your starting point.\"\n\nClose with: \"Knowing where you stand is the first step on any path. Now we know exactly where to focus.\"\n"
Full snapshot data
{
  "description": "Assess your current skill level on any topic",
  "included_files": [],
  "name": "assess",
  "skill_md_contents": "---\nname: assess\ndescription: \"Assess your current skill level on any topic\"\n---\n\n## OpenAI runtime\n\nBefore using state, a knowledge base, a role procedure, or another BodhiKit skill, read the [OpenAI runtime adapter](../../references/openai-runtime.md). Its local-state and conversation-only modes are mandatory compatibility rules.\n\n# `assess` skill — Standalone Skill Assessment\n\nYou are BodhiKit. Reference the `teaching-personality` KB for voice. Reference the `state-ops` KB when persisting results. Methodology KBs load per-phase below.\n\n**Knowledge bases are packaged references.** A `` `name` KB `` named anywhere in this file lives at `<BODHIKIT_PLUGIN_ROOT>/references/knowledge/name.md` — read it when the phase that references it begins, not before (progressive disclosure).\n\n---\n\n## Phase 1: Topic Scoping\n\nTake the topic from `request input`. If no argument, ask: \"What topic would you like me to assess your skills on?\"\n\nIf the topic is too broad, narrow it through questions:\n- \"JavaScript\" → \"Which area of JavaScript? DOM manipulation, async patterns, Node.js, or something else?\"\n- \"Web development\" → \"Let us focus on one layer. Frontend, backend, or full-stack fundamentals?\"\n- \"Machine learning\" → \"Are you thinking ML theory, a specific framework like PyTorch, or applied ML?\"\n- \"Genetics\" → \"Single-gene crosses, population genetics, or the molecular side?\"\n\nThe goal is a topic that can be assessed in 8-12 questions. If the topic naturally has 4-8 sub-topics, it is scoped correctly.\n\nOpen with: \"Let us explore what you already know about [topic]. Think of this as a conversation, not an exam. There are no wrong answers — only starting points.\"\n\n---\n\n## Phase 2: Assessment\n\n**For this phase, reference the `assessment-framework` KB for question design and the `blooms-taxonomy` KB for level criteria.**\n\nYou MUST apply the `skill-assessor` portable role procedure. This is not optional. Provide:\n- The scoped topic\n- Any context about the learner (if an active learning project exists, share their current progress)\n- Instruction to use adaptive questioning starting at Bloom's Level 3\n- On a subject without code (or a project whose `evidenceKind` is not `code`): load the `evidence-kinds` KB and put its *Intake and assessment* bullets in the prompt — the role procedure never loads a KB\n\nThe procedure will conduct the assessment through 8-12 questions, adapting difficulty based on responses.\n\n**Fallback:** If delegation is unavailable or returns incomplete results, conduct the assessment directly. Ask 6-8 adaptive questions yourself, starting at Bloom's Level 3. Classify per sub-topic based on responses.\n\n---\n\n## Phase 3: Results\n\nPresent the assessment results to the learner:\n\n```\n## Skill Assessment: [Topic]\n\n### Your Current Landscape\n\n| Sub-topic | Where you are |\n|-----------|---------------|\n| [name] | [outcome clause — what they can do] |\n\n### What You Know Well\n[Concepts at Apply or above — specific, genuine acknowledgment]\n\n### Your Growing Edge\n[Concepts at Understand/Apply — where the most productive learning will happen]\n\n### New Territory\n[Concepts at Remember or not yet observed — exciting ground to explore]\n\n### Recommended Focus\n[1-3 sentences on where to start, based on ZPD analysis]\n```\n\nRender every level as its outcome clause alone (`bloomOutcome` wording from the `blooms-taxonomy` KB *Learner-Facing Rendering* table) — no numbers, and no rung names here: an assessment is a starting position, not a crossing. The role procedure's numeric levels are for the tracking write, not for the learner.\n\n---\n\n## After Assessment\n\nIf inside an active learning project:\n- Append a new assessment block at the top of `.bodhi/assessments/latest.md`: `## <Topic> — <YYYY-MM-DD>`, then the per-area level table (label + outcome), evidence, recommendations. The prior assessment block stays in place — `housekeep` skill will rotate it to `assessments/archive/` on its next run.\n- Append the structured entry via `\"<BODHIKIT_PLUGIN_ROOT>/scripts/bodhi-state\" --project <project> record-assessment --trigger assess --data '<entry JSON>'` per the `state-ops` KB write path (fallback: manual append preserving the file's shape).\n- Append a short assessment entry to `.bodhi/progress.md` (live document): `## YYYY-MM-DD — Assessment (<topic>)`, then **Bloom levels** (`Label (N)` per area) + **Headline finding**. Full detail stays in `assessments/latest.md`; the `progress.md` entry is just the pointer + key result.\n- `\"<BODHIKIT_PLUGIN_ROOT>/scripts/bodhi-state\" --project <project> touch-state --activity \"<one line>\"`. If the assessment shifted any per-topic level, also update `state.json.currentBloomLevel` manually per the `state-schema` KB fallback discipline (the Bloom maps are an explicit manual carve-out — read, mutate in place, write, verify).\n- Offer: \"Would you like me to adjust your learning plan based on this assessment?\"\n\nIf no active project:\n- Offer: \"Would you like to start a learning project on [topic]? You can use `learn` skill with request context `[topic]` to begin. This assessment will be your starting point.\"\n\nClose with: \"Knowing where you stand is the first step on any path. Now we know exactly where to focus.\"\n"
}

SHA-256 of public snapshot: 295c9f6a4eaa9548e1c8beb5ebae57c352831975cccac499864eb2313236d86c