Skip to content

Consolidate agents into unified pipelines (shuri, vision, friday, bifrost)#50

Open
izo wants to merge 2 commits intomainfrom
claude/agent-merge-exploration-QBU3J
Open

Consolidate agents into unified pipelines (shuri, vision, friday, bifrost)#50
izo wants to merge 2 commits intomainfrom
claude/agent-merge-exploration-QBU3J

Conversation

@izo
Copy link
Owner

@izo izo commented Mar 22, 2026

Summary

This PR consolidates 10 specialized agents into 4 unified pipeline agents, reducing complexity while maintaining all functionality. Each new agent orchestrates related workflows under a single command interface.

Key Changes

New Unified Agents:

  • shuri (01-shuri.md): Merges spec-writer + todo-generator + sync-local + kanban-converter into a single documentation pipeline (spec → todo Kanban → sync locale → conversion)
  • vision (05-vision.md): Merges code-auditor + code-simplifier into unified code audit & simplification agent (8-dimension audit + /simplify integration)
  • friday (09-friday.md): Merges context-generator + documentalist into documentation management (context.md generation + /docs organization/cleanup)
  • bifrost (21-bifrost.md): Merges notion-importer + beetlejuice into bidirectional Notion bridge (import/export/sync with User Story transformation)

Removed Agents:

  • 01-spec-writer.md, 02-todo-generator.md, 03-sync-local.md (→ shuri)
  • 05-code-auditor.md, 17-code-simplifier.md (→ vision)
  • 09-context-generator.md, 13-documentalist.md (→ friday)
  • 21-notion-importer.md, 37-beetlejuice.md (→ bifrost)

Updated References:

  • agents/CLAUDE.md: Updated agent table with new unified agents
  • agents/Readme.md: Updated agent listing
  • site/data/commands.json: Reduced totalCommands from 68 to 62
  • commands/agents/: Updated symlinks to point to new agent files
  • .claude/rules/native-features.md: Updated path reference (17-code-simplifier → 05-vision)
  • CLAUDE.md, README.md, install.sh, site/index.html: Updated command invocations and documentation

Implementation Details

Each unified agent maintains:

  • Mode-based execution: Supports multiple workflows (e.g., shuri: full/spec/todo/sync/convert)
  • Backward compatibility: All original invocation patterns preserved via aliases
  • Incremental updates: Follows update-protocol.md for non-destructive file modifications
  • Orchestrated context: Supports CONTEXTE PROJET blocks to avoid rescanning
  • Token efficiency: Documented savings (3-10K tokens per orchestrated call)

The consolidation reduces cognitive load for users while preserving granular control through mode selection.

https://claude.ai/code/session_01Sz6RTvd8y7ccHjuVsAmDsp

Summary by CodeRabbit

Release Notes

  • New Features

    • Consolidated agent workflows with mode-based operations for simplified project management.
    • Shuri: unified documentation pipeline (spec, todo, sync, Kanban conversion).
    • Vision: integrated code audit and simplification engine.
    • Friday: combined context snapshot and documentation management with health monitoring.
    • Bifrost: bidirectional Notion bridge for import, export, and quality assurance.
  • Refactor

    • Streamlined command structure by consolidating specialized agents into multi-mode unified tools.
    • Updated all workflow documentation and command references to reflect new agent interfaces.

claude added 2 commits March 22, 2026 22:51
- Shuri (01): spec-writer + todo-generator + sync-local + kanban-converter
  → Unified doc pipeline (spec → todo Kanban → sync locale)

- Vision (05): code-auditor + code-simplifier
  → Code audit (8 dimensions) + simplification via /simplify

- Friday (09): context-generator + documentalist
  → Context snapshot (15K chars) + /docs organization & health

- Bifrost (21): notion-importer + beetlejuice
  → Notion bridge (import pages + export QA with User Stories)

Update CLAUDE.md and agents/CLAUDE.md with new references.

https://claude.ai/code/session_01Sz6RTvd8y7ccHjuVsAmDsp
Replace all references to the 10 deleted agents (spec-writer, todo-generator,
sync-local, code-auditor, code-simplifier, context-generator, documentalist,
notion-importer, beetlejuice, kanban-converter) with their 4 merged successors
(shuri, vision, friday, bifrost) across:

- install.sh: usage section with new agent names
- site/data/commands.json: agent entries and workflows
- site/index.html: agentFileMap
- commands/agents/: remove broken symlinks, add new ones
- commands/README.md: agent table and orchestrator workflows
- README.md: agent table, native features, workflows
- agents/Readme.md: directory listing and workflow diagrams
- CLAUDE.md: external state reference
- .claude/rules/native-features.md: agent references

