Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .claude/rules/agents-authoring.md
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ Référence complète : `_shared/discovery-protocol.md` § *Critères ULK-FDESC*
**Vérifier** : `python3 framework/tools/description-audit.py` → score dans `docs/audits/agent-descriptions-<ts>.md`

**Champs optionnels :**
- `effort: xhigh|low` — override le niveau d'effort de la session pour ce sous-agent. Règle ulk : `xhigh` sur tous les agents `model: opus`, `low` sur les agents `model: haiku`. Absent = défaut du modèle (`high` pour sonnet, `xhigh` pour opus 4.7). Ne pas utiliser `max` (session-only, prone to overthinking).
- `effort: xhigh|low` — override le niveau d'effort de la session pour ce sous-agent. Règle ulk : `xhigh` sur tous les agents `model: opus`, `low` sur les agents `model: haiku`. Absent = défaut du modèle (`high` pour sonnet **et** opus 4.8 — `xhigh` sur opus est donc une surcharge délibérée, voir `_shared/model-policy.md`). Ne pas utiliser `max` (session-only, prone to overthinking).
- `memory: local` — uniquement pour les subagents `.claude/agents/` (persistent memory)
- `isolation: worktree` — si l'agent doit travailler en worktree isolé (CC 2.1.49+). Bénéfices : contexte propre, pas de pollution main thread, branche dédiée pour review. **Piège** : les rapports écrits en chemin relatif disparaissent à la cleanup du worktree → toujours résoudre `MAIN_REPO=$(cd "$(git rev-parse --git-common-dir)/.." && pwd)` et écrire en absolu. Voir `_shared/worktree-protocol.md`. Agents concernés : vision (05), sargeras (45), ed209 (52), robocop (11)
- `extends:` — liste des fichiers `_shared/` dont l'agent hérite (convention documentaire, voir ci-dessous)
Expand Down
4 changes: 2 additions & 2 deletions .claude/rules/install-reference.md
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ paths:
./install.sh --without-faru # opt-out : ne pas installer faru CLI. Bruce détecte alors les projets legacy (docs/07-spec/spec.md) et reste en mode obsidian. Pour pérenniser : déclarer `doc-mode: obsidian` dans le frontmatter de `CLAUDE.md`.
./install.sh --with-sentinel # + hook Sentinel (cascade xavier+ed209 pre-push, killbill+ed209 pre-deploy, mode remind par défaut) → ~/.claude/hooks/sentinel.sh · log: .ulk-reports/sentinel-log.jsonl · unlock: touch .ulk/sentinel-cleared
./install.sh --with-code-graph # + Code Review Graph MCP (ADOPT-CONDITIONAL, Python 3.10+ requis) : pip install code-review-graph && code-review-graph index . — gain −8.2× moyen (−49× cas optimal monorepo) · MCP-native 22 tools · Tree-sitter + SQLite
./install.sh --with-session-defaults # + skill /session-defaults (opt-in) — écrit CLAUDE_CODE_DISABLE_1M_CONTEXT=1 + CLAUDE_AUTOCOMPACT_PCT_OVERRIDE=80 dans ~/.claude/settings.json ; désactive contexte 1M Opus 4.7, force compact proactif à 80% ; idempotent
./install.sh --with-session-defaults # + skill /session-defaults (opt-in) — écrit CLAUDE_CODE_DISABLE_1M_CONTEXT=1 + CLAUDE_AUTOCOMPACT_PCT_OVERRIDE=80 dans ~/.claude/settings.json ; désactive contexte 1M Opus (4.7/4.8), force compact proactif à 80% ; idempotent
./install.sh --with-kami-skill # + skill kami (tw93) — documents pro (One-Pager, Long Doc, Letter, Portfolio, Resume, Slides) ; esthétique parcheminée + accents encre
./install.sh --with-container-clis # + bundle container (docker · kubectl · helm · k9s · lazydocker)
./install.sh --with-monitoring-clis # + bundle monitoring (vegeta · hyperfine · gping · mtr)
Expand Down Expand Up @@ -137,7 +137,7 @@ cwb-app-icon (1, opt-in) : `/cwb-app-icon` — génère AppIcon.appiconset natif
hue (1, opt-in) : `/hue` — génère un design language complet (design-model.yaml + SKILL.md + tokens + composants + previews HTML) à partir d'une marque, URL, screenshots ou codebase · installé sous `~/.claude/skills/hue/` via `--with-hue-skill`
logo-generator (1, opt-in) : `/logo-generator` — génère logos SVG+PNG via Google Gemini API (~$0.01-0.05/image, requiert `GEMINI_API_KEY`) · pipeline 5 phases (brief → concepts → SVG → PNG → showcase) · installé sous `~/.claude/skills/logo-generator/` via `--with-logo-generator-skill` · hint d'invocation depuis Stark (58)
caveman-output (1, opt-in) : `/caveman` — mode output télégraphique ; −79% tokens rapports agents (2b3, ci-guard), −18 à −24% session complète ; règle : clean→caveman, bloquant/🚨→normal ; aucun prérequis — installé sous `~/.claude/skills/caveman-output/` via `--with-caveman-output-skill` · spike : `docs/research/spike-caveman.md`
session-defaults (1, opt-in) : `/session-defaults` — écrit `CLAUDE_CODE_DISABLE_1M_CONTEXT=1` + `CLAUDE_AUTOCOMPACT_PCT_OVERRIDE=80` dans `~/.claude/settings.json` ; idempotent, non-destructif (merge) ; désactive contexte 1M Opus 4.7 → force 200K + compact auto à ~155K ; redémarrer Claude Code après application — installé sous `~/.claude/skills/session-defaults/` via `--with-session-defaults`
session-defaults (1, opt-in) : `/session-defaults` — écrit `CLAUDE_CODE_DISABLE_1M_CONTEXT=1` + `CLAUDE_AUTOCOMPACT_PCT_OVERRIDE=80` dans `~/.claude/settings.json` ; idempotent, non-destructif (merge) ; désactive contexte 1M Opus (4.7/4.8) → force 200K + compact auto à ~155K ; redémarrer Claude Code après application — installé sous `~/.claude/skills/session-defaults/` via `--with-session-defaults`
tech-debt-audit (1, opt-in) : `/tech-debt-audit` — audit dette technique opinionné (3 phases : orient → audit 9 dimensions → deliverable), file:line cité, section *"looks bad but actually fine"* obligatoire, mode repeat-run (RESOLVED/NEW), spawn subagents si > 50k LOC ; produit `TECH_DEBT_AUDIT.md` à la racine du repo · ksimback, MIT — installé sous `~/.claude/skills/tech-debt-audit/` via `--with-tech-debt-skill` · **complémentaire** à sargeras (45) audit 10 axes scoré et ed209 (52) sécurité OWASP · hint d'invocation depuis sargeras (45)
ai-adoption (1, opt-in) : `/ai-adoption` — mesure la part de code écrit avec IA depuis les signaux de commit git (footers `Generated with Claude Code`, trailers `Co-Authored-By`, identités bot copilot/devin/gemini/jules + l'ajout ulk du trailer `claude.ai/code` que loupe ne matche PAS) ; agrégation hebdo + adoption %, ground truth via `.ulk-reports/accountability.jsonl`, rendu deck délégué à visual-explainer (fallback table Markdown) ; pur shell + git, local, 0 token, aucune API. Reproduit la détection mono-repo de StephanSchmidt/loupe (MIT) sans son ingestion multi-plateforme (org-wide → wrapper le binaire loupe) — installé sous `~/.claude/skills/ai-adoption/` via `--with-ai-adoption-skill` · **complémentaire** à mathieu (61) métriques produit, killbill (56) coût, 2b3 (08) recap checkpoint
web-design-guidelines (1, opt-in) : `/web-design-guidelines <file-or-pattern>` — review code UI contre les Vercel Web Interface Guidelines (a11y, focus states, semantics, performance, copy) ; fetch live des règles via `curl.md` à chaque run (fallback `defuddle` puis `WebFetch`) ; output terse `file:line` ; vercel-labs, MIT — installé sous `~/.claude/skills/web-design-guidelines/` via `--with-web-design-skill` · **complémentaire** à visual-auditor (03) visuel, frontend-qa (02) fonctionnel, agathe (60) DA design system
Expand Down
16 changes: 15 additions & 1 deletion .claude/rules/native-features.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,4 +42,18 @@ Memory stored in `~/.claude/projects/<project>/memory/` with MEMORY.md index + t
| blackemperor review | Code vs spec | Completeness matrix |

## `/simplify` — Built-in Simplification
Spawns 3 parallel agents (reuse, quality, efficiency). Integrated in vision and 2b3.
Depuis Claude Code 2.1.154, `/simplify` exécute une **review cleanup-only** (reuse · simplification · efficiency · altitude) et **applique** les correctifs (équivalent `/code-review --fix` sans la passe bug-hunting). Pour la chasse aux bugs, utiliser `/code-review` (sévérité réglable). Intégré dans vision et 2b3.

## Dynamic Workflows — Orchestration native à grande échelle (research preview)
Depuis Claude Code 2.1.154 (Opus 4.8). Claude écrit dynamiquement des scripts d'orchestration qui lancent **des dizaines à des centaines de sous-agents en parallèle** dans une même session (en arrière-plan), **vérifie ses sorties** avant de rapporter, puis converge. Cas d'usage phare : migrations à l'échelle du codebase (centaines de milliers de lignes) du kickoff au merge, avec la suite de tests existante comme barre de validation. Voir ses runs : `/workflows`.

**Disponibilité** : plans **Enterprise / Team / Max** uniquement (research preview). Pas d'activation côté ulk — c'est une capacité native du harness.

**Positionnement vs orchestrateurs ulk** :
| | Dynamic Workflows (natif) | bruce (25) / blackemperor (18) |
|---|---|---|
| Parallélisme | dizaines–centaines de sous-agents anonymes | routage vers agents ulk spécialisés (domaine, mémoire) |
| Force | travail mécanique massif (migration, refactor large) | jugement, séquencement, connaissance projet |
| Verrou | plan payant + preview | disponible partout |

Règle ulk : *Dynamic Workflows pour la masse mécanique homogène ; bruce/blackemperor pour l'arbitrage et le routage spécialisé.* Les deux se composent — un orchestrateur ulk peut déléguer une phase de migration brute à un dynamic workflow. À surveiller (backlog, pas d'intégration tant que la feature reste en preview + gated par plan).
6 changes: 3 additions & 3 deletions .claude/rules/session-practices.md
Original file line number Diff line number Diff line change
Expand Up @@ -110,8 +110,8 @@ L'effort de raisonnement (`/effort`) s'ajuste **par prompt**, pas par session.
```
/effort low # fixes mécaniques, reformatage
/effort medium # plupart des prompts (économie massive vs défaut)
/effort high # raisonnement complexe
/effort xhigh # défaut Opus 4.7 — coding agentique
/effort high # défaut Opus 4.8 — coding agentique
/effort xhigh # tâches difficiles + workflows asynchrones longs (était le défaut sur 4.7)
/effort max # rendements décroissants, rarement justifié
```

