Skip to content
goose-recipes logo

Goose Recipes Skill

goose-recipes

Create, validate, and work with Goose recipes - reusable AI agent configurations that package specific setups for tasks. Use when creating recipe.yaml/recipe.json files, configuring Goose extensions, parameters, retry logic, structured outputs, or debugging recipe validation errors.

SKILL.md

Full skill instructions

Goose Recipes Skill

Create and work with Goose recipes - reusable configurations that package up specific AI agent setups.

Quick Start

Create a Basic Recipe

Start with the basic template from assets/​basic-recipe-template.yaml and customize:

version: "1.0.0"
title: "Your Recipe Title"
description: "What this recipe accomplishes"
prompt: "Initial task for the agent"

Create an Advanced Recipe

For complex workflows, use assets/​advanced-recipe-template.yaml which includes:

  • Retry logic with success validation
  • Structured JSON output
  • Subrecipes and extensions
  • File input parameters

Core Recipe Creation Workflow

1. Define Required Fields

Every recipe MUST have:

  • version: Use "1.0.0"
  • title: Short, descriptive title
  • description: Detailed explanation of purpose

2. Add Instructions or Prompt

Choose based on use case:

  • instructions: Multi-step guidance for complex tasks
  • prompt: Direct task statement for simple tasks
  • Both: Instructions provide context, prompt initiates action

3. Configure Parameters

Define inputs with proper requirements:

parameters:
  - key: param_name
    input_type: string  # or "file" to read file contents
    requirement: required  # or "optional" or "user_prompt"
    description: "What this parameter does"
    default: "value"  # Required for optional parameters

Use parameters in templates: {{ param_name }}

4. Add Extensions (if needed)

Include MCP servers or tools:

extensions:
  - type: stdio
    name: extension_name
    cmd: command_to_run
    args: [arguments]
    timeout: 300
    description: "What this extension provides"

5. Configure Retry Logic (optional)

Enable automatic retries with validation:

retry:
  max_retries: 3
  checks:
    - type: shell
      command: "test -f output.json"  # Must exit 0 for success
  on_failure: "rm -f output.json"  # Cleanup command

6. Define Structured Output (optional)

Enforce JSON response format:

response:
  json_schema:
    type: object
    properties:
      result:
        type: string
        description: "Main result"
    required: [result]

Common Patterns

File Input Processing

Read and process file contents:

parameters:
  - key: source_code
    input_type: file
    requirement: required
    description: "Source code file to analyze"

prompt: "Analyze this code:\n{{ source_code }}"

Multi-Step Workflows

Use instructions for complex procedures:

instructions: |
  1. Parse the input data
  2. Validate against schema
  3. Generate report with findings
  4. Save to specified location

prompt: "Begin processing {{ input_file }}"

Subrecipe Composition

Combine multiple recipes:

sub_recipes:
  - name: "validate"
    path: "./​validation.yaml"
    values:
      strict_mode: "true"

Environment Variables

Recipes can use environment-based secrets:

extensions:
  - type: stdio
    name: github-mcp
    cmd: github-mcp-server
    env_keys: [GITHUB_PERSONAL_ACCESS_TOKEN]

MCP Server Access with Authentication

IMPORTANT: When working with HTTP-based MCP servers that require authentication (Bearer tokens, API keys), do NOT use sse or streamable_http extension types - they don't properly support custom authentication headers in Goose recipes.

Instead, use this pattern:

parameters:
  - key: API_KEY
    input_type: string
    requirement: optional
    description: "API key for MCP server authentication"
    default: "your-api-key"

instructions: |
  **MCP Server Access**
  The MCP server is available at: https://your-server.example.com/​mcp
  Authentication: Use Bearer token with API key: {{ API_KEY }}

  The server provides tools for:
  - tool_name_1: Description
  - tool_name_2: Description

  Access these tools by making HTTP requests with the Authorization header.

This approach:

  1. Passes authentication credentials as parameters
  2. Documents the MCP server URL and available tools in instructions
  3. Guides the agent to make authenticated HTTP calls directly
  4. Avoids extension configuration issues with custom headers

Validation and Testing

Run Recipe Validation

Recipes are validated for:

  • Required fields presence
  • Parameter-template matching
  • Optional parameters have defaults
  • Valid YAML/​JSON syntax
  • Extension configuration validity

