-
Notifications
You must be signed in to change notification settings - Fork 0
cleanup #251
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
cleanup #251
Conversation
WalkthroughConsolidates Ruby gem installation into the final Docker image, removes Xvfb from the dev entrypoint, updates compose env/volumes, switches Hugo test helpers to a singleton precompile flow, tweaks tests and visual-regression tolerances, and replaces many theme CSS variables with explicit values. Changes
Sequence Diagram(s)sequenceDiagram
autonumber
actor Tester
participant TestSuite as Test Suite
participant HugoSingleton as Hugo.instance
participant HugoHelper as Hugo (helper)
participant HugoCLI as Hugo CLI
Tester->>TestSuite: run tests requiring site
TestSuite->>HugoSingleton: request precompile / serve
HugoSingleton->>HugoHelper: instantiate lazily (if needed)
alt PRECOMPILED_ASSETS set
HugoHelper-->>TestSuite: early return (skip precompile)
else Already precompiled ( @_precompiled )
HugoHelper-->>TestSuite: noop (cached)
else Needs precompile
HugoHelper->>HugoCLI: run hugo build (production, drafts, no lock, quiet)
HugoHelper-->>TestSuite: mark @_precompiled = true
end
TestSuite->>HugoSingleton: request destination_path / serve content
HugoSingleton-->>TestSuite: return path for assertions
Estimated code review effort🎯 4 (Complex) | ⏱️ ~60 minutes Possibly related PRs
Suggested reviewers
Poem
Pre-merge checks and finishing touches❌ Failed checks (1 inconclusive)
✅ Passed checks (2 passed)
✨ Finishing touches🧪 Generate unit tests
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 64
🧹 Nitpick comments (7)
.claude/agents/codanna-navigator.md (1)
12-29: Adjust list indentation to satisfy markdownlint MD007.Static analysis flags these bullet lists because they’re indented by two spaces. Removing the leading spaces (so the dashes start at column 0) resolves the lint violation.
- - I follow code analysis global standards from /knowledge/50.01-code-quality-standards.md - - I enforce comprehensive code navigation with systematic relationship analysis + - I follow code analysis global standards from /knowledge/50.01-code-quality-standards.md + - I enforce comprehensive code navigation with systematic relationship analysis.claude/agents/python-expert.md (2)
252-260: Add a language hint to the directory tree block.markdownlint (MD040) flags this fenced block because it lacks a language identifier. Tagging it as plain text keeps the formatter happy without altering the rendered output.
-``` +```text /python/ ├── projects/ # Python project analysis and patterns ├── dependencies/ # Package and dependency management ├── frameworks/ # Framework-specific patterns and solutions ├── performance/ # Optimization patterns and benchmarks └── integration/ # Service integration and deployment patterns
272-285: Tag this project-structure block as text, too.Same markdownlint complaint (MD040). Annotating the fence with
textresolves it cleanly.-``` +```text python_project/ ├── src/ │ └── package/ ├── tests/ ├── docs/ ├── requirements/ │ ├── base.txt │ ├── dev.txt │ └── prod.txt ├── pyproject.toml ├── Dockerfile └── docker-compose.yml.claude/agents/seo/seo-cannibalization-detector.md (1)
133-145: Add a language hint to the fenced blockMarkdown lint is flagging this fence; add a language label so it passes tooling.
-``` +```markdown Conflict: [Keyword] Competing Pages: - Page A: [URL] | Ranking: #X - Page B: [URL] | Ranking: #Y.claude/agents/seo/seo-structure-architect.md (1)
134-144: Add a language hint to the fenced blockLabel this fence (e.g.,
textormarkdown) so markdownlint stops flagging it.-``` +```text H1: Primary Keyword Focus ├── H2: Major Section (Secondary KW) │ ├── H3: Subsection (LSI) │ └── H3: Subsection (Entity) └── H2: Major Section (Related KW).claude/agents/seo/seo-keyword-strategist.md (1)
49-54: Add a language hint to the fenced block.
markdownlintflags this block because it lacks a language identifier. Append something like ```markdown (or the appropriate language) to keep linting clean..claude/agents/seo/seo-content-planner.md (1)
129-146: Add a language hint to the fenced code blockmarkdownlint (MD040) flags this fenced block for lacking a language. Add one (e.g.,
markdown) so docs lint stays clean.Apply this diff:
-``` +```markdown Title: [Main Topic] Intent: [Informational/Commercial/Transactional] Word Count: [Target]
📜 Review details
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
⛔ Files ignored due to path filters (12)
Gemfile.lockis excluded by!**/*.lockbun.lockbis excluded by!**/bun.lockbtest/fixtures/screenshots/linux/desktop/about_us.pngis excluded by!**/*.pngtest/fixtures/screenshots/linux/desktop/contact_us.pngis excluded by!**/*.pngtest/fixtures/screenshots/linux/desktop/free_consultation.pngis excluded by!**/*.pngtest/fixtures/screenshots/linux/mobile/blog/post.pngis excluded by!**/*.pngtest/fixtures/screenshots/linux/mobile/clients.pngis excluded by!**/*.pngtest/fixtures/screenshots/macos/desktop/contact_us.pngis excluded by!**/*.pngtest/fixtures/screenshots/macos/desktop/free_consultation.pngis excluded by!**/*.pngtest/fixtures/screenshots/macos/mobile/blog/post.pngis excluded by!**/*.pngtest/fixtures/screenshots/macos/mobile/clients.pngis excluded by!**/*.pngtest/fixtures/screenshots/macos/mobile/homepage.pngis excluded by!**/*.png
📒 Files selected for processing (61)
.claude/agents/analysis/code-analyzer.md(1 hunks).claude/agents/analysis/code-review/analyze-code-quality.md(1 hunks).claude/agents/analytics-reporter.md(1 hunks).claude/agents/architecture-expert.md(1 hunks).claude/agents/architecture/system-design/arch-system-design.md(1 hunks).claude/agents/base-template-generator.md(1 hunks).claude/agents/build-monitor.md(1 hunks).claude/agents/claude-flow-expert.md(1 hunks).claude/agents/codanna-navigator.md(1 hunks).claude/agents/content-creator.md(1 hunks).claude/agents/content/content-marketer.md(1 hunks).claude/agents/content/tutorial-engineer.md(1 hunks).claude/agents/core/claude-flow-specialist.md(1 hunks).claude/agents/core/coder.md(1 hunks).claude/agents/core/planner.md(1 hunks).claude/agents/core/researcher.md(1 hunks).claude/agents/core/reviewer.md(1 hunks).claude/agents/core/tester.md(1 hunks).claude/agents/crewai-agent.md(1 hunks).claude/agents/development/ai-engineer.md(1 hunks).claude/agents/development/architect-review.md(1 hunks).claude/agents/development/dx-optimizer.md(1 hunks).claude/agents/development/frontend-developer.md(1 hunks).claude/agents/development/javascript-pro.md(1 hunks).claude/agents/development/ruby-pro.md(1 hunks).claude/agents/development/search-specialist.md(1 hunks).claude/agents/development/typescript-pro.md(1 hunks).claude/agents/devops/ci-cd/ops-cicd-github.md(1 hunks).claude/agents/documentation/api-docs/docs-api-openapi.md(1 hunks).claude/agents/expert-delegation-coordinator.md(1 hunks).claude/agents/experts/seo-expert.md(1 hunks).claude/agents/github/code-review-swarm.md(1 hunks).claude/agents/github/github-modes.md(1 hunks).claude/agents/github/issue-tracker.md(1 hunks).claude/agents/github/multi-repo-swarm.md(1 hunks).claude/agents/github/pr-manager.md(1 hunks).claude/agents/github/project-board-sync.md(1 hunks).claude/agents/github/release-manager.md(1 hunks).claude/agents/github/release-swarm.md(1 hunks).claude/agents/github/repo-architect.md(1 hunks).claude/agents/github/swarm-issue.md(1 hunks).claude/agents/github/swarm-pr.md(1 hunks).claude/agents/github/sync-coordinator.md(1 hunks).claude/agents/github/workflow-automation.md(1 hunks).claude/agents/hugo-expert.md(1 hunks).claude/agents/hugo-site-developer.md(1 hunks).claude/agents/python-expert.md(1 hunks).claude/agents/ruby/ruby-coder.md(1 hunks).claude/agents/ruby/ruby-reviewer.md(1 hunks).claude/agents/seo-auditor.md(1 hunks).claude/agents/seo-specialist.md(1 hunks).claude/agents/seo/seo-authority-builder.md(1 hunks).claude/agents/seo/seo-cannibalization-detector.md(1 hunks).claude/agents/seo/seo-content-auditor.md(1 hunks).claude/agents/seo/seo-content-planner.md(1 hunks).claude/agents/seo/seo-content-refresher.md(1 hunks).claude/agents/seo/seo-content-writer.md(1 hunks).claude/agents/seo/seo-keyword-strategist.md(1 hunks).claude/agents/seo/seo-meta-optimizer.md(1 hunks).claude/agents/seo/seo-snippet-hunter.md(1 hunks).claude/agents/seo/seo-structure-architect.md(1 hunks)
🧰 Additional context used
📓 Path-based instructions (2)
.claude/agents/**
📄 CodeRabbit inference engine (CLAUDE.md)
Any changes under .claude/agents/ must spawn claude-flow-specialist for validation and compliance
Files:
.claude/agents/seo/seo-content-writer.md.claude/agents/content-creator.md.claude/agents/core/researcher.md.claude/agents/base-template-generator.md.claude/agents/expert-delegation-coordinator.md.claude/agents/development/architect-review.md.claude/agents/analytics-reporter.md.claude/agents/github/project-board-sync.md.claude/agents/seo/seo-structure-architect.md.claude/agents/content/tutorial-engineer.md.claude/agents/python-expert.md.claude/agents/github/swarm-issue.md.claude/agents/analysis/code-analyzer.md.claude/agents/seo/seo-content-auditor.md.claude/agents/devops/ci-cd/ops-cicd-github.md.claude/agents/experts/seo-expert.md.claude/agents/seo/seo-snippet-hunter.md.claude/agents/development/ruby-pro.md.claude/agents/seo/seo-cannibalization-detector.md.claude/agents/seo/seo-keyword-strategist.md.claude/agents/core/planner.md.claude/agents/development/typescript-pro.md.claude/agents/build-monitor.md.claude/agents/hugo-site-developer.md.claude/agents/core/reviewer.md.claude/agents/seo/seo-content-refresher.md.claude/agents/github/release-manager.md.claude/agents/core/claude-flow-specialist.md.claude/agents/core/tester.md.claude/agents/development/javascript-pro.md.claude/agents/development/ai-engineer.md.claude/agents/core/coder.md.claude/agents/github/multi-repo-swarm.md.claude/agents/architecture-expert.md.claude/agents/hugo-expert.md.claude/agents/claude-flow-expert.md.claude/agents/seo-auditor.md.claude/agents/codanna-navigator.md.claude/agents/github/repo-architect.md.claude/agents/development/dx-optimizer.md.claude/agents/seo-specialist.md.claude/agents/development/search-specialist.md.claude/agents/seo/seo-content-planner.md.claude/agents/content/content-marketer.md.claude/agents/github/release-swarm.md.claude/agents/development/frontend-developer.md.claude/agents/github/github-modes.md.claude/agents/github/sync-coordinator.md.claude/agents/github/pr-manager.md.claude/agents/analysis/code-review/analyze-code-quality.md.claude/agents/architecture/system-design/arch-system-design.md.claude/agents/seo/seo-authority-builder.md.claude/agents/ruby/ruby-reviewer.md.claude/agents/github/workflow-automation.md.claude/agents/github/issue-tracker.md.claude/agents/github/code-review-swarm.md.claude/agents/seo/seo-meta-optimizer.md.claude/agents/ruby/ruby-coder.md.claude/agents/crewai-agent.md.claude/agents/github/swarm-pr.md.claude/agents/documentation/api-docs/docs-api-openapi.md
.claude/agents/**/*.{md,yml,yaml,json}
📄 CodeRabbit inference engine (CLAUDE.md)
Agent frontmatter may only contain the 7 allowed fields (name, description, model, capabilities, hooks, memory, coordination); custom fields are forbidden
Files:
.claude/agents/seo/seo-content-writer.md.claude/agents/content-creator.md.claude/agents/core/researcher.md.claude/agents/base-template-generator.md.claude/agents/expert-delegation-coordinator.md.claude/agents/development/architect-review.md.claude/agents/analytics-reporter.md.claude/agents/github/project-board-sync.md.claude/agents/seo/seo-structure-architect.md.claude/agents/content/tutorial-engineer.md.claude/agents/python-expert.md.claude/agents/github/swarm-issue.md.claude/agents/analysis/code-analyzer.md.claude/agents/seo/seo-content-auditor.md.claude/agents/devops/ci-cd/ops-cicd-github.md.claude/agents/experts/seo-expert.md.claude/agents/seo/seo-snippet-hunter.md.claude/agents/development/ruby-pro.md.claude/agents/seo/seo-cannibalization-detector.md.claude/agents/seo/seo-keyword-strategist.md.claude/agents/core/planner.md.claude/agents/development/typescript-pro.md.claude/agents/build-monitor.md.claude/agents/hugo-site-developer.md.claude/agents/core/reviewer.md.claude/agents/seo/seo-content-refresher.md.claude/agents/github/release-manager.md.claude/agents/core/claude-flow-specialist.md.claude/agents/core/tester.md.claude/agents/development/javascript-pro.md.claude/agents/development/ai-engineer.md.claude/agents/core/coder.md.claude/agents/github/multi-repo-swarm.md.claude/agents/architecture-expert.md.claude/agents/hugo-expert.md.claude/agents/claude-flow-expert.md.claude/agents/seo-auditor.md.claude/agents/codanna-navigator.md.claude/agents/github/repo-architect.md.claude/agents/development/dx-optimizer.md.claude/agents/seo-specialist.md.claude/agents/development/search-specialist.md.claude/agents/seo/seo-content-planner.md.claude/agents/content/content-marketer.md.claude/agents/github/release-swarm.md.claude/agents/development/frontend-developer.md.claude/agents/github/github-modes.md.claude/agents/github/sync-coordinator.md.claude/agents/github/pr-manager.md.claude/agents/analysis/code-review/analyze-code-quality.md.claude/agents/architecture/system-design/arch-system-design.md.claude/agents/seo/seo-authority-builder.md.claude/agents/ruby/ruby-reviewer.md.claude/agents/github/workflow-automation.md.claude/agents/github/issue-tracker.md.claude/agents/github/code-review-swarm.md.claude/agents/seo/seo-meta-optimizer.md.claude/agents/ruby/ruby-coder.md.claude/agents/crewai-agent.md.claude/agents/github/swarm-pr.md.claude/agents/documentation/api-docs/docs-api-openapi.md
🧠 Learnings (6)
📓 Common learnings
Learnt from: CR
PR: jetthoughts/jetthoughts.github.io#0
File: CLAUDE.md:0-0
Timestamp: 2025-09-24T12:43:55.565Z
Learning: Applies to .claude/agents/** : Any changes under .claude/agents/ must spawn claude-flow-specialist for validation and compliance
Learnt from: CR
PR: jetthoughts/jetthoughts.github.io#0
File: CLAUDE.md:0-0
Timestamp: 2025-09-24T12:43:55.565Z
Learning: Applies to .claude/agents/**/*.{md,yml,yaml,json} : Agent frontmatter may only contain the 7 allowed fields (name, description, model, capabilities, hooks, memory, coordination); custom fields are forbidden
Learnt from: CR
PR: jetthoughts/jetthoughts.github.io#0
File: CLAUDE.md:0-0
Timestamp: 2025-09-24T12:43:55.565Z
Learning: Applies to CLAUDE.md : Any modification to CLAUDE.md must trigger claude-flow-specialist validation before merge
Learnt from: CR
PR: jetthoughts/jetthoughts.github.io#0
File: CLAUDE.md:0-0
Timestamp: 2025-09-24T12:43:55.565Z
Learning: Applies to .claude/hooks/** : Any changes under .claude/hooks/ must spawn claude-flow-specialist for validation
Learnt from: pftg
PR: jetthoughts/jetthoughts.github.io#243
File: CLAUDE.md:0-0
Timestamp: 2025-09-12T12:22:19.784Z
Learning: CLAUDE.md must remain in the repository root directory as it's a critical configuration file for agent coordination and project requirements explicitly mandate keeping it in the root location, not under /docs or /knowledge.
📚 Learning: 2025-09-24T12:43:55.565Z
Learnt from: CR
PR: jetthoughts/jetthoughts.github.io#0
File: CLAUDE.md:0-0
Timestamp: 2025-09-24T12:43:55.565Z
Learning: Applies to .claude/agents/** : Any changes under .claude/agents/ must spawn claude-flow-specialist for validation and compliance
Applied to files:
.claude/agents/content-creator.md.claude/agents/core/researcher.md.claude/agents/base-template-generator.md.claude/agents/expert-delegation-coordinator.md.claude/agents/development/architect-review.md.claude/agents/analytics-reporter.md.claude/agents/python-expert.md.claude/agents/analysis/code-analyzer.md.claude/agents/development/ruby-pro.md.claude/agents/core/planner.md.claude/agents/hugo-site-developer.md.claude/agents/core/reviewer.md.claude/agents/core/claude-flow-specialist.md.claude/agents/development/javascript-pro.md.claude/agents/development/ai-engineer.md.claude/agents/core/coder.md.claude/agents/architecture-expert.md.claude/agents/hugo-expert.md.claude/agents/claude-flow-expert.md.claude/agents/codanna-navigator.md.claude/agents/seo-specialist.md.claude/agents/development/search-specialist.md.claude/agents/seo/seo-content-planner.md.claude/agents/content/content-marketer.md.claude/agents/development/frontend-developer.md.claude/agents/github/pr-manager.md.claude/agents/ruby/ruby-reviewer.md.claude/agents/ruby/ruby-coder.md.claude/agents/crewai-agent.md.claude/agents/documentation/api-docs/docs-api-openapi.md
📚 Learning: 2025-09-24T12:43:55.565Z
Learnt from: CR
PR: jetthoughts/jetthoughts.github.io#0
File: CLAUDE.md:0-0
Timestamp: 2025-09-24T12:43:55.565Z
Learning: Applies to CLAUDE.md : Any modification to CLAUDE.md must trigger claude-flow-specialist validation before merge
Applied to files:
.claude/agents/content-creator.md.claude/agents/base-template-generator.md.claude/agents/expert-delegation-coordinator.md.claude/agents/development/architect-review.md.claude/agents/python-expert.md.claude/agents/devops/ci-cd/ops-cicd-github.md.claude/agents/hugo-site-developer.md.claude/agents/core/reviewer.md.claude/agents/core/claude-flow-specialist.md.claude/agents/hugo-expert.md.claude/agents/claude-flow-expert.md.claude/agents/github/github-modes.md.claude/agents/github/pr-manager.md.claude/agents/github/workflow-automation.md.claude/agents/crewai-agent.md
📚 Learning: 2025-09-24T12:43:55.565Z
Learnt from: CR
PR: jetthoughts/jetthoughts.github.io#0
File: CLAUDE.md:0-0
Timestamp: 2025-09-24T12:43:55.565Z
Learning: Applies to .claude/agents/**/*.{md,yml,yaml,json} : Agent frontmatter may only contain the 7 allowed fields (name, description, model, capabilities, hooks, memory, coordination); custom fields are forbidden
Applied to files:
.claude/agents/content-creator.md.claude/agents/python-expert.md.claude/agents/seo/seo-content-auditor.md.claude/agents/hugo-site-developer.md.claude/agents/hugo-expert.md.claude/agents/claude-flow-expert.md.claude/agents/seo-specialist.md.claude/agents/seo/seo-content-planner.md.claude/agents/crewai-agent.md
📚 Learning: 2025-09-24T12:43:55.565Z
Learnt from: CR
PR: jetthoughts/jetthoughts.github.io#0
File: CLAUDE.md:0-0
Timestamp: 2025-09-24T12:43:55.565Z
Learning: Applies to .claude/hooks/** : Any changes under .claude/hooks/ must spawn claude-flow-specialist for validation
Applied to files:
.claude/agents/core/claude-flow-specialist.md.claude/agents/claude-flow-expert.md
📚 Learning: 2025-09-12T12:22:19.784Z
Learnt from: pftg
PR: jetthoughts/jetthoughts.github.io#243
File: CLAUDE.md:0-0
Timestamp: 2025-09-12T12:22:19.784Z
Learning: CLAUDE.md must remain in the repository root directory as it's a critical configuration file for agent coordination and project requirements explicitly mandate keeping it in the root location, not under /docs or /knowledge.
Applied to files:
.claude/agents/github/multi-repo-swarm.md.claude/agents/claude-flow-expert.md.claude/agents/github/repo-architect.md.claude/agents/github/issue-tracker.md
🪛 markdownlint-cli2 (0.18.1)
.claude/agents/content-creator.md
146-146: Spaces inside emphasis markers
(MD037, no-space-in-emphasis)
146-146: Spaces inside emphasis markers
(MD037, no-space-in-emphasis)
622-622: Spaces inside emphasis markers
(MD037, no-space-in-emphasis)
622-622: Spaces inside emphasis markers
(MD037, no-space-in-emphasis)
628-628: Emphasis used instead of a heading
(MD036, no-emphasis-as-heading)
633-633: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
.claude/agents/expert-delegation-coordinator.md
198-198: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
.claude/agents/seo/seo-structure-architect.md
135-135: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
.claude/agents/python-expert.md
253-253: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
272-272: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
.claude/agents/seo/seo-cannibalization-detector.md
129-129: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
.claude/agents/seo/seo-keyword-strategist.md
49-49: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
.claude/agents/build-monitor.md
214-214: Emphasis used instead of a heading
(MD036, no-emphasis-as-heading)
249-249: Emphasis used instead of a heading
(MD036, no-emphasis-as-heading)
825-825: Emphasis used instead of a heading
(MD036, no-emphasis-as-heading)
.claude/agents/hugo-site-developer.md
254-254: Emphasis used instead of a heading
(MD036, no-emphasis-as-heading)
298-298: Emphasis used instead of a heading
(MD036, no-emphasis-as-heading)
352-352: Emphasis used instead of a heading
(MD036, no-emphasis-as-heading)
.claude/agents/seo/seo-content-refresher.md
132-132: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
.claude/agents/core/coder.md
133-133: Spaces inside emphasis markers
(MD037, no-space-in-emphasis)
133-133: Spaces inside emphasis markers
(MD037, no-space-in-emphasis)
133-133: Spaces inside emphasis markers
(MD037, no-space-in-emphasis)
133-133: Spaces inside emphasis markers
(MD037, no-space-in-emphasis)
.claude/agents/hugo-expert.md
408-408: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
427-427: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
.claude/agents/claude-flow-expert.md
133-133: Spaces inside emphasis markers
(MD037, no-space-in-emphasis)
133-133: Spaces inside emphasis markers
(MD037, no-space-in-emphasis)
133-133: Spaces inside emphasis markers
(MD037, no-space-in-emphasis)
133-133: Spaces inside emphasis markers
(MD037, no-space-in-emphasis)
.claude/agents/codanna-navigator.md
13-13: Unordered list indentation
Expected: 0; Actual: 2
(MD007, ul-indent)
14-14: Unordered list indentation
Expected: 0; Actual: 2
(MD007, ul-indent)
15-15: Unordered list indentation
Expected: 0; Actual: 2
(MD007, ul-indent)
16-16: Unordered list indentation
Expected: 0; Actual: 2
(MD007, ul-indent)
17-17: Unordered list indentation
Expected: 0; Actual: 2
(MD007, ul-indent)
18-18: Unordered list indentation
Expected: 0; Actual: 2
(MD007, ul-indent)
19-19: Unordered list indentation
Expected: 0; Actual: 2
(MD007, ul-indent)
20-20: Unordered list indentation
Expected: 0; Actual: 2
(MD007, ul-indent)
22-22: Unordered list indentation
Expected: 0; Actual: 2
(MD007, ul-indent)
23-23: Unordered list indentation
Expected: 0; Actual: 2
(MD007, ul-indent)
24-24: Unordered list indentation
Expected: 0; Actual: 2
(MD007, ul-indent)
25-25: Unordered list indentation
Expected: 0; Actual: 2
(MD007, ul-indent)
26-26: Unordered list indentation
Expected: 0; Actual: 2
(MD007, ul-indent)
27-27: Unordered list indentation
Expected: 0; Actual: 2
(MD007, ul-indent)
28-28: Unordered list indentation
Expected: 0; Actual: 2
(MD007, ul-indent)
29-29: Unordered list indentation
Expected: 0; Actual: 2
(MD007, ul-indent)
116-116: Code block style
Expected: indented; Actual: fenced
(MD046, code-block-style)
215-215: Code block style
Expected: indented; Actual: fenced
(MD046, code-block-style)
244-244: Hard tabs
Column: 2
(MD010, no-hard-tabs)
245-245: Hard tabs
Column: 2
(MD010, no-hard-tabs)
248-248: Hard tabs
Column: 2
(MD010, no-hard-tabs)
249-249: Hard tabs
Column: 2
(MD010, no-hard-tabs)
257-257: Hard tabs
Column: 2
(MD010, no-hard-tabs)
260-260: Hard tabs
Column: 2
(MD010, no-hard-tabs)
295-295: Emphasis used instead of a heading
(MD036, no-emphasis-as-heading)
.claude/agents/github/repo-architect.md
257-257: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
287-287: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
.claude/agents/seo-specialist.md
129-129: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
.claude/agents/seo/seo-content-planner.md
129-129: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
.claude/agents/content/content-marketer.md
14-14: Unordered list indentation
Expected: 0; Actual: 2
(MD007, ul-indent)
15-15: Unordered list indentation
Expected: 0; Actual: 2
(MD007, ul-indent)
16-16: Unordered list indentation
Expected: 0; Actual: 2
(MD007, ul-indent)
17-17: Unordered list indentation
Expected: 0; Actual: 2
(MD007, ul-indent)
18-18: Unordered list indentation
Expected: 0; Actual: 2
(MD007, ul-indent)
19-19: Unordered list indentation
Expected: 0; Actual: 2
(MD007, ul-indent)
20-20: Unordered list indentation
Expected: 0; Actual: 2
(MD007, ul-indent)
21-21: Unordered list indentation
Expected: 0; Actual: 2
(MD007, ul-indent)
23-23: Unordered list indentation
Expected: 0; Actual: 2
(MD007, ul-indent)
24-24: Unordered list indentation
Expected: 0; Actual: 2
(MD007, ul-indent)
25-25: Unordered list indentation
Expected: 0; Actual: 2
(MD007, ul-indent)
26-26: Unordered list indentation
Expected: 0; Actual: 2
(MD007, ul-indent)
27-27: Unordered list indentation
Expected: 0; Actual: 2
(MD007, ul-indent)
28-28: Unordered list indentation
Expected: 0; Actual: 2
(MD007, ul-indent)
29-29: Unordered list indentation
Expected: 0; Actual: 2
(MD007, ul-indent)
30-30: Unordered list indentation
Expected: 0; Actual: 2
(MD007, ul-indent)
31-31: Unordered list indentation
Expected: 0; Actual: 2
(MD007, ul-indent)
32-32: Unordered list indentation
Expected: 0; Actual: 2
(MD007, ul-indent)
33-33: Unordered list indentation
Expected: 0; Actual: 2
(MD007, ul-indent)
.claude/agents/github/github-modes.md
33-33: Emphasis used instead of a heading
(MD036, no-emphasis-as-heading)
42-42: Emphasis used instead of a heading
(MD036, no-emphasis-as-heading)
51-51: Emphasis used instead of a heading
(MD036, no-emphasis-as-heading)
60-60: Emphasis used instead of a heading
(MD036, no-emphasis-as-heading)
71-71: Emphasis used instead of a heading
(MD036, no-emphasis-as-heading)
80-80: Emphasis used instead of a heading
(MD036, no-emphasis-as-heading)
89-89: Emphasis used instead of a heading
(MD036, no-emphasis-as-heading)
100-100: Emphasis used instead of a heading
(MD036, no-emphasis-as-heading)
109-109: Emphasis used instead of a heading
(MD036, no-emphasis-as-heading)
118-118: Emphasis used instead of a heading
(MD036, no-emphasis-as-heading)
.claude/agents/seo/seo-authority-builder.md
137-137: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
.claude/agents/github/code-review-swarm.md
379-379: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
.claude/agents/seo/seo-meta-optimizer.md
129-129: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
🔇 Additional comments (2)
.claude/agents/seo/seo-snippet-hunter.md (1)
1-5: Front matter complies with allowed schemaFront matter sticks to the permitted
name,description, andmodelfields—looks good..claude/agents/seo/seo-content-writer.md (1)
1-5: Front matter stays within the approved keysOnly
name,description, andmodelare present, keeping the document aligned with the repo’s agent schema expectations.
| --- | ||
| name: analyze-code-quality | ||
| type: analyst | ||
| color: "#9C27B0" | ||
| description: | | ||
| Advanced code quality analysis specialist for comprehensive code reviews and improvements. | ||
| I enforce fail-closed validation - when memory systems are unavailable, I prevent ALL code | ||
| analysis work rather than allowing bypass. ALL violations result in immediate task termination | ||
| with exit code 1. I automatically activate enforcement mechanisms before ANY analysis execution. | ||
| BEHAVIORAL ENFORCEMENT COMMITMENTS: | ||
| - I follow code quality global standards from /knowledge/50.01-code-quality-standards.md | ||
| - I enforce comprehensive code analysis with systematic quality assessment | ||
| - I validate code improvements through analysis and best practice evaluation | ||
| - I coordinate with quality-expert for mandatory code quality validation protocols | ||
| - I research existing quality patterns using claude-context before analysis execution | ||
| - I maintain zero tolerance for quality violations and code standard failures | ||
| - I enforce coding standards and refactoring requirements | ||
| - I coordinate cross-agent quality development through memory systems | ||
| capabilities: | ||
| - code_quality_analysis | ||
| - technical_debt_assessment | ||
| - code_smell_detection | ||
| - refactoring_suggestions | ||
| - best_practices_validation | ||
| - performance_analysis | ||
| - memory_based_coordination | ||
| - professional_quality_analysis | ||
| hooks: | ||
| pre: | | ||
| echo "🛡️ SECURITY-ENFORCED CODE QUALITY ANALYZER STARTUP: $TASK" | ||
| # VULNERABILITY 1 FIX: Memory dependency fail-closed validation | ||
| if ! npx claude-flow@alpha hooks memory-retrieve --key "test/connectivity" --default "FAIL" >/dev/null 2>&1; then |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Remove unsupported front matter keys
The agent metadata currently includes type and color, which violate the CLAUDE.md front-matter contract. Please strip those extra fields.
----
-name: analyze-code-quality
-type: analyst
-color: "#9C27B0"
+name: analyze-code-quality
description: |
Advanced code quality analysis specialist for comprehensive code reviews and improvements.📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| --- | |
| name: analyze-code-quality | |
| type: analyst | |
| color: "#9C27B0" | |
| description: | | |
| Advanced code quality analysis specialist for comprehensive code reviews and improvements. | |
| I enforce fail-closed validation - when memory systems are unavailable, I prevent ALL code | |
| analysis work rather than allowing bypass. ALL violations result in immediate task termination | |
| with exit code 1. I automatically activate enforcement mechanisms before ANY analysis execution. | |
| BEHAVIORAL ENFORCEMENT COMMITMENTS: | |
| - I follow code quality global standards from /knowledge/50.01-code-quality-standards.md | |
| - I enforce comprehensive code analysis with systematic quality assessment | |
| - I validate code improvements through analysis and best practice evaluation | |
| - I coordinate with quality-expert for mandatory code quality validation protocols | |
| - I research existing quality patterns using claude-context before analysis execution | |
| - I maintain zero tolerance for quality violations and code standard failures | |
| - I enforce coding standards and refactoring requirements | |
| - I coordinate cross-agent quality development through memory systems | |
| capabilities: | |
| - code_quality_analysis | |
| - technical_debt_assessment | |
| - code_smell_detection | |
| - refactoring_suggestions | |
| - best_practices_validation | |
| - performance_analysis | |
| - memory_based_coordination | |
| - professional_quality_analysis | |
| hooks: | |
| pre: | | |
| echo "🛡️ SECURITY-ENFORCED CODE QUALITY ANALYZER STARTUP: $TASK" | |
| # VULNERABILITY 1 FIX: Memory dependency fail-closed validation | |
| if ! npx claude-flow@alpha hooks memory-retrieve --key "test/connectivity" --default "FAIL" >/dev/null 2>&1; then | |
| --- | |
| name: analyze-code-quality | |
| description: | | |
| Advanced code quality analysis specialist for comprehensive code reviews and improvements. | |
| I enforce fail-closed validation - when memory systems are unavailable, I prevent ALL code | |
| analysis work rather than allowing bypass. ALL violations result in immediate task termination | |
| with exit code 1. I automatically activate enforcement mechanisms before ANY analysis execution. | |
| BEHAVIORAL ENFORCEMENT COMMITMENTS: | |
| - I follow code quality global standards from /knowledge/50.01-code-quality-standards.md | |
| - I enforce comprehensive code analysis with systematic quality assessment | |
| - I validate code improvements through analysis and best practice evaluation | |
| - I coordinate with quality-expert for mandatory code quality validation protocols | |
| - I research existing quality patterns using claude-context before analysis execution | |
| - I maintain zero tolerance for quality violations and code standard failures | |
| - I enforce coding standards and refactoring requirements | |
| - I coordinate cross-agent quality development through memory systems | |
| capabilities: | |
| - code_quality_analysis | |
| - technical_debt_assessment | |
| - code_smell_detection | |
| - refactoring_suggestions | |
| - best_practices_validation | |
| - performance_analysis | |
| - memory_based_coordination | |
| - professional_quality_analysis | |
| hooks: | |
| pre: | | |
| echo "🛡️ SECURITY-ENFORCED CODE QUALITY ANALYZER STARTUP: $TASK" | |
| # VULNERABILITY 1 FIX: Memory dependency fail-closed validation | |
| if ! npx claude-flow@alpha hooks memory-retrieve --key "test/connectivity" --default "FAIL" >/dev/null 2>&1; then |
🤖 Prompt for AI Agents
In .claude/agents/analysis/code-review/analyze-code-quality.md around lines 1 to
34, the front-matter contains unsupported keys `type` and `color`; remove those
two keys from the YAML front-matter so it conforms to the CLAUDE.md contract,
leaving only allowed fields (name, description, capabilities, hooks, etc.), and
ensure YAML punctuation/indentation remains valid after removal.
| name: "system-architect" | ||
| type: "architecture" | ||
| color: "purple" | ||
| version: "1.0.0" | ||
| created: "2025-07-25" | ||
| author: "Claude Code" | ||
|
|
||
| metadata: | ||
| description: "Expert agent for system architecture design, patterns, and high-level technical decisions" | ||
| specialization: "System design, architectural patterns, scalability planning" | ||
| complexity: "complex" | ||
| autonomous: false # Requires human approval for major decisions | ||
|
|
||
| triggers: | ||
| keywords: | ||
| - "architecture" | ||
| - "system design" | ||
| - "scalability" | ||
| - "microservices" | ||
| - "design pattern" | ||
| - "architectural decision" | ||
| file_patterns: | ||
| - "**/architecture/**" | ||
| - "**/design/**" | ||
| - "*.adr.md" # Architecture Decision Records | ||
| - "*.puml" # PlantUML diagrams | ||
| task_patterns: | ||
| - "design * architecture" | ||
| - "plan * system" | ||
| - "architect * solution" | ||
| domains: | ||
| - "architecture" | ||
| - "design" | ||
|
|
||
| capabilities: | ||
| allowed_tools: | ||
| - Read | ||
| - Write # Only for architecture docs | ||
| - Grep | ||
| - Glob | ||
| - WebSearch # For researching patterns | ||
| restricted_tools: | ||
| - Edit # Should not modify existing code | ||
| - MultiEdit | ||
| - Bash # No code execution | ||
| - Task # Should not spawn implementation agents | ||
| max_file_operations: 30 | ||
| max_execution_time: 900 # 15 minutes for complex analysis | ||
| memory_access: "both" | ||
|
|
||
| constraints: | ||
| allowed_paths: | ||
| - "docs/architecture/**" | ||
| - "docs/design/**" | ||
| - "diagrams/**" | ||
| - "*.md" | ||
| - "README.md" | ||
| forbidden_paths: | ||
| - "src/**" # Read-only access to source | ||
| - "node_modules/**" | ||
| - ".git/**" | ||
| max_file_size: 5242880 # 5MB for diagrams | ||
| allowed_file_types: | ||
| - ".md" | ||
| - ".puml" | ||
| - ".svg" | ||
| - ".png" | ||
| - ".drawio" | ||
|
|
||
| behavior: | ||
| error_handling: "lenient" | ||
| confirmation_required: | ||
| - "major architectural changes" | ||
| - "technology stack decisions" | ||
| - "breaking changes" | ||
| - "security architecture" | ||
| auto_rollback: false | ||
| logging_level: "verbose" | ||
|
|
||
| communication: | ||
| style: "technical" | ||
| update_frequency: "summary" | ||
| include_code_snippets: false # Focus on diagrams and concepts | ||
| emoji_usage: "minimal" | ||
|
|
||
| integration: | ||
| can_spawn: [] | ||
| can_delegate_to: | ||
| - "docs-technical" | ||
| - "analyze-security" | ||
| requires_approval_from: | ||
| - "human" # Major decisions need human approval | ||
| shares_context_with: | ||
| - "arch-database" | ||
| - "arch-cloud" | ||
| - "arch-security" | ||
|
|
||
| optimization: | ||
| parallel_operations: false # Sequential thinking for architecture | ||
| batch_size: 1 | ||
| cache_results: true | ||
| memory_limit: "1GB" | ||
|
|
||
| hooks: | ||
| pre_execution: | | ||
| echo "🏗️ System Architecture Designer initializing..." | ||
| echo "📊 Analyzing existing architecture..." | ||
| echo "Current project structure:" | ||
| find . -type f -name "*.md" | grep -E "(architecture|design|README)" | head -10 | ||
| post_execution: | | ||
| echo "✅ Architecture design completed" | ||
| echo "📄 Architecture documents created:" | ||
| find docs/architecture -name "*.md" -newer /tmp/arch_timestamp 2>/dev/null || echo "See above for details" | ||
| on_error: | | ||
| echo "⚠️ Architecture design consideration: {{error_message}}" | ||
| echo "💡 Consider reviewing requirements and constraints" | ||
| examples: | ||
| - trigger: "design microservices architecture for e-commerce platform" | ||
| response: "I'll design a comprehensive microservices architecture for your e-commerce platform, including service boundaries, communication patterns, and deployment strategy..." | ||
| - trigger: "create system architecture for real-time data processing" | ||
| response: "I'll create a scalable system architecture for real-time data processing, considering throughput requirements, fault tolerance, and data consistency..." | ||
| --- |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Frontmatter schema deviates from enforced 7-field contract.
This header introduces numerous custom keys (type, color, version, created, author, metadata, triggers, etc.) that exceed the permitted frontmatter set. Please relocate this structured data into the document body (or another compliant format) and leave only the allowed fields in the YAML block.
🤖 Prompt for AI Agents
In .claude/agents/architecture/system-design/arch-system-design.md around lines
2–124, the YAML frontmatter contains many custom keys that violate the repo's
enforced 7-field frontmatter contract; remove all non-permitted keys from the
top YAML block and relocate that structured content into the document body
(e.g., an "Agent Metadata" section or a JSON/YAML code block after the
frontmatter). Ensure the frontmatter is reduced to only the required seven
fields (per project spec), and copy the removed fields (type, color, version,
created, author, metadata, triggers, capabilities, constraints, behavior,
communication, integration, optimization, hooks, examples, etc.) into a clearly
labeled section in the markdown body so the same information remains available
but outside the frontmatter.
| --- | ||
| name: "base-template-generator" | ||
| type: "architect" | ||
| color: "#FF8C00" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Enforce allowed frontmatter keys.
type and color are outside the permitted frontmatter set and need to be removed.
---
name: "base-template-generator"
-type: "architect"
-color: "#FF8C00"
description: |📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| --- | |
| name: "base-template-generator" | |
| type: "architect" | |
| color: "#FF8C00" | |
| --- | |
| name: "base-template-generator" | |
| description: | |
🤖 Prompt for AI Agents
In .claude/agents/base-template-generator.md around lines 1 to 4, the
frontmatter contains disallowed keys "type" and "color"; remove those keys so
only permitted frontmatter entries remain (e.g., keep "name" if allowed), and
ensure the file's frontmatter conforms to the project's allowed key set and YAML
formatting rules.
| name: claude-flow-expert | ||
| type: reviewer | ||
| color: "#9B59B6" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Frontmatter must stick to the 7 allowed keys.
Per the CLAUDE.md governance rule, only the approved keys are permitted in agent frontmatter. Please remove type and color.
---
name: claude-flow-expert
-type: reviewer
-color: "#9B59B6"
description: |📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| name: claude-flow-expert | |
| type: reviewer | |
| color: "#9B59B6" | |
| --- | |
| name: claude-flow-expert | |
| description: | |
🤖 Prompt for AI Agents
In .claude/agents/claude-flow-expert.md around lines 2 to 4, the frontmatter
contains disallowed keys `type` and `color`; remove those keys so the
frontmatter only includes the seven approved keys per CLAUDE.md governance. Edit
the YAML frontmatter to delete the `type:` and `color:` lines (leaving only
allowed keys such as `name:` and the other permitted keys) and ensure the file
remains valid YAML with no trailing commas or extra blank lines.
| name: "codanna-navigator" | ||
| type: "analyst" | ||
| color: "#8A2BE2" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Frontmatter fields must stay within the allowed set.
Per the repository rule for .claude/agents/**/*.{md,yml,yaml,json}, the frontmatter may only contain name, description, model, capabilities, hooks, memory, and coordination. The newly introduced type and color keys violate this constraint and will fail compliance checks. Please drop the extra fields (or fold the information into the description).
-name: "codanna-navigator"
-type: "analyst"
-color: "#8A2BE2"
+name: "codanna-navigator"📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| name: "codanna-navigator" | |
| type: "analyst" | |
| color: "#8A2BE2" | |
| name: "codanna-navigator" |
🤖 Prompt for AI Agents
In .claude/agents/codanna-navigator.md around lines 3 to 5, the frontmatter
contains disallowed keys `type` and `color` which violate the repo's allowed
frontmatter set; remove the `type` and `color` fields from the YAML frontmatter
(or move their information into the `description` field) so only permitted keys
remain: `name`, `description`, `model`, `capabilities`, `hooks`, `memory`, and
`coordination`.
| --- | ||
| name: "seo-auditor" | ||
| type: "reviewer" | ||
| color: "#2E7D32" | ||
| description: | | ||
| Performs comprehensive SEO audits using Lighthouse MCP and Keywords Everywhere for Hugo static sites. | ||
| I enforce fail-closed validation - when memory systems are unavailable, I prevent ALL SEO | ||
| audit work rather than allowing bypass. ALL violations result in immediate task termination | ||
| with exit code 1. I automatically activate enforcement mechanisms before ANY audit execution. | ||
| BEHAVIORAL ENFORCEMENT COMMITMENTS: | ||
| - I follow SEO audit global standards from /knowledge/90.01-seo-audit-standards.md | ||
| - I enforce comprehensive SEO analysis with systematic quality assessment | ||
| - I validate SEO implementations through Lighthouse and keyword analysis evaluation | ||
| - I coordinate with seo-expert for mandatory SEO validation protocols | ||
| - I research existing SEO patterns using claude-context before audit execution | ||
| - I maintain zero tolerance for SEO violations and performance standard failures | ||
| - I enforce technical SEO standards and Core Web Vitals requirements | ||
| - I coordinate cross-agent SEO development through memory systems | ||
| capabilities: | ||
| - technical_seo_audit | ||
| - keyword_analysis | ||
| - meta_tag_optimization | ||
| - structured_data_validation | ||
| - core_web_vitals_analysis | ||
| - memory_based_coordination | ||
| - professional_seo_auditing | ||
| hooks: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Frontmatter must use only the sanctioned claude-flow fields.
type and color are outside the approved set (name, description, model, capabilities, hooks, memory, coordination). Please remove them here and throughout the PR.
---
name: "seo-auditor"
-type: "reviewer"
-color: "#2E7D32"
description: |
Performs comprehensive SEO audits using Lighthouse MCP and Keywords Everywhere for Hugo static sites.📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| --- | |
| name: "seo-auditor" | |
| type: "reviewer" | |
| color: "#2E7D32" | |
| description: | | |
| Performs comprehensive SEO audits using Lighthouse MCP and Keywords Everywhere for Hugo static sites. | |
| I enforce fail-closed validation - when memory systems are unavailable, I prevent ALL SEO | |
| audit work rather than allowing bypass. ALL violations result in immediate task termination | |
| with exit code 1. I automatically activate enforcement mechanisms before ANY audit execution. | |
| BEHAVIORAL ENFORCEMENT COMMITMENTS: | |
| - I follow SEO audit global standards from /knowledge/90.01-seo-audit-standards.md | |
| - I enforce comprehensive SEO analysis with systematic quality assessment | |
| - I validate SEO implementations through Lighthouse and keyword analysis evaluation | |
| - I coordinate with seo-expert for mandatory SEO validation protocols | |
| - I research existing SEO patterns using claude-context before audit execution | |
| - I maintain zero tolerance for SEO violations and performance standard failures | |
| - I enforce technical SEO standards and Core Web Vitals requirements | |
| - I coordinate cross-agent SEO development through memory systems | |
| capabilities: | |
| - technical_seo_audit | |
| - keyword_analysis | |
| - meta_tag_optimization | |
| - structured_data_validation | |
| - core_web_vitals_analysis | |
| - memory_based_coordination | |
| - professional_seo_auditing | |
| hooks: | |
| --- | |
| name: "seo-auditor" | |
| description: | | |
| Performs comprehensive SEO audits using Lighthouse MCP and Keywords Everywhere for Hugo static sites. | |
| I enforce fail-closed validation - when memory systems are unavailable, I prevent ALL SEO | |
| audit work rather than allowing bypass. ALL violations result in immediate task termination | |
| with exit code 1. I automatically activate enforcement mechanisms before ANY audit execution. | |
| BEHAVIORAL ENFORCEMENT COMMITMENTS: | |
| - I follow SEO audit global standards from /knowledge/90.01-seo-audit-standards.md | |
| - I enforce comprehensive SEO analysis with systematic quality assessment | |
| - I validate SEO implementations through Lighthouse and keyword analysis evaluation | |
| - I coordinate with seo-expert for mandatory SEO validation protocols | |
| - I research existing SEO patterns using claude-context before audit execution | |
| - I maintain zero tolerance for SEO violations and performance standard failures | |
| - I enforce technical SEO standards and Core Web Vitals requirements | |
| - I coordinate cross-agent SEO development through memory systems | |
| capabilities: | |
| - technical_seo_audit | |
| - keyword_analysis | |
| - meta_tag_optimization | |
| - structured_data_validation | |
| - core_web_vitals_analysis | |
| - memory_based_coordination | |
| - professional_seo_auditing | |
| hooks: |
🤖 Prompt for AI Agents
.claude/agents/seo-auditor.md lines 1-28: The frontmatter contains
non-sanctioned fields `type` and `color`; remove those keys from this file's
YAML and any other files in the PR so the frontmatter only uses approved fields
(name, description, model, capabilities, hooks, memory, coordination). Ensure
you keep valid YAML formatting after removal and run a quick search across the
repo to delete or replace any other occurrences of `type` or `color` in agent
frontmatter.
| name: seo-authority-builder | ||
| type: specialist | ||
| color: "#E91E63" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Remove disallowed frontmatter fields.
.claude/agents/**/*.{md,yml,yaml,json} may only declare the seven sanctioned frontmatter keys (name, description, model, capabilities, hooks, memory, coordination). type and color violate that constraint and must be dropped.
Apply this diff to comply:
---
name: seo-authority-builder
-type: specialist
-color: "#E91E63"
description: |📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| name: seo-authority-builder | |
| type: specialist | |
| color: "#E91E63" | |
| --- | |
| name: seo-authority-builder | |
| description: | |
🤖 Prompt for AI Agents
In .claude/agents/seo/seo-authority-builder.md around lines 2 to 4, the
frontmatter contains disallowed keys "type" and "color"; remove those two lines
so only sanctioned frontmatter keys remain (name, description, model,
capabilities, hooks, memory, coordination) and update the file to declare only
allowed keys in its frontmatter.
| --- | ||
| name: seo-cannibalization-detector | ||
| type: specialist | ||
| color: "#FF5722" | ||
| description: | | ||
| Analyzes multiple provided pages to identify keyword overlap and potential cannibalization issues. | ||
| I enforce fail-closed validation - when memory systems are unavailable, I prevent ALL cannibalization | ||
| analysis work rather than allowing bypass. ALL violations result in immediate task termination | ||
| with exit code 1. I automatically activate enforcement mechanisms before ANY analysis execution. | ||
| BEHAVIORAL ENFORCEMENT COMMITMENTS: | ||
| - I follow SEO cannibalization detection global standards from /knowledge/90.01-seo-cannibalization-standards.md | ||
| - I enforce comprehensive overlap analysis with systematic quality assessment | ||
| - I validate cannibalization strategies through SEO analysis and keyword conflict evaluation | ||
| - I coordinate with seo-expert for mandatory SEO validation protocols | ||
| - I research existing content patterns using claude-context before analysis execution | ||
| - I maintain zero tolerance for cannibalization violations and SEO standard failures | ||
| - I enforce keyword differentiation and content consolidation requirements | ||
| - I coordinate cross-agent cannibalization detection through memory systems | ||
| capabilities: | ||
| - keyword_overlap_detection | ||
| - content_similarity_analysis | ||
| - search_intent_comparison | ||
| - cannibalization_identification | ||
| - differentiation_strategy_creation | ||
| - consolidation_recommendations | ||
| - topic_clustering_analysis | ||
| - internal_linking_optimization | ||
| - canonical_strategy_development | ||
| - conflict_resolution_planning | ||
| - memory_based_coordination | ||
| - professional_cannibalization_detection | ||
| hooks: | ||
| pre: | |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Remove unsupported front matter keys
Per the CLAUDE.md governance rules (see retrieved learnings), agent front matter must be limited to the 7 permitted keys. Please drop the type and color entries so the metadata stays compliant.
----
-name: seo-cannibalization-detector
-type: specialist
-color: "#FF5722"
+name: seo-cannibalization-detector
description: |
Analyzes multiple provided pages to identify keyword overlap and potential cannibalization issues.Committable suggestion skipped: line range outside the PR's diff.
🤖 Prompt for AI Agents
In .claude/agents/seo/seo-cannibalization-detector.md around lines 1 to 34, the
agent front matter includes unsupported keys "type" and "color"; remove those
two keys from the YAML front matter so only the permitted seven metadata keys
remain, ensuring the file still has valid front matter and preserving all other
fields and indentation.
| name: seo-content-auditor | ||
| type: specialist | ||
| color: "#FF9800" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Drop non-compliant frontmatter fields.
Only the approved seven keys are allowed; eliminate type and color here.
---
name: seo-content-auditor
-type: specialist
-color: "#FF9800"
description: |🤖 Prompt for AI Agents
In .claude/agents/seo/seo-content-auditor.md around lines 2 to 4, the
frontmatter includes non-approved keys "type" and "color"; remove those fields
so only the approved seven keys remain. Edit the file's frontmatter to delete
the "type: specialist" and "color: \"#FF9800\"" lines, leaving only the allowed
keys and preserving valid YAML formatting and spacing.
| --- | ||
| name: seo-structure-architect | ||
| type: specialist | ||
| color: "#3498DB" | ||
| description: | | ||
| Analyzes and optimizes content structure including header hierarchy, suggests schema markup, and internal linking opportunities. | ||
| I enforce fail-closed validation - when memory systems are unavailable, I prevent ALL content | ||
| structure analysis work rather than allowing bypass. ALL violations result in immediate task termination | ||
| with exit code 1. I automatically activate enforcement mechanisms before ANY structure analysis execution. | ||
| BEHAVIORAL ENFORCEMENT COMMITMENTS: | ||
| - I follow SEO structure optimization global standards from /knowledge/90.01-seo-structure-standards.md | ||
| - I enforce comprehensive content analysis with systematic quality assessment | ||
| - I validate structure implementations through SEO analysis and schema markup evaluation | ||
| - I coordinate with seo-expert for mandatory SEO validation protocols | ||
| - I research existing content patterns using claude-context before structure execution | ||
| - I maintain zero tolerance for structure violations and SEO standard failures | ||
| - I enforce search-optimized content structure and schema markup requirements | ||
| - I coordinate cross-agent content structure through memory systems | ||
| capabilities: | ||
| - content_structure_analysis | ||
| - header_hierarchy_optimization | ||
| - schema_markup_generation | ||
| - internal_linking_strategy | ||
| - silo_architecture_design | ||
| - breadcrumb_optimization | ||
| - table_of_contents_creation | ||
| - featured_snippet_optimization | ||
| - content_organization_analysis | ||
| - search_friendly_structure | ||
| - memory_based_coordination | ||
| - professional_seo_structure | ||
| hooks: | ||
| pre: | |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Remove unsupported front matter keys
type and color fall outside the sanctioned front-matter keys. Please strip them to satisfy the CLAUDE.md compliance requirement.
----
-name: seo-structure-architect
-type: specialist
-color: "#3498DB"
+name: seo-structure-architect
description: |
Analyzes and optimizes content structure including header hierarchy, suggests schema markup, and internal linking opportunities.📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| --- | |
| name: seo-structure-architect | |
| type: specialist | |
| color: "#3498DB" | |
| description: | | |
| Analyzes and optimizes content structure including header hierarchy, suggests schema markup, and internal linking opportunities. | |
| I enforce fail-closed validation - when memory systems are unavailable, I prevent ALL content | |
| structure analysis work rather than allowing bypass. ALL violations result in immediate task termination | |
| with exit code 1. I automatically activate enforcement mechanisms before ANY structure analysis execution. | |
| BEHAVIORAL ENFORCEMENT COMMITMENTS: | |
| - I follow SEO structure optimization global standards from /knowledge/90.01-seo-structure-standards.md | |
| - I enforce comprehensive content analysis with systematic quality assessment | |
| - I validate structure implementations through SEO analysis and schema markup evaluation | |
| - I coordinate with seo-expert for mandatory SEO validation protocols | |
| - I research existing content patterns using claude-context before structure execution | |
| - I maintain zero tolerance for structure violations and SEO standard failures | |
| - I enforce search-optimized content structure and schema markup requirements | |
| - I coordinate cross-agent content structure through memory systems | |
| capabilities: | |
| - content_structure_analysis | |
| - header_hierarchy_optimization | |
| - schema_markup_generation | |
| - internal_linking_strategy | |
| - silo_architecture_design | |
| - breadcrumb_optimization | |
| - table_of_contents_creation | |
| - featured_snippet_optimization | |
| - content_organization_analysis | |
| - search_friendly_structure | |
| - memory_based_coordination | |
| - professional_seo_structure | |
| hooks: | |
| pre: | | |
| --- | |
| name: seo-structure-architect | |
| description: | | |
| Analyzes and optimizes content structure including header hierarchy, suggests schema markup, and internal linking opportunities. | |
| I enforce fail-closed validation - when memory systems are unavailable, I prevent ALL content | |
| structure analysis work rather than allowing bypass. ALL violations result in immediate task termination | |
| with exit code 1. I automatically activate enforcement mechanisms before ANY structure analysis execution. | |
| BEHAVIORAL ENFORCEMENT COMMITMENTS: | |
| - I follow SEO structure optimization global standards from /knowledge/90.01-seo-structure-standards.md | |
| - I enforce comprehensive content analysis with systematic quality assessment | |
| - I validate structure implementations through SEO analysis and schema markup evaluation | |
| - I coordinate with seo-expert for mandatory SEO validation protocols | |
| - I research existing content patterns using claude-context before structure execution | |
| - I maintain zero tolerance for structure violations and SEO standard failures | |
| - I enforce search-optimized content structure and schema markup requirements | |
| - I coordinate cross-agent content structure through memory systems | |
| capabilities: | |
| - content_structure_analysis | |
| - header_hierarchy_optimization | |
| - schema_markup_generation | |
| - internal_linking_strategy | |
| - silo_architecture_design | |
| - breadcrumb_optimization | |
| - table_of_contents_creation | |
| - featured_snippet_optimization | |
| - content_organization_analysis | |
| - search_friendly_structure | |
| - memory_based_coordination | |
| - professional_seo_structure | |
| hooks: | |
| pre: | |
🤖 Prompt for AI Agents
In .claude/agents/seo/seo-structure-architect.md around lines 1 to 34, the
front-matter includes unsupported keys "type" and "color"; remove those keys and
their values from the YAML front-matter so only sanctioned keys remain, leaving
the name, description, capabilities, and hooks intact and valid YAML; ensure
indentation and separators remain correct after deletion and run a quick YAML
lint to confirm compliance.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Review continued from previous batch...
| type: specialist | ||
| color: "#4338CA" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Strip unsupported front matter keys
Following the repository rule for agent front matter (pulled from the stored learning), only the sanctioned fields are allowed. type and color must go to keep claude-flow tooling happy.
Apply this diff:
-name: code-analyzer
-type: specialist
-color: "#4338CA"
+name: code-analyzer📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| type: specialist | |
| color: "#4338CA" | |
| name: code-analyzer |
🤖 Prompt for AI Agents
In .claude/agents/analysis/code-analyzer.md around lines 3 to 4, the front
matter contains unsupported keys `type` and `color`; remove those two lines so
only sanctioned fields remain in the agent front matter (do not add
replacements), ensuring the file conforms to the repository agent front matter
rules used by the claude-flow tooling.
| --- | ||
| name: "analytics-reporter" | ||
| type: "specialist" | ||
| color: "#1976D2" | ||
| description: | | ||
| Creates comprehensive analytics reports for Hugo site performance tracking and search visibility optimization. | ||
| I enforce fail-closed validation - when memory systems are unavailable, I prevent ALL analytics | ||
| reporting work rather than allowing bypass. ALL violations result in immediate task termination | ||
| with exit code 1. I automatically activate enforcement mechanisms before ANY reporting execution. | ||
| BEHAVIORAL ENFORCEMENT COMMITMENTS: | ||
| - I follow analytics reporting global standards from /knowledge/60.01-analytics-reporting-standards.md | ||
| - I enforce comprehensive analytics analysis with systematic quality assessment | ||
| - I validate reporting implementations through data analysis and visualization evaluation | ||
| - I coordinate with performance-expert for mandatory analytics validation protocols | ||
| - I research existing analytics patterns using claude-context before reporting execution | ||
| - I maintain zero tolerance for analytics violations and data quality standard failures | ||
| - I enforce data accuracy standards and reporting methodology requirements | ||
| - I coordinate cross-agent analytics development through memory systems | ||
| capabilities: | ||
| - search_console_integration | ||
| - performance_reporting | ||
| - search_analytics | ||
| - click_through_analysis | ||
| - data_visualization | ||
| - trend_analysis | ||
| - memory_based_coordination | ||
| - professional_analytics_reporting | ||
| hooks: | ||
| pre: | |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Delete unsupported fields from agent front matter
This front matter retains type and color, which fall outside the allowed field list. Please remove them to restore compliance.
---
-name: "analytics-reporter"
-type: "specialist"
-color: "#1976D2"
+name: "analytics-reporter"
description: |🤖 Prompt for AI Agents
In .claude/agents/analytics-reporter.md around lines 1 to 30, the agent front
matter includes unsupported fields `type` and `color`; remove those two lines so
only the allowed fields (e.g., name, description, capabilities, hooks) remain in
the YAML front matter and ensure the YAML stays valid (no extra blank/invalid
keys or trailing characters).
| --- | ||
| name: architecture-expert | ||
| type: expert | ||
| color: "#FF6B6B" | ||
| description: | | ||
| Elite Architecture Expert specializing in system design, architectural patterns, and technical | ||
| decision-making with JAMstack and Hugo expertise. I enforce fail-closed validation - when memory | ||
| systems are unavailable, I prevent ALL architectural work rather than allowing bypass. ALL violations | ||
| result in immediate task termination with exit code 1. I automatically activate enforcement | ||
| mechanisms before ANY architectural analysis execution. | ||
| BEHAVIORAL ENFORCEMENT COMMITMENTS: | ||
| - I follow global architectural standards from /knowledge/30.01-agent-coordination-patterns.md | ||
| - I enforce clean architecture principles with SOLID design patterns | ||
| - I validate against existing project patterns using claude-context before proposing new architectures | ||
| - I coordinate with implementation teams through claude-flow memory systems | ||
| - I ensure all architectural decisions are testable, maintainable, and scalable | ||
| - I research Hugo/JAMstack patterns before architectural recommendations | ||
| - I maintain simplicity-first approach avoiding over-engineering | ||
| - I coordinate with security and performance experts for comprehensive architectural validation | ||
| capabilities: | ||
| - system_design_expertise | ||
| - architectural_pattern_analysis | ||
| - technology_selection_validation | ||
| - clean_architecture_enforcement | ||
| - hugo_jamstack_specialization | ||
| - performance_architecture_design | ||
| - security_architecture_validation | ||
| - cross_agent_coordination | ||
| - pattern_discovery_research | ||
| hooks: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Frontmatter must contain only approved fields.
The metadata block adds type and color, which are not among the seven allowed keys (name, description, model, capabilities, hooks, memory, coordination). Please remove the extra keys to satisfy the guideline.
----
-name: architecture-expert
-type: expert
-color: "#FF6B6B"
-description: |
+name: architecture-expert
+description: |
----Committable suggestion skipped: line range outside the PR's diff.
🤖 Prompt for AI Agents
In .claude/agents/architecture-expert.md around lines 1 to 31 the frontmatter
contains disallowed keys `type` and `color`; remove those keys so the metadata
block only includes the approved keys (name, description, model, capabilities,
hooks, memory, coordination), keep the existing capabilities and hooks entries
intact, ensure the YAML frontmatter remains syntactically valid (proper ---
delimiters) and validate the file against the allowed-key list before
committing.
| --- | ||
| name: "build-monitor" | ||
| type: "monitor" | ||
| color: "#FF6B35" | ||
| description: | | ||
| Continuous build stability monitoring with automated quality gates, rollback protection, and comprehensive handbook compliance. | ||
| I enforce fail-closed validation - when memory systems are unavailable, I prevent ALL build | ||
| monitoring work rather than allowing bypass. ALL violations result in immediate task termination | ||
| with exit code 1. I automatically activate enforcement mechanisms before ANY monitoring execution. | ||
| BEHAVIORAL ENFORCEMENT COMMITMENTS: | ||
| - I follow build monitoring global standards from /knowledge/40.01-build-monitoring-standards.md | ||
| - I enforce comprehensive build analysis with systematic quality assessment | ||
| - I validate build processes through analysis and rollback protection evaluation | ||
| - I coordinate with architecture-expert for mandatory build validation protocols | ||
| - I research existing build patterns using claude-context before monitoring execution | ||
| - I maintain zero tolerance for build violations and quality gate failures | ||
| - I enforce build standards and rollback requirements | ||
| - I coordinate cross-agent build monitoring through memory systems | ||
| capabilities: | ||
| - continuous_build_monitoring | ||
| - quality_gate_validation | ||
| - automatic_rollback | ||
| - build_health_tracking | ||
| - performance_monitoring | ||
| - failure_recovery | ||
| - memory_based_coordination | ||
| - professional_build_monitoring | ||
| hooks: | ||
| pre: | |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Front matter must adhere to the 7-field schema
The header still includes type and color, which are not permitted. Remove them so the front matter only contains allowed keys before running claude-flow specialist validation.
---
-name: "build-monitor"
-type: "monitor"
-color: "#FF6B35"
+name: "build-monitor"
description: |📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| --- | |
| name: "build-monitor" | |
| type: "monitor" | |
| color: "#FF6B35" | |
| description: | | |
| Continuous build stability monitoring with automated quality gates, rollback protection, and comprehensive handbook compliance. | |
| I enforce fail-closed validation - when memory systems are unavailable, I prevent ALL build | |
| monitoring work rather than allowing bypass. ALL violations result in immediate task termination | |
| with exit code 1. I automatically activate enforcement mechanisms before ANY monitoring execution. | |
| BEHAVIORAL ENFORCEMENT COMMITMENTS: | |
| - I follow build monitoring global standards from /knowledge/40.01-build-monitoring-standards.md | |
| - I enforce comprehensive build analysis with systematic quality assessment | |
| - I validate build processes through analysis and rollback protection evaluation | |
| - I coordinate with architecture-expert for mandatory build validation protocols | |
| - I research existing build patterns using claude-context before monitoring execution | |
| - I maintain zero tolerance for build violations and quality gate failures | |
| - I enforce build standards and rollback requirements | |
| - I coordinate cross-agent build monitoring through memory systems | |
| capabilities: | |
| - continuous_build_monitoring | |
| - quality_gate_validation | |
| - automatic_rollback | |
| - build_health_tracking | |
| - performance_monitoring | |
| - failure_recovery | |
| - memory_based_coordination | |
| - professional_build_monitoring | |
| hooks: | |
| pre: | | |
| --- | |
| name: "build-monitor" | |
| description: | | |
| Continuous build stability monitoring with automated quality gates, rollback protection, and comprehensive handbook compliance. | |
| I enforce fail-closed validation - when memory systems are unavailable, I prevent ALL build | |
| monitoring work rather than allowing bypass. ALL violations result in immediate task termination | |
| with exit code 1. I automatically activate enforcement mechanisms before ANY monitoring execution. | |
| BEHAVIORAL ENFORCEMENT COMMITMENTS: | |
| - I follow build monitoring global standards from /knowledge/40.01-build-monitoring-standards.md | |
| - I enforce comprehensive build analysis with systematic quality assessment | |
| - I validate build processes through analysis and rollback protection evaluation | |
| - I coordinate with architecture-expert for mandatory build validation protocols | |
| - I research existing build patterns using claude-context before monitoring execution | |
| - I maintain zero tolerance for build violations and quality gate failures | |
| - I enforce build standards and rollback requirements | |
| - I coordinate cross-agent build monitoring through memory systems | |
| capabilities: | |
| - continuous_build_monitoring | |
| - quality_gate_validation | |
| - automatic_rollback | |
| - build_health_tracking | |
| - performance_monitoring | |
| - failure_recovery | |
| - memory_based_coordination | |
| - professional_build_monitoring | |
| hooks: | |
| pre: | |
🤖 Prompt for AI Agents
In .claude/agents/build-monitor.md around lines 1-30, the front matter includes
disallowed keys `type` and `color`; remove those two lines so the YAML header
only contains the permitted 7-field schema keys (e.g., name, description,
capabilities, hooks, etc.), validate the resulting front matter is valid YAML,
and re-run the claude-flow specialist validation to ensure the file now passes
schema checks.
| --- | ||
| name: "content-creator" | ||
| type: "specialist" | ||
| color: "#6B73FF" | ||
| description: | | ||
| Zero-defect content creation specialist with TDD methodology and comprehensive handbook compliance. | ||
| I enforce fail-closed validation - when memory systems are unavailable, I prevent ALL content | ||
| work rather than allowing bypass. ALL violations result in immediate task termination | ||
| with exit code 1. I automatically activate enforcement mechanisms before ANY content execution. | ||
| BEHAVIORAL ENFORCEMENT COMMITMENTS: | ||
| - I follow content creation global standards from /knowledge/30.01-zero-defect-philosophy-reference.md | ||
| - I enforce comprehensive content analysis with systematic quality assessment | ||
| - I validate content implementations through TDD methodology and editorial review protocols | ||
| - I coordinate with seo-specialist for mandatory SEO validation protocols | ||
| - I research existing content patterns using claude-context before content execution | ||
| - I maintain zero tolerance for content violations and duplication standard failures | ||
| - I enforce content quality standards and editorial workflow requirements | ||
| - I coordinate cross-agent content development through memory systems | ||
| capabilities: | ||
| - blog_writing | ||
| - seo_optimization | ||
| - frontmatter_management | ||
| - content_strategy | ||
| - editorial_workflow | ||
| - quality_validation | ||
| - anti_duplication_enforcement | ||
| - micro_refactoring | ||
| - technical_debt_prevention | ||
| - advanced_claude_context_search | ||
| - pattern_discovery_optimization | ||
| - semantic_content_analysis | ||
| - mermaid_diagrams | ||
| - visual_content_integration | ||
| - technical_documentation | ||
| - memory_based_coordination | ||
| - professional_content_creation |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Remove disallowed front matter fields
Per the agent guidelines, the front matter can only contain name, description, model, capabilities, hooks, memory, and coordination. The current block still declares type and color, so the spec is non-compliant and will fail claude-flow validation. Please drop the extra keys.
---
-name: "content-creator"
-type: "specialist"
-color: "#6B73FF"
+name: "content-creator"
description: |📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| --- | |
| name: "content-creator" | |
| type: "specialist" | |
| color: "#6B73FF" | |
| description: | | |
| Zero-defect content creation specialist with TDD methodology and comprehensive handbook compliance. | |
| I enforce fail-closed validation - when memory systems are unavailable, I prevent ALL content | |
| work rather than allowing bypass. ALL violations result in immediate task termination | |
| with exit code 1. I automatically activate enforcement mechanisms before ANY content execution. | |
| BEHAVIORAL ENFORCEMENT COMMITMENTS: | |
| - I follow content creation global standards from /knowledge/30.01-zero-defect-philosophy-reference.md | |
| - I enforce comprehensive content analysis with systematic quality assessment | |
| - I validate content implementations through TDD methodology and editorial review protocols | |
| - I coordinate with seo-specialist for mandatory SEO validation protocols | |
| - I research existing content patterns using claude-context before content execution | |
| - I maintain zero tolerance for content violations and duplication standard failures | |
| - I enforce content quality standards and editorial workflow requirements | |
| - I coordinate cross-agent content development through memory systems | |
| capabilities: | |
| - blog_writing | |
| - seo_optimization | |
| - frontmatter_management | |
| - content_strategy | |
| - editorial_workflow | |
| - quality_validation | |
| - anti_duplication_enforcement | |
| - micro_refactoring | |
| - technical_debt_prevention | |
| - advanced_claude_context_search | |
| - pattern_discovery_optimization | |
| - semantic_content_analysis | |
| - mermaid_diagrams | |
| - visual_content_integration | |
| - technical_documentation | |
| - memory_based_coordination | |
| - professional_content_creation | |
| --- | |
| name: "content-creator" | |
| description: | | |
| Zero-defect content creation specialist with TDD methodology and comprehensive handbook compliance. | |
| I enforce fail-closed validation - when memory systems are unavailable, I prevent ALL content | |
| work rather than allowing bypass. ALL violations result in immediate task termination | |
| with exit code 1. I automatically activate enforcement mechanisms before ANY content execution. | |
| BEHAVIORAL ENFORCEMENT COMMITMENTS: | |
| - I follow content creation global standards from /knowledge/30.01-zero-defect-philosophy-reference.md | |
| - I enforce comprehensive content analysis with systematic quality assessment | |
| - I validate content implementations through TDD methodology and editorial review protocols | |
| - I coordinate with seo-specialist for mandatory SEO validation protocols | |
| - I research existing content patterns using claude-context before content execution | |
| - I maintain zero tolerance for content violations and duplication standard failures | |
| - I enforce content quality standards and editorial workflow requirements | |
| - I coordinate cross-agent content development through memory systems | |
| capabilities: | |
| - blog_writing | |
| - seo_optimization | |
| - frontmatter_management | |
| - content_strategy | |
| - editorial_workflow | |
| - quality_validation | |
| - anti_duplication_enforcement | |
| - micro_refactoring | |
| - technical_debt_prevention | |
| - advanced_claude_context_search | |
| - pattern_discovery_optimization | |
| - semantic_content_analysis | |
| - mermaid_diagrams | |
| - visual_content_integration | |
| - technical_documentation | |
| - memory_based_coordination | |
| - professional_content_creation |
🤖 Prompt for AI Agents
In .claude/agents/content-creator.md around lines 1 to 37, the YAML front matter
includes disallowed keys `type` and `color` which breaks claude-flow validation;
remove the `type` and `color` entries so the front matter only contains the
allowed keys (`name`, `description`, `model`, `capabilities`, `hooks`, `memory`,
`coordination`), ensure the YAML remains valid (correct indentation and
separators) and keep the remaining fields and content unchanged.
| --- | ||
| name: ruby-reviewer | ||
| type: specialist | ||
| color: "#701516" | ||
| description: | | ||
| Ruby code review specialist with deep expertise in Ruby best practices, Rails | ||
| conventions, and quality assurance for Ruby applications. I enforce fail-closed validation - | ||
| when memory systems are unavailable, I prevent ALL review work rather than allowing bypass. | ||
| ALL violations result in immediate task termination with exit code 1. I automatically | ||
| activate enforcement mechanisms before ANY review execution. | ||
| BEHAVIORAL ENFORCEMENT COMMITMENTS: | ||
| - I follow Ruby review global standards from /knowledge/80.01-ruby-development-standards.md | ||
| - I enforce Ruby idiom validation and Rails pattern compliance through systematic review | ||
| - I validate code quality through comprehensive assessment and testing evaluation | ||
| - I coordinate with ruby-coder for mandatory four-eyes validation protocols | ||
| - I research existing Ruby patterns using claude-context before review execution | ||
| - I maintain zero tolerance for Ruby anti-patterns and framework violations | ||
| - I enforce RuboCop compliance and Ruby community standards | ||
| - I coordinate cross-agent Ruby quality assurance through memory systems | ||
| capabilities: | ||
| - ruby_idiom_validation | ||
| - rails_pattern_compliance | ||
| - code_quality_assessment | ||
| - performance_analysis_ruby | ||
| - test_quality_review | ||
| - code_standards_enforcement | ||
| - architecture_review_ruby | ||
| - documentation_validation | ||
| - maintainability_assessment | ||
| - memory_based_coordination | ||
| - professional_ruby_review | ||
| hooks: | ||
| pre: | | ||
| echo "🛡️ SECURITY-ENFORCED RUBY REVIEWER STARTUP: $TASK" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Frontmatter must not contain extra keys.
Per the .claude/agents guidelines, only name, description, model, capabilities, hooks, memory, and coordination are allowed. type and color violate that contract. Please remove them (or relocate the data outside frontmatter).
----
-name: ruby-reviewer
-type: specialist
-color: "#701516"
-description: |
+name: ruby-reviewer
+description: |
----📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| --- | |
| name: ruby-reviewer | |
| type: specialist | |
| color: "#701516" | |
| description: | | |
| Ruby code review specialist with deep expertise in Ruby best practices, Rails | |
| conventions, and quality assurance for Ruby applications. I enforce fail-closed validation - | |
| when memory systems are unavailable, I prevent ALL review work rather than allowing bypass. | |
| ALL violations result in immediate task termination with exit code 1. I automatically | |
| activate enforcement mechanisms before ANY review execution. | |
| BEHAVIORAL ENFORCEMENT COMMITMENTS: | |
| - I follow Ruby review global standards from /knowledge/80.01-ruby-development-standards.md | |
| - I enforce Ruby idiom validation and Rails pattern compliance through systematic review | |
| - I validate code quality through comprehensive assessment and testing evaluation | |
| - I coordinate with ruby-coder for mandatory four-eyes validation protocols | |
| - I research existing Ruby patterns using claude-context before review execution | |
| - I maintain zero tolerance for Ruby anti-patterns and framework violations | |
| - I enforce RuboCop compliance and Ruby community standards | |
| - I coordinate cross-agent Ruby quality assurance through memory systems | |
| capabilities: | |
| - ruby_idiom_validation | |
| - rails_pattern_compliance | |
| - code_quality_assessment | |
| - performance_analysis_ruby | |
| - test_quality_review | |
| - code_standards_enforcement | |
| - architecture_review_ruby | |
| - documentation_validation | |
| - maintainability_assessment | |
| - memory_based_coordination | |
| - professional_ruby_review | |
| hooks: | |
| pre: | | |
| echo "🛡️ SECURITY-ENFORCED RUBY REVIEWER STARTUP: $TASK" | |
| --- | |
| name: ruby-reviewer | |
| description: | | |
| Ruby code review specialist with deep expertise in Ruby best practices, Rails | |
| conventions, and quality assurance for Ruby applications. I enforce fail-closed validation - | |
| when memory systems are unavailable, I prevent ALL review work rather than allowing bypass. | |
| ALL violations result in immediate task termination with exit code 1. I automatically | |
| activate enforcement mechanisms before ANY review execution. | |
| BEHAVIORAL ENFORCEMENT COMMITMENTS: | |
| - I follow Ruby review global standards from /knowledge/80.01-ruby-development-standards.md | |
| - I enforce Ruby idiom validation and Rails pattern compliance through systematic review | |
| - I validate code quality through comprehensive assessment and testing evaluation | |
| - I coordinate with ruby-coder for mandatory four-eyes validation protocols | |
| - I research existing Ruby patterns using claude-context before review execution | |
| - I maintain zero tolerance for Ruby anti-patterns and framework violations | |
| - I enforce RuboCop compliance and Ruby community standards | |
| - I coordinate cross-agent Ruby quality assurance through memory systems | |
| capabilities: | |
| - ruby_idiom_validation | |
| - rails_pattern_compliance | |
| - code_quality_assessment | |
| - performance_analysis_ruby | |
| - test_quality_review | |
| - code_standards_enforcement | |
| - architecture_review_ruby | |
| - documentation_validation | |
| - maintainability_assessment | |
| - memory_based_coordination | |
| - professional_ruby_review | |
| hooks: | |
| pre: | | |
| echo "🛡️ SECURITY-ENFORCED RUBY REVIEWER STARTUP: $TASK" |
🤖 Prompt for AI Agents
In .claude/agents/ruby/ruby-reviewer.md around lines 1 to 35, the frontmatter
includes disallowed keys `type` and `color`; remove those keys from the YAML
frontmatter (or move their values outside the frontmatter) so only the permitted
keys (`name`, `description`, `model`, `capabilities`, `hooks`, `memory`,
`coordination`) remain, ensuring the file still parses as valid frontmatter
after the removal.
| --- | ||
| name: seo-specialist | ||
| type: specialist | ||
| color: "#9B59B6" | ||
| description: | | ||
| SEO specialist for meta optimization, structured data, and search performance with | ||
| comprehensive Hugo static site SEO implementation. I enforce fail-closed validation - | ||
| when memory systems are unavailable, I prevent ALL SEO work rather than allowing bypass. | ||
| ALL violations result in immediate task termination with exit code 1. I automatically | ||
| activate enforcement mechanisms before ANY SEO execution. | ||
| BEHAVIORAL ENFORCEMENT COMMITMENTS: | ||
| - I follow SEO global standards from /knowledge/53.01-search-performance-optimization-reference.md | ||
| - I enforce technical SEO validation with comprehensive meta tag and schema implementation | ||
| - I validate content optimization through systematic analysis and performance assessment | ||
| - I coordinate with content specialists for mandatory SEO validation protocols | ||
| - I research existing SEO patterns using claude-context before implementation | ||
| - I maintain zero tolerance for SEO violations and incomplete optimization | ||
| - I enforce Core Web Vitals compliance and search performance standards | ||
| - I coordinate cross-agent SEO development through memory systems | ||
| capabilities: | ||
| - meta_tag_optimization | ||
| - structured_data_implementation | ||
| - canonical_url_management | ||
| - content_seo_optimization | ||
| - performance_seo_analysis | ||
| - core_web_vitals_optimization | ||
| - schema_markup_validation | ||
| - advanced_claude_context_search | ||
| - pattern_discovery_optimization | ||
| - semantic_content_analysis | ||
| - memory_based_coordination | ||
| - professional_seo_management | ||
| hooks: | ||
| pre: | |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Remove unsupported frontmatter fields.
The agent metadata must only declare name, description, model, capabilities, hooks, memory, and coordination. This block adds type and color, violating the policy. Please strip those keys (or nest the data elsewhere) before merging.
----
-name: seo-specialist
-type: specialist
-color: "#9B59B6"
-description: |
+name: seo-specialist
+description: |
----Committable suggestion skipped: line range outside the PR's diff.
🤖 Prompt for AI Agents
In .claude/agents/seo-specialist.md around lines 1 to 35 the agent frontmatter
contains unsupported keys "type" and "color"; remove those keys (or relocate
them outside the top-level frontmatter) so only the allowed keys remain: name,
description, model, capabilities, hooks, memory, and coordination; ensure the
YAML is still valid after deletion and re-run any linter/validator to confirm no
other disallowed fields exist.
| type: specialist | ||
| color: "#4CAF50" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Remove disallowed front matter fields
Per the standing project guideline on agent specs (see the retrieved learning for .claude/agents/**/*), the front matter must be limited to the seven approved keys. type and color violate that contract and will break downstream tooling. Please drop them.
Apply this diff:
-name: seo-content-planner
-type: specialist
-color: "#4CAF50"
+name: seo-content-planner📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| type: specialist | |
| color: "#4CAF50" | |
| name: seo-content-planner |
🤖 Prompt for AI Agents
In .claude/agents/seo/seo-content-planner.md around lines 3 to 4, the
front-matter includes disallowed keys `type` and `color`; remove these two lines
so the file only contains the approved front-matter keys per the agent spec
(keep/verify only the seven allowed keys) to avoid breaking downstream tooling.
| --- | ||
| name: seo-content-refresher | ||
| type: specialist | ||
| color: "#9C27B0" | ||
| description: | | ||
| Identifies outdated elements in provided content and suggests updates to maintain freshness. | ||
| I enforce fail-closed validation - when memory systems are unavailable, I prevent ALL content | ||
| refreshing work rather than allowing bypass. ALL violations result in immediate task termination | ||
| with exit code 1. I automatically activate enforcement mechanisms before ANY refresh execution. | ||
| BEHAVIORAL ENFORCEMENT COMMITMENTS: | ||
| - I follow SEO content freshness global standards from /knowledge/90.01-seo-freshness-standards.md | ||
| - I enforce comprehensive content analysis with systematic quality assessment | ||
| - I validate refresh strategies through SEO analysis and freshness signal evaluation | ||
| - I coordinate with seo-expert for mandatory SEO validation protocols | ||
| - I research existing content patterns using claude-context before refresh execution | ||
| - I maintain zero tolerance for freshness violations and SEO standard failures | ||
| - I enforce content freshness optimization and update requirements | ||
| - I coordinate cross-agent content refreshing through memory systems | ||
| capabilities: | ||
| - content_freshness_analysis | ||
| - outdated_element_detection | ||
| - statistics_update_identification | ||
| - example_modernization | ||
| - trend_integration_analysis | ||
| - seasonal_content_planning | ||
| - freshness_signal_optimization | ||
| - content_decay_assessment | ||
| - update_priority_scoring | ||
| - refresh_strategy_development | ||
| - memory_based_coordination | ||
| - professional_content_refreshing | ||
| hooks: | ||
| pre: | | ||
| echo "🛡️ SECURITY-ENFORCED SEO CONTENT REFRESHER STARTUP: $TASK" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Strip disallowed keys from the frontmatter.
The frontmatter must be limited to name, description, model, capabilities, hooks, memory, and coordination. Including type and color breaches that rule. Please drop those fields to restore compliance.
----
-name: seo-content-refresher
-type: specialist
-color: "#9C27B0"
-description: |
+name: seo-content-refresher
+description: |
----📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| --- | |
| name: seo-content-refresher | |
| type: specialist | |
| color: "#9C27B0" | |
| description: | | |
| Identifies outdated elements in provided content and suggests updates to maintain freshness. | |
| I enforce fail-closed validation - when memory systems are unavailable, I prevent ALL content | |
| refreshing work rather than allowing bypass. ALL violations result in immediate task termination | |
| with exit code 1. I automatically activate enforcement mechanisms before ANY refresh execution. | |
| BEHAVIORAL ENFORCEMENT COMMITMENTS: | |
| - I follow SEO content freshness global standards from /knowledge/90.01-seo-freshness-standards.md | |
| - I enforce comprehensive content analysis with systematic quality assessment | |
| - I validate refresh strategies through SEO analysis and freshness signal evaluation | |
| - I coordinate with seo-expert for mandatory SEO validation protocols | |
| - I research existing content patterns using claude-context before refresh execution | |
| - I maintain zero tolerance for freshness violations and SEO standard failures | |
| - I enforce content freshness optimization and update requirements | |
| - I coordinate cross-agent content refreshing through memory systems | |
| capabilities: | |
| - content_freshness_analysis | |
| - outdated_element_detection | |
| - statistics_update_identification | |
| - example_modernization | |
| - trend_integration_analysis | |
| - seasonal_content_planning | |
| - freshness_signal_optimization | |
| - content_decay_assessment | |
| - update_priority_scoring | |
| - refresh_strategy_development | |
| - memory_based_coordination | |
| - professional_content_refreshing | |
| hooks: | |
| pre: | | |
| echo "🛡️ SECURITY-ENFORCED SEO CONTENT REFRESHER STARTUP: $TASK" | |
| --- | |
| name: seo-content-refresher | |
| description: | | |
| Identifies outdated elements in provided content and suggests updates to maintain freshness. | |
| I enforce fail-closed validation - when memory systems are unavailable, I prevent ALL content | |
| refreshing work rather than allowing bypass. ALL violations result in immediate task termination | |
| with exit code 1. I automatically activate enforcement mechanisms before ANY refresh execution. | |
| BEHAVIORAL ENFORCEMENT COMMITMENTS: | |
| - I follow SEO content freshness global standards from /knowledge/90.01-seo-freshness-standards.md | |
| - I enforce comprehensive content analysis with systematic quality assessment | |
| - I validate refresh strategies through SEO analysis and freshness signal evaluation | |
| - I coordinate with seo-expert for mandatory SEO validation protocols | |
| - I research existing content patterns using claude-context before refresh execution | |
| - I maintain zero tolerance for freshness violations and SEO standard failures | |
| - I enforce content freshness optimization and update requirements | |
| - I coordinate cross-agent content refreshing through memory systems | |
| capabilities: | |
| - content_freshness_analysis | |
| - outdated_element_detection | |
| - statistics_update_identification | |
| - example_modernization | |
| - trend_integration_analysis | |
| - seasonal_content_planning | |
| - freshness_signal_optimization | |
| - content_decay_assessment | |
| - update_priority_scoring | |
| - refresh_strategy_development | |
| - memory_based_coordination | |
| - professional_content_refreshing | |
| hooks: | |
| pre: | | |
| echo "🛡️ SECURITY-ENFORCED SEO CONTENT REFRESHER STARTUP: $TASK" |
🤖 Prompt for AI Agents
In .claude/agents/seo/seo-content-refresher.md around lines 1 to 35, the
frontmatter includes disallowed keys ("type" and "color"); remove any keys not
in the allowed set (name, description, model, capabilities, hooks, memory,
coordination) so the frontmatter contains only those permitted keys, preserving
the existing values for allowed fields and leaving the rest out.
| --- | ||
| name: seo-meta-optimizer | ||
| type: specialist | ||
| color: "#E74C3C" | ||
| description: | | ||
| Creates optimized meta titles, descriptions, and URL suggestions based on character limits and best practices. | ||
| I enforce fail-closed validation - when memory systems are unavailable, I prevent ALL meta | ||
| optimization work rather than allowing bypass. ALL violations result in immediate task termination | ||
| with exit code 1. I automatically activate enforcement mechanisms before ANY meta optimization execution. | ||
| BEHAVIORAL ENFORCEMENT COMMITMENTS: | ||
| - I follow SEO meta optimization global standards from /knowledge/90.01-seo-meta-standards.md | ||
| - I enforce comprehensive metadata analysis with systematic quality assessment | ||
| - I validate meta implementations through SEO analysis and character limit evaluation | ||
| - I coordinate with seo-expert for mandatory SEO validation protocols | ||
| - I research existing meta patterns using claude-context before optimization execution | ||
| - I maintain zero tolerance for meta violations and SEO standard failures | ||
| - I enforce search-optimized metadata and character limit requirements | ||
| - I coordinate cross-agent meta optimization through memory systems | ||
| capabilities: | ||
| - meta_title_optimization | ||
| - meta_description_creation | ||
| - url_structure_optimization | ||
| - character_limit_compliance | ||
| - keyword_integration_strategy | ||
| - call_to_action_optimization | ||
| - emotional_trigger_analysis | ||
| - mobile_optimization | ||
| - power_word_integration | ||
| - ab_test_variation_creation | ||
| - memory_based_coordination | ||
| - professional_meta_optimization | ||
| hooks: | ||
| pre: | |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Remove unsupported metadata keys from front matter
type and color are still present, which violates the enforced schema for .claude/agents documents. Please delete those fields so only the allowed set remains.
---
-name: seo-meta-optimizer
-type: specialist
-color: "#E74C3C"
+name: seo-meta-optimizer
description: |📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| --- | |
| name: seo-meta-optimizer | |
| type: specialist | |
| color: "#E74C3C" | |
| description: | | |
| Creates optimized meta titles, descriptions, and URL suggestions based on character limits and best practices. | |
| I enforce fail-closed validation - when memory systems are unavailable, I prevent ALL meta | |
| optimization work rather than allowing bypass. ALL violations result in immediate task termination | |
| with exit code 1. I automatically activate enforcement mechanisms before ANY meta optimization execution. | |
| BEHAVIORAL ENFORCEMENT COMMITMENTS: | |
| - I follow SEO meta optimization global standards from /knowledge/90.01-seo-meta-standards.md | |
| - I enforce comprehensive metadata analysis with systematic quality assessment | |
| - I validate meta implementations through SEO analysis and character limit evaluation | |
| - I coordinate with seo-expert for mandatory SEO validation protocols | |
| - I research existing meta patterns using claude-context before optimization execution | |
| - I maintain zero tolerance for meta violations and SEO standard failures | |
| - I enforce search-optimized metadata and character limit requirements | |
| - I coordinate cross-agent meta optimization through memory systems | |
| capabilities: | |
| - meta_title_optimization | |
| - meta_description_creation | |
| - url_structure_optimization | |
| - character_limit_compliance | |
| - keyword_integration_strategy | |
| - call_to_action_optimization | |
| - emotional_trigger_analysis | |
| - mobile_optimization | |
| - power_word_integration | |
| - ab_test_variation_creation | |
| - memory_based_coordination | |
| - professional_meta_optimization | |
| hooks: | |
| pre: | | |
| --- | |
| name: seo-meta-optimizer | |
| description: | | |
| Creates optimized meta titles, descriptions, and URL suggestions based on character limits and best practices. | |
| I enforce fail-closed validation - when memory systems are unavailable, I prevent ALL meta | |
| optimization work rather than allowing bypass. ALL violations result in immediate task termination | |
| with exit code 1. I automatically activate enforcement mechanisms before ANY meta optimization execution. | |
| BEHAVIORAL ENFORCEMENT COMMITMENTS: | |
| - I follow SEO meta optimization global standards from /knowledge/90.01-seo-meta-standards.md | |
| - I enforce comprehensive metadata analysis with systematic quality assessment | |
| - I validate meta implementations through SEO analysis and character limit evaluation | |
| - I coordinate with seo-expert for mandatory SEO validation protocols | |
| - I research existing meta patterns using claude-context before optimization execution | |
| - I maintain zero tolerance for meta violations and SEO standard failures | |
| - I enforce search-optimized metadata and character limit requirements | |
| - I coordinate cross-agent meta optimization through memory systems | |
| capabilities: | |
| - meta_title_optimization | |
| - meta_description_creation | |
| - url_structure_optimization | |
| - character_limit_compliance | |
| - keyword_integration_strategy | |
| - call_to_action_optimization | |
| - emotional_trigger_analysis | |
| - mobile_optimization | |
| - power_word_integration | |
| - ab_test_variation_creation | |
| - memory_based_coordination | |
| - professional_meta_optimization | |
| hooks: | |
| pre: | |
🤖 Prompt for AI Agents
In .claude/agents/seo/seo-meta-optimizer.md around lines 1 to 34, the
front-matter contains unsupported keys "type" and "color"; remove those two
fields from the YAML front-matter so only the allowed keys (e.g., name,
description, capabilities, hooks) remain and ensure the resulting YAML is still
valid (no stray punctuation or blank lines left behind).
* fixes tests * upds baselines
73e4874 to
c5971dc
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 11
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
themes/beaver/assets/css/navigation.css (1)
321-405: Avoidvar()usage in mobile overridesInside the
@media (max-width: 1024px)block we’re reintroducingvar()calls for primary and white tokens. The mobile guideline here is to stick with literals because those vars are the source of the rendering bug we’re cleaning up. Please switch these back to the concrete colors.As per coding guidelines
Apply this representative diff:@media (max-width: 1024px) { .menu-opener { - border-color: var(--jt-text-primary); + border-color: #121212; } .menu-opener:before { - background-color: var(--jt-text-primary); + background-color: #121212; } .menu-close:before, .menu-close:after { - background-color: var(--jt-text-primary); + background-color: #121212; } .navigation .link { - color: var(--jt-text-primary); + color: #121212; } .navigation .item .arrow { - border-color: var(--jt-text-primary); + border-color: #121212; } .navigation .sub-name { - color: var(--jt-text-primary); + color: #121212; } .navigation { - background-color: var(--jt-white); + background-color: #ffffff; } .navigation .sub-menu { - background-color: var(--jt-white); + background-color: #ffffff; } .navigation .btn { - background-color: var(--jt-text-primary) !important; - color: var(--jt-white) !important; + background-color: #121212 !important; + color: #ffffff !important; } }
🧹 Nitpick comments (5)
test/base_page_test_case.rb (1)
7-7: Centralize Hugo precompile to one placePrecompiling here and in ApplicationSystemTestCase is redundant (even if idempotent). Consider triggering precompile only in one shared place to cut overhead.
test/system/mobile_site_test.rb (1)
51-51: Skip area is very broad; confirm intent and consider relying on defaultsIgnoring all picture and img tags can mask visual regressions. Also, tolerance: 0.03 duplicates the default. If broad ignores are intended for stability, add a short comment; otherwise, narrow to known-dynamic selectors and rely on defaults.
test/system/desktop_site_test.rb (2)
80-81: LGTM: stabilize blog post visual diffAdding stability_time_limit: 5 is reasonable for dynamic content. Optionally, move recurring options into SECTION_CONFIGS to keep expectations centralized.
204-211: Factor shared section verification helperverify_homepage_section duplicates parts of verify_clients_section; consider a generic helper (prefix and visit path params) to DRY and standardize flow.
test/support/hugo_helpers.rb (1)
20-21: Make environment configurable via ENV.fetchHardcoding "production" reduces flexibility and violates the “config via ENV.fetch” guideline. Let tests override as needed.
Apply this diff:
- --environment production + --environment #{ENV.fetch("HUGO_ENVIRONMENT", "production")}As per coding guidelines
📜 Review details
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
⛔ Files ignored due to path filters (9)
Gemfile.lockis excluded by!**/*.locktest/fixtures/screenshots/linux/desktop/about_us.pngis excluded by!**/*.pngtest/fixtures/screenshots/linux/desktop/contact_us.pngis excluded by!**/*.pngtest/fixtures/screenshots/linux/desktop/free_consultation.pngis excluded by!**/*.pngtest/fixtures/screenshots/linux/mobile/clients.pngis excluded by!**/*.pngtest/fixtures/screenshots/macos/desktop/contact_us.pngis excluded by!**/*.pngtest/fixtures/screenshots/macos/desktop/free_consultation.pngis excluded by!**/*.pngtest/fixtures/screenshots/macos/mobile/clients.pngis excluded by!**/*.pngtest/fixtures/screenshots/macos/mobile/homepage.pngis excluded by!**/*.png
📒 Files selected for processing (27)
.dev/Dockerfile(1 hunks).dev/compose.yml(0 hunks).dev/docker-entrypoint.sh(0 hunks)CLAUDE.md(2 hunks)bin/dtest(1 hunks)config/_default/hugo.toml(2 hunks)config/development/hugo.toml(1 hunks)config/test/hugo.toml(2 hunks)docs/60.13-docker-test-precompilation-strategy.md(1 hunks)docs/fl-node-homepage-inventory.md(1 hunks)test/application_system_test_case.rb(4 hunks)test/base_page_test_case.rb(1 hunks)test/support/hugo_helpers.rb(1 hunks)test/support/setup_snap_diff.rb(1 hunks)test/system/color_system_test.rb(1 hunks)test/system/components/diagram_component_test.rb(1 hunks)test/system/desktop_site_test.rb(3 hunks)test/system/mobile_site_test.rb(1 hunks)test/unit/asset_url_validation_test.rb(6 hunks)test/unit/meta_tags/meta_tags_test.rb(0 hunks)themes/beaver/assets/css/base-layout.css(2 hunks)themes/beaver/assets/css/component-bundle.css(41 hunks)themes/beaver/assets/css/components/c-navigation.scss(1 hunks)themes/beaver/assets/css/navigation.css(13 hunks)themes/beaver/assets/css/theme-main.css(2 hunks)themes/beaver/assets/css/use-cases-dynamic.css(1 hunks)themes/beaver/assets/css/utilities/c-spacing.scss(1 hunks)
💤 Files with no reviewable changes (3)
- test/unit/meta_tags/meta_tags_test.rb
- .dev/compose.yml
- .dev/docker-entrypoint.sh
✅ Files skipped from review due to trivial changes (2)
- themes/beaver/assets/css/theme-main.css
- docs/fl-node-homepage-inventory.md
🧰 Additional context used
📓 Path-based instructions (6)
themes/**/assets/**/*.{css,scss}
📄 CodeRabbit inference engine (CLAUDE.md)
CSS/SCSS should follow project performance and responsiveness practices; mobile @media queries must avoid problematic CSS variable rendering (use direct hex if needed)
Files:
themes/beaver/assets/css/use-cases-dynamic.cssthemes/beaver/assets/css/components/c-navigation.scssthemes/beaver/assets/css/navigation.cssthemes/beaver/assets/css/utilities/c-spacing.scssthemes/beaver/assets/css/component-bundle.cssthemes/beaver/assets/css/base-layout.css
test/**/*.rb
📄 CodeRabbit inference engine (CLAUDE.md)
Ruby tests must be named using *_test.rb naming convention
Files:
test/system/components/diagram_component_test.rbtest/system/color_system_test.rbtest/system/mobile_site_test.rbtest/support/setup_snap_diff.rbtest/support/hugo_helpers.rbtest/unit/asset_url_validation_test.rbtest/application_system_test_case.rbtest/base_page_test_case.rbtest/system/desktop_site_test.rb
test/**/*_test.rb
📄 CodeRabbit inference engine (CLAUDE.md)
test/**/*_test.rb: Tests must include assertions (assert_/refute_/flunk) and validate behavior, not output
Prohibit output statements in tests (puts, print, p) that mask failures
Files:
test/system/components/diagram_component_test.rbtest/system/color_system_test.rbtest/system/mobile_site_test.rbtest/unit/asset_url_validation_test.rbtest/system/desktop_site_test.rb
**/*.rb
📄 CodeRabbit inference engine (CLAUDE.md)
Use ENV.fetch for configurable values (e.g., ports, paths); avoid hardcoded configuration constants
Files:
test/system/components/diagram_component_test.rbtest/system/color_system_test.rbtest/system/mobile_site_test.rbtest/support/setup_snap_diff.rbtest/support/hugo_helpers.rbtest/unit/asset_url_validation_test.rbtest/application_system_test_case.rbtest/base_page_test_case.rbtest/system/desktop_site_test.rb
bin/**
📄 CodeRabbit inference engine (CLAUDE.md)
Use existing bin/ scripts for testing/build (do not introduce parallel custom scripts elsewhere)
Files:
bin/dtest
CLAUDE.md
📄 CodeRabbit inference engine (CLAUDE.md)
Any modification to CLAUDE.md must trigger claude-flow-specialist validation before merge
Files:
CLAUDE.md
🧠 Learnings (9)
📚 Learning: 2024-11-08T06:11:04.017Z
Learnt from: AucT
PR: jetthoughts/jetthoughts.github.io#200
File: themes/beaver/assets/css/use-cases-dynamic.css:117-134
Timestamp: 2024-11-08T06:11:04.017Z
Learning: In `themes/beaver/assets/css/use-cases-dynamic.css`, duplicate declarations of `.use-cases .tab-panel .item` are acceptable and should not be flagged.
Applied to files:
themes/beaver/assets/css/use-cases-dynamic.cssthemes/beaver/assets/css/navigation.css
📚 Learning: 2024-11-08T06:10:55.003Z
Learnt from: AucT
PR: jetthoughts/jetthoughts.github.io#200
File: themes/beaver/assets/css/use-cases-dynamic.css:86-102
Timestamp: 2024-11-08T06:10:55.003Z
Learning: In `themes/beaver/assets/css/use-cases-dynamic.css`, the user prefers to use absolute units (e.g., `px`) over relative units (e.g., `rem`), and considers it acceptable to omit semicolons at the end of CSS declarations.
Applied to files:
themes/beaver/assets/css/use-cases-dynamic.cssthemes/beaver/assets/css/utilities/c-spacing.scss
📚 Learning: 2024-11-08T06:11:04.017Z
Learnt from: AucT
PR: jetthoughts/jetthoughts.github.io#200
File: themes/beaver/assets/css/use-cases-dynamic.css:117-134
Timestamp: 2024-11-08T06:11:04.017Z
Learning: In `themes/beaver/assets/css/use-cases-dynamic.css`, using Hugo template syntax within the `background-image` property is acceptable and should not be flagged as parsing errors.
Applied to files:
themes/beaver/assets/css/use-cases-dynamic.css
📚 Learning: 2025-09-24T12:43:55.565Z
Learnt from: CR
PR: jetthoughts/jetthoughts.github.io#0
File: CLAUDE.md:0-0
Timestamp: 2025-09-24T12:43:55.565Z
Learning: All file modifications must be pre-approved by a reviewer (pre-review gate)
Applied to files:
docs/60.13-docker-test-precompilation-strategy.md
📚 Learning: 2025-09-24T12:43:55.565Z
Learnt from: CR
PR: jetthoughts/jetthoughts.github.io#0
File: CLAUDE.md:0-0
Timestamp: 2025-09-24T12:43:55.565Z
Learning: Applies to themes/**/assets/**/*.{css,scss} : CSS/SCSS should follow project performance and responsiveness practices; mobile media queries must avoid problematic CSS variable rendering (use direct hex if needed)
Applied to files:
themes/beaver/assets/css/navigation.css
📚 Learning: 2025-09-24T12:43:55.565Z
Learnt from: CR
PR: jetthoughts/jetthoughts.github.io#0
File: CLAUDE.md:0-0
Timestamp: 2025-09-24T12:43:55.565Z
Learning: Applies to test/**/*_test.rb : Tests must include assertions (assert_*/refute_*/flunk) and validate behavior, not output
Applied to files:
test/unit/asset_url_validation_test.rb
📚 Learning: 2025-09-24T12:43:55.565Z
Learnt from: CR
PR: jetthoughts/jetthoughts.github.io#0
File: CLAUDE.md:0-0
Timestamp: 2025-09-24T12:43:55.565Z
Learning: Applies to **/*.rb : Use ENV.fetch for configurable values (e.g., ports, paths); avoid hardcoded configuration constants
Applied to files:
test/application_system_test_case.rb
📚 Learning: 2025-09-24T12:43:55.565Z
Learnt from: CR
PR: jetthoughts/jetthoughts.github.io#0
File: CLAUDE.md:0-0
Timestamp: 2025-09-24T12:43:55.565Z
Learning: Applies to .claude/agents/** : Any changes under .claude/agents/ must spawn claude-flow-specialist for validation and compliance
Applied to files:
CLAUDE.md
📚 Learning: 2025-09-24T12:43:55.565Z
Learnt from: CR
PR: jetthoughts/jetthoughts.github.io#0
File: CLAUDE.md:0-0
Timestamp: 2025-09-24T12:43:55.565Z
Learning: Applies to CLAUDE.md : Any modification to CLAUDE.md must trigger claude-flow-specialist validation before merge
Applied to files:
CLAUDE.md
🧬 Code graph analysis (4)
test/unit/asset_url_validation_test.rb (1)
test/base_page_test_case.rb (1)
parse_html_file(16-27)
test/application_system_test_case.rb (1)
test/support/hugo_helpers.rb (1)
instance(6-8)
test/base_page_test_case.rb (1)
test/support/hugo_helpers.rb (3)
instance(6-8)precompile(26-36)destination_path(61-63)
test/system/desktop_site_test.rb (2)
test/application_system_test_case.rb (3)
preload_all_images(65-68)assert_screenshot(71-78)visit_via_menu(31-40)test/system/mobile_site_test.rb (1)
test_about_us(54-58)
🔇 Additional comments (36)
themes/beaver/assets/css/use-cases-dynamic.css (1)
1-6: --jt-primary definition verified Defined in themes/beaver/assets/css/theme-main.css (and base-layout.css); safe to use.themes/beaver/assets/css/components/c-navigation.scss (1)
21-31: Navigation link adjustments look goodSwitching to fixed padding and literal color tokens matches the broader token cleanup and keeps hover contrast strong.
themes/beaver/assets/css/utilities/c-spacing.scss (1)
29-31: Spacing defaults remain consistentHard-coding these bases retains the existing scale while removing an extra indirection. Looks good.
.dev/Dockerfile (1)
56-64: Native build deps addition looks goodAdding the build toolchain and
-devheaders here ensuresbundle installcan compile native extensions in this stage. 👍config/development/hugo.toml (1)
5-5: Dev URL handling change looks fine; verify local links and canonical tags.Switching baseURL to "/" with relativeURLs=true should fix local pathing in dev. Please sanity-check canonical/abs URLs and any code that assumes absolute URLs during local runs.
Run a quick spot-check after
bin/hugo-dev:
- Inspect link rel=canonical and CSS/JS hrefs are valid
- Navigate a few deep links to ensure no leading // issues
Also applies to: 11-11
test/system/color_system_test.rb (1)
28-28: No actionable changes in this hunk.config/test/hugo.toml (2)
1-1: Changing baseURL to "/" for tests is fine with relativeURLs=true.Ensure any absolute URL assertions in tests are updated accordingly.
11-11: minifyOutput=false in test config won’t affect dtest precompile (prod env).Since
bin/dtestbuilds with--environment production, this setting won’t apply to Docker screenshot runs. Confirm screenshots aren’t sensitive to minification differences between host-vs-docker runs.CLAUDE.md (1)
27-28: Trigger claude-flow-specialist validation for CLAUDE.md changes
Per repo policy, modifications to CLAUDE.md require specialist validation before merge; confirm the claude-flow-specialist check has run and passed.bin/dtest (1)
8-8: Verify prod vs test build parity
Hugo isn’t available in this environment—run this locally to confirm no HTML/CSS differences under prod settings:hugo --noBuildLock --buildDrafts --environment test --destination=_dest/public-test --logLevel=warn --baseURL="http://localhost:1314" hugo --noBuildLock --buildDrafts --environment production --destination=_dest/public-prod --logLevel=warn --baseURL="http://localhost:1314" diff -rq _dest/public-test _dest/public-prod | head -50Ensure screenshot/system tests don’t break due to prod-only config.
config/_default/hugo.toml (1)
7-7: No .GitInfo references in templates. A repo-wide search found no uses of.GitInfoorGitInfoin any templates or partials (only docs mention the CLI flag). Disabling GitInfo globally is safe.test/base_page_test_case.rb (1)
13-13: LGTM: use singleton destination pathUsing Hugo.instance.destination_path simplifies path resolution and keeps tests consistent.
test/application_system_test_case.rb (3)
52-59: LGTM: section configsExplicit per-section tolerances look good and keep behavior centralized.
72-78: LGTM: increased wait before screenshotRaising the wait to 2s can reduce flakiness for initial page paints.
19-21: LGTM: no remaining Hugo.new instantiations
Confirmed no directHugo.newcalls; merging.test/system/desktop_site_test.rb (3)
15-16: LGTM: preload images on homepagePreloading reduces screenshot diffs due to late-loading assets.
24-25: LGTM: preload images for priority checkImproves determinism when asserting fetchpriority.
86-87: LGTM: tighter tolerance and scoped skip areaStricter threshold with a targeted skip area is a good tradeoff for the about page.
test/support/hugo_helpers.rb (3)
6-8: LGTM: add Hugo.instanceSingleton access simplifies test setup and caching of precompiled assets.
28-29: LGTM: idempotent precompile guardThe @_precompiled check avoids redundant runs across test files.
34-35: LGTM: mark precompiledSetting @_precompiled ensures subsequent precompile calls are no-ops within the same process.
themes/beaver/assets/css/component-bundle.css (13)
185-185: LGTM! Explicit color values for consistent mobile performance.The replacement of CSS variable references (likely
var(--jt-gray-dark)andvar(--jt-dark)) with explicit hex colors (#333333,#333333) aligns with the coding guidelines requirement to "avoid problematic CSS variable rendering" on mobile. CSS variables can have performance impact when many children use inherited variables, with recalculation costs increasing with the number of affected elements.Also applies to: 203-203
295-295: LGTM! Direct hamburger menu color for mobile optimization.The explicit
#000000value replaces what was likelyvar(--jt-black), following the performance guidelines for mobile CSS variable usage. As per coding guidelines, this avoids potential CSS variable rendering issues in mobile @media queries.
613-613: LGTM! Consistent white backgrounds for off-canvas and mega menu elements.The explicit
#ffffffvalues replace CSS variables (likelyvar(--jt-white)) for better mobile performance consistency. The off-canvas menu background (line 635) and mega menu background (line 722) now use direct hex values, aligning with the mobile optimization strategy mentioned in coding guidelines.Also applies to: 635-635
722-722: LGTM! Direct white background for mega menu sub-menu.Explicit
#ffffffbackground eliminates CSS variable dependency, following the mobile performance guidelines to avoid problematic variable rendering in responsive contexts.
935-935: LGTM! Consistent color system consolidation.The explicit hex values (
#121212for text/borders,#1a8cfffor primary/interactive states) replace CSS variables throughout navigation elements. This systematic approach:
- Uses consistent dark text color (
#121212) for base states- Uses consistent primary color (
#1a8cff) for hover/focus/active states- Eliminates variable inheritance performance concerns on mobile
Also applies to: 956-956, 975-975, 1002-1002
1011-1011: LGTM! Comprehensive menu state color standardization.The explicit color values create a consistent interaction pattern:
- Base menu text:
#121212(dark)- Hover/active states:
#1a8cff(primary blue)- Sub-menu backgrounds:
#ffffff(white)This consolidation eliminates CSS variable dependencies while maintaining clear visual hierarchy across all menu states and breakpoints.
Also applies to: 1046-1046, 1054-1054, 1064-1064, 1074-1074, 1099-1099, 1112-1112, 1127-1127
1332-1332: LGTM! Mobile toggle consistency.The mobile menu toggle elements now use explicit colors:
- Toggle text:
#121212(consistent with menu text)- Hamburger bars:
#121212(matches toggle color)- SVG fill:
#121212(unified icon styling)This creates visual consistency across all mobile navigation elements while avoiding CSS variable performance impacts.
Also applies to: 1369-1369, 1374-1374
1480-1480: LGTM! Off-canvas menu color coordination.The off-canvas navigation elements use consistent explicit colors:
- Close button:
#121212- Menu links:
#121212- Toggle arrows:
#121212This maintains visual cohesion across all off-canvas interactions while eliminating variable dependencies for better mobile performance.
Also applies to: 1511-1511, 1574-1574
1894-1894: LGTM! Footer section color systematization.The footer area uses a coordinated color scheme:
- Background sections:
#000000(black)- Primary text/headings:
#ffffff(white)- Link hover states:
#ffffff(white)This creates strong visual contrast and clear content hierarchy while avoiding CSS variable rendering issues on mobile devices.
Also applies to: 1927-1927, 1935-1935, 1943-1943, 1958-1958, 1997-1997, 2030-2030, 2063-2063
2219-2219: LGTM! Consistent footer heading styling.All footer headings use explicit
#ffffffcolor, creating uniform visual treatment across footer sections while eliminating variable dependencies.Also applies to: 2247-2247, 2269-2269
2309-2309: LGTM! Social icon color coordination.The social media icons use consistent explicit colors:
- Default state:
#ffffff(white)- Hover state:
#ffffff(white) with background opacity changeThis maintains clear visual feedback while using direct color values for better mobile performance.
Also applies to: 2359-2359, 2366-2366
2520-2520: LGTM! Trust signals component color standardization.The trust signals sections use explicit
#ffffffbackgrounds, ensuring consistent presentation across all trust-related content blocks while avoiding CSS variable performance impacts.Also applies to: 2612-2612, 2739-2739
2788-2788: LGTM! Expertise list styling consolidation.The About page expertise and authority lists use:
- List item text:
#333333(consistent secondary text color)- Authority icons:
#1a8cff(primary blue for emphasis)This creates clear visual hierarchy while using explicit colors for mobile optimization.
Also applies to: 2805-2805
themes/beaver/assets/css/base-layout.css (2)
56-58: LGTM! Breakpoint variable replacement aligns with mobile optimization.The replacement of
var(--fl-breakpoint-medium)with the explicit1115pxvalue follows the coding guidelines to avoid CSS variable rendering issues in mobile @media queries. This ensures consistent responsive behavior across devices.
2919-2919: LGTM! Responsive utility consolidation with explicit breakpoints.The new responsive utility classes use explicit pixel values (
1115px,860px) instead of CSS variables, consistent with the broader mobile optimization strategy. The class naming convention (.responsive-single-col,.mobile-single-col) provides clear semantic meaning for layout behavior.Also applies to: 2924-2924
| RUN --mount=type=cache,target=/usr/local/bundle/cache,sharing=locked \ | ||
| --mount=type=cache,target=/root/.bundle \ | ||
| echo "gem: --no-document" > /root/.gemrc && \ | ||
| bundle config set --local deployment false && \ | ||
| bundle config set --local path /opt/bundle && \ | ||
| bundle config set --local jobs 4 && \ | ||
| bundle config set --local retry 3 && \ | ||
| bundle config set --local without development:assets && \ | ||
| bundle install |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Keep bundle config outside the bind mount
These bundle config set --local ... calls write to /app/.bundle. Once the container starts via our compose setup, the host repo bind-mount at /app hides that file, so BUNDLE_WITHOUT disappears and bundle exec starts demanding the skipped development/assets gems, causing Gem::LoadError. Persist the settings under /root/.bundle instead.
Apply this diff:
echo "gem: --no-document" > /root/.gemrc && \
- bundle config set --local deployment false && \
- bundle config set --local path /opt/bundle && \
- bundle config set --local jobs 4 && \
- bundle config set --local retry 3 && \
- bundle config set --local without development:assets && \
+ bundle config set --global deployment false && \
+ bundle config set --global path /opt/bundle && \
+ bundle config set --global jobs 4 && \
+ bundle config set --global retry 3 && \
+ bundle config set --global without development:assets && \
bundle install📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| RUN --mount=type=cache,target=/usr/local/bundle/cache,sharing=locked \ | |
| --mount=type=cache,target=/root/.bundle \ | |
| echo "gem: --no-document" > /root/.gemrc && \ | |
| bundle config set --local deployment false && \ | |
| bundle config set --local path /opt/bundle && \ | |
| bundle config set --local jobs 4 && \ | |
| bundle config set --local retry 3 && \ | |
| bundle config set --local without development:assets && \ | |
| bundle install | |
| RUN --mount=type=cache,target=/usr/local/bundle/cache,sharing=locked \ | |
| --mount=type=cache,target=/root/.bundle \ | |
| echo "gem: --no-document" > /root/.gemrc && \ | |
| bundle config set --global deployment false && \ | |
| bundle config set --global path /opt/bundle && \ | |
| bundle config set --global jobs 4 && \ | |
| bundle config set --global retry 3 && \ | |
| bundle config set --global without development:assets && \ | |
| bundle install |
🤖 Prompt for AI Agents
In .dev/Dockerfile around lines 76 to 84, the bundle config commands currently
use --local which writes to /app/.bundle (a path that gets hidden by the host
bind-mount), causing missing BUNDLE_WITHOUT at runtime; change those bundle
config invocations to persist under the container user by using --global (or
otherwise target /root/.bundle) so the settings are written to /root/.bundle
(e.g., replace each `bundle config set --local ...` with `bundle config set
--global ...`) before running `bundle install`.
| - DO NOT ADD NEW SCRIPTS FOR DEVELOPERS TO USE! All ad hoc scripts need to be deleted after task completion! | ||
| - FOR MICRO REFACTORING IT WILL BE ENOUGH TO USE `bin/rake test:critical` | ||
| - IMPORTANT: After each micro changes (< 10 lines) of the production code run `bin/rake test:critical`. After changes others code review and validate the changes with following four-eyes principle | ||
| - IMPORTANT: After each micro changes (< 10 lines) of the production code run `bin/rake test:critical`. After changes others code review and validate the changes with following four-eyes principle |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🧩 Analysis chain
Verify referenced rake task exists.
The doc mandates running bin/rake test:critical after micro-changes. Ensure the task exists to avoid confusion.
🏁 Script executed:
#!/bin/bash
rg -nP 'task\s*:test:critical\b|["'\'']test:critical["'\'']' -C2
rg -n 'test:critical' Rakefile -C3 || trueLength of output: 0
🏁 Script executed:
#!/bin/bash
rg -nP 'task\s+:test:critical\b' -g '**/*.rake' -C2 || true
rg -n 'test:critical' -g '**/*.rake' -C2 || trueLength of output: 297
🏁 Script executed:
#!/bin/bash
# List potential rake files
echo "Looking for Rakefile and .rake files:"
find . -maxdepth 2 -type f \( -iname 'Rakefile' -o -iname '*.rake' \)
# If Rakefile exists, search it
if [ -f Rakefile ]; then
echo "Searching in Rakefile:"
grep -nP 'task\s+:test:critical\b' Rakefile || echo "→ No 'task :test:critical' in Rakefile"
fi
# Search all .rake files
echo "Searching in all .rake files:"
find . -type f -iname '*.rake' -print0 | xargs -0 grep -nP 'task\s+:test:critical\b|test:critical' -C2 || echo "→ No matches in .rake files"Length of output: 168
Define missing test:critical Rake task or update docs
CLAUDE.md:6352 references bin/rake test:critical, but no test:critical task is defined in the Rakefile or any .rake files. Add the task or remove/update its reference.
|
|
||
| # Skip expensive processing in development | ||
| ignoreFiles = ["\\.min\\.css$", "\\.min\\.js$"] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🧩 Analysis chain
Misplaced and risky ignoreFiles in default config. Move to dev/test only.
ignoreFiles = ["\\.min\\.css$", "\\.min\\.js$"] is annotated “Skip … in development” but added to _default, impacting all environments. This can skip minified assets in prod.
Apply this diff to remove from default:
-
-# Skip expensive processing in development
-ignoreFiles = ["\\.min\\.css$", "\\.min\\.js$"]It already exists in config/development/hugo.toml. If needed for tests, add to config/test/hugo.toml instead.
To find all ignoreFiles definitions:
🏁 Script executed:
#!/bin/bash
rg -nP '^\s*ignoreFiles\s*=' -C2Length of output: 481
Remove ignoreFiles from default Hugo config
In config/_default/hugo.toml (lines 289–291), delete the # Skip expensive processing in development comment and the ignoreFiles = ["\\.min\\.css$", "\\.min\\.js$"] setting. This belongs only in config/development/hugo.toml (and can be added to config/test/hugo.toml if needed).
🤖 Prompt for AI Agents
In config/_default/hugo.toml around lines 289 to 291, remove the two lines: the
comment "# Skip expensive processing in development" and the setting ignoreFiles
= ["\\.min\\.css$", "\\.min\\.js$"]; this ignoreFiles setting should only live
in environment-specific configs (e.g., config/development/hugo.toml or
config/test/hugo.toml) so delete these lines from the default file to keep
default config environment-agnostic.
| **Authority**: Technical Architecture Decision | ||
| **Compliance**: MANDATORY for all Docker test modifications | ||
| **Review**: Required before any changes to Docker test pipeline | ||
| **Review**: Required before any changes to Docker test pipeline |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Doc gate note is good; update examples to match current dtest.
Examples still show --environment test and --gc, while bin/dtest uses --environment production and no --gc. Please align the command snippets to avoid drift.
I can propose updated snippets if helpful.
🤖 Prompt for AI Agents
In docs/60.13-docker-test-precompilation-strategy.md around line 250, the
example command snippets are out of date (they use --environment test and --gc)
while the current bin/dtest uses --environment production and omits --gc; update
all example invocations to match the real bin/dtest flags (replace --environment
test with --environment production and remove any --gc usages), and scan the
surrounding examples to ensure flag names, order, and any related explanatory
text match the current dtest behavior.
| name.to_s.split("/_").last || name.to_s.split("/").last | ||
| end |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fix dead fallback in extract_section_key
The current expression always returns the left split’s last element, so the fallback never runs. For names without "/_", this returns the entire string (e.g., "blog/index") rather than the last segment ("index").
Apply this diff:
- name.to_s.split("/_").last || name.to_s.split("/").last
+ s = name.to_s
+ s.include?("/_") ? s.split("/_").last : s.split("/").last📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| name.to_s.split("/_").last || name.to_s.split("/").last | |
| end | |
| s = name.to_s | |
| s.include?("/_") ? s.split("/_").last : s.split("/").last | |
| end |
🤖 Prompt for AI Agents
In test/application_system_test_case.rb around lines 86 to 87, the expression
using split("/_").last || split("/").last never falls back because .last always
returns a truthy string; change the logic to return the split on "/_" only when
that pattern exists (or when the result differs), otherwise fall back to
splitting on "/" — e.g. check name.to_s.include?("/_") and use split("/_").last
only in that case, otherwise use split("/").last.
| # Increased from 0.005 (0.5%) to 0.01 (1%) to handle cross-platform rendering differences | ||
| # across different environments, versions, and operating systems | ||
| Capybara::Screenshot::Diff.tolerance = ENV.fetch("SCREENSHOT_TOLERANCE", "0.03").to_f | ||
| Capybara::Screenshot::Diff.tolerance = ENV.fetch("SCREENSHOT_TOLERANCE", "0.005").to_f |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Comment/code mismatch for screenshot tolerance. Fix the comment.
The code sets default tolerance to 0.005 (0.5%), but the comment says “Increased … to 0.01 (1%).” Update the comment to reflect the lowered tolerance.
Apply this diff:
-# Increased from 0.005 (0.5%) to 0.01 (1%) to handle cross-platform rendering differences
-# across different environments, versions, and operating systems
-Capybara::Screenshot::Diff.tolerance = ENV.fetch("SCREENSHOT_TOLERANCE", "0.005").to_f
+# Lowered from 0.01 (1%) to 0.005 (0.5%) to reduce false positives while still
+# tolerating minor cross-platform rendering differences
+Capybara::Screenshot::Diff.tolerance = ENV.fetch("SCREENSHOT_TOLERANCE", "0.005").to_fAlso update the header comment (Line 4) to say “default: 0.005 = 0.5%”.
🤖 Prompt for AI Agents
In test/support/setup_snap_diff.rb around lines 28 to 30 (and update header on
line 4), the inline comment incorrectly states the tolerance was increased to
0.01 (1%) while the code sets the default to 0.005 (0.5%); change the comment on
lines 28–30 to reflect that the tolerance is 0.005 (0.5%) and update the header
comment on line 4 to read “default: 0.005 = 0.5%”. Ensure wording clearly
indicates the default value and percent equivalence and remove any text claiming
an increase to 0.01.
|
|
||
| class DiagramComponentTest < ApplicationSystemTestCase | ||
| def setup | ||
| skip "Diagram component is not yet implemented" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do not disable the entire system test suite for this component
Placing an unconditional skip in setup means none of the tests in this class (and none of the Capybara setup) will ever execute, so we lose all confidence that the diagram page still renders correctly. If the component truly isn’t available yet, either remove the test or gate the skip behind a real condition (e.g., feature flag, route presence, constant existence) so the assertions start running as soon as the component lands.
🤖 Prompt for AI Agents
In test/system/components/diagram_component_test.rb around line 7, the setup
currently contains an unconditional skip which disables the whole test class and
prevents Capybara setup from running; remove the unconditional skip and either
delete the test class if the component will not exist, or replace the
unconditional skip with a conditional guard that checks a real condition (e.g.,
feature flag, route presence, or constant existence) so that when the component
becomes available the assertions run and Capybara setup executes; ensure the
guard uses an existing feature flag or a safe defined? check and only calls skip
when the condition indicates the component is truly unavailable.
| svg_urls.any? do |url| | ||
| assert url.match?(/\/img\/.*\.[a-f0-9]*?\.svg/), "Should have fingerprinted SVG assets: #{url}" | ||
| end |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
any? short-circuits and skips later SVG checks
Enumerable#any? stops iterating once the block returns truthy. Because the block just wraps assert, the loop exits after the first fingerprinted SVG and later URLs never get validated. A second SVG without a fingerprint would now go unnoticed. Switch back to each (or another non-short-circuiting iterator) so every URL is asserted.
- svg_urls.any? do |url|
+ svg_urls.each do |url|
assert url.match?(/\/img\/.*\.[a-f0-9]*?\.svg/), "Should have fingerprinted SVG assets: #{url}"
end📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| svg_urls.any? do |url| | |
| assert url.match?(/\/img\/.*\.[a-f0-9]*?\.svg/), "Should have fingerprinted SVG assets: #{url}" | |
| end | |
| svg_urls.each do |url| | |
| assert url.match?(/\/img\/.*\.[a-f0-9]*?\.svg/), "Should have fingerprinted SVG assets: #{url}" | |
| end |
🤖 Prompt for AI Agents
In test/unit/asset_url_validation_test.rb around lines 17 to 19, the test uses
Enumerable#any? which short-circuits and stops after the first truthy assertion,
so later SVG URLs aren’t validated; replace the any? iterator with a
non-short-circuiting iterator such as each (or each_with_index) and keep the
assert inside the block so every URL is checked for a fingerprinted SVG pattern,
ensuring the test iterates over and asserts on every url rather than exiting
early.
| css_urls.any? do |url| | ||
| assert url.match?(/\/css\/.*?\.[a-f0-9]*?(\.min)?\.css/), "Should have fingerprinted CSS assets: #{url}" | ||
| end |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Same short-circuit gap for CSS fingerprints
The same any? pattern here means only the first CSS URL is asserted; additional stylesheets could lose their fingerprints without triggering the test. Iterate over every URL instead.
- css_urls.any? do |url|
+ css_urls.each do |url|
assert url.match?(/\/css\/.*?\.[a-f0-9]*?(\.min)?\.css/), "Should have fingerprinted CSS assets: #{url}"
end📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| css_urls.any? do |url| | |
| assert url.match?(/\/css\/.*?\.[a-f0-9]*?(\.min)?\.css/), "Should have fingerprinted CSS assets: #{url}" | |
| end | |
| css_urls.each do |url| | |
| assert url.match?(/\/css\/.*?\.[a-f0-9]*?(\.min)?\.css/), "Should have fingerprinted CSS assets: #{url}" | |
| end |
🤖 Prompt for AI Agents
In test/unit/asset_url_validation_test.rb around lines 34 to 36, the test uses
css_urls.any? which only checks the first matching URL and can miss
unfingerprinted stylesheets; change the iteration to run the assertion for every
URL (e.g., replace any? with each and assert each url matches the fingerprint
regex), ensuring the assertion message remains informative.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
🧹 Nitpick comments (1)
themes/beaver/assets/css/navigation.css (1)
25-35: Trim the redundant mobile.btn-primaryoverrideThe root
.btn-primaryrule already sets these exact hex values, so repeating them under@media (max-width: 768px)just adds duplicate CSS. Unless another breakpoint is overriding them, we can safely drop this block to reduce bundle size.
📜 Review details
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (1)
themes/beaver/assets/css/navigation.css(14 hunks)
🧰 Additional context used
📓 Path-based instructions (1)
themes/**/assets/**/*.{css,scss}
📄 CodeRabbit inference engine (CLAUDE.md)
CSS/SCSS should follow project performance and responsiveness practices; mobile @media queries must avoid problematic CSS variable rendering (use direct hex if needed)
Files:
themes/beaver/assets/css/navigation.css
🧠 Learnings (1)
📚 Learning: 2025-09-24T12:43:55.565Z
Learnt from: CR
PR: jetthoughts/jetthoughts.github.io#0
File: CLAUDE.md:0-0
Timestamp: 2025-09-24T12:43:55.565Z
Learning: Applies to themes/**/assets/**/*.{css,scss} : CSS/SCSS should follow project performance and responsiveness practices; mobile media queries must avoid problematic CSS variable rendering (use direct hex if needed)
Applied to files:
themes/beaver/assets/css/navigation.css
Summary by CodeRabbit
Style
Chores
Tests