Expand All @@ -120,4 +120,4 @@ Règle : `medium` par défaut. `xhigh`/`max` uniquement pour la planification lo
## Skill `/session-defaults` (opt-in)
- Écrit `CLAUDE_CODE_DISABLE_1M_CONTEXT=1` et `CLAUDE_AUTOCOMPACT_PCT_OVERRIDE=80` dans `~/.claude/settings.json`
- Activation : `./install.sh --with-session-defaults`
- Économie estimée : significant reduction sur les sessions Opus 4.7 longues
- Économie estimée : significant reduction sur les sessions Opus longues
10 changes: 10 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,16 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

## [Unreleased]

### Changed

- **Alignement Claude Opus 4.8** (sortie 2026-05-28, Claude Code 2.1.154) — les alias relatifs `opus`/`sonnet`/`haiku` résolvent automatiquement vers 4.8, aucune modification d'agent requise. Mises à jour documentaires :
- `_shared/model-policy.md`, `agents-authoring.md` — le défaut effort Opus passe de `xhigh` (4.7) à `high` (4.8) ; ulk **conserve `effort: xhigh`** sur les 20 agents opus, désormais comme **surcharge délibérée au-dessus du défaut** (et non plus alignement sur le défaut).
- `CLAUDE.md`, `GEMINI.md`, `_shared/multi-provider-protocol.md`, `README.md` — table de mapping modèles → `claude-opus-4-8` ; ajout note fast mode (2× rate / 2,5× vitesse, 3× moins cher que sur modèles précédents).
- `_shared/context-hygiene-protocol.md` (Règle 5) — nuance : la Messages API accepte des entrées `system` mid-task → injection de contexte par les orchestrateurs cache-safe (changer modèle/MCP reste un cache miss).
- `_shared/verify-protocol.md` — note honnêteté Opus 4.8 (~4× moins de défauts laissés passer) ; le filet `/ulk:verify` reste obligatoire.
- `docs/site-docs/{token-economy,reference}.md`, `session-defaults` skill + `install-reference.md` — défaut effort + mentions 1M context rendues version-agnostiques (4.7/4.8).
- **Dynamic Workflows** (`native-features.md`) — documentation de la feature native research-preview (orchestration de dizaines–centaines de sous-agents, Enterprise/Team/Max) et de son positionnement vs bruce (25) / blackemperor (18). À surveiller, pas d'intégration tant que gated par plan + preview. `/simplify` mis à jour (cleanup-only + applique les fixes depuis 2.1.154).

### Added

- **Mécanisme anti-données-hardcodées (3 couches + agent)** — détecte secrets/tokens, config env-spécifique (URLs/IPs), magic numbers et PII/fake data.
Expand Down
6 changes: 4 additions & 2 deletions CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -159,7 +159,9 @@ Activation : `./install.sh --with-session-defaults`.

**PDF** : `pdftotext "$1" -` (texte brut → stdout) > `Read` (évite le chargement image coûteux).

**Effort par prompt** : `/effort low` (mécanique) · `/effort medium` (défaut) · `/effort high` · `/effort xhigh` (défaut Opus) · `/effort max` (rarement justifié).
**Effort par prompt** : `/effort low` (mécanique) · `/effort medium` · `/effort high` (**défaut Opus 4.8**) · `/effort xhigh` (tâches difficiles + workflows asynchrones longs) · `/effort max` (rarement justifié). Note : Opus 4.8 a abaissé le défaut de `xhigh` (4.7) à `high` ; ulk conserve `effort: xhigh` en frontmatter sur les agents opus comme surcharge délibérée (voir `_shared/model-policy.md`).

**Fast mode** (`/fast`, Opus 4.8) — 2,5× plus rapide, et **3× moins cher** que sur les modèles précédents ($10/M input · $50/M output). Utile pour les itérations interactives où la latence prime.