https://claude.ai/code/session_01Sz6RTvd8y7ccHjuVsAmDsp
@coderabbitai
Copy link

coderabbitai bot commented Mar 22, 2026

📝 Walkthrough

Walkthrough

This PR consolidates 10 single-purpose agents into 4 multi-mode agents—shuri (documentation pipeline), vision (code audit & simplification), friday (docs management & context), and bifrost (Notion bridge)—updating all references across agent definitions, documentation, configuration, and site files.

Changes

Cohort / File(s) Summary
New Multi-Mode Agent Definitions
agents/01-shuri.md, agents/05-vision.md, agents/09-friday.md, agents/21-bifrost.md
Four new orchestrated agent definitions combining existing workflows: shuri merges spec/todo/sync/Kanban conversion; vision merges code audit and simplification with mode-driven execution; friday fuses context generation and docs management; bifrost consolidates Notion import/export workflows.
Removed Single-Purpose Agents
agents/01-spec-writer.md, agents/02-todo-generator.md, agents/03-sync-local.md, agents/05-code-auditor.md, agents/09-context-generator.md, agents/13-documentalist.md, agents/17-code-simplifier.md, agents/21-notion-importer.md, agents/33-kanban-converter.md, agents/37-beetlejuice.md
Complete removal of 10 individual agent definition files; their functionality is now integrated into the new consolidated agents.
Command Path Pointers
commands/agents/{01-shuri,05-vision,09-friday,21-bifrost}.md (added); commands/agents/{01-spec-writer,02-todo-generator,03-sync-local,05-code-auditor,09-context-generator,13-documentalist,17-code-simplifier,21-notion-importer,33-kanban-converter,37-beetlejuice,code-auditor,code-simplifier,context-generator,documentalist,notion-importer,sync-local,todo-generator}.md (removed)
Simple single-line reference files added for new agents and removed for deprecated ones, reflecting the agent consolidation in the command structure.
Documentation Updates
.claude/rules/native-features.md, CLAUDE.md, README.md, agents/Readme.md, commands/README.md
Updated agent references, workflow examples, orchestrator pipeline modes, and native feature integration points to route commands through shuri/vision/friday/bifrost instead of removed agents; adjusted documentation to reflect fused agent pipelines.
Installation & Site Configuration
install.sh, site/data/commands.json, site/index.html
Updated CLI usage text, command registry, and agent file mappings to remove deprecated agents and register the four new consolidated agents; adjusted workflow step invocations to use new agent identifiers and modes.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~30 minutes

Possibly related PRs

Poem

🐰 Four clever bunnies emerge from the warren,
Where ten once scurried with separate burdens,
Shuri, vision, friday, and bifrost unite—
One nose for each task, efficiency takes flight! 🌟

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and accurately summarizes the main change: consolidating 10 specialized agents into 4 unified pipelines with specific agent names.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch claude/agent-merge-exploration-QBU3J

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 4

🧹 Nitpick comments (10)
agents/09-friday.md (1)

160-160: Add language identifiers to fenced code blocks.

These fences trigger MD040. Add an explicit language (text is enough) for consistent lint compliance.

💡 Proposed fix
-```
+```text
 docs/
 ├── 00-meta/              # Documentation sur la documentation
 ...
 └── 99-archive/

- +text
Mode context :

  1. Explorer sources (docs, configs, git, audits)
    ...
  2. Rapport

Also applies to: 248-248

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@agents/09-friday.md` at line 160, The markdown file contains fenced code
blocks without language identifiers (triggering MD040); update each fence (e.g.,
the snippets showing the directory tree and the "Mode context :" list) to
include an explicit language tag such as ```text so all fenced code blocks
(including those around the docs/ tree and the "Mode context" block referenced
near the shown diff and also at the other occurrence around line 248) have a
language identifier.
agents/05-vision.md (5)

286-305: Add language specifier to startup summary code block.

Static analysis flagged this code block as missing a language specifier.

📝 Proposed fix
-```
+```text
 Mode audit :
 1. Reconnaissance (ou skip si contexte reçu)
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@agents/05-vision.md` around lines 286 - 305, The fenced code block under the
"## Démarrage" section is missing a language specifier; update the opening fence
from ``` to ```text (the block that begins with the line "Mode audit :") so the
snippet is tagged as plain text for static analysis and rendering.

148-164: Add language specifier to scoring template code block.

Static analysis flagged this code block as missing a language specifier.

📝 Proposed fix
-```
+```text
 === SCORE D'AUDIT ===
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@agents/05-vision.md` around lines 148 - 164, The fenced code block containing
the "=== SCORE D'AUDIT ===" table in agents/05-vision.md is missing a language
specifier; update the opening fence for that block (the triple backticks
immediately before "=== SCORE D'AUDIT ===") to include a language tag such as
text (i.e., change ``` to ```text) so static analysis recognizes it as a
text/code block while leaving the table content unchanged.

62-67: Add language specifier to code block.

Static analysis flagged this code block as missing a language specifier.

📝 Proposed fix
-```
+=== Cartographie ===
+```text
+=== Cartographie ===
 📁 Fichiers source : [X]
 📊 Lignes de code : [X]
 📜 Commits : [X], Contributeurs : [X]
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@agents/05-vision.md` around lines 62 - 67, The fenced code block containing
"=== Cartographie ===" is missing a language specifier; update the opening fence
from ``` to ```text so the block is explicitly marked as plain text. Locate the
block that starts with the line "=== Cartographie ===" and change its opening
backticks to include the language token (e.g., ```text) to satisfy the static
analysis rule.

228-230: Add language specifier to /simplify command block.

Static analysis flagged this code block as missing a language specifier.

📝 Proposed fix
-```
+```text
 /simplify focus on [issues identifiées]

</details>

<details>
<summary>🤖 Prompt for AI Agents</summary>

Verify each finding against the current code and only fix it if needed.

In @agents/05-vision.md around lines 228 - 230, The fenced code block containing
"/simplify focus on [issues identifiées]" is missing a language specifier;
update the markdown block that wraps that exact text to include a language tag
(use "text") so it becomes a lang-specified fenced block (i.e., change the
opening totext) to satisfy static analysis and preserve the original
line content.


</details>

---

`179-181`: **Ensure compliance with update-protocol.md and Monoboard Kanban format.**

The agent adds tasks to `docs/todo.md` with prefix "A" (`#A001`, `#A002`), but doesn't explicitly reference the incremental update protocol or Monoboard Kanban format that `shuri` enforces. Per `_shared/update-protocol.md`, vision should:

1. Check if `docs/todo.md` has `kanban-plugin: board` frontmatter
2. Search for existing task IDs before creating new ones
3. Place cards in the correct column (Todo for P0-P2, Backlog for P3)
4. Use the Monoboard card format with zone/effort/dependencies

Consider adding an explicit reference to follow `_shared/update-protocol.md` for these writes.



<details>
<summary>📝 Proposed addition for update protocol reference</summary>

```diff
 ## Phase A5 : Mise à jour spec/todo
 
-Ajouter section audit dans `docs/spec.md` + nouvelles tâches dans `docs/todo.md` (préfixe `A` pour audit : `#A001`, `#A002`...).
+Ajouter section audit dans `docs/spec.md` + nouvelles tâches dans `docs/todo.md` (préfixe `A` pour audit : `#A001`, `#A002`...).
+
+> **Suivre `_shared/update-protocol.md`** : mise à jour incrémentale, détection du format Monoboard Kanban, placement dans la bonne colonne.
```

</details>

Based on learnings: "Documentation update operations must follow the incremental update protocol: use section ownership via emoji headers, check for duplicates before adding tasks, consolidate writes to shared files at single write points".

<details>
<summary>🤖 Prompt for AI Agents</summary>

```
Verify each finding against the current code and only fix it if needed.

In `@agents/05-vision.md` around lines 179 - 181, Update the Phase A5 write steps
to explicitly follow the incremental update protocol in
_shared/update-protocol.md: before appending to docs/todo.md verify the file has
frontmatter key "kanban-plugin: board", scan the file for existing task IDs
(e.g., `#A001`, `#A002`) to avoid duplicates, and insert new Monoboard-formatted
cards (include zone/effort/dependencies metadata) into the correct column
mapping (Todo for P0–P2, Backlog for P3). Consolidate all writes to docs/todo.md
into a single write operation and add a short comment/reference in the spec
update mentioning adherence to _shared/update-protocol.md and Monoboard Kanban
format.
```

</details>

</blockquote></details>
<details>
<summary>agents/CLAUDE.md (1)</summary><blockquote>

`307-317`: **Add language specifiers to fenced code blocks.**

Static analysis flagged that the code blocks at lines 308 and 320 are missing language specifiers.



<details>
<summary>📝 Proposed fix for missing language specifiers</summary>

```diff
-```
+```text
 "Import from Notion" → bifrost mode=import (21)
   → Reads master page + all linked pages recursively
   → Generates: docs/imports/spec_notion.md + todo_notion.md
```

And similarly for line 320:

```diff
-```
+```text
 "Update local documentation" → shuri mode=sync (01)