Debug Common Issues

IssueSolution
"Template variable without parameter"Add parameter definition for {{ variable }}
"Optional parameter without default"Add default: "value" to parameter
"Invalid YAML syntax"Check indentation and quotes
"Shell command failed"Test command separately, ensure proper escaping

Template Features

Parameter Substitution

  • Basic: {{ parameter_name }}
  • With filter: {{ content | indent(2) }}

Template Inheritance

{% extends "parent.yaml" %}
{% block content %}Modified content{% endblock %}

Built-in Parameters

  • recipe_dir: Directory containing the recipe file

File Organization

CLI vs Desktop Formats

CLI Format (root-level fields):

version: "1.0.0"
title: "Recipe"
description: "Description"

Desktop Format (nested in recipe object):

name: "Recipe Name"
recipe:
  version: "1.0.0"
  title: "Recipe"
  description: "Description"

Both formats work with goose run --recipe command.

Reference Documentation

For complete field reference and advanced configurations, see:

  • references/​recipe-structure.md - Complete field reference and configuration options

Recipe Templates

Ready-to-use templates in assets/:

  • basic-recipe-template.yaml - Simple recipe structure
  • advanced-recipe-template.yaml - Complex features showcase
  • mcp-server-recipe-template.yaml - HTTP-based MCP servers with authentication

More skills from majiayu000

xiaohongshu logo
majiayu000/claude-arsenal

xiaohongshu

xiaohongshu

286 148
View
agent-task-conductor logo
majiayu000/claude-skill-registry

agent-task-conductor

Conduct multi-agent task orchestration and workflow coordination.

663 1
View
conductor-setup logo
majiayu000/claude-skill-registry

conductor-setup

Initialize project with Conductor artifacts (product definition,

663 1
View
animation-designer logo
majiayu000/claude-skill-registry

animation-designer

Expert in web animations, transitions, and motion design using Framer Motion and CSS

663 1
View
diagramming logo
majiayu000/claude-skill-registry

diagramming

Creates Mermaid and ASCII diagrams for flowcharts, architecture, ERDs, state machines, mindmaps, and more. Use when user mentions diagram, flowchart, mermaid, ASCII diagram, text diagram, terminal diagram, visualize, C4, mindmap, architecture diagram, sequence diagram, ERD, or needs visual docume...

663 1
View
h3-pg logo
majiayu000/claude-skill-registry-data

h3-pg

PostgreSQL bindings for H3 hexagonal grid system. Use when working with H3 cells in Postgres, including spatial indexing, geometry/geography integration, and raster analysis.

23 1
View
conductor-development logo
majiayu000/claude-skill-registry

conductor-development

Context-Driven Development skill for projects using Conductor. Use this skill when you detect a `conductor/` directory in the project, when working on tasks defined in a `plan.md` file, or when the user asks about tracks, specs, or plans. Automatically applies TDD workflow, tracks task completion...

663 1
View
conductor-status logo
majiayu000/claude-skill-registry

conductor-status

Display project status, active tracks, and next actions

663 1
View
dockerization logo
majiayu000/claude-skill-registry

dockerization

Official Stakpak application containerization standard operating procedure, a step-by-step guidline to properly dockerize applications. This is a rule book curated by the Stakpak Team.

663 1
View

Popular AI tools

Kaiber logo
Video

Kaiber

Generate, edit, and beat-sync AI video with leading models in one workspace.

Paid
View
Vimcal logo
Productivity

Vimcal

The world's fastest calendar for remote work

Free
View

Transform Your Design with AI Designer by ImgCreator.ai

Freemium
View
Akool AI logo
Content & writing

Akool AI

Revolutionizing Video Production with AI-Powered Creativity

Paid
View

Extend an image past the frame and let AI fill the new aspect ratio.

Freemium
View
StarByFace logo
Security

StarByFace

Discover your celebrity doppelgänger with StarByFace!

Free
View
C

ChainClarity explains 700+ crypto whitepapers in plain English, with layered summaries, comparisons, research tools, alerts, and a $4.99 Pro plan.

Freemium
View
Opus Clip logo
Coding & apps

Opus Clip

Opus.ai: Revolutionize Your Web Experience

Free
View