**Modèles sous-agents** : Haiku (mécanique, masse) · Sonnet (recherche, synthèse) · Opus (planification, arbitrages).

Expand Down Expand Up @@ -212,7 +214,7 @@ Outils : `/caveman` · `rtk proxy <cmd>` · Référence : `_shared/base-rules.md

| Alias | Claude Code | Codex | Gemini | Mistral |
|-------|-------------|-------|--------|---------|
| opus | claude-opus-4-7 | o3 | gemini-2.5-pro | mistral-medium-3-5 |
| opus | claude-opus-4-8 | o3 | gemini-2.5-pro | mistral-medium-3-5 |
| sonnet | claude-sonnet-4-6 | gpt-4o | gemini-2.5-flash | mistral-small-3-1 |
| haiku | claude-haiku-4-5 | gpt-4o-mini | gemini-2.0-flash | mistral-nemo |

Expand Down
4 changes: 3 additions & 1 deletion CREDITS.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ CLI registry, skills sources, vendored skill frontmatter, and a small
curated file for inspirations and site design. To update it, change the
underlying source and run `node framework/cheatheet/generate-credits.cjs`.

## Vendored skills — third-party (29)
## Vendored skills — third-party (30)

Skills whose content is bundled in `framework/community-skills/`, credited
to their upstream authors.
Expand Down Expand Up @@ -44,6 +44,8 @@ to their upstream authors.
- flutter-add-integration-test, flutter-add-widget-preview, flutter-add-widget-test, flutter-apply-architecture-best-practices, flutter-build-responsive-layout, flutter-fix-layout-issues, flutter-implement-json-serialization, flutter-setup-declarative-routing, flutter-setup-localization, flutter-use-http-package
- **flutter** — harish · BSD-3-Clause · [github.com/Harishwarrior/claude-code-skills](https://github.com/Harishwarrior/claude-code-skills) · flutter-3.x
- flutter-tester, owasp-mobile-security
- **hardcode-audit** — (attribution pending)
- hardcode-audit
- **hue** — Dominik Martin · MIT · [github.com/dominikmartn/hue](https://github.com/dominikmartn/hue) · 1.1.0
- hue
- **jeffallan-skills** — Jeffallan · MIT · [github.com/Jeffallan/claude-skills](https://github.com/Jeffallan/claude-skills) · 2026-05-15
Expand Down
2 changes: 1 addition & 1 deletion GEMINI.md
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,7 @@ gh pr list # GitHub CLI

| Alias ulk | Claude Code | Gemini CLI |
|-----------|-------------|------------|
| `opus` | claude-opus-4-7 | gemini-2.5-pro |
| `opus` | claude-opus-4-8 | gemini-2.5-pro |
| `sonnet` | claude-sonnet-4-6 | gemini-2.5-flash |
| `haiku` | claude-haiku-4-5 | gemini-2.0-flash |

Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -249,7 +249,7 @@ ulk tire parti des features récentes de Claude Code :
| `/branch` (ex `/fork`) | 2.1.71 | Forks de conversation pour explorer plusieurs pistes |
| `isolation: "worktree"` | 2.1.49 | Audits propres (Sargeras, ED-209) — voir `docs/todo.md` ULK-207 |
| Subagent forké | 2.1.117 | `CLAUDE_CODE_FORK_SUBAGENT=1` réduit la pollution contexte des orchestrateurs |
| Opus 4.7 / Sonnet 4.6 / Haiku 4.5 | 2.1.111+ | Alias `opus`/`sonnet`/`haiku` dans frontmatter — résolution auto vers la dernière version |
| Opus 4.8 / Sonnet 4.6 / Haiku 4.5 | 2.1.111+ | Alias `opus`/`sonnet`/`haiku` dans frontmatter — résolution auto vers la dernière version |
| `effort:` frontmatter | 2.1.111+ | Override le niveau d'effort par sous-agent (`xhigh` opus, `low` haiku) — protège la qualité même si la session est sur un effort plus bas |
| `opusplan` model alias | 2.1.x | Opus en plan mode, Sonnet en exécution — **non recommandé pour ulk** (Bruce orchestre hors plan mode) |

Expand Down
6 changes: 3 additions & 3 deletions docs/site-docs/reference.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,8 +42,8 @@ Quick-access reference for ulk commands, paths, variables, and terminology.
| `/compact Preserve: X. Discard: Y.` | Targeted compact |
| `/effort low` | Minimal reasoning (mechanical tasks) |
| `/effort medium` | Most prompts — efficient default |
| `/effort high` | Complex reasoning |
| `/effort xhigh` | Default for Opus 4.7 agentic coding |
| `/effort high` | Default for Opus 4.8 agentic coding |
| `/effort xhigh` | Hardest tasks + long async workflows (was Opus 4.7 default) |
| `/effort max` | Rarely justified |

### Audits
Expand Down Expand Up @@ -139,7 +139,7 @@ Quick-access reference for ulk commands, paths, variables, and terminology.

| Variable | Default | Effect |
|----------|---------|--------|
| `CLAUDE_CODE_DISABLE_1M_CONTEXT` | unset | Set to `1` to disable Opus 4.7's 1M context window, force 200K (auto-compact at ~155K) |
| `CLAUDE_CODE_DISABLE_1M_CONTEXT` | unset | Set to `1` to disable Opus's 1M context window (4.7/4.8), force 200K (auto-compact at ~155K) |
| `CLAUDE_AUTOCOMPACT_PCT_OVERRIDE` | unset | Set to `80` to trigger compact at 80% rather than at overflow |
| `ANTHROPIC_API_KEY` | required for Managed Agents | Anthropic API key (first-party only — not Bedrock/Vertex) |
| `AUTO_DREAM_MIN_HOURS` | 24 | Minimum hours between auto-dream cycles |
Expand Down
8 changes: 4 additions & 4 deletions docs/site-docs/token-economy.md
Original file line number Diff line number Diff line change
Expand Up @@ -101,7 +101,7 @@ Lock tools and model before the first request. Do not use `/model` mid-session.
}
```

- `CLAUDE_CODE_DISABLE_1M_CONTEXT=1` — disables Opus 4.7's 1M context, forces 200K (auto-compact at ~155K, more predictable and cheaper)
- `CLAUDE_CODE_DISABLE_1M_CONTEXT=1` — disables Opus's 1M context (4.7/4.8), forces 200K (auto-compact at ~155K, more predictable and cheaper)
- `CLAUDE_AUTOCOMPACT_PCT_OVERRIDE=80` — triggers compact at 80% rather than at overflow

Apply via: `./install.sh --with-session-defaults` (installs the `/session-defaults` skill)
Expand Down Expand Up @@ -235,13 +235,13 @@ Injects a system prompt that forces terse mode on all Claude reports in the sess

## Effort Levels

Reasoning effort is adjusted per-prompt, not per-session. The default for Opus 4.7 (`xhigh`) burns ~2× the tokens of `medium` for most tasks.
Reasoning effort is adjusted per-prompt, not per-session. Opus 4.8 defaults to `high` (Opus 4.7 defaulted to `xhigh`); `xhigh` burns ~2× the tokens of `medium` for most tasks.

```
/effort low # Mechanical fixes, reformatting, no judgment required
/effort medium # Most prompts — massive savings vs default
/effort high # Complex reasoning but not heavy planning
/effort xhigh # Default for Opus 4.7 agentic coding
/effort high # Default for Opus 4.8 agentic coding
/effort xhigh # Hardest tasks + long async workflows (was the Opus 4.7 default)
/effort max # Diminishing returns — rarely justified (~2× xhigh cost)
```

Expand Down
Loading
Loading