```

</details>

<details>
<summary>🤖 Prompt for AI Agents</summary>

Verify each finding against the current code and only fix it if needed.

In @agents/CLAUDE.md around lines 307 - 317, Add language specifiers to the two
fenced code blocks that lack them: the block containing the "Import from Notion"
snippet (the lines starting with "Import from Notion" → bifrost mode=import) and
the block containing the "Update local documentation" snippet (the line starting
with "Update local documentation" → shuri mode=sync). Change the opening fences
from totext (or another appropriate language like ```bash) so the blocks
become fenced with a language identifier and ensure consistency across both
blocks.


</details>

</blockquote></details>
<details>
<summary>agents/01-shuri.md (1)</summary><blockquote>

`243-249`: **Verify Monoboard format detection handles edge cases.**

The logic checks for `kanban-plugin: board` or legacy `## P0`, `## P1` sections, but the condition at line 247 uses `P0/P1...` which could be ambiguous. Consider documenting more explicit detection patterns.

<details>
<summary>🤖 Prompt for AI Agents</summary>

```
Verify each finding against the current code and only fix it if needed.

In `@agents/01-shuri.md` around lines 243 - 249, The Monoboard format detection is
ambiguous; update the text and detection logic to use explicit patterns: check
for the exact YAML line "kanban-plugin: board" using a strict regex (e.g.
^kanban-plugin:\s*board\b) and detect legacy sections with explicit heading
patterns like "^##\s*P\d+\b" (for P0, P1, etc.), then document these patterns in
the "Mode mise à jour incrémentale" block so readers know the exact matching
rules and edge cases the code uses.
```

</details>

</blockquote></details>
<details>
<summary>agents/Readme.md (2)</summary><blockquote>

`65-82`: **Consider adding language specifier to fenced code block.**

The code block at line 65 lacks a language identifier, which triggers a markdownlint warning. Since this shows a directory tree structure, you could use `text` or leave it unspecified if intentional.

<details>
<summary>🤖 Prompt for AI Agents</summary>

Verify each finding against the current code and only fix it if needed.

In @agents/Readme.md around lines 65 - 82, The fenced code block that shows the
agents/ directory tree is missing a language specifier; update the block
delimiter (the triple backticks surrounding the agents/ tree) to include a
language tag such as text (e.g., ```text) so markdownlint stops warning, i.e.
locate the fenced block containing the agents/ directory listing and change its
opening fence to include the language specifier.


</details>

---

`406-408`: **Bifrost mode descriptions use inconsistent capitalization.**

The bullet points mix sentence fragments with capitalized terms. Minor inconsistency but the information is accurate.

```diff
 ### 21-bifrost (Notion Bridge)
-- mode=import : Import unidirectionnel Notion → Local (docs/imports/)
-- mode=export : Markdown → Notion QA avec User Stories
+- `mode=import` : import unidirectionnel Notion → local (docs/imports/)
+- `mode=export` : Markdown → Notion QA avec User Stories
```

<details>
<summary>🤖 Prompt for AI Agents</summary>

```
Verify each finding against the current code and only fix it if needed.

In `@agents/Readme.md` around lines 406 - 408, The two bullet lines under the
"21-bifrost (Notion Bridge)" section use inconsistent capitalization for the
mode descriptions; pick a consistent style (e.g., sentence case) and apply it to
both entries: update the "mode=import : Import unidirectionnel Notion → Local
(docs/imports/)" and "mode=export : Markdown → Notion QA avec User Stories"
lines so they follow the same capitalization convention (for example:
"mode=import : Import unidirectional Notion → local (docs/imports/)" and
"mode=export : Markdown → Notion QA with user stories" or adjust to title case
consistently), ensuring both "mode=import" and "mode=export" descriptions match.
```

</details>

</blockquote></details>

</blockquote></details>

<details>
<summary>🤖 Prompt for all review comments with AI agents</summary>

Verify each finding against the current code and only fix it if needed.

Inline comments:
In @agents/09-friday.md:

  • Line 128: The migration step currently instructs deleting llm.txt which
    conflicts with the non-destructive policy ("Ne jamais supprimer de contenu ;
    archiver."); update the migration behavior so that if llm.txt exists it is
    moved/archived rather than deleted — for example, move its contents into
    docs/context.md and rename or copy the original to a traceable archive (e.g.,
    llm.txt.migrated or an archive folder) and update the Migration note to reflect
    the non-destructive flow so all references to removing llm.txt are replaced with
    the archive/move approach to preserve traceability.

In @agents/21-bifrost.md:

  • Line 167: The "MODE EXPORT (Local → Notion)" header is inconsistent with the
    documented behavior of the bifrost export command (which is described as
    Notion → Markdown); update the header text and any surrounding description to
    "MODE EXPORT (Notion → Markdown)" and ensure the bifrost export section
    content (and any other mentions) consistently describe export direction as
    Notion → Markdown so the pipeline behavior matches the documentation.
  • Around line 149-151: The metadata file path is inconsistent: one place uses
    "docs/imports/.notion-import-meta.json" and another uses
    ".notion-import-meta.json"; pick the canonical path
    "docs/imports/.notion-import-meta.json" and update all references to that single
    path (e.g., where the file string is used in import/save/load logic and any
    checks) so code always reads/writes the same file; search for occurrences of
    ".notion-import-meta.json" and replace them with
    "docs/imports/.notion-import-meta.json" in functions or constants that reference
    the path and update any tests or docs that assume the old relative location.

In @commands/README.md:

  • Around line 109-122: Update the mode definitions in commands/README.md so they
    match the agent names and sequences used in agents/18-blackemperor.md: for
    mode=audit replace "shuri spec → [vision + perf-auditor + a11y-auditor] → shuri
    todo" with "spec-writer → [code-auditor + perf-auditor + a11y-auditor] →
    todo-generator"; for mode=legacy revert "shuri spec → vision audit → [vision
    simplify + perf-auditor] → robocop → shuri sync" to "spec-writer → code-auditor
    → [/simplify + perf-auditor]"; and for mode=ship change "vision simplify → shuri
    sync → friday context → release" to "/simplify → spec-writer + todo-generator +
    CHANGELOG → documentalist → brigitte → sync-local" so the README reflects the
    canonical agent names and sequences.

Nitpick comments:
In @agents/01-shuri.md:

  • Around line 243-249: The Monoboard format detection is ambiguous; update the
    text and detection logic to use explicit patterns: check for the exact YAML line
    "kanban-plugin: board" using a strict regex (e.g. ^kanban-plugin:\sboard\b) and
    detect legacy sections with explicit heading patterns like "^##\s
    P\d+\b" (for
    P0, P1, etc.), then document these patterns in the "Mode mise à jour
    incrémentale" block so readers know the exact matching rules and edge cases the
    code uses.

In @agents/05-vision.md:

  • Around line 286-305: The fenced code block under the "## Démarrage" section is
    missing a language specifier; update the opening fence from totext (the
    block that begins with the line "Mode audit :") so the snippet is tagged as
    plain text for static analysis and rendering.
  • Around line 148-164: The fenced code block containing the "=== SCORE D'AUDIT
    ===" table in agents/05-vision.md is missing a language specifier; update the
    opening fence for that block (the triple backticks immediately before "=== SCORE
    D'AUDIT ===") to include a language tag such as text (i.e., change ``` to
table content unchanged.
- Around line 62-67: The fenced code block containing "=== Cartographie ===" is
missing a language specifier; update the opening fence from ``` to ```text so
the block is explicitly marked as plain text. Locate the block that starts with
the line "=== Cartographie ===" and change its opening backticks to include the
language token (e.g., ```text) to satisfy the static analysis rule.
- Around line 228-230: The fenced code block containing "/simplify focus on
[issues identifiées]" is missing a language specifier; update the markdown block
that wraps that exact text to include a language tag (use "text") so it becomes
a lang-specified fenced block (i.e., change the opening ``` to ```text) to
satisfy static analysis and preserve the original line content.
- Around line 179-181: Update the Phase A5 write steps to explicitly follow the
incremental update protocol in _shared/update-protocol.md: before appending to
docs/todo.md verify the file has frontmatter key "kanban-plugin: board", scan
the file for existing task IDs (e.g., `#A001`, `#A002`) to avoid duplicates, and
insert new Monoboard-formatted cards (include zone/effort/dependencies metadata)
into the correct column mapping (Todo for P0–P2, Backlog for P3). Consolidate
all writes to docs/todo.md into a single write operation and add a short
comment/reference in the spec update mentioning adherence to
_shared/update-protocol.md and Monoboard Kanban format.

In `@agents/09-friday.md`:
- Line 160: The markdown file contains fenced code blocks without language
identifiers (triggering MD040); update each fence (e.g., the snippets showing
the directory tree and the "Mode context :" list) to include an explicit
language tag such as ```text so all fenced code blocks (including those around
the docs/ tree and the "Mode context" block referenced near the shown diff and
also at the other occurrence around line 248) have a language identifier.

In `@agents/CLAUDE.md`:
- Around line 307-317: Add language specifiers to the two fenced code blocks
that lack them: the block containing the "Import from Notion" snippet (the lines
starting with "Import from Notion" → bifrost mode=import) and the block
containing the "Update local documentation" snippet (the line starting with
"Update local documentation" → shuri mode=sync). Change the opening fences from
``` to ```text (or another appropriate language like ```bash) so the blocks
become fenced with a language identifier and ensure consistency across both
blocks.

In `@agents/Readme.md`:
- Around line 65-82: The fenced code block that shows the agents/ directory tree
is missing a language specifier; update the block delimiter (the triple
backticks surrounding the agents/ tree) to include a language tag such as text
(e.g., ```text) so markdownlint stops warning, i.e. locate the fenced block
containing the agents/ directory listing and change its opening fence to include
the language specifier.
- Around line 406-408: The two bullet lines under the "21-bifrost (Notion
Bridge)" section use inconsistent capitalization for the mode descriptions; pick
a consistent style (e.g., sentence case) and apply it to both entries: update
the "mode=import : Import unidirectionnel Notion → Local (docs/imports/)" and
"mode=export : Markdown → Notion QA avec User Stories" lines so they follow the
same capitalization convention (for example: "mode=import : Import
unidirectional Notion → local (docs/imports/)" and "mode=export : Markdown →
Notion QA with user stories" or adjust to title case consistently), ensuring
both "mode=import" and "mode=export" descriptions match.

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 2c8ec74c-d5a8-4659-a6d1-e249695948ec

📥 Commits

Reviewing files that changed from the base of the PR and between 7f2898f and 87827d3.

📒 Files selected for processing (49)
  • .claude/rules/native-features.md
  • CLAUDE.md
  • README.md
  • agents/01-shuri.md
  • agents/01-spec-writer.md
  • agents/02-todo-generator.md
  • agents/03-sync-local.md
  • agents/05-code-auditor.md
  • agents/05-vision.md
  • agents/09-context-generator.md
  • agents/09-friday.md
  • agents/13-documentalist.md
  • agents/17-code-simplifier.md
  • agents/21-bifrost.md
  • agents/21-notion-importer.md
  • agents/33-kanban-converter.md
  • agents/37-beetlejuice.md
  • agents/CLAUDE.md
  • agents/Readme.md
  • commands/README.md
  • commands/agents/01-shuri.md
  • commands/agents/01-spec-writer.md
  • commands/agents/02-todo-generator.md
  • commands/agents/03-sync-local.md
  • commands/agents/05-code-auditor.md
  • commands/agents/05-vision.md
  • commands/agents/09-context-generator.md
  • commands/agents/09-friday.md
  • commands/agents/13-documentalist.md
  • commands/agents/17-code-simplifier.md
  • commands/agents/21-bifrost.md
  • commands/agents/21-notion-importer.md
  • commands/agents/37-beetlejuice.md
  • commands/agents/beetlejuice.md
  • commands/agents/bifrost.md
  • commands/agents/code-auditor.md
  • commands/agents/code-simplifier.md
  • commands/agents/context-generator.md
  • commands/agents/documentalist.md
  • commands/agents/friday.md
  • commands/agents/notion-importer.md
  • commands/agents/shuri.md
  • commands/agents/spec-writer.md
  • commands/agents/sync-local.md
  • commands/agents/todo-generator.md
  • commands/agents/vision.md
  • install.sh
  • site/data/commands.json
  • site/index.html
💤 Files with no reviewable changes (28)
  • agents/09-context-generator.md
  • commands/agents/13-documentalist.md
  • commands/agents/notion-importer.md
  • commands/agents/beetlejuice.md
  • commands/agents/code-auditor.md
  • commands/agents/17-code-simplifier.md
  • commands/agents/21-notion-importer.md
  • commands/agents/02-todo-generator.md
  • commands/agents/05-code-auditor.md
  • commands/agents/37-beetlejuice.md
  • commands/agents/03-sync-local.md
  • commands/agents/code-simplifier.md
  • agents/17-code-simplifier.md
  • commands/agents/01-spec-writer.md
  • commands/agents/spec-writer.md
  • agents/05-code-auditor.md
  • commands/agents/09-context-generator.md
  • agents/01-spec-writer.md
  • agents/33-kanban-converter.md
  • agents/37-beetlejuice.md
  • agents/21-notion-importer.md
  • commands/agents/todo-generator.md
  • agents/02-todo-generator.md
  • commands/agents/documentalist.md
  • agents/13-documentalist.md
  • commands/agents/context-generator.md
  • commands/agents/sync-local.md
  • agents/03-sync-local.md

2. **Réduire** : Arborescence, Historique (5 commits)
3. **Supprimer** : Audits anciens, Config MCP détaillée

> **⚠️ Migration** : Si un `llm.txt` existe à la racine, le migrer vers `docs/context.md` et supprimer l'ancien.
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major

Resolve the destructive-policy contradiction.

Line 128 instructs deleting llm.txt, while Line 237 states “Ne jamais supprimer de contenu ; archiver.” Keep a single non-destructive behavior (archive/move with traceability) to avoid unsafe execution paths.

💡 Proposed fix
-> **⚠️ Migration** : Si un `llm.txt` existe à la racine, le migrer vers `docs/context.md` et supprimer l'ancien.
+> **⚠️ Migration** : Si un `llm.txt` existe à la racine, le migrer vers `docs/context.md` puis archiver l'ancien (ex: `docs/imports/llm-archive-YYYY-MM-DD.txt`).

Based on learnings "Documentation update operations must follow the incremental update protocol" and "Separation of responsibilities... updates local files only / non-destructive flows".

Also applies to: 237-237

🧰 Tools
🪛 LanguageTool

[grammar] ~128-~128: Il y a peut-être une erreur ici
Context: ...dits anciens, Config MCP détaillée > ⚠️ Migration : Si un llm.txt existe à ...

(QB_NEW_FR)


[grammar] ~128-~128: Essayez d’enlever «  **  »
Context: ...s anciens, Config MCP détaillée > ⚠️ Migration : Si un llm.txt existe à la racine, le mig...

(QB_NEW_FR_OTHER_ERROR_IDS_UNNECESSARY_ADJECTIVE)

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@agents/09-friday.md` at line 128, The migration step currently instructs
deleting llm.txt which conflicts with the non-destructive policy ("Ne jamais
supprimer de contenu ; archiver."); update the migration behavior so that if
llm.txt exists it is moved/archived rather than deleted — for example, move its
contents into docs/context.md and rename or copy the original to a traceable
archive (e.g., llm.txt.migrated or an archive folder) and update the Migration
note to reflect the non-destructive flow so all references to removing llm.txt
are replaced with the archive/move approach to preserve traceability.

Comment on lines +149 to +151
### docs/imports/.notion-import-meta.json

Métadonnées d'import pour tracking (dernière date, pages, stats).
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major

Unify persisted metadata file path.

You define docs/imports/.notion-import-meta.json at Line 149, but Line 301 references .notion-import-meta.json without the directory. Keep one canonical location to prevent split state and duplicate imports.

💡 Proposed fix
-7. **État persisté** — Sauvegarder dans `.beetlejuice-state.json` / `.notion-import-meta.json`
+7. **État persisté** — Sauvegarder dans `docs/imports/.beetlejuice-state.json` / `docs/imports/.notion-import-meta.json`

Based on learnings "Notion import metadata must be tracked in .notion-import-meta.json with timestamps and page mappings to enable incremental updates and prevent duplicate imports".

Also applies to: 301-301

🧰 Tools
🪛 LanguageTool

[typographical] ~149-~149: Il manque une espace après le point.
Context: ...ocal ↔ Notion ID) ``` ### docs/imports/.notion-import-meta.json Métadonnées d'import ...

(ESPACE_APRES_POINT)

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@agents/21-bifrost.md` around lines 149 - 151, The metadata file path is
inconsistent: one place uses "docs/imports/.notion-import-meta.json" and another
uses ".notion-import-meta.json"; pick the canonical path
"docs/imports/.notion-import-meta.json" and update all references to that single
path (e.g., where the file string is used in import/save/load logic and any
checks) so code always reads/writes the same file; search for occurrences of
".notion-import-meta.json" and replace them with
"docs/imports/.notion-import-meta.json" in functions or constants that reference
the path and update any tests or docs that assume the old relative location.


---

# MODE EXPORT (Local → Notion)
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major

Fix export direction inconsistency.

Line 167 defines export as Local → Notion, but Line 274 documents bifrost export as Notion → Markdown. This ambiguity can trigger the wrong pipeline.

💡 Proposed fix
-| `bifrost export` | Export Notion → Markdown |
+| `bifrost export` | Export Local → Notion |

Also applies to: 274-274

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@agents/21-bifrost.md` at line 167, The "MODE EXPORT (Local → Notion)" header
is inconsistent with the documented behavior of the `bifrost export` command
(which is described as Notion → Markdown); update the header text and any
surrounding description to "MODE EXPORT (Notion → Markdown)" and ensure the
`bifrost export` section content (and any other mentions) consistently describe
export direction as Notion → Markdown so the pipeline behavior matches the
documentation.

Comment on lines +109 to +122
### mode=audit (`"audit-complet"`)
shuri spec → [vision + perf-auditor + a11y-auditor] (parallèle) → shuri todo

### 🔄 mode=legacy (`"legacy-revival"`)
spec-writercode-auditor → [code-simplifier + perf-auditor] (parallèle) → robocop → sync-local
### mode=legacy (`"legacy-revival"`)
shuri spec → vision audit → [vision simplify + perf-auditor] (parallèle) → robocop → shuri sync

### 🚀 mode=release (`"pre-release"`)
[code-auditor + perf-auditor + a11y-auditor] (parallèle) → robocop → tests → GO/NO-GO
### mode=release (`"pre-release"`)
[vision + perf-auditor + a11y-auditor] (parallèle) → robocop → tests → GO/NO-GO

### 🔍 mode=review (`"review"`)
### mode=review (`"review"`)
extraction exigences → analyse complétude → matrice → gaps → todo

### 📦 mode=ship (`"ship"`)
code-simplifier → sync-local → context-generator → release
### mode=ship (`"ship"`)
vision simplify → shuri sync → friday context → release
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Description: Verify blackemperor.md workflow definitions match this documentation
# Expected: blackemperor.md should use shuri/vision/friday in mode definitions

echo "=== blackemperor.md Mode: AUDIT section ==="
rg -A 10 'Mode: AUDIT' agents/18-blackemperor.md 2>/dev/null | head -15

echo ""
echo "=== blackemperor.md Mode: LEGACY section ==="
rg -A 10 'Mode: LEGACY' agents/18-blackemperor.md 2>/dev/null | head -15

echo ""
echo "=== blackemperor.md Mode: SHIP section ==="
rg -A 10 'Mode: SHIP' agents/18-blackemperor.md 2>/dev/null | head -15

Repository: izo/Ulk

Length of output: 1465


Documentation-implementation mismatch for blackemperor modes.

The commands/README.md documentation uses new agent names (shuri, vision, friday):

  • mode=audit: shuri spec → [vision + perf-auditor + a11y-auditor] → shuri todo
  • mode=legacy: shuri spec → vision audit → [vision simplify + perf-auditor] → robocop → shuri sync
  • mode=ship: vision simplify → shuri sync → friday context → release

However, agents/18-blackemperor.md still uses the original agent names:

  • mode=audit: spec-writer → [code-auditor + perf-auditor + a11y-auditor] → todo-generator
  • mode=legacy: spec-writer → code-auditor → [/simplify + perf-auditor]
  • mode=ship: /simplify → spec-writer + todo-generator + CHANGELOG → documentalist → brigitte → sync-local

Update commands/README.md to match the current agent definitions in agents/18-blackemperor.md.

🧰 Tools
🪛 LanguageTool

[typographical] ~109-~109: Caractère d’apostrophe incorrect.
Context: ...s commandes raccourcies ### mode=audit ("audit-complet") shuri spec → [vision +...

(APOS_INCORRECT)


[typographical] ~112-~112: Caractère d’apostrophe incorrect.
Context: ...arallèle) → shuri todo ### mode=legacy ("legacy-revival") shuri spec → vision a...

(APOS_INCORRECT)


[grammar] ~113-~113: Il y a peut-être une erreur ici
Context: ...dit → [vision simplify + perf-auditor] (parallèle) → robocop → shuri sync ### mode=releas...

(QB_NEW_FR)


[grammar] ~113-~113: Il y a peut-être une erreur ici
Context: ...on simplify + perf-auditor] (parallèle) → robocop → shuri sync ### mode=release (`"pre-rel...

(QB_NEW_FR)


[typographical] ~115-~115: Caractère d’apostrophe incorrect.
Context: ... robocop → shuri sync ### mode=release ("pre-release") [vision + perf-auditor +...

(APOS_INCORRECT)


[typographical] ~118-~118: Caractère d’apostrophe incorrect.
Context: ...cop → tests → GO/NO-GO ### mode=review ("review") extraction exigences → analys...

(APOS_INCORRECT)


[typographical] ~121-~121: Caractère d’apostrophe incorrect.
Context: ... → matrice → gaps → todo ### mode=ship ("ship") vision simplify → shuri sync → ...

(APOS_INCORRECT)

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@commands/README.md` around lines 109 - 122, Update the mode definitions in
commands/README.md so they match the agent names and sequences used in
agents/18-blackemperor.md: for mode=audit replace "shuri spec → [vision +
perf-auditor + a11y-auditor] → shuri todo" with "spec-writer → [code-auditor +
perf-auditor + a11y-auditor] → todo-generator"; for mode=legacy revert "shuri
spec → vision audit → [vision simplify + perf-auditor] → robocop → shuri sync"
to "spec-writer → code-auditor → [/simplify + perf-auditor]"; and for mode=ship
change "vision simplify → shuri sync → friday context → release" to "/simplify →
spec-writer + todo-generator + CHANGELOG → documentalist → brigitte →
sync-local" so the README reflects the canonical agent names and sequences.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants