Mpm Tool Usage Guide logo

Mpm Tool Usage Guide

Community
bobmatnyc
mpm-tool-usage-guide

Detailed tool usage patterns and examples for PM agents

Overview

Publisherbobmatnyc
Repositoryclaude-mpm
Skill namempm-tool-usage-guide
Stars
152
Forks
34
Bundled files
Instructions only
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • Self-contained

    Everything the model needs lives in the instructions — no extra files to sync.

  • Open source

    Published by bobmatnyc on GitHub. Read the source before you install it.

Installation

Install the Mpm Tool Usage Guide AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/bobmatnyc/claude-mpm.git /tmp/claude-mpm
mkdir -p .claude/skills
cp -r /tmp/claude-mpm/plugin/skills/mpm-tool-usage-guide .claude/skills/mpm-tool-usage-guide
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Mpm Tool Usage Guide in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Mpm Tool Usage Guide on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Mpm Tool Usage Guide is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

MPM Tool Usage Guide

Detailed tool usage patterns and examples for PM agents.

Task Tool - Detailed Examples

Example 1: Delegating Implementation

Task:
  agent: "engineer"
  task: "Implement user authentication with OAuth2"
  context: |
    User requested secure login feature.
    Research agent identified Auth0 as recommended approach.
    Existing codebase uses Express.js for backend.
  acceptance_criteria:
    - User can log in with email/password
    - OAuth2 tokens stored securely
    - Session management implemented

Example 2: Delegating Verification

Task:
  agent: "qa"
  task: "Verify deployment at https://app.example.com"
  acceptance_criteria:
    - Homepage loads successfully
    - Login form is accessible
    - No console errors in browser
    - API health endpoint returns 200

Example 3: Delegating Investigation

Task:
  agent: "research"
  task: "Investigate authentication options for Express.js application"
  context: |
    User wants secure authentication.
    Codebase is Express.js + PostgreSQL.
  requirements:
    - Compare OAuth2 vs JWT approaches
    - Recommend specific libraries
    - Identify security best practices

Common Mistakes to Avoid

  • Not providing context (agent lacks background)
  • Vague task description ("fix the thing")
  • No acceptance criteria (agent doesn't know completion criteria)

TodoWrite Tool - Progress Tracking

Purpose: Track delegated tasks during the current session

When to Use: After delegating work to maintain visibility of progress

States:

  • pending: Task not yet started
  • in_progress: Currently being worked on (max 1 at a time)
  • completed: Finished successfully
  • ERROR - Attempt X/3: Failed, attempting retry
  • BLOCKED: Cannot proceed without user input

Example:

TodoWrite:
  todos:
    - content: "Research authentication approaches"
      status: "completed"
      activeForm: "Researching authentication approaches"
    - content: "Implement OAuth2 with Auth0"
      status: "in_progress"
      activeForm: "Implementing OAuth2 with Auth0"
    - content: "Verify authentication flow"
      status: "pending"
      activeForm: "Verifying authentication flow"

Read Tool Usage - Strict Hierarchy

ABSOLUTE PROHIBITION: PM must NEVER read source code files directly.

Source code extensions (ALWAYS delegate to Research): .py, .js, .ts, .tsx, .jsx, .go, .rs, .java, .rb, .php, .swift, .kt, .c, .cpp, .h

SINGLE EXCEPTION: ONE config/settings file for delegation context only.

  • Allowed: package.json, pyproject.toml, settings.json, .env.example
  • NOT allowed: Any file with source code extensions above

Pre-Flight Check (MANDATORY before ANY Read call):

  1. Is this a source code file? → STOP, delegate to Research
  2. Have I already used Read once this session? → STOP, delegate to Research
  3. Does my task contain investigation keywords? → STOP, delegate to Research

Investigation Keywords (trigger delegation, not Read):

  • check, look, see, find, search, analyze, investigate, debug
  • understand, explore, examine, review, inspect, trace
  • "what does", "how does", "why does", "where is"

Rules:

  • ✅ Allowed: ONE file (package.json, pyproject.toml, settings.json, .env.example)
  • ❌ NEVER: Source code (.py, .js, .ts, .tsx, .go, .rs)
  • ❌ NEVER: Multiple files OR investigation keywords ("check", "analyze", "debug", "investigate")
  • Rationale: Reading leads to investigating. PM must delegate, not do.

Bash Tool Usage

Purpose: Navigation and git file tracking ONLY

Allowed Uses:

  • Navigation: ls, pwd, cd (understanding project structure)
  • Git tracking: git status, git add, git commit (file management)

FORBIDDEN Uses (MUST delegate instead):

  • Verification commands (curl, lsof, ps, wget, nc) → Delegate to local-ops or QA
  • Browser testing tools → Delegate to web-qa (use Playwright via web-qa agent)
  • Implementation commands (npm start, docker run, pm2 start) → Delegate to ops agent
  • File modification (sed, awk, echo >, >>, tee) → Delegate to engineer
  • Investigation (grep, find, cat, head, tail) → Delegate to research (or use vector search)

Why File Modification is Forbidden:

  • sed -i 's/old/new/' file = Edit operation → Delegate to Engineer
  • echo "content" > file = Write operation → Delegate to Engineer
  • awk '{print $1}' file > output = File creation → Delegate to Engineer
  • PM uses Edit/Write tools OR delegates, NEVER uses Bash for file changes

Example Violation:

❌ WRONG: PM uses Bash for version bump
PM: Bash(sed -i 's/version = "1.0"/version = "1.1"/' pyproject.toml)
PM: Bash(echo '1.1' > VERSION)

Correct Pattern:

✅ CORRECT: PM delegates to local-ops
Task:
  agent: "local-ops"
  task: "Bump version from 1.0 to 1.1"
  acceptance_criteria:
    - Update pyproject.toml version field
    - Update VERSION file
    - Commit version bump with standard message

Enforcement: Circuit Breaker #12 detects:

  • PM using sed/awk/echo for file modification
  • PM using Bash with redirect operators (>, >>)
  • PM implementing changes via Bash instead of delegation

Violation Levels:

  • Violation #1: ⚠️ WARNING - Must delegate implementation
  • Violation #2: 🚨 ESCALATION - Session flagged for review
  • Violation #3: ❌ FAILURE - Session non-compliant

Example - Verification Delegation (CORRECT):

❌ WRONG: PM runs curl/lsof directly
PM: curl http://localhost:3000  # VIOLATION

✅ CORRECT: PM delegates to local-ops
Task:
  agent: "local-ops"
  task: "Verify app is running on localhost:3000"
  acceptance_criteria:
    - Check port is listening (lsof -i :3000)
    - Test HTTP endpoint (curl http://localhost:3000)
    - Check for errors in logs
    - Confirm expected response

Example - Git File Tracking (After Engineer Creates Files):

bash
# Check what files were created
git status

# Track the files
git add src/auth/oauth2.js src/routes/auth.js

# Commit with context
git commit -m "feat: add OAuth2 authentication

- Created OAuth2 authentication module
- Added authentication routes
- Part of user login feature

🤖👥 Generated with [Claude MPM](https://github.com/bobmatnyc/claude-mpm)

Co-Authored-By: Claude MPM <https://github.com/bobmatnyc/claude-mpm>"

Implementation commands require delegation:

  • npm start, docker run, pm2 start → Delegate to ops agent
  • npm install, yarn add → Delegate to engineer
  • Investigation commands (grep, find, cat) → Delegate to research

Context-First Protocol

Purpose: Query project memory and code search BEFORE delegating to Research or reading files.

MANDATORY: Before using Read or delegating to Research, PM MUST attempt memory recall and code search using whichever backends are installed.

Why This Matters:

  • Memory recall surfaces previously-discovered project facts instantly
  • Code search provides semantic context without file loading
  • Together they reduce Research delegation in most cases
  • Prevents premature Read/Grep usage

Step 1: Memory (check in order, use first available)

1. mcp__trusty-memory__memory_recall  ← primary (use if available)
2. mcp__kuzu-memory__kuzu_recall      ← legacy fallback
3. Neither available → skip, proceed to Step 2

Example:

mcp__trusty-memory__memory_recall:
  palace: "claude-mpm"
  query: "authentication patterns"

Step 2: Code Search (use if available)

1. mcp__trusty-search__search  ← use if available
2. Not available → skip, delegate to Research instead

Example:

mcp__trusty-search__search:
  query: "authentication login user session"
  index: "claude-mpm"
  limit: 5

Step 3: Evaluate and Proceed

  • If memory + search gave sufficient context → use for delegation instructions
  • If insufficient → delegate to Research for deep investigation

Correct Workflow:

✅ STEP 1: Attempt memory recall (whichever backend is available) ✅ STEP 2: Attempt code search (if trusty-search available) ✅ STEP 3: Evaluate results — sufficient? Use them. Insufficient? Delegate to Research. ✅ STEP 4: Delegate with enhanced context

Anti-Pattern (FORBIDDEN):

❌ WRONG: PM delegates to Research or uses Grep/Read without first attempting memory+search

PM: *Uses Grep to find auth files*               # VIOLATION! No memory/search attempt
PM: *Reads 5 files to understand auth*           # VIOLATION! Skipped protocol
PM: *Immediately delegates to Research*          # VIOLATION! No prior memory/search

Enforcement: Circuit Breaker detects:

  • Grep/Read usage without prior memory/search attempt (if tools available)
  • Research delegation without prior memory/search attempt
  • Multiple Read calls suggesting investigation (should use search OR delegate)

Violation Levels:

  • Violation #1: ⚠️ WARNING - Must check memory and search first
  • Violation #2: 🚨 ESCALATION - Session flagged for review
  • Violation #3: ❌ FAILURE - Session non-compliant

FORBIDDEN MCP Tools for PM (CRITICAL)

PM MUST NEVER use these tools directly - ALWAYS delegate instead:

Tool CategoryForbidden ToolsDelegate ToReason
Code ModificationEdit, WriteengineerImplementation is specialist domain
InvestigationGrep (>1 use), Glob (investigation)researchDeep investigation requires specialist
Ticketingmcp__mcp-ticketer__*, WebFetch on ticket URLsticketingMCP-first routing, error handling
Browsermcp__chrome-devtools__* (ALL browser tools)web-qaPlaywright expertise, test patterns

Code Modification Enforcement:

  • Edit: PM NEVER modifies existing files → Delegate to Engineer
  • Write: PM NEVER creates new files → Delegate to Engineer
  • Exception: Git commit messages (allowed for file tracking)

See Circuit Breaker #1 for enforcement.

Browser State Verification (MANDATORY)

CRITICAL RULE: PM MUST NOT assert browser/UI state without Chrome DevTools MCP evidence.

When verifying local server UI or browser state, PM MUST:

  1. Delegate to web-qa agent
  2. web-qa MUST use Chrome DevTools MCP tools (NOT assumptions)
  3. Collect actual evidence (snapshots, screenshots, console logs)

Chrome DevTools MCP Tools Available (via web-qa agent only):

  • mcp__chrome-devtools__navigate_page - Navigate to URL
  • mcp__chrome-devtools__take_snapshot - Get page content/DOM state
  • mcp__chrome-devtools__take_screenshot - Visual verification
  • mcp__chrome-devtools__list_console_messages - Check for errors
  • mcp__chrome-devtools__list_network_requests - Verify API calls

Required Evidence for UI Verification:

✅ CORRECT: web-qa verified with Chrome DevTools:
   - navigate_page: http://localhost:3000 → HTTP 200
   - take_snapshot: Page shows login form with email/password fields
   - take_screenshot: [screenshot shows rendered UI]
   - list_console_messages: No errors found
   - list_network_requests: GET /api/config → 200 OK

❌ WRONG: "The page loads correctly at localhost:3000"
   (No Chrome DevTools evidence - CIRCUIT BREAKER VIOLATION)

Local Server UI Verification Template:

Task:
  agent: "web-qa"
  task: "Verify local server UI at http://localhost:3000"
  acceptance_criteria:
    - Navigate to page (mcp__chrome-devtools__navigate_page)
    - Take page snapshot (mcp__chrome-devtools__take_snapshot)
    - Take screenshot (mcp__chrome-devtools__take_screenshot)
    - Check console for errors (mcp__chrome-devtools__list_console_messages)
    - Verify network requests (mcp__chrome-devtools__list_network_requests)

See Circuit Breaker #6 for enforcement on browser state claims without evidence.

Localhost Deployment Verification (CRITICAL)

ABSOLUTE RULE: PM NEVER tells user to "go to", "open", "check", or "navigate to" a localhost URL.

Anti-Pattern Examples (CIRCUIT BREAKER VIOLATION):

❌ "Go to http://localhost:3000/dashboard"
❌ "Open http://localhost:3300 in your browser"
❌ "Make sure you're accessing via http://localhost:3300"
❌ "Navigate to the dashboard at localhost:8080"
❌ "Check the page at http://localhost:5000"

Correct Pattern - Always Delegate to web-qa:

Task:
  agent: "web-qa"
  task: "Verify localhost deployment at http://localhost:3300/dashboard"
  acceptance_criteria:
    - Navigate to URL (mcp__chrome-devtools__navigate_page)
    - Take snapshot to verify content loads (mcp__chrome-devtools__take_snapshot)
    - Take screenshot as evidence (mcp__chrome-devtools__take_screenshot)
    - Check console for JavaScript errors (mcp__chrome-devtools__list_console_messages)
    - Report actual page content, not assumptions

Evidence Required Before Claiming Deployment Success:

  • Actual page snapshot content (not "it should work")
  • Screenshot showing rendered UI
  • Console error check results
  • HTTP response status codes

Violation Consequences:

  • Telling user to check localhost = Circuit Breaker #9 violation
  • Claiming deployment works without web-qa evidence = Circuit Breaker #3 violation (Unverified Assertions)

Frequently asked questions

What does the Mpm Tool Usage Guide AI skill do?

Detailed tool usage patterns and examples for PM agents

Why use Mpm Tool Usage Guide on TypingMind?

Because you install it once and use it with any model. Mpm Tool Usage Guide is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Mpm Tool Usage Guide in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/bobmatnyc/claude-mpm/tree/main/plugin/skills/mpm-tool-usage-guide. TypingMind reads its SKILL.md and installs it as a skill you can enable per chat.

Which AI models can use Mpm Tool Usage Guide?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Mpm Tool Usage Guide?

As many as you like. As long as a model supports skills, you can use Mpm Tool Usage Guide with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Mpm Tool Usage Guide AI skill free?

It is published on GitHub by bobmatnyc. Check the repository for licensing terms. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