Skip to content

recipe: Maverick — behavioral adaptation for Goose#8058

Open
smartrickpicks wants to merge 1 commit intoblock:mainfrom
get-airlock:add-maverick-recipe
Open

recipe: Maverick — behavioral adaptation for Goose#8058
smartrickpicks wants to merge 1 commit intoblock:mainfrom
get-airlock:add-maverick-recipe

Conversation

@smartrickpicks
Copy link

Summary

Adds a recipe for Maverick — an MCP server that adapts Goose's communication style to match each developer's behavioral profile.

  • 10-question assessment detects working style across four drives (Dominance, Extraversion, Patience, Formality)
  • 17 behavioral profiles — from fast-moving Mavericks to methodical Guardians
  • Adaptive communication — pacing, tone, autonomy, detail level, and decision style all adjust
  • Developer Card — shareable HTML visualization of your profile
  • Local-only — profile saved at ~/.maverick/, zero telemetry, no accounts

Published on PyPI: uvx maverick-mcp serve

How it works

uvx maverick-mcp serve          # starts MCP server (stdio)
maverick assess                 # CLI: interactive assessment
maverick card                   # CLI: generate Developer Card

The recipe uses uvx to run the server — no manual install needed.

Test plan

  • Installed via uvx maverick-mcp serve and verified MCP tools respond
  • Assessment flow works end-to-end (questions → scoring → profile save)
  • Developer Card generates valid HTML at ~/.maverick/card.html
  • 64 tests passing in upstream repo
  • Recipe YAML follows existing format conventions (modeled after search-datahub.yaml)

Every Goose needs its Maverick.

Adds an MCP-based recipe that adapts Goose's communication style to
match each developer's behavioral profile. 10-question assessment
detects working style across four drives (Dominance, Extraversion,
Patience, Formality), then adjusts pacing, tone, autonomy, and
decision style accordingly.

Features:
- Profile detection via behavioral assessment
- Adaptive communication (response length, tone, checkpoint frequency)
- Shareable Developer Card visualization
- Local-only storage (~/.maverick/), zero telemetry
- Published on PyPI: uvx maverick-mcp serve

Repository: https://github.com/get-airlock/maverick-mcp
@github-actions
Copy link
Contributor

🔍 Recipe Security Scan Results

⚠️ Status: SCAN FAILED - Technical issues during scanning

📊 Scan Summary:

  • Total recipes scanned: 1
  • Failed scans: 1

📋 Individual Recipe Results:
❓ Recipe 1: UNKNOWN (UNKNOWN risk)

🔗 View detailed scan results in the workflow artifacts.

Copy link

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: bfcfd42503

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment on lines +37 to +39
At the start of this session, check if a behavioral profile exists by calling
maverick_profile. If no profile exists, offer to run a quick 2-minute assessment
by calling maverick_assess (no arguments to get the questions, then call again

Choose a reason for hiding this comment

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

P1 Badge Use Goose-prefixed tool names in this prompt

For stdio extensions Goose exposes tools as <extension>__<tool> (see fetch_all_tools in crates/goose/src/agents/extension_manager.rs, which prefixes every non-platform extension). This recipe instead tells the model to call maverick_profile, maverick_assess, maverick_adapt, and maverick_feedback, so the very first session bootstrap will hit “Tool not found” instead of invoking Maverick whenever the recipe is used.

Useful? React with 👍 / 👎.

- Decision-making style (decisive vs consultative vs evidence-based)
- Checkpoint frequency (how often to check in)

After assessment, offer to generate a Developer Card by calling maverick_card.

Choose a reason for hiding this comment

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

P1 Badge Remove the nonexistent maverick_card tool call

I checked the published maverick-mcp 0.1.0 package description on PyPI: its MCP tool list contains only maverick_assess, maverick_profile, maverick_adapt, and maverick_feedback. maverick_card appears to be a CLI feature, not an MCP tool, so asking Goose to call it will always fail with a missing-tool error for anyone who tries to generate the Developer Card from this recipe.

Useful? React with 👍 / 👎.

@DOsinga
Copy link
Collaborator

DOsinga commented Mar 22, 2026

Thanks for the recipe — the concept is solid and the overall structure follows existing recipes well. A few things to fix before we can merge:

1. MCP tool names need the maverick__ prefix

goose exposes stdio extension tools as <extension_name>__<tool_name>, so the tool calls in the prompt section need updating:

  • maverick_profilemaverick__maverick_profile
  • maverick_assessmaverick__maverick_assess
  • maverick_adaptmaverick__maverick_adapt
  • maverick_feedbackmaverick__maverick_feedback

As written, every tool call in the prompt would fail with "Tool not found".

2. maverick_card is a CLI command, not an MCP tool

The prompt instructs goose to call maverick_card but that is a CLI command (maverick card), not exposed over the MCP server. Please remove that call from the prompt and update the instructions section and activities list to make clear it is run separately via CLI.

3. Brand casing: Goosegoose

Per our style guide, the product name should always be lowercase goose. There are a few occurrences of Goose in the description, instructions, and prompt fields that need fixing.

Once those are addressed we can get this merged!

@DOsinga DOsinga added the needs_human label to set when a robot looks at a PR and can't handle it label Mar 22, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

needs_human label to set when a robot looks at a PR and can't handle it

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants