Consolidate agents into unified pipelines (shuri, vision, friday, bifrost)#50
Consolidate agents into unified pipelines (shuri, vision, friday, bifrost)#50
Conversation
- 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
📝 WalkthroughWalkthroughThis 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
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~30 minutes Possibly related PRs
Poem
🚥 Pre-merge checks | ✅ 3✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
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. Comment |
There was a problem hiding this comment.
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 (
textis enough) for consistent lint compliance.💡 Proposed fix
-``` +```text docs/ ├── 00-meta/ # Documentation sur la documentation ... └── 99-archive/-
+text
Mode context :
- Explorer sources (docs, configs, git, audits)
...- 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.mdaround 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
openingtotext) 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.mdaround 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
fromtotext (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.mdaround 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 thebifrost exportcommand (which is described as
Notion → Markdown); update the header text and any surrounding description to
"MODE EXPORT (Notion → Markdown)" and ensure thebifrost exportsection
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 "^##\sP\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 fromtotext (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 ``` totable 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📒 Files selected for processing (49)
.claude/rules/native-features.mdCLAUDE.mdREADME.mdagents/01-shuri.mdagents/01-spec-writer.mdagents/02-todo-generator.mdagents/03-sync-local.mdagents/05-code-auditor.mdagents/05-vision.mdagents/09-context-generator.mdagents/09-friday.mdagents/13-documentalist.mdagents/17-code-simplifier.mdagents/21-bifrost.mdagents/21-notion-importer.mdagents/33-kanban-converter.mdagents/37-beetlejuice.mdagents/CLAUDE.mdagents/Readme.mdcommands/README.mdcommands/agents/01-shuri.mdcommands/agents/01-spec-writer.mdcommands/agents/02-todo-generator.mdcommands/agents/03-sync-local.mdcommands/agents/05-code-auditor.mdcommands/agents/05-vision.mdcommands/agents/09-context-generator.mdcommands/agents/09-friday.mdcommands/agents/13-documentalist.mdcommands/agents/17-code-simplifier.mdcommands/agents/21-bifrost.mdcommands/agents/21-notion-importer.mdcommands/agents/37-beetlejuice.mdcommands/agents/beetlejuice.mdcommands/agents/bifrost.mdcommands/agents/code-auditor.mdcommands/agents/code-simplifier.mdcommands/agents/context-generator.mdcommands/agents/documentalist.mdcommands/agents/friday.mdcommands/agents/notion-importer.mdcommands/agents/shuri.mdcommands/agents/spec-writer.mdcommands/agents/sync-local.mdcommands/agents/todo-generator.mdcommands/agents/vision.mdinstall.shsite/data/commands.jsonsite/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. |
There was a problem hiding this comment.
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 > llm.txt existe à ...
(QB_NEW_FR)
[grammar] ~128-~128: Essayez d’enlever « ** »
Context: ...s anciens, Config MCP détaillée > 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.
| ### docs/imports/.notion-import-meta.json | ||
|
|
||
| Métadonnées d'import pour tracking (dernière date, pages, stats). |
There was a problem hiding this comment.
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) |
There was a problem hiding this comment.
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.
| ### mode=audit (`"audit-complet"`) | ||
| shuri spec → [vision + perf-auditor + a11y-auditor] (parallèle) → shuri todo | ||
|
|
||
| ### 🔄 mode=legacy (`"legacy-revival"`) | ||
| spec-writer → code-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 |
There was a problem hiding this comment.
🧩 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 -15Repository: 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 todomode=legacy:shuri spec → vision audit → [vision simplify + perf-auditor] → robocop → shuri syncmode=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-generatormode=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.
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:
Removed Agents:
Updated References:
Implementation Details
Each unified agent maintains:
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
Refactor