Skip to content

Add Claude Code agent definitions#41

Merged
markovejnovic merged 1 commit intomainfrom
marko/add-claude-agents
Feb 19, 2026
Merged

Add Claude Code agent definitions#41
markovejnovic merged 1 commit intomainfrom
marko/add-claude-agents

Conversation

@markovejnovic
Copy link
Collaborator

Summary

  • Adds donnie-docs agent for documentation writing tasks
  • Adds threaded-tommy agent for concurrent code review

Extracted from the MES-696 branch to keep that PR focused on code changes.

Add donnie-docs (documentation writer) and threaded-tommy
(concurrent code review) agent configurations.
@mesa-dot-dev
Copy link

mesa-dot-dev bot commented Feb 19, 2026

Mesa Description

Summary

  • Adds donnie-docs agent for documentation writing tasks
  • Adds threaded-tommy agent for concurrent code review

Extracted from the MES-696 branch to keep that PR focused on code changes.

Description generated by Mesa. Update settings

markovejnovic added a commit that referenced this pull request Feb 19, 2026
@markovejnovic markovejnovic merged commit bd6d5f9 into main Feb 19, 2026
13 checks passed
Copy link

@mesa-dot-dev mesa-dot-dev bot left a comment

Choose a reason for hiding this comment

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

Performed full review of e2d3738...6a1288c

