Platform Tools
Golden Path exposes a set of platform tools via MCP that are always available regardless of which architecture is selected. These tools let you discover architectures, analyze requirements, and manage skills.
analyze_requirements
Analyzes project requirements and recommends the best-fit architecture. Provide a free-text description of your project and the tool returns a ranked recommendation with explanations.
- Name
requirements- Type
- string
- Description
Free-text description of your project needs, team structure, and constraints.
Example prompt
Analyze my requirements: I'm building a SaaS platform
for project management. We have 3 teams, need independent
deployments, and expect high traffic on the task service.
Response
{
"recommended": "microservices",
"reasoning": "Independent team ownership, separate deployment needs, and isolated scaling requirements align well with microservices.",
"alternatives": [
{
"architecture": "modular-monolith",
"reasoning": "Could work initially with module boundaries..."
}
]
}
get_architecture_details
Returns information about available architectures. Without parameters, it lists all architectures. With an architecture specified, it returns the full manifest, available skills, and tools.
- Name
architecture- Type
- string
- Description
Architecture slug to get details for. Omit to list all available architectures.
List all
What architectures are available?
Response (list)
{
"architectures": [
{
"name": "clean-architecture",
"description": "Domain-centric design with strict dependency rules",
"bestFor": "Complex business logic with rich domain models"
},
{
"name": "modular-monolith",
"description": "Independent modules in a single deployment",
"bestFor": "Teams wanting module boundaries without distributed complexity"
}
]
}
select_architecture
Activates an architecture package and makes its skills available as MCP tools. After selection, architecture-specific tools (like create_solution, add_service, implement_feature) become available.
- Name
architecture- Type
- string
- Description
Architecture slug to activate (e.g.,
clean-architecture,modular-monolith,microservices).
Example prompt
Select the clean-architecture package.
Response
{
"architecture": "clean-architecture",
"metadata": { "...manifest details..." },
"skills": ["create-solution", "add-module", "implement-feature"],
"availableTools": ["..."]
}
plan_architecture
Analyzes an existing codebase and designs a reusable architecture package. Returns a decomposition guide, plan template, and discovery questions. The AI reads the repo, fills in the plan, and saves it to docs/ARCHITECTURE_PLAN.md for review.
This is the starting point for turning any reference repo into a Golden Path architecture package.
- Name
architecture_name- Type
- string
- Description
Slug for the new architecture (e.g.,
react-clean-arch,dotnet-clean-architecture).
- Name
tech_stack- Type
- string
- Description
Comma-separated tech stack hint (e.g.,
React, TypeScript, Vite). The AI will verify against the actual repo.
Example prompt
Analyze the current repo and call plan_architecture
to plan an architecture package.
Use the name "bulletproof-react" for the architecture.
Response (abbreviated)
{
"important": "Read the existing repo FIRST...",
"architecture_name": "bulletproof-react",
"existing_architectures": [
{ "slug": "clean-architecture", "name": "Clean Architecture", "tech_stack": [".NET"], "best_for": "..." }
],
"decomposition_guide": "# Decomposition Guide\n...",
"plan_template": "# Architecture Plan\n...",
"instructions": "1. Scan the repo...\n2. Apply decomposition guide..."
}
create_architecture
Registers a new architecture package. Typically called after plan_architecture has produced a reviewed plan. The architecture becomes available immediately — follow up with create_skill calls to add skills.
- Name
name- Type
- string
- Description
Display name (e.g.,
Bulletproof React).
- Name
slug- Type
- string
- Description
URL-safe identifier (e.g.,
bulletproof-react). Must be unique.
- Name
description- Type
- string
- Description
What the architecture is for (1-2 sentences).
- Name
tech_stack- Type
- string
- Description
Comma-separated technologies.
- Name
best_for- Type
- string
- Description
When to use this architecture (team size, project type, constraints).
- Name
version- Type
- string
- Description
Semantic version (defaults to
1.0.0).
Example prompt
Create the architecture based on our reviewed plan.
Response
{
"success": true,
"slug": "bulletproof-react",
"name": "Bulletproof React",
"next_step": "Call create_skill with architecture='bulletproof-react' to add skills. Start with skill_name='create-solution'."
}
plan_skill
Returns the skill format specification and a plan template for authoring a new skill. Use this before create_skill to understand the format and plan the skill's structure.
- Name
requirements- Type
- string
- Description
Free-text description of what the skill should do.
- Name
architecture- Type
- string
- Description
Target architecture slug or
shared. Can be decided later.
Example prompt
I want to plan a skill that adds Redis caching
to a service.
create_skill
Creates or updates a skill in an architecture package. Accepts structured data (name, description, args, phases, templates) and stores the skill definition and template files. The new skill is immediately available as an MCP tool.
For skills with many templates (>10), create the skill without templates first, then use add_templates in parallel batches. This avoids hitting tool call size limits.
- Name
architecture- Type
- string
- Description
Target architecture slug or
shared.
- Name
skill_name- Type
- string
- Description
Skill slug (e.g.,
add-caching).
- Name
description- Type
- string
- Description
What the skill does (1-2 sentences).
- Name
title- Type
- string
- Description
Short display name (2-4 words, e.g.,
New Solution,Add Authentication).
- Name
phases- Type
- string
- Description
JSON array of phases. Each:
{ "title": "...", "content": "..." }.
- Name
args- Type
- string
- Description
JSON array of arguments. Each:
{ "name": "...", "description": "...", "required": true }.
- Name
templates- Type
- string
- Description
JSON array of template files. Each:
{ "filename": "...", "content": "..." }. For large skills, omit this and useadd_templatesinstead.
- Name
overwrite- Type
- string
- Description
Set to
trueto replace an existing skill.
- Name
keep_templates- Type
- string
- Description
Set to
truewhen overwriting to keep existing templates. Use this to update skill metadata/phases without re-sending all templates.
Small skill (≤10 templates)
Create the caching skill based on the plan
we reviewed.
Large skill (>10 templates)
Create the create-solution skill without templates,
then add templates in batches.
Response
{
"success": true,
"architecture": "clean-architecture",
"skill_name": "add-caching",
"templates_created": ["CacheService.cs"]
}
add_templates
Adds or updates template files for an existing skill. Uses merge semantics: existing filenames are updated, new filenames are added. Call this in parallel batches of 5-10 templates for large skills.
- Name
architecture- Type
- string
- Description
Architecture slug or
shared.
- Name
skill_name- Type
- string
- Description
Skill slug (e.g.,
create-solution).
- Name
templates- Type
- string
- Description
JSON array of template files. Each:
{ "filename": "...", "content": "..." }. Use dot-notation for filenames.
Example prompt
Add the missing launchSettings.json template
to the create-solution skill.
Response
{
"success": true,
"architecture": "clean-architecture-jasontaylor",
"skill_name": "create-solution",
"templates_added": ["AppHost.Properties.launchSettings.json"],
"count": 1
}
remove_templates
Removes template files from an existing skill by filename.
- Name
architecture- Type
- string
- Description
Architecture slug or
shared.
- Name
skill_name- Type
- string
- Description
Skill slug (e.g.,
create-solution).
- Name
filenames- Type
- string
- Description
JSON array of template filenames to remove.
Example prompt
Remove the OldService.cs template from the
add-caching skill.
Response
{
"success": true,
"architecture": "clean-architecture",
"skill_name": "add-caching",
"templates_removed": ["OldService.cs"],
"count": 1
}
validate_skill
Validates an existing skill's templates against its phases and args. Returns warnings for mismatches — not blocking, but informative. Run this after creating or updating a skill to catch issues early.
Checks performed:
- All
**Template:**refs in phases match actual template filenames - No orphan templates (exist but unreferenced in phases)
- All
{Variables}in template content match defined args - All
{{#if flag}}conditionals match enum values from args
- Name
architecture- Type
- string
- Description
Architecture slug or
shared.
- Name
skill_name- Type
- string
- Description
Skill slug to validate.
Example prompt
Validate the create-solution skill in the
bulletproof-react architecture.
Response (warnings found)
{
"success": true,
"valid": false,
"warnings": [
"Phase references template 'OldFile.cs' but no template with that filename exists",
"Template 'Unused.cs' exists but is not referenced in any phase",
"Template 'Config.cs' uses {DbName} but no arg 'DbName' is defined"
],
"stats": {
"args": 2,
"enum_values": ["sqlite", "postgresql"],
"templates": 54,
"phase_refs": 53
}
}
pull_skill
Reads an existing skill and returns its structured data for inspection or modification. Returns both a rendered markdown plan (for human review) and structured fields (for passing to create_skill).
- Name
skill_name- Type
- string
- Description
Skill slug (directory name).
- Name
architecture- Type
- string
- Description
Architecture slug. If omitted, searches shared skills first, then all architectures.
Example prompt
Pull the add-service skill so I can review it.
Response (abbreviated)
{
"architecture": "microservices",
"skillName": "add-service",
"description": "Adds a new microservice...",
"args": [...],
"phases": [...],
"rendered_plan": "# Add Service\n\n..."
}