baldart 4.1.1 → 4.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (35) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/VERSION +1 -1
  3. package/framework/.claude/skills/api-design-principles/SKILL.md +10 -0
  4. package/framework/.claude/skills/baldart-push/SKILL.md +10 -0
  5. package/framework/.claude/skills/baldart-update/SKILL.md +10 -0
  6. package/framework/.claude/skills/bug/SKILL.md +10 -0
  7. package/framework/.claude/skills/capture/SKILL.md +10 -0
  8. package/framework/.claude/skills/context-primer/SKILL.md +10 -0
  9. package/framework/.claude/skills/copywriting/SKILL.md +10 -0
  10. package/framework/.claude/skills/design-system-init/SKILL.md +10 -0
  11. package/framework/.claude/skills/doc-writing-for-rag/SKILL.md +10 -0
  12. package/framework/.claude/skills/e2e-review/SKILL.md +10 -0
  13. package/framework/.claude/skills/find-skills/SKILL.md +10 -0
  14. package/framework/.claude/skills/frontend-design/SKILL.md +10 -0
  15. package/framework/.claude/skills/gamification-design/SKILL.md +10 -0
  16. package/framework/.claude/skills/issue-review/SKILL.md +10 -0
  17. package/framework/.claude/skills/kie-ai/SKILL.md +10 -0
  18. package/framework/.claude/skills/lsp-bootstrap/SKILL.md +10 -0
  19. package/framework/.claude/skills/motion-design/SKILL.md +10 -0
  20. package/framework/.claude/skills/new/SKILL.md +10 -0
  21. package/framework/.claude/skills/overlay/SKILL.md +10 -0
  22. package/framework/.claude/skills/playwright-skill/SKILL.md +10 -0
  23. package/framework/.claude/skills/prd/SKILL.md +10 -0
  24. package/framework/.claude/skills/prd-add/SKILL.md +10 -0
  25. package/framework/.claude/skills/remotion-best-practices/SKILL.md +11 -0
  26. package/framework/.claude/skills/seo-audit/SKILL.md +10 -0
  27. package/framework/.claude/skills/simplify/SKILL.md +10 -0
  28. package/framework/.claude/skills/skill-creator/SKILL.md +15 -2
  29. package/framework/.claude/skills/ui-design/SKILL.md +10 -0
  30. package/framework/.claude/skills/webapp-testing/SKILL.md +10 -0
  31. package/framework/.claude/skills/worktree-manager/SKILL.md +10 -0
  32. package/framework/agents/effort-protocol.md +121 -0
  33. package/framework/agents/index.md +1 -0
  34. package/framework/templates/skill-effort.snippet.md +25 -0
  35. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -5,6 +5,26 @@ All notable changes to BALDART will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [4.2.0] - 2026-06-03