Analysis

  1. Inconsistent Structural Formats - The two agent definitions use incompatible conventions: donnie-docs.md uses XML-style tags (<role>, <philosophy>) while threaded-tommy.md uses markdown headers (# Role). This inconsistency will complicate maintenance and future agent development.

  2. Frontmatter Schema Differences - The YAML frontmatter has different fields between agents without a shared schema definition. donnie-docs has memory: project while threaded-tommy has tools but no memory field, despite containing memory instructions in the body.

  3. Environment-Specific Hardcoding - threaded-tommy contains a hardcoded absolute path (/Users/marko/work/gitfs/) that will fail on other developers' machines and CI environments, creating a significant portability issue.

  4. Truncated Content - Line 178 in threaded-tommy appears to be corrupted/truncated, potentially losing important guidance for the agent's behavior.

Tip

Help

Slash Commands:

  • /review - Request a full code review
  • /review latest - Review only changes since the last review
  • /describe - Generate PR description. This will update the PR body or issue comment depending on your configuration
  • /help - Get help with Mesa commands and configuration options

0 files reviewed | 2 comments | Edit Agent SettingsRead Docs

cost. A `parking_lot::Mutex` at low contention often beats a bespoke lock-free
structure.
- You do not have access to runtime profiling data. When performance claims need
validation, recommend specific benchmarks (` by severity with actionable next steps.
Copy link

Choose a reason for hiding this comment

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

Medium

This line appears truncated/corrupted. The text cuts off mid-sentence with an unclosed backtick:

validation, recommend specific benchmarks (` by severity with actionable next steps.

It looks like benchmark tool names (e.g., criterion, hyperfine) were intended but got mangled. Consider fixing to something like:

validation, recommend specific benchmarks (e.g., `criterion` in Rust, Google Benchmark in C++) and offer to help design the test harness.

Agent: 🎃 Charlie • Fix in Cursor • Fix in Claude

Prompt for Agent
Task: Address review feedback left on GitHub.
Repository: mesa-dot-dev/gitfs#41
File: .claude/agents/threaded-tommy.md#L178
Action: Open this file location in your editor, inspect the highlighted code, and resolve the issue described below.

Feedback:
This line appears truncated/corrupted. The text cuts off mid-sentence with an unclosed backtick:

validation, recommend specific benchmarks (` by severity with actionable next steps.


It looks like benchmark tool names (e.g., `criterion`, `hyperfine`) were intended but got mangled. Consider fixing to something like:

validation, recommend specific benchmarks (e.g., criterion in Rust, Google Benchmark in C++) and offer to help design the test harness.


# Persistent Agent Memory

You have a persistent Persistent Agent Memory directory at `/Users/marko/work/gitfs/.claude/agent-memory/threaded-tommy/`. Its contents persist across conversations.
Copy link

Choose a reason for hiding this comment

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

Medium

Hardcoded absolute path /Users/marko/work/gitfs/ is developer-specific and will fail for other team members or in CI environments.

Consider using a relative path from the repository root:

You have a persistent Persistent Agent Memory directory at `.claude/agent-memory/threaded-tommy/`.

Alternatively, if the agent framework supports it, use a template variable like ${REPO_ROOT}.

Agent: 📖 Donnie (Docs Expert) • Fix in Cursor • Fix in Claude

Prompt for Agent
Task: Address review feedback left on GitHub.
Repository: mesa-dot-dev/gitfs#41
File: .claude/agents/threaded-tommy.md#L182
Action: Open this file location in your editor, inspect the highlighted code, and resolve the issue described below.

Feedback:
Hardcoded absolute path `/Users/marko/work/gitfs/` is developer-specific and will fail for other team members or in CI environments.

Consider using a relative path from the repository root:

You have a persistent Persistent Agent Memory directory at .claude/agent-memory/threaded-tommy/.


Alternatively, if the agent framework supports it, use a template variable like `${REPO_ROOT}`.

Copy link

@mesa-dot-dev mesa-dot-dev bot left a comment

Choose a reason for hiding this comment

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

Performed incremental review of e2d3738...6a1288c

Analysis

  1. Content Corruption: The threaded-tommy.md file contains truncated/garbled text at line 178, breaking the "Known Weaknesses" section.

  2. Hardcoded Path Issue: The persistent memory path in threaded-tommy.md contains a user-specific absolute path (/Users/marko/work/gitfs/...) that won't work for other developers.

  3. Tool Configuration Mismatch: The frontmatter in threaded-tommy.md declares available tools but the memory section references tools (Write, Edit) not in that list.

  4. Inconsistent Terminology: donnie-docs.md uses both "docblocks" and "docstring" terms inconsistently, which could cause confusion.

  5. Configuration Documentation Gaps: The frontmatter fields (model, color, memory) lack explanation of valid values, and donnie-docs.md lacks the "Persistent Agent Memory" section present in the other file.

Tip

Help

Slash Commands:

  • /review - Request a full code review
  • /review latest - Review only changes since the last review
  • /describe - Generate PR description. This will update the PR body or issue comment depending on your configuration
  • /help - Get help with Mesa commands and configuration options

0 files reviewed | 4 comments | Edit Agent SettingsRead Docs

cost. A `parking_lot::Mutex` at low contention often beats a bespoke lock-free
structure.
- You do not have access to runtime profiling data. When performance claims need
validation, recommend specific benchmarks (` by severity with actionable next steps.
Copy link

Choose a reason for hiding this comment

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

High

Truncated/corrupted content. This line is broken mid-sentence. The text (\ by severity with actionable next steps.is garbled and doesn't complete the thought about recommending specific benchmarks. This looks like an editing error or copy-paste issue. The sentence should likely end with something like(e.g., `criterion` in Rust, `google/benchmark` in C++).`

Agent: 🎃 Charlie • Fix in Cursor • Fix in Claude

Prompt for Agent
Task: Address review feedback left on GitHub.
Repository: mesa-dot-dev/gitfs#41
File: .claude/agents/threaded-tommy.md#L178
Action: Open this file location in your editor, inspect the highlighted code, and resolve the issue described below.

Feedback:
**Truncated/corrupted content.** This line is broken mid-sentence. The text `(\` by severity with actionable next steps.` is garbled and doesn't complete the thought about recommending specific benchmarks. This looks like an editing error or copy-paste issue. The sentence should likely end with something like `(e.g., \`criterion\` in Rust, \`google/benchmark\` in C++).`


# Persistent Agent Memory

You have a persistent Persistent Agent Memory directory at `/Users/marko/work/gitfs/.claude/agent-memory/threaded-tommy/`. Its contents persist across conversations.
Copy link

Choose a reason for hiding this comment

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

Medium

Hardcoded absolute path with username. The path /Users/marko/work/gitfs/.claude/agent-memory/threaded-tommy/ contains a specific user's local path. This will not work for other team members using this agent. Consider using a relative path like .claude/agent-memory/threaded-tommy/ or document that this is auto-populated per-user.

Agent: 🎃 Charlie • Fix in Cursor • Fix in Claude

Prompt for Agent
Task: Address review feedback left on GitHub.
Repository: mesa-dot-dev/gitfs#41
File: .claude/agents/threaded-tommy.md#L182
Action: Open this file location in your editor, inspect the highlighted code, and resolve the issue described below.

Feedback:
**Hardcoded absolute path with username.** The path `/Users/marko/work/gitfs/.claude/agent-memory/threaded-tommy/` contains a specific user's local path. This will not work for other team members using this agent. Consider using a relative path like `.claude/agent-memory/threaded-tommy/` or document that this is auto-populated per-user.


- Evaluate whether a lock-free alternative exists (e.g., `crossbeam` epoch-based
structures, `flurry` concurrent hashmap, `arc-swap`, `left-right`, `evmap`,
`dashmap`, `concurrent-queue`, `lockfree` crate).
Copy link

Choose a reason for hiding this comment

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

Low

dashmap uses sharded RwLocks internally, not lock-free algorithms. While it has excellent concurrent performance, grouping it with truly lock-free structures like crossbeam, arc-swap, and lockfree may be misleading. Consider noting the distinction between fine-grained locking (dashmap, flurry) and truly lock-free structures.

Agent: 🎅 Bob (Rust Expert) • Fix in Cursor • Fix in Claude

Prompt for Agent
Task: Address review feedback left on GitHub.
Repository: mesa-dot-dev/gitfs#41
File: .claude/agents/threaded-tommy.md#L62
Action: Open this file location in your editor, inspect the highlighted code, and resolve the issue described below.

Feedback:
`dashmap` uses sharded RwLocks internally, not lock-free algorithms. While it has excellent concurrent performance, grouping it with truly lock-free structures like `crossbeam`, `arc-swap`, and `lockfree` may be misleading. Consider noting the distinction between fine-grained locking (`dashmap`, `flurry`) and truly lock-free structures.

parallelism, pipelining, or shared-nothing designs. Tommy will flag subtle
interleaving bugs, ABA problems, ordering violations, and performance
anti-patterns before they reach production.
tools: Read, Grep, Glob, Bash, WebFetch, WebSearch
Copy link

Choose a reason for hiding this comment

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

Medium

Tool list mismatch. The frontmatter declares Read, Grep, Glob, Bash, WebFetch, WebSearch as available tools, but line 191 instructs the agent to use Write and Edit tools for updating memory files. Either add those tools to this list or update the memory instructions to not reference tools that aren't available.

Agent: 📖 Donnie (Docs Expert) • Fix in Cursor • Fix in Claude

Prompt for Agent
Task: Address review feedback left on GitHub.
Repository: mesa-dot-dev/gitfs#41
File: .claude/agents/threaded-tommy.md#L11
Action: Open this file location in your editor, inspect the highlighted code, and resolve the issue described below.

Feedback:
**Tool list mismatch.** The frontmatter declares `Read, Grep, Glob, Bash, WebFetch, WebSearch` as available tools, but line 191 instructs the agent to use `Write` and `Edit` tools for updating memory files. Either add those tools to this list or update the memory instructions to not reference tools that aren't available.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

Comments