9
+
10
+ **Per-skill reasoning effort: every shipped skill now declares an `effort:` baseline + honors an inline `effort=<level>` override.** Different skills should reason at different depths — routine narration shouldn't pay for deep deliberation, and structured planning shouldn't be starved of it. Each of the 29 skills gets a frontmatter `effort:` baseline (`prd` → `high`, the other 28 → `medium`) and a `## Effort` body block letting the user dial reasoning depth per-run, e.g. `/prd effort=high <content>`. **MINOR** (new protocol module + new template = capability added; no `baldart.config.yml` key, so the schema-change propagation rule does not apply).
11
+
12
+ > **Why.** Claude Code's native `effort:` frontmatter is the right knob for the *baseline*, but its precedence puts frontmatter **above** the session `/effort` level — only the global `CLAUDE_CODE_EFFORT_LEVEL` env var beats it, and a running skill cannot re-set the knob itself ([anthropics/claude-code#47275](https://github.com/anthropics/claude-code/issues/47275)). So a naive "default + inline flag that overrides" is impossible with the native knob alone. The inline override is therefore implemented as a **body-level reasoning escalation**: the skill reads `effort=<level>` from its arguments and engages the matching thinking directive (`think hard` → `ultrathink`), which the harness interprets from the text. Fully portable — no env var, no consumer config. Escalation upward is reliable; de-escalation below the frontmatter baseline is best-effort (the body can skip optional deliberation but can't lower the native budget).
13
+
14
+ ### Added
15
+
16
+ - **`framework/agents/effort-protocol.md`** (new protocol module, #21) — the textual SSOT: native-knob precedence chain, tiering rubric for choosing a baseline, the `effort=<level>` inline-override parsing contract (detect once at kickoff, strip the token before consuming user input — modeled on the existing `-stats` flag in `prd`), and the level→behavior mapping (`low` → no extended thinking; `high`/`xhigh`/`max` → `think hard`/`think harder`/`ultrathink`). Routed from `framework/agents/index.md`.
17
+ - **`framework/templates/skill-effort.snippet.md`** (new template) — copy-paste starter for the `effort:` frontmatter key + the `## Effort` body block, twin of `skill-project-context.snippet.md`.
18
+ - **`effort:` frontmatter + `## Effort` body block on all 29 skills** — `prd` is `high`; `new`, `bug`, `simplify`, `frontend-design`, `ui-design`, `design-system-init`, `e2e-review`, `issue-review`, and the remaining 19 are `medium`. Any `medium` skill can be pushed to `high`/`xhigh`/`max` per-run via the inline override.
19
+
20
+ ### Changed
21
+
22
+ - **`skill-creator`** now instructs authors to set the `effort:` baseline (per the tiering rubric) and to paste the `## Effort` block for every new skill — the previous "do not include any other fields in YAML frontmatter" guidance is updated to permit `effort`.
23
+
24
+ ### Out of scope (future)
25
+
26
+ - **Agents** (`framework/.claude/agents/*.md`) also support `effort:` in frontmatter, but they receive no inline arguments (they are spawned by orchestrators via the Task tool). Their override story — static baseline per agent + orchestrator passing the desired level in the Task prompt — is deferred to a separate release to avoid mixing two override models.
27
+
8
28
  ## [4.1.1] - 2026-06-02
9
29
 
10
30
  **Fix: `/prd` (and `/new`) silently stopped creating their worktree after updating to ≥4.0.0.** Regression introduced in v4.0.0: `worktree-manager` was rewritten to resolve the worktree base from the **new `git.trunk_branch` config key** and to **hard-`exit 1`** when it is absent ("never assume develop"). Because `baldart update` never overwrites `baldart.config.yml`, every consumer that updated without re-running `configure` had no `git.trunk_branch` → the `nw-docs` / `nw` pre-flight aborted → no worktree. v4.0.0 also downgraded the `/prd` Step 1 worktree gate from BLOCKING to a non-blocking "MONITORING SIGNAL", so the abort no longer surfaced as a hard STOP — the session drifted into Discovery on the main checkout instead. **PATCH** (regression fix, no new capability, no schema change).
package/VERSION CHANGED
@@ -1 +1 @@
1
- 4.1.1
1
+ 4.2.0
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  name: api-design-principles
3
+ effort: medium
3
4
  description: Master REST and GraphQL API design principles to build intuitive, scalable, and maintainable APIs that delight developers. Use when designing new APIs, reviewing API specifications, or establishing API design standards.
4
5
  ---
5
6
 
@@ -7,6 +8,15 @@ description: Master REST and GraphQL API design principles to build intuitive, s
7
8
 
8
9
  Master REST and GraphQL API design principles to build intuitive, scalable, and maintainable APIs that delight developers and stand the test of time.
9
10
 
11
+ ## Effort
12
+
13
+ **Baseline:** `effort: medium` (frontmatter). **Inline override:** pass
14
+ `effort=<low|medium|high|xhigh|max>` anywhere in the invocation to scale
15
+ reasoning depth for this run — detect it once at kickoff and strip the token
16
+ before consuming user input. Level→behavior mapping, parsing contract, and
17
+ precedence caveats: `framework/agents/effort-protocol.md`.
18
+
19
+
10
20
  ## When to Use This Skill
11
21
 
12
22
  - Designing new REST or GraphQL APIs
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  name: baldart-push
3
+ effort: medium
3
4
  description: "Guidance for contributing local framework improvements upstream to the BALDART repository. Use when the user says /baldart-push, 'contribuisci al framework', 'push del framework', 'manda upstream', 'pusha le modifiche al framework', or wants to share local improvements made to .framework/. The skill walks the user through the contribution flow and hands off to `npx baldart push` (which must run in the user's terminal because the CLI is interactive). Never pushes baldart.config.yml, .baldart/overlays/, or .claude/hooks/ customizations — only generic framework payload."
4
5
  contamination_scan: skip
5
6
  ---
@@ -56,6 +57,15 @@ overlay content: extra contamination rules specific to the consumer's domain
56
57
  (e.g. internal codenames, private endpoints).
57
58
  **On missing/empty keys:** not applicable.
58
59
 
60
+ ## Effort
61
+
62
+ **Baseline:** `effort: medium` (frontmatter). **Inline override:** pass
63
+ `effort=<low|medium|high|xhigh|max>` anywhere in the invocation to scale
64
+ reasoning depth for this run — detect it once at kickoff and strip the token
65
+ before consuming user input. Level→behavior mapping, parsing contract, and
66
+ precedence caveats: `framework/agents/effort-protocol.md`.
67
+
68
+
59
69
  ## Hard rules
60
70
 
61
71
  1. **NEVER push** `baldart.config.yml`, anything under `.baldart/`, anything
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  name: baldart-update
3
+ effort: medium
3
4
  description: "Guidance for updating BALDART framework to the latest version in a consumer repo. Use when the user says /baldart-update, 'aggiorna baldart', 'aggiorna framework', 'update del framework', 'pull baldart latest', or wants to bring the framework up-to-date. Two modes, auto-detected: INTERACTIVE (a human is present) replicates the native CLI's user-decision points (preview diff, working-tree stash) as chat-side confirmations; AUTONOMOUS (unattended — CI / scheduled routine, signalled by BALDART_AUTONOMOUS / CI / GITHUB_ACTIONS env) runs `npx baldart update --yes` with zero prompts and hard-STOP guardrails (never forces a merge or reset on custom divergence / conflicts). Both let the CLI auto-resolve mechanical noise (hook backfill, subtree-merge commits, schema migration) and assert post-flight that .framework/VERSION actually changed. For non-update drift, defers to `npx baldart` (smart doctor)."
4
5
  contamination_scan: skip
5
6
  ---
@@ -215,6 +216,15 @@ verification steps (e.g. "run `npm test` after symlink reconcile").
215
216
  own state files. See [framework/agents/project-context.md](../../../agents/project-context.md)
216
217
  for the protocol.
217
218
 
219
+ ## Effort
220
+
221
+ **Baseline:** `effort: medium` (frontmatter). **Inline override:** pass
222
+ `effort=<low|medium|high|xhigh|max>` anywhere in the invocation to scale
223
+ reasoning depth for this run — detect it once at kickoff and strip the token
224
+ before consuming user input. Level→behavior mapping, parsing contract, and
225
+ precedence caveats: `framework/agents/effort-protocol.md`.
226
+
227
+
218
228
  ## Hard rules
219
229
 
220
230
  0. **MUST run mode detection FIRST** (the `printenv | grep` probe above) and
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  name: bug
3
+ effort: medium
3
4
  description: >
4
5
  Structured bug investigation and resolution workflow (framework-agnostic; project-specific entry points are loaded from `.baldart/overlays/bug.md`).
5
6
  Use when: the user says /bug, 'debug', 'c e un bug', 'non funziona', 'errore', 'broken',
@@ -21,6 +22,15 @@ Argument: optional bug description (e.g., `/bug feature X is not saving`).
21
22
  **Overlay:** loads `.baldart/overlays/bug.md` if present — project-specific debug entry points (e.g. SWR debug switches, env summary helpers, error-code modules). The base skill stays generic; project-specific code paths live in the overlay.
22
23
  **On missing/empty keys:** ask the user; do not assume defaults. See `framework/agents/project-context.md` § 3.
23
24
 
25
+ ## Effort
26
+
27
+ **Baseline:** `effort: medium` (frontmatter). **Inline override:** pass
28
+ `effort=<low|medium|high|xhigh|max>` anywhere in the invocation to scale
29
+ reasoning depth for this run — detect it once at kickoff and strip the token
30
+ before consuming user input. Level→behavior mapping, parsing contract, and
31
+ precedence caveats: `framework/agents/effort-protocol.md`.
32
+
33
+
24
34
  ## MCP dependencies
25
35
 
26
36
  See [framework/docs/MCP-INTEGRATION.md](../../../docs/MCP-INTEGRATION.md) for the BALDART MCP integration contract and the rationale behind this section.
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  name: capture
3
+ effort: medium
3
4
  description: Distilla una sintesi cross-document della conversazione recente in una synthesis page riusabile del wiki overlay (path da `paths.wiki_dir`/syntheses/ in `baldart.config.yml`). Usare quando l'utente invoca `/capture`, dice "capture synthesis", "salva sintesi", "distilla conversazione", "save this as wiki", "questa conversazione in wiki", o quando chiede di trasformare un ragionamento cross-document appena fatto in una pagina stabile. Due modalità — manual (sempre funzionante) e proactive (conditional sui candidati in `.claude/capture-queue/`). Implementa il loop query→wiki file-back di Karpathy.
4
5
  version: 0.1.0
5
6
  ---
@@ -15,6 +16,15 @@ Turns a recent multi-turn synthesis (cross-document reasoning done by the assist
15
16
  **Overlay:** loads `.baldart/overlays/capture.md` if present — project-specific wiki-log helper path, domain vocabulary for the `domain:` frontmatter field.
16
17
  **On missing/empty keys:** ask the user; do not assume defaults. See `framework/agents/project-context.md` § 3.
17
18
 
19
+ ## Effort
20
+
21
+ **Baseline:** `effort: medium` (frontmatter). **Inline override:** pass
22
+ `effort=<low|medium|high|xhigh|max>` anywhere in the invocation to scale
23
+ reasoning depth for this run — detect it once at kickoff and strip the token
24
+ before consuming user input. Level→behavior mapping, parsing contract, and
25
+ precedence caveats: `framework/agents/effort-protocol.md`.
26
+
27
+
18
28
  ## Two Modes
19
29
 
20
30
  | Mode | When | How |
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  name: cont
3
+ effort: medium
3
4
  description: >
4
5
  Load codebase context silently before starting work, optimized for LLM
5
6
  comprehension using research-backed structured formatting.
@@ -20,6 +21,15 @@ Load structured, task-adaptive context about a topic into the conversation befor
20
21
  **Overlay:** loads `.baldart/overlays/context-primer.md` if present — project-specific topic vocabulary, must-include canonical docs.
21
22
  **On missing/empty keys:** ask the user; do not assume defaults. See `framework/agents/project-context.md` § 3.
22
23
 
24
+ ## Effort
25
+
26
+ **Baseline:** `effort: medium` (frontmatter). **Inline override:** pass
27
+ `effort=<low|medium|high|xhigh|max>` anywhere in the invocation to scale
28
+ reasoning depth for this run — detect it once at kickoff and strip the token
29
+ before consuming user input. Level→behavior mapping, parsing contract, and
30
+ precedence caveats: `framework/agents/effort-protocol.md`.
31
+
32
+
23
33
  ## Key Research Principles
24
34
 
25
35
  1. **Constraints FIRST** — primacy effect: critical info at start gets +30% recall
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  name: copywriting
3
+ effort: medium
3
4
  version: 1.0.0
4
5
  description: When the user wants to write, rewrite, or improve marketing copy for any page — including homepage, landing pages, pricing pages, feature pages, about pages, or product pages. Also use when the user says "write copy for," "improve this copy," "rewrite this page," "marketing copy," "headline help," or "CTA copy." For email copy, see email-sequence. For popup copy, see popup-cro.
5
6
  ---
@@ -15,6 +16,15 @@ You are an expert conversion copywriter. Your goal is to write marketing copy th
15
16
  **Overlay:** loads `.baldart/overlays/copywriting.md` if present — this is where project-specific brand voice pillars, audience register rules, and language constraints live. Sections marked `## [OVERRIDE] <topic>` replace base sections.
16
17
  **On missing/empty keys:** ask the user; do not assume defaults. See `framework/agents/project-context.md` § 3.
17
18
 
19
+ ## Effort
20
+
21
+ **Baseline:** `effort: medium` (frontmatter). **Inline override:** pass
22
+ `effort=<low|medium|high|xhigh|max>` anywhere in the invocation to scale
23
+ reasoning depth for this run — detect it once at kickoff and strip the token
24
+ before consuming user input. Level→behavior mapping, parsing contract, and
25
+ precedence caveats: `framework/agents/effort-protocol.md`.
26
+
27
+
18
28
  ## Brand Voice Context (MANDATORY for UI copy)
19
29
 
20
30
  When writing copy that will render in UI (buttons, empty states, banners, confirmation dialogs, inline hints, navigation labels, error messages), the brand voice is canonical — do not invent a new tone on the fly. The following reads are BLOCKING prerequisites:
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  name: design-system-init
3
+ effort: medium
3
4
  description: >
4
5
  Bootstrap a component registry / design system on a project that doesn't have
5
6
  one yet. Scaffolds ${paths.design_system}/INDEX.md (component index +
@@ -42,6 +43,15 @@ recipe for non-Tailwind stacks).
42
43
  **On missing keys:** ask the user; do not assume defaults. See
43
44
  `framework/agents/project-context.md` § 3.
44
45
 
46
+ ## Effort
47
+
48
+ **Baseline:** `effort: medium` (frontmatter). **Inline override:** pass
49
+ `effort=<low|medium|high|xhigh|max>` anywhere in the invocation to scale
50
+ reasoning depth for this run — detect it once at kickoff and strip the token
51
+ before consuming user input. Level→behavior mapping, parsing contract, and
52
+ precedence caveats: `framework/agents/effort-protocol.md`.
53
+
54
+
45
55
  ## What This Skill Does
46
56
 
47
57
  1. **Refusal check.** Reads `baldart.config.yml`.
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  name: doc-writing-for-rag
3
+ effort: medium
3
4
  description: "Writes high-density reference documentation optimized for RAG indexing. Uses compact templates, minimal frontmatter, cross-references to schemas.md/errors.md (paths from `paths.api_schemas`/`paths.api_errors` in `baldart.config.yml`). Load this skill when creating or rewriting files in `${paths.references_dir}`, `${paths.prd_dir}`, or when you hear 'endpoint template', 'compact docs', 'doc for RAG', 'dense documentation', 'signal/noise ratio'."
4
5
  ---
5
6
 
@@ -14,6 +15,15 @@ Writing protocol for reference docs optimized for LightRAG indexing. Validated o
14
15
  **Overlay:** loads `.baldart/overlays/doc-writing-for-rag.md` if present — project-specific domain list, schema naming conventions, frontmatter extensions.
15
16
  **On missing/empty keys:** ask the user; do not assume defaults. See `framework/agents/project-context.md` § 3.
16
17
 
18
+ ## Effort
19
+
20
+ **Baseline:** `effort: medium` (frontmatter). **Inline override:** pass
21
+ `effort=<low|medium|high|xhigh|max>` anywhere in the invocation to scale
22
+ reasoning depth for this run — detect it once at kickoff and strip the token
23
+ before consuming user input. Level→behavior mapping, parsing contract, and
24
+ precedence caveats: `framework/agents/effort-protocol.md`.
25
+
26
+
17
27
  ## When to Use
18
28
 
19
29
  Load this skill when:
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  name: e2e-review
3
+ effort: medium
3
4
  description: >
4
5
  Deterministic, BLOCKING end-to-end review run after a feature is implemented.
5
6
  Combines functional E2E (Playwright spec written by `coder`, executed via
@@ -54,6 +55,15 @@ the implementing agent (`coder`) and the verifying agent
54
55
  (`visual-fidelity-verifier`) are distinct, with rule-based aggregation in
55
56
  between — no agent grades its own work.
56
57
 
58
+ ## Effort
59
+
60
+ **Baseline:** `effort: medium` (frontmatter). **Inline override:** pass
61
+ `effort=<low|medium|high|xhigh|max>` anywhere in the invocation to scale
62
+ reasoning depth for this run — detect it once at kickoff and strip the token
63
+ before consuming user input. Level→behavior mapping, parsing contract, and
64
+ precedence caveats: `framework/agents/effort-protocol.md`.
65
+
66
+
57
67
  ---
58
68
 
59
69
  ## Invocation Modes
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  name: find-skills
3
+ effort: medium
3
4
  description: Helps users discover and install agent skills when they ask questions like "how do I do X", "find a skill for X", "is there a skill that can...", or express interest in extending capabilities. This skill should be used when the user is looking for functionality that might exist as an installable skill.
4
5
  ---
5
6
 
@@ -7,6 +8,15 @@ description: Helps users discover and install agent skills when they ask questio
7
8
 
8
9
  This skill helps you discover and install skills from the open agent skills ecosystem.
9
10
 
11
+ ## Effort
12
+
13
+ **Baseline:** `effort: medium` (frontmatter). **Inline override:** pass
14
+ `effort=<low|medium|high|xhigh|max>` anywhere in the invocation to scale
15
+ reasoning depth for this run — detect it once at kickoff and strip the token
16
+ before consuming user input. Level→behavior mapping, parsing contract, and
17
+ precedence caveats: `framework/agents/effort-protocol.md`.
18
+
19
+
10
20
  ## When to Use This Skill
11
21
 
12
22
  Use this skill when the user:
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  name: frontend-design
3
+ effort: medium
3
4
  description: Create distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, artifacts, posters, or applications (examples include websites, landing pages, dashboards, React components, HTML/CSS layouts, or when styling/beautifying any web UI). Generates creative, polished code and UI design that avoids generic AI aesthetics.
4
5
  license: Complete terms in LICENSE.txt
5
6
  ---
@@ -15,6 +16,15 @@ This skill guides creation of distinctive, production-grade frontend interfaces
15
16
 
16
17
  The user provides frontend requirements: a component, page, application, or interface to build. They may include context about the purpose, audience, or technical constraints.
17
18
 
19
+ ## Effort
20
+
21
+ **Baseline:** `effort: medium` (frontmatter). **Inline override:** pass
22
+ `effort=<low|medium|high|xhigh|max>` anywhere in the invocation to scale
23
+ reasoning depth for this run — detect it once at kickoff and strip the token
24
+ before consuming user input. Level→behavior mapping, parsing contract, and
25
+ precedence caveats: `framework/agents/effort-protocol.md`.
26
+
27
+
18
28
  ## Design Thinking
19
29
 
20
30
  Before coding, understand the context and commit to a BOLD aesthetic direction:
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  name: gamification-design
3
+ effort: medium
3
4
  version: 1.0.0
4
5
  description: Use when designing or analyzing points systems, reward loops, progression mechanics, engagement features, or loyalty programs. Triggers include "points system," "rewards design," "progression," "engagement loop," "battle pass," "loyalty mechanics," "gamification," or "retention hooks." For B2C customer-facing features in this codebase, this skill invokes the hyper-gamification-designer agent.
5
6
  ---
@@ -15,6 +16,15 @@ Analyze and optimize gamification elements for maximum engagement and retention.
15
16
  **Overlay:** loads `.baldart/overlays/gamification-design.md` if present — project-specific reward economy facts (point name, tier ladder, lottery format), motion vocabulary, brand voice register for customer surfaces.
16
17
  **On missing/empty keys:** ask the user; do not assume defaults. See `framework/agents/project-context.md` § 3.
17
18
 
19
+ ## Effort
20
+
21
+ **Baseline:** `effort: medium` (frontmatter). **Inline override:** pass
22
+ `effort=<low|medium|high|xhigh|max>` anywhere in the invocation to scale
23
+ reasoning depth for this run — detect it once at kickoff and strip the token
24
+ before consuming user input. Level→behavior mapping, parsing contract, and
25
+ precedence caveats: `framework/agents/effort-protocol.md`.
26
+
27
+
18
28
  ## When to Use
19
29
 
20
30
  Invoke this skill when working on:
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  name: issue-review
3
+ effort: medium
3
4
  description: Run the GitHub issue review workflow for triage and planning. Use when the user asks to review or triage a GitHub issue, requests the /issue-review slash command, or needs an issue summary with priority/plan/tests.
4
5
  ---
5
6
 
@@ -7,6 +8,15 @@ description: Run the GitHub issue review workflow for triage and planning. Use w
7
8
 
8
9
  ## Overview
9
10
 
11
+ ## Effort
12
+
13
+ **Baseline:** `effort: medium` (frontmatter). **Inline override:** pass
14
+ `effort=<low|medium|high|xhigh|max>` anywhere in the invocation to scale
15
+ reasoning depth for this run — detect it once at kickoff and strip the token
16
+ before consuming user input. Level→behavior mapping, parsing contract, and
17
+ precedence caveats: `framework/agents/effort-protocol.md`.
18
+
19
+
10
20
  Run the `/issue-review` automation, capture issue context, and produce a triage + plan summary using the project's GitHub issue subagent protocol.
11
21
 
12
22
  ## Workflow
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  name: kie-ai
3
+ effort: medium
3
4
  description: >
4
5
  Generate images, videos, and audio using Kie.ai's unified AI API platform (80+ models).
5
6
  Use when: (1) generating images from text or editing images (Nano Banana 2, Imagen 4, Flux Kontext,
@@ -23,6 +24,15 @@ description: >
23
24
  **Overlay:** loads `.baldart/overlays/kie-ai.md` if present — project-specific illustration character library, video-prompt motion vocabulary, and forbidden aesthetic patterns.
24
25
  **On missing/empty keys:** ask the user; do not assume defaults. See `framework/agents/project-context.md` § 3.
25
26
 
27
+ ## Effort
28
+
29
+ **Baseline:** `effort: medium` (frontmatter). **Inline override:** pass
30
+ `effort=<low|medium|high|xhigh|max>` anywhere in the invocation to scale
31
+ reasoning depth for this run — detect it once at kickoff and strip the token
32
+ before consuming user input. Level→behavior mapping, parsing contract, and
33
+ precedence caveats: `framework/agents/effort-protocol.md`.
34
+
35
+
26
36
  ## Visual Contract (project-specific)
27
37
 
28
38
  When generating images, videos, or animation prompts for product illustrations, the project's design-system SSOT is a BLOCKING prerequisite before model selection or prompt writing — but only when the project has one. Reading order:
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  name: lsp-bootstrap
3
+ effort: medium
3
4
  description: >
4
5
  Install, verify, and document the LSP symbol-search layer for this project.
5
6
  Detects languages (TypeScript, Python, Go, Rust, Ruby), installs the matching
@@ -25,6 +26,15 @@ context on textual collisions; with it, references resolve to the same symbol
25
26
  **Overlay:** loads `.baldart/overlays/lsp-bootstrap.md` if present — project-specific install commands (e.g. a system-managed pyright via uv, a non-standard gopls path).
26
27
  **On missing keys:** ask the user; do not assume defaults. See `framework/agents/project-context.md` § 3.
27
28
 
29
+ ## Effort
30
+
31
+ **Baseline:** `effort: medium` (frontmatter). **Inline override:** pass
32
+ `effort=<low|medium|high|xhigh|max>` anywhere in the invocation to scale
33
+ reasoning depth for this run — detect it once at kickoff and strip the token
34
+ before consuming user input. Level→behavior mapping, parsing contract, and
35
+ precedence caveats: `framework/agents/effort-protocol.md`.
36
+
37
+
28
38
  ## What This Skill Does
29
39
 
30
40
  1. Reads `baldart.config.yml` and confirms `features.has_lsp_layer: true`.
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  name: motion-design
3
+ effort: medium
3
4
  description: >
4
5
  Applies motion design principles to create emotionally-driven, technically sound animations and transitions.
5
6
  Provides timing, easing, choreography, and Disney animation principles adapted for UI.
@@ -21,6 +22,15 @@ metadata:
21
22
  **Overlay:** loads `.baldart/overlays/motion-design.md` if present — project-specific motion vocabulary, brand-mandated easing curves, character-motion library.
22
23
  **On missing/empty keys:** ask the user; do not assume defaults. See `framework/agents/project-context.md` § 3.
23
24
 
25
+ ## Effort
26
+
27
+ **Baseline:** `effort: medium` (frontmatter). **Inline override:** pass
28
+ `effort=<low|medium|high|xhigh|max>` anywhere in the invocation to scale
29
+ reasoning depth for this run — detect it once at kickoff and strip the token
30
+ before consuming user input. Level→behavior mapping, parsing contract, and
31
+ precedence caveats: `framework/agents/effort-protocol.md`.
32
+
33
+
24
34
  ## Visual Contract
25
35
 
26
36
  When designing motion for generated marketing illustrations, prompts, or short product videos, the project's illustration-motion spec is a BLOCKING prerequisite when present:
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  name: new
3
+ effort: medium
3
4
  description: >
4
5
  Orchestrate a team of specialized agents to implement one or more backlog cards
5
6
  end-to-end inside a dedicated worktree, with code review, doc review, QA, and
@@ -39,6 +40,15 @@ If no card IDs are provided, ask the user which cards to implement.
39
40
 
40
41
  **Opt-in session telemetry (`-stats` / `--stats`)**: strip `-stats` / `--stats` from the args list exactly like `-full` (it is NOT a card ID), and set an internal flag `STATS=true` for this run. When present, Phase 8 additionally measures REAL token + wall-clock cost per agent role (coder, code-reviewer, …) by post-processing the session transcripts — zero model-token overhead, runs in Bash after the work is done. When absent, Phase 8 behaves exactly as before. The flag is batch-scoped and composes with `-full` (`/new FEAT-005 -full -stats`).
41
42
 
43
+ ## Effort
44
+
45
+ **Baseline:** `effort: medium` (frontmatter). **Inline override:** pass
46
+ `effort=<low|medium|high|xhigh|max>` anywhere in the invocation to scale
47
+ reasoning depth for this run — detect it once at kickoff and strip the token
48
+ before consuming user input. Level→behavior mapping, parsing contract, and
49
+ precedence caveats: `framework/agents/effort-protocol.md`.
50
+
51
+
42
52
  ---
43
53
 
44
54
  ## Context Tracking (CRITICAL)
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  name: overlay
3
+ effort: medium
3
4
  description: "Guided author of .baldart/overlays/ — the per-project customisation layer for BALDART skills, agents, and commands. Use when the user says /overlay, 'customizza skill', 'modifica agente upstream', 'personalizza comando', 'crea overlay', 'extend skill X', 'override agent Y', 'overlay drift', or when the framework-edit-gate hook blocked an edit and pointed here. The skill walks the user through choosing the right canal (skill / agent / command), scaffolds the overlay with correct frontmatter and section markers via `npx baldart overlay scaffold`, validates the merge via `npx baldart overlay validate`, and surfaces drift via `npx baldart overlay drift`. Never edits `.framework/` directly and never re-implements the merger logic — the CLI is the source of truth."
4
5
  contamination_scan: skip
5
6
  ---
@@ -41,6 +42,15 @@ The skill MUST NOT re-implement any of the above. If you find yourself writing p
41
42
  **Overlay:** this skill has no overlay (it would be paradoxical).
42
43
  **On missing/empty keys:** not applicable.
43
44
 
45
+ ## Effort
46
+
47
+ **Baseline:** `effort: medium` (frontmatter). **Inline override:** pass
48
+ `effort=<low|medium|high|xhigh|max>` anywhere in the invocation to scale
49
+ reasoning depth for this run — detect it once at kickoff and strip the token
50
+ before consuming user input. Level→behavior mapping, parsing contract, and
51
+ precedence caveats: `framework/agents/effort-protocol.md`.
52
+
53
+
44
54
  ## Hard rules
45
55
 
46
56
  1. **NEVER edit files under `.framework/` directly.** The contamination scanner will block the edit, and even if it didn't, `baldart update` would overwrite the change.
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  name: playwright-skill
3
+ effort: medium
3
4
  description: E2E browser testing with Playwright Test CLI. Write .spec.ts files in tests/e2e/, run via `npm run test:e2e`. Supports headed mode, debug, UI mode, filtering, retries, screenshots, and trace on failure. Use when user wants to test websites, automate browser interactions, validate web functionality, or perform any browser-based testing.
4
5
  ---
5
6
 
@@ -17,6 +18,15 @@ All browser testing uses the **Playwright Test CLI** via `playwright.config.ts`
17
18
  **Overlay:** loads `.baldart/overlays/playwright-skill.md` if present — project-specific test URLs, auth helpers, theming pairing assertions.
18
19
  **On missing/empty keys:** ask the user; do not assume defaults. See `framework/agents/project-context.md` § 3.
19
20
 
21
+ ## Effort
22
+
23
+ **Baseline:** `effort: medium` (frontmatter). **Inline override:** pass
24
+ `effort=<low|medium|high|xhigh|max>` anywhere in the invocation to scale
25
+ reasoning depth for this run — detect it once at kickoff and strip the token
26
+ before consuming user input. Level→behavior mapping, parsing contract, and
27
+ precedence caveats: `framework/agents/effort-protocol.md`.
28
+
29
+
20
30
  ## MCP dependencies
21
31
 
22
32
  See [framework/docs/MCP-INTEGRATION.md](../../../docs/MCP-INTEGRATION.md) for the BALDART MCP integration contract and the rationale behind this section.
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  name: prd
3
+ effort: high
3
4
  description: "Structured PRD creation skill. Use when the user says /prd, 'crea un prd', 'nuova funzionalita', 'pianifica feature', or wants to plan a new feature end-to-end. Also handles /prd-add, 'aggiungi requisito', 'serve anche', 'manca un endpoint' for change requests on active PRD sessions — runs ICIAS impact analysis to determine which phases need SKIP/PATCH/REDO. Produces PRD + UI design + backlog cards, all validated and committed. Multi-turn conversation: asks questions, waits for answers, iterates through discovery, design, spec writing, card creation, and validation phases."
4
5
  ---
5
6
 
@@ -15,6 +16,15 @@ cards. Anti-drift by design — rigid step sequence, persistent state, visible p
15
16
  **Overlay:** loads `.baldart/overlays/prd.md` if present — project-specific terminology, card layout overrides, segment names, mandated review gates.
16
17
  **On missing/empty keys:** ask the user; do not assume defaults. See `framework/agents/project-context.md` § 3.
17
18
 
19
+ ## Effort
20
+
21
+ **Baseline:** `effort: high` (frontmatter). **Inline override:** pass
22
+ `effort=<low|medium|high|xhigh|max>` anywhere in the invocation to scale
23
+ reasoning depth for this run — detect it once at kickoff and strip the token
24
+ before consuming user input. Level→behavior mapping, parsing contract, and
25
+ precedence caveats: `framework/agents/effort-protocol.md`.
26
+
27
+
18
28
  ---
19
29
 
20
30
  ## EXECUTION MODEL
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  name: prd-add
3
+ effort: medium
3
4
  description: "Change Request skill for active PRD sessions. Use when the user says /prd-add, 'aggiungi requisito', 'serve anche', 'manca un endpoint', or describes a new requirement that impacts an existing PRD. Also auto-triggered by /prd during discovery when the user's answer reveals a new sub-feature not covered by the original scope. Runs ICIAS impact analysis (semantic scan + structural propagation + scoring) to determine which PRD phases need SKIP/PATCH/REDO, then executes only affected phases."
4
5
  ---
5
6
 
@@ -16,6 +17,15 @@ need revision, then executes only the affected ones.
16
17
  **Overlay:** loads `.baldart/overlays/prd-add.md` if present — and inherits the prd overlay's terminology + design-system reads (since prd-add operates on /prd's artifacts).
17
18
  **On missing/empty keys:** ask the user; do not assume defaults. See `framework/agents/project-context.md` § 3.
18
19
 
20
+ ## Effort
21
+
22
+ **Baseline:** `effort: medium` (frontmatter). **Inline override:** pass
23
+ `effort=<low|medium|high|xhigh|max>` anywhere in the invocation to scale
24
+ reasoning depth for this run — detect it once at kickoff and strip the token
25
+ before consuming user input. Level→behavior mapping, parsing contract, and
26
+ precedence caveats: `framework/agents/effort-protocol.md`.
27
+
28
+
19
29
  ---
20
30
 
21
31
  ## TRIGGER MODES
@@ -1,10 +1,21 @@
1
1
  ---
2
2
  name: remotion-best-practices
3
+ effort: medium
3
4
  description: Best practices for Remotion - Video creation in React
4
5
  metadata:
5
6
  tags: remotion, video, react, animation, composition
6
7
  ---
7
8
 
9
+ ## Effort
10
+
11
+ **Baseline:** `effort: medium` (frontmatter). **Inline override:** pass
12
+ `effort=<low|medium|high|xhigh|max>` anywhere in the invocation to scale
13
+ reasoning depth for this run — detect it once at kickoff and strip the token
14
+ before consuming user input. Level→behavior mapping, parsing contract, and
15
+ precedence caveats: `framework/agents/effort-protocol.md`.
16
+
17
+
18
+
8
19
  ## When to use
9
20
 
10
21
  Use this skills whenever you are dealing with Remotion code to obtain the domain-specific knowledge.
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  name: seo-audit
3
+ effort: medium
3
4
  version: 1.0.0
4
5
  description: When the user wants to audit, review, or diagnose SEO issues on their site. Also use when the user mentions "SEO audit," "technical SEO," "why am I not ranking," "SEO issues," "on-page SEO," "meta tags review," or "SEO health check." For building pages at scale to target keywords, see programmatic-seo. For adding structured data, see schema-markup.
5
6
  ---
@@ -8,6 +9,15 @@ description: When the user wants to audit, review, or diagnose SEO issues on the
8
9
 
9
10
  You are an expert in search engine optimization. Your goal is to identify SEO issues and provide actionable recommendations to improve organic search performance.
10
11
 
12
+ ## Effort
13
+
14
+ **Baseline:** `effort: medium` (frontmatter). **Inline override:** pass
15
+ `effort=<low|medium|high|xhigh|max>` anywhere in the invocation to scale
16
+ reasoning depth for this run — detect it once at kickoff and strip the token
17
+ before consuming user input. Level→behavior mapping, parsing contract, and
18
+ precedence caveats: `framework/agents/effort-protocol.md`.
19
+
20
+
11
21
  ## Initial Assessment
12
22
 
13
23
  **Check for product marketing context first:**
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  name: simplify
3
+ effort: medium
3
4
  description: Review changed code for reuse, quality, and efficiency, then fix any issues found. Use when completing a coding task, after implementation, or when the user says /simplify. Covers deduplication (exact/near/inline), code quality patterns, and performance.
4
5
  ---
5
6
 
@@ -12,6 +13,15 @@ description: Review changed code for reuse, quality, and efficiency, then fix an
12
13
  **Overlay:** loads `.baldart/overlays/simplify.md` if present — project-specific utility module paths, hook conventions.
13
14
  **On missing/empty keys:** ask the user; do not assume defaults. See `framework/agents/project-context.md` § 3.
14
15
 
16
+ ## Effort
17
+
18
+ **Baseline:** `effort: medium` (frontmatter). **Inline override:** pass
19
+ `effort=<low|medium|high|xhigh|max>` anywhere in the invocation to scale
20
+ reasoning depth for this run — detect it once at kickoff and strip the token
21
+ before consuming user input. Level→behavior mapping, parsing contract, and
22
+ precedence caveats: `framework/agents/effort-protocol.md`.
23
+
24
+
15
25
  ---
16
26
 
17
27
  You are a ruthless deduplication and cleanup agent. You do not suggest. You find issues and you eliminate them.
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  name: skill-creator
3
+ effort: medium
3
4
  description: Guide for creating effective skills. This skill should be used when users want to create a new skill (or update an existing skill) that extends Claude's capabilities with specialized knowledge, workflows, or tool integrations.
4
5
  license: Complete terms in LICENSE.txt
5
6
  ---
@@ -8,6 +9,15 @@ license: Complete terms in LICENSE.txt
8
9
 
9
10
  This skill provides guidance for creating effective skills.
10
11
 
12
+ ## Effort
13
+
14
+ **Baseline:** `effort: medium` (frontmatter). **Inline override:** pass
15
+ `effort=<low|medium|high|xhigh|max>` anywhere in the invocation to scale
16
+ reasoning depth for this run — detect it once at kickoff and strip the token
17
+ before consuming user input. Level→behavior mapping, parsing contract, and
18
+ precedence caveats: `framework/agents/effort-protocol.md`.
19
+
20
+
11
21
  ## About Skills
12
22
 
13
23
  Skills are modular, self-contained packages that extend Claude's capabilities by providing
@@ -303,15 +313,18 @@ Any example files and directories not needed for the skill should be deleted. Th
303
313
 
304
314
  ##### Frontmatter
305
315
 
306
- Write the YAML frontmatter with `name` and `description`:
316
+ Write the YAML frontmatter with `name`, `description`, and `effort`:
307
317
 
308
318
  - `name`: The skill name
309
319
  - `description`: This is the primary triggering mechanism for your skill, and helps Claude understand when to use the skill.
310
320
  - Include both what the Skill does and specific triggers/contexts for when to use it.
311
321
  - Include all "when to use" information here - Not in the body. The body is only loaded after triggering, so "When to Use This Skill" sections in the body are not helpful to Claude.
312
322
  - Example description for a `docx` skill: "Comprehensive document creation, editing, and analysis with support for tracked changes, comments, formatting preservation, and text extraction. Use when Claude needs to work with professional documents (.docx files) for: (1) Creating new documents, (2) Modifying or editing content, (3) Working with tracked changes, (4) Adding comments, or any other document tasks"
323
+ - `effort`: The skill's baseline reasoning effort — one of `low | medium | high | xhigh | max`. Pick it by the skill's dominant cognitive load per the tiering rubric in `framework/agents/effort-protocol.md` (routine/lookup → `low`; standard authoring/review → `medium`; deep reasoning/orchestration → `high`). When in doubt, default to `medium` and let the user escalate per-run via the inline override.
324
+
325
+ Beyond `name`, `description`, and `effort`, do not include other fields in YAML frontmatter.
313
326
 
314
- Do not include any other fields in YAML frontmatter.
327
+ Then paste the `## Effort` body block from `framework/templates/skill-effort.snippet.md` right after `## Project Context` (or after the title if the skill has no Project Context header), so the skill honors the inline `effort=<level>` override. See `framework/agents/effort-protocol.md` for the parsing contract.
315
328
 
316
329
  ##### Body
317
330
 
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  name: ui-design
3
+ effort: medium
3
4
  description: "UI design workflow. Generates context-aware mockups with GAN-inspired generator/evaluator separation, visual verification via Playwright, and structured sprint contracts. Use when: (1) designing new pages or components, (2) the /prd skill reaches its UI design phase (Step 3), (3) redesigning existing pages, (4) creating design options for user review, (5) any task involving 'design UI', 'mockup', 'opzioni di design', 'progetta interfaccia', '3 opzioni', 'design page', 'UI design'. Not for: bug fixes, small tweaks, copy-only changes, or implementing an already-chosen design."
4
5
  ---
5
6
 
@@ -29,6 +30,15 @@ own mockups — separating generation from scoring keeps the quality gate honest
29
30
 
30
31
  **On missing/empty keys:** ask the user; do not assume defaults. See `framework/agents/project-context.md` § 3.
31
32
 
33
+ ## Effort
34
+
35
+ **Baseline:** `effort: medium` (frontmatter). **Inline override:** pass
36
+ `effort=<low|medium|high|xhigh|max>` anywhere in the invocation to scale
37
+ reasoning depth for this run — detect it once at kickoff and strip the token
38
+ before consuming user input. Level→behavior mapping, parsing contract, and
39
+ precedence caveats: `framework/agents/effort-protocol.md`.
40
+
41
+
32
42
  ## Working Directory (MANDATORY when invoked from `/prd`, since v3.22.0)
33
43
 
34
44
  When `/prd` Step 3 invokes this skill, the caller passes (or sets as cwd) an
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  name: webapp-testing
3
+ effort: medium
3
4
  description: Toolkit for interacting with and testing local web applications using Playwright. Supports verifying frontend functionality, debugging UI behavior, capturing browser screenshots, and viewing browser logs.
4
5
  license: Complete terms in LICENSE.txt
5
6
  ---
@@ -13,6 +14,15 @@ license: Complete terms in LICENSE.txt
13
14
  **Overlay:** loads `.baldart/overlays/webapp-testing.md` if present — project-specific test URLs, auth helpers.
14
15
  **On missing/empty keys:** ask the user; do not assume defaults. See `framework/agents/project-context.md` § 3.
15
16
 
17
+ ## Effort
18
+
19
+ **Baseline:** `effort: medium` (frontmatter). **Inline override:** pass
20
+ `effort=<low|medium|high|xhigh|max>` anywhere in the invocation to scale
21
+ reasoning depth for this run — detect it once at kickoff and strip the token
22
+ before consuming user input. Level→behavior mapping, parsing contract, and
23
+ precedence caveats: `framework/agents/effort-protocol.md`.
24
+
25
+
16
26
  ---
17
27
 
18
28
  ## E2E Review Integration (since v3.18.0)
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  name: worktree-manager
3
+ effort: medium
3
4
  description: >
4
5
  Manage fully independent git worktrees for parallel coding agents.
5
6
  Commands: /nw (new worktree) creates an isolated workspace with its own
@@ -21,6 +22,15 @@ description: >
21
22
  - `paths.metrics` — JSONL telemetry dir (default `docs/metrics`) used by the rebase conflict-resolution table.
22
23
  - Protocol reference: `framework/agents/project-context.md`. Skills must ASK when a needed key is missing — never assume.
23
24
 
25
+ ## Effort
26
+
27
+ **Baseline:** `effort: medium` (frontmatter). **Inline override:** pass
28
+ `effort=<low|medium|high|xhigh|max>` anywhere in the invocation to scale
29
+ reasoning depth for this run — detect it once at kickoff and strip the token
30
+ before consuming user input. Level→behavior mapping, parsing contract, and
31
+ precedence caveats: `framework/agents/effort-protocol.md`.
32
+
33
+
24
34
  **IMMEDIATE EXECUTION**: When invoked via `/nw`, `/mw`, `/lw`, or `/cw`, do NOT explain the process. Start executing the matching command flow immediately:
25
35
 
26
36
  - `/nw` → Ask for **slug** (required) and optionally a **card ID**, then execute all steps (pre-flight → create → install → build → report). If the user provided args, skip questions and use them directly. Supports three forms:
@@ -0,0 +1,121 @@
1
+ # Effort Protocol
2
+
3
+ ## Purpose
4
+
5
+ Define how BALDART skills (and, by extension, agents) choose a **reasoning
6
+ effort** level: a per-skill *baseline* declared in frontmatter, plus a portable
7
+ *inline override* the user can pass at invocation time. The goal is to let
8
+ routine skills run lean and reasoning-heavy skills run deep — and to let the
9
+ user dial that up or down for a single run without touching config or
10
+ environment.
11
+
12
+ ## Scope
13
+
14
+ **In**: The `effort:` frontmatter key, its baseline-per-skill rubric, the
15
+ `effort=<level>` inline-override convention, and how a skill body reacts to it.
16
+ **Out**: The native Claude Code effort knob mechanics themselves (slider,
17
+ `/effort` command, `CLAUDE_CODE_EFFORT_LEVEL`) — those are documented by Claude
18
+ Code, not by BALDART. This protocol only governs how skills *use* them.
19
+
20
+ ## Background — the native knob and its precedence
21
+
22
+ Claude Code supports an `effort:` frontmatter key on skills and subagents with
23
+ values `low | medium | high | xhigh | max` (availability varies by model). When
24
+ that skill/subagent is active, its frontmatter effort overrides the session
25
+ level. The resolution order, highest first, is:
26
+
27
+ ```
28
+ CLAUDE_CODE_EFFORT_LEVEL (env) > effort: frontmatter > /effort session level > model default
29
+ ```
30
+
31
+ Two consequences shape this protocol:
32
+
33
+ 1. **The frontmatter sits *above* the session `/effort` level.** So a user
34
+ cannot raise a skill's effort just by running `/effort high` first — the
35
+ frontmatter wins. Only the global env var beats it.
36
+ 2. **A running skill cannot mutate the effort knob itself.** There is no tool
37
+ for a skill to re-set its own effort mid-run.
38
+
39
+ Therefore the inline override below does **not** drive the native knob. It is a
40
+ **body-level reasoning escalation**: the skill reads the token from its
41
+ arguments and engages the corresponding *thinking directive* (`think hard` …
42
+ `ultrathink`), which the harness interprets from the text. This is fully
43
+ portable — no env var, no consumer config.
44
+
45
+ ## Tiering rubric — choosing a skill's baseline
46
+
47
+ Assign the frontmatter `effort:` baseline by the skill's dominant cognitive
48
+ load, not by how "important" it feels:
49
+
50
+ | Baseline | When | Examples of work |
51
+ |----------|------|------------------|
52
+ | `low` | mechanical, lookup, narration over a deterministic CLI | git plumbing, listing, scaffolding from a fixed template |
53
+ | `medium` | standard authoring/implementation/review work | most skills — design, docs, tests, scaffolding with judgment |
54
+ | `high` | deep multi-step reasoning, architecture, end-to-end orchestration, structured planning | PRD authoring, root-cause analysis, deep code review |
55
+ | `xhigh` / `max` | reserved — set only when a skill is *consistently* a hard reasoning problem | (rare; prefer raising via inline override instead of pinning the baseline) |
56
+
57
+ Prefer a conservative baseline plus inline escalation over a permanently high
58
+ baseline: a `medium` skill the user can push to `high` for a hard run costs less
59
+ across the common case than a skill pinned `high` for every trivial invocation.
60
+
61
+ ## Inline override — `effort=<level>`
62
+
63
+ **Convention.** The user may pass the token `effort=<low|medium|high|xhigh|max>`
64
+ anywhere in the invocation arguments, e.g.:
65
+
66
+ ```
67
+ /prd effort=high Build a referral program with tiered rewards
68
+ /simplify effort=low
69
+ ```
70
+
71
+ **Parsing contract (every skill that honors overrides MUST follow this):**
72
+
73
+ 1. **Detect once, at kickoff.** Inspect `$ARGUMENTS` for a case-insensitive
74
+ `effort=<level>` token. Model the parse on the existing `-stats` flag in the
75
+ `prd` skill — detect early, before the arguments are consumed as content.
76
+ 2. **Strip the token.** Remove `effort=<level>` from the argument string before
77
+ using the remainder as the user's actual input (feature text, target, etc.).
78
+ The token is control metadata, never part of the payload.
79
+ 3. **Validate.** If the level is not one of the five valid values, ignore the
80
+ token (treat as baseline) and note it; do not error out.
81
+
82
+ ## Level → behavior mapping (the body contract)
83
+
84
+ Once the effective level is known (inline override if present and valid, else
85
+ the frontmatter baseline), the skill applies:
86
+
87
+ | Effective level | Reasoning behavior in the body |
88
+ |-----------------|--------------------------------|
89
+ | `low` | No extended thinking. Execute directly and tersely; skip optional deliberation steps. |
90
+ | `medium` | Normal operation — the skill's default reasoning. |
91
+ | `high` | Engage **`think hard`** at each decision point / phase boundary. |
92
+ | `xhigh` | Engage **`think harder`** at each decision point / phase boundary. |
93
+ | `max` | Engage **`ultrathink`** at each decision point / phase boundary. |
94
+
95
+ **Honest limits.** Escalation *upward* is reliable (thinking keywords deepen
96
+ reasoning regardless of the frontmatter baseline). De-escalation *below* the
97
+ frontmatter baseline is best-effort: the body can skip optional deliberation,
98
+ but it cannot lower the native budget the frontmatter already set — only the env
99
+ var can. Skills should therefore pick a baseline they are comfortable paying for
100
+ on every run.
101
+
102
+ ## The canonical body block
103
+
104
+ Every skill that ships an `effort:` baseline pastes a short `## Effort` section
105
+ into its body (right after `## Project Context`, or after the title for skills
106
+ without a Project Context header). Keep it dense — cite this module, do not
107
+ re-explain the mapping:
108
+
109
+ ```markdown
110
+ ## Effort
111
+
112
+ **Baseline:** `effort: <level>` (frontmatter). **Inline override:** pass
113
+ `effort=<low|medium|high|xhigh|max>` anywhere in the invocation to scale
114
+ reasoning depth for this run — detect it once at kickoff and strip the token
115
+ before consuming user input. Level→behavior mapping, parsing contract, and
116
+ precedence caveats: `framework/agents/effort-protocol.md`.
117
+ ```
118
+
119
+ A copy-paste starter lives at `framework/templates/skill-effort.snippet.md`.
120
+ The `skill-creator` skill emits both the `effort:` frontmatter key and this
121
+ block for every new skill.
@@ -31,6 +31,7 @@ Route agents to the right module with minimal reading.
31
31
  - If touching security or auth risk -> read `agents/security.md`.
32
32
  - If touching performance limits or scaling -> read `agents/performance.md`.
33
33
  - If touching monitoring/logging -> read `agents/observability.md`.
34
+ - If tuning reasoning depth — setting a skill's `effort:` baseline or honoring an inline `effort=<level>` override -> read `agents/effort-protocol.md`.
34
35
  - If building or maintaining a derived LLM wiki overlay (`${paths.wiki_dir}/`) -> read `agents/llm-wiki-methodology.md` and invoke `wiki-curator` / `/capture`.
35
36
  - For day-to-day status -> read and update `${paths.references_dir}/project-status.md`.
36
37
  - For legacy context -> read `archive/project_full_legacy.md` if it exists.
@@ -0,0 +1,25 @@
1
+ <!--
2
+ EFFORT HEADER — paste this into any BALDART skill that declares an `effort:`
3
+ baseline and honors the inline `effort=<level>` override.
4
+
5
+ 1. Add the frontmatter key (pick the baseline per the tiering rubric):
6
+
7
+ effort: medium # one of: low | medium | high | xhigh | max
8
+
9
+ 2. Paste the `## Effort` block below right after `## Project Context`
10
+ (or after the skill title, for skills without a Project Context header).
11
+ Replace <level> with the same baseline you set in frontmatter.
12
+
13
+ Full protocol: framework/agents/effort-protocol.md
14
+
15
+ Keep this header DENSE (3-4 lines). Do not re-explain the mapping —
16
+ cite framework/agents/effort-protocol.md instead.
17
+ -->
18
+
19
+ ## Effort
20
+
21
+ **Baseline:** `effort: <level>` (frontmatter). **Inline override:** pass
22
+ `effort=<low|medium|high|xhigh|max>` anywhere in the invocation to scale
23
+ reasoning depth for this run — detect it once at kickoff and strip the token
24
+ before consuming user input. Level→behavior mapping, parsing contract, and
25
+ precedence caveats: `framework/agents/effort-protocol.md`.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "baldart",
3
- "version": "4.1.1",
3
+ "version": "4.2.0",
4
4
  "description": "Claude Agent Framework - Reusable framework for coordinating AI agents and humans in software projects",
5
5
  "bin": {
6
6
  "baldart": "./bin/baldart.js"