Skip to main content
Glama

Get project insights

get_project_insights
Read-onlyIdempotent

Summarize project-level learnings and outcomes with metrics for engagement, experience reuse, efficiency, path comparisons, and live alerts. Use to assess how OpenReflex is performing in a project.

Instructions

Summarize what OpenReflex has recorded and learned in this project. Returns: structured activation, engagement, experience reuse, outcomes, observational efficiency with and without prior experience, path-comparison trends, routing agreement, live alerts, execution-control metrics and lesson count. Efficiency comparisons are observational and are not presented as causal evidence. Use when: the user asks how OpenReflex is doing in this project or a program needs project-level metrics. Not for: individual past tasks (use search_experience). Side effects: none; read-only. Errors: an MCP error is returned until the project is approved.

Input Schema

NameRequiredDescriptionDefault

No arguments

Output Schema

NameRequiredDescriptionDefault
lessonsYesNumber of extracted lessons retained in this project.
projectYesLocal project path represented by this Experience Graph.
routingYesRecommendation agreement with retrospective realised performance.
outcomesYesKnown and verified outcome coverage.
activationYesActivation and first-use metrics.
engagementYesCapture and usage volume.
path_checkYesSimple evidence-backed path comparison counts.
live_alertsYesCounts of loop, repetition, stagnation, context and budget alerts.
experience_reuseYesHow often prior experience was reused.
project_reflexesYesProject-specific reusable procedures learned from execution evidence.
execution_controlYesRuntime verdict and budget-adherence metrics.
efficiency_observationalYesObserved efficiency with versus without reused experience; this is not a controlled comparison.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changedv0.9.6
    • addedOutput schema / $defs / ProjectReflexMetrics
      Added value: +{
      +  "properties": {
      +    "credit_signals": {
      +      "description": "Action-level execution-credit signals stored across surfaced Reflexes.",
      +      "minimum": 0,
      +      "title": "Credit Signals",
      +      "type": "integer"
      +    },
      +    "credit_spine_actions": {
      +      "description": "Action signals with enough repeated evidence to participate in compressed Reflex procedures.",
      +      "minimum": 0,
      +      "title": "Credit Spine Actions",
      +      "type": "integer"
      +    },
      +    "learned": {
      +      "description": "Specialised Reflexes promoted after repeated successful executions.",
      +      "minimum": 0,
      +      "title": "Learned",
      +      "type": "integer"
      +    },
      +    "learning": {
      +      "description": "Specialised Reflexes still accumulating evidence.",
      +      "minimum": 0,
      +      "title": "Learning",
      +      "type": "integer"
      +    },
      +    "project_state": {
      +      "description": "Current maturity of the root Project Reflex.",
      +      "enum": [
      +        "cold",
      +        "learning",
      +        "learned",
      +        "proven",
      +        "stale"
      +      ],
      +      "title": "Project State",
      +      "type": "string"
      +    },
      +    "project_support": {
      +      "description": "Captured experiences supporting the root Project Reflex.",
      +      "minimum": 0,
      +      "title": "Project Support",
      +      "type": "integer"
      +    },
      +    "proven": {
      +      "description": "Specialised Reflexes backed by repeated explicitly verified evidence.",
      +      "minimum": 0,
      +      "title": "Proven",
      +      "type": "integer"
      +    },
      +    "specialised_total": {
      +      "description": "Number of specialised area/procedure Reflexes.",
      +      "minimum": 0,
      +      "title": "Specialised Total",
      +      "type": "integer"
      +    },
      +    "stale": {
      +      "description": "Previously learned Reflexes contradicted by newer evidence.",
      +      "minimum": 0,
      +      "title": "Stale",
      +      "type": "integer"
      +    },
      +    "visible": {
      +      "description": "Project and specialised Reflexes currently surfaced.",
      +      "minimum": 0,
      +      "title": "Visible",
      +      "type": "integer"
      +    }
      +  },
      +  "required": [
      +    "visible",
      +    "project_state",
      +    "project_support",
      +    "specialised_total",
      +    "learning",
      +    "learned",
      +    "proven",
      +    "stale",
      +    "credit_signals",
      +    "credit_spine_actions"
      +  ],
      +  "title": "ProjectReflexMetrics",
      +  "type": "object"
      +}
    • addedOutput schema / properties / project_reflexes
      Added value: +{
      +  "$ref": "#/$defs/ProjectReflexMetrics",
      +  "description": "Project-specific reusable procedures learned from execution evidence."
      +}
    • changedOutput schema / required
      Previous value: -[
      -  "project",
      -  "activation",
      -  "engagement",
      -  "experience_reuse",
      -  "outcomes",
      -  "efficiency_observational",
      -  "path_check",
      -  "routing",
      -  "live_alerts",
      -  "execution_control",
      -  "lessons"
      -]New value: +[
      +  "project",
      +  "activation",
      +  "engagement",
      +  "experience_reuse",
      +  "outcomes",
      +  "efficiency_observational",
      +  "path_check",
      +  "routing",
      +  "live_alerts",
      +  "execution_control",
      +  "project_reflexes",
      +  "lessons"
      +]
  2. Changed15 schema fields changedv0.5.1
    • addedOutput schema / $defs
      Added value: +{
      +  "ActivationMetrics": {
      +    "properties": {
      +      "approved_at": {
      +        "anyOf": [
      +          {
      +            "type": "number"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "description": "Unix timestamp when capture was approved for this project.",
      +        "title": "Approved At"
      +      },
      +      "first_session_captured": {
      +        "anyOf": [
      +          {
      +            "type": "boolean"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "description": "Whether the first observed session produced an experience.",
      +        "title": "First Session Captured"
      +      },
      +      "seconds_to_first_task": {
      +        "anyOf": [
      +          {
      +            "type": "number"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "description": "Seconds from approval to the first captured task.",
      +        "title": "Seconds To First Task"
      +      }
      +    },
      +    "required": [
      +      "approved_at",
      +      "seconds_to_first_task",
      +      "first_session_captured"
      +    ],
      +    "title": "ActivationMetrics",
      +    "type": "object"
      +  },
      +  "EfficiencyObservational": {
      +    "properties": {
      +      "model_token_change": {
      +        "anyOf": [
      +          {
      +            "type": "number"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "description": "Relative mean model-token change when real telemetry exists; observational, not causal.",
      +        "title": "Model Token Change"
      +      },
      +      "time_change": {
      +        "anyOf": [
      +          {
      +            "type": "number"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "description": "Relative mean active-time change; observational, not causal.",
      +        "title": "Time Change"
      +      },
      +      "tool_call_change": {
      +        "anyOf": [
      +          {
      +            "type": "number"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "description": "Relative mean tool-call change; observational, not causal.",
      +        "title": "Tool Call Change"
      +      },
      +      "with_prior_experience": {
      +        "$ref": "#/$defs/EfficiencyProfile",
      +        "description": "Observed metrics for tasks that reused prior experience."
      +      },
      +      "without_prior_experience": {
      +        "$ref": "#/$defs/EfficiencyProfile",
      +        "description": "Observed metrics for tasks without prior experience."
      +      }
      +    },
      +    "required": [
      +      "with_prior_experience",
      +      "without_prior_experience",
      +      "tool_call_change",
      +      "model_token_change",
      +      "time_change"
      +    ],
      +    "title": "EfficiencyObservational",
      +    "type": "object"
      +  },
      +  "EfficiencyProfile": {
      +    "properties": {
      +      "known_outcomes": {
      +        "description": "Number of known outcomes in the group.",
      +        "minimum": 0,
      +        "title": "Known Outcomes",
      +        "type": "integer"
      +      },
      +      "minutes": {
      +        "anyOf": [
      +          {
      +            "type": "number"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "description": "Mean active execution time in minutes.",
      +        "title": "Minutes"
      +      },
      +      "model_tokens": {
      +        "anyOf": [
      +          {
      +            "type": "number"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "description": "Mean real model-token usage when Claude telemetry is available.",
      +        "title": "Model Tokens"
      +      },
      +      "n": {
      +        "description": "Number of experiences in this observational group.",
      +        "minimum": 0,
      +        "title": "N",
      +        "type": "integer"
      +      },
      +      "success_rate": {
      +        "anyOf": [
      +          {
      +            "type": "number"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "description": "Success rate among known outcomes in the group.",
      +        "title": "Success Rate"
      +      },
      +      "tool_calls": {
      +        "anyOf": [
      +          {
      +            "type": "number"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "description": "Mean tool calls in the group.",
      +        "title": "Tool Calls"
      +      },
      +      "tool_output_tokens_estimate": {
      +        "anyOf": [
      +          {
      +            "type": "number"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "description": "Mean legacy estimate of tool-output tokens.",
      +        "title": "Tool Output Tokens Estimate"
      +      }
      +    },
      +    "required": [
      +      "n",
      +      "tool_calls",
      +      "model_tokens",
      +      "tool_output_tokens_estimate",
      +      "minutes",
      +      "success_rate",
      +      "known_outcomes"
      +    ],
      +    "title": "EfficiencyProfile",
      +    "type": "object"
      +  },
      +  "EngagementMetrics": {
      +    "properties": {
      +      "active_week_ratio": {
      +        "anyOf": [
      +          {
      +            "type": "number"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "description": "Share of elapsed weeks containing activity.",
      +        "title": "Active Week Ratio"
      +      },
      +      "active_weeks": {
      +        "description": "Distinct weeks containing captured executions.",
      +        "minimum": 0,
      +        "title": "Active Weeks",
      +        "type": "integer"
      +      },
      +      "agents": {
      +        "description": "Agents observed in this project.",
      +        "items": {
      +          "type": "string"
      +        },
      +        "title": "Agents",
      +        "type": "array"
      +      },
      +      "executions": {
      +        "description": "Total execution records.",
      +        "minimum": 0,
      +        "title": "Executions",
      +        "type": "integer"
      +      },
      +      "experiences": {
      +        "description": "Completed executions retained as reusable experiences.",
      +        "minimum": 0,
      +        "title": "Experiences",
      +        "type": "integer"
      +      },
      +      "substantial_tasks": {
      +        "description": "Tasks eligible for planning and experience retrieval.",
      +        "minimum": 0,
      +        "title": "Substantial Tasks",
      +        "type": "integer"
      +      },
      +      "tasks": {
      +        "description": "Total captured tasks, including non-substantial tasks.",
      +        "minimum": 0,
      +        "title": "Tasks",
      +        "type": "integer"
      +      },
      +      "weeks_since_start": {
      +        "description": "Weeks elapsed since activation or first task.",
      +        "minimum": 1,
      +        "title": "Weeks Since Start",
      +        "type": "integer"
      +      }
      +    },
      +    "required": [
      +      "tasks",
      +      "substantial_tasks",
      +      "executions",
      +      "experiences",
      +      "active_weeks",
      +      "weeks_since_start",
      +      "active_week_ratio",
      +      "agents"
      +    ],
      +    "title": "EngagementMetrics",
      +    "type": "object"
      +  },
      +  "ExecutionControlMetrics": {
      +    "properties": {
      +      "success_after_pivot_or_stop": {
      +        "anyOf": [
      +          {
      +            "type": "number"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "description": "Observed success rate after pivot/stop advice; not causal.",
      +        "title": "Success After Pivot Or Stop"
      +      },
      +      "tasks_within_tool_call_budget": {
      +        "anyOf": [
      +          {
      +            "type": "number"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "description": "Share of measured tasks finishing within the tool-call budget.",
      +        "title": "Tasks Within Tool Call Budget"
      +      },
      +      "verdicts": {
      +        "additionalProperties": {
      +          "type": "integer"
      +        },
      +        "description": "Counts of runtime continue, pivot and stop verdicts.",
      +        "title": "Verdicts",
      +        "type": "object"
      +      }
      +    },
      +    "required": [
      +      "verdicts",
      +      "success_after_pivot_or_stop",
      +      "tasks_within_tool_call_budget"
      +    ],
      +    "title": "ExecutionControlMetrics",
      +    "type": "object"
      +  },
      +  "ExperienceReuseMetrics": {
      +    "properties": {
      +      "benefit_rate": {
      +        "anyOf": [
      +          {
      +            "type": "number"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "description": "Deprecated compatibility alias of reuse_rate; it does not measure causal benefit.",
      +        "title": "Benefit Rate"
      +      },
      +      "reuse_rate": {
      +        "anyOf": [
      +          {
      +            "type": "number"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "description": "Share of substantial tasks that received relevant prior experience; this measures coverage, not benefit.",
      +        "title": "Reuse Rate"
      +      },
      +      "tasks_with_prior_experience": {
      +        "description": "Number of substantial tasks that received prior experience.",
      +        "minimum": 0,
      +        "title": "Tasks With Prior Experience",
      +        "type": "integer"
      +      }
      +    },
      +    "required": [
      +      "reuse_rate",
      +      "benefit_rate",
      +      "tasks_with_prior_experience"
      +    ],
      +    "title": "ExperienceReuseMetrics",
      +    "type": "object"
      +  },
      +  "OutcomeMetrics": {
      +    "properties": {
      +      "known": {
      +        "description": "Experiences whose outcome is success or failure rather than unknown.",
      +        "minimum": 0,
      +        "title": "Known",
      +        "type": "integer"
      +      },
      +      "success_rate": {
      +        "anyOf": [
      +          {
      +            "type": "number"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "description": "Success rate among experiences with known outcomes.",
      +        "title": "Success Rate"
      +      },
      +      "verified": {
      +        "description": "Outcomes explicitly verified by the agent or user.",
      +        "minimum": 0,
      +        "title": "Verified",
      +        "type": "integer"
      +      }
      +    },
      +    "required": [
      +      "known",
      +      "verified",
      +      "success_rate"
      +    ],
      +    "title": "OutcomeMetrics",
      +    "type": "object"
      +  },
      +  "PathCheckMetrics": {
      +    "properties": {
      +      "better_option_found": {
      +        "description": "Tasks where comparable past evidence indicated a better option.",
      +        "minimum": 0,
      +        "title": "Better Option Found",
      +        "type": "integer"
      +      },
      +      "by_class": {
      +        "additionalProperties": {
      +          "type": "integer"
      +        },
      +        "description": "Number of evidence-backed path checks by task class.",
      +        "title": "By Class",
      +        "type": "object"
      +      },
      +      "comparisons": {
      +        "description": "Completed tasks with enough comparable past evidence to check another path.",
      +        "minimum": 0,
      +        "title": "Comparisons",
      +        "type": "integer"
      +      }
      +    },
      +    "required": [
      +      "comparisons",
      +      "better_option_found",
      +      "by_class"
      +    ],
      +    "title": "PathCheckMetrics",
      +    "type": "object"
      +  },
      +  "RoutingMetrics": {
      +    "properties": {
      +      "agreement": {
      +        "anyOf": [
      +          {
      +            "type": "number"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "description": "Share of comparable executions where the recommendation matched retrospective best.",
      +        "title": "Agreement"
      +      },
      +      "compared_executions": {
      +        "description": "Number of executions eligible for routing-agreement comparison.",
      +        "minimum": 0,
      +        "title": "Compared Executions",
      +        "type": "integer"
      +      },
      +      "retrospective_best": {
      +        "additionalProperties": {
      +          "type": "string"
      +        },
      +        "description": "Best realised strategy per task class when enough evidence exists.",
      +        "title": "Retrospective Best",
      +        "type": "object"
      +      }
      +    },
      +    "required": [
      +      "retrospective_best",
      +      "agreement",
      +      "compared_executions"
      +    ],
      +    "title": "RoutingMetrics",
      +    "type": "object"
      +  }
      +}
    • addedOutput schema / properties / activation
      Added value: +{
      +  "$ref": "#/$defs/ActivationMetrics",
      +  "description": "Activation and first-use metrics."
      +}
    • addedOutput schema / properties / efficiency_observational
      Added value: +{
      +  "$ref": "#/$defs/EfficiencyObservational",
      +  "description": "Observed efficiency with versus without reused experience; this is not a controlled comparison."
      +}
    • addedOutput schema / properties / engagement
      Added value: +{
      +  "$ref": "#/$defs/EngagementMetrics",
      +  "description": "Capture and usage volume."
      +}
    • addedOutput schema / properties / execution_control
      Added value: +{
      +  "$ref": "#/$defs/ExecutionControlMetrics",
      +  "description": "Runtime verdict and budget-adherence metrics."
      +}
    • addedOutput schema / properties / experience_reuse
      Added value: +{
      +  "$ref": "#/$defs/ExperienceReuseMetrics",
      +  "description": "How often prior experience was reused."
      +}
    • addedOutput schema / properties / lessons
      Added value: +{
      +  "description": "Number of extracted lessons retained in this project.",
      +  "minimum": 0,
      +  "title": "Lessons",
      +  "type": "integer"
      +}
    • addedOutput schema / properties / live_alerts
      Added value: +{
      +  "additionalProperties": {
      +    "type": "integer"
      +  },
      +  "description": "Counts of loop, repetition, stagnation, context and budget alerts.",
      +  "title": "Live Alerts",
      +  "type": "object"
      +}
    • addedOutput schema / properties / outcomes
      Added value: +{
      +  "$ref": "#/$defs/OutcomeMetrics",
      +  "description": "Known and verified outcome coverage."
      +}
    • addedOutput schema / properties / path_check
      Added value: +{
      +  "$ref": "#/$defs/PathCheckMetrics",
      +  "description": "Simple evidence-backed path comparison counts."
      +}
    • addedOutput schema / properties / project
      Added value: +{
      +  "description": "Local project path represented by this Experience Graph.",
      +  "title": "Project",
      +  "type": "string"
      +}
    • removedOutput schema / properties / result
      Removed value: -{
      -  "title": "Result",
      -  "type": "string"
      -}
    • addedOutput schema / properties / routing
      Added value: +{
      +  "$ref": "#/$defs/RoutingMetrics",
      +  "description": "Recommendation agreement with retrospective realised performance."
      +}
    • changedOutput schema / required
      Previous value: -[
      -  "result"
      -]New value: +[
      +  "project",
      +  "activation",
      +  "engagement",
      +  "experience_reuse",
      +  "outcomes",
      +  "efficiency_observational",
      +  "path_check",
      +  "routing",
      +  "live_alerts",
      +  "execution_control",
      +  "lessons"
      +]
    • changedOutput schema / title
      Previous value: -"get_project_insightsOutput"New value: +"ProjectInsightsResult"
  3. Addedv0.3.2

TDQS

A4.9/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly, idempotent, and non-destructive behavior, and the description reinforces this with 'Side effects: none; read-only.' It adds genuinely useful context beyond annotations: the error condition until project approval and the caveat that efficiency comparisons are observational, not causal evidence.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with labeled sections, front-loads the core purpose, and every section earns its place: purpose, return content, usage conditions, exclusions, side effects, and errors. The length is justified given the breadth of insights returned.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

This tool has no parameters and a rich output schema, and the description covers everything needed for correct invocation: when to use it, when not to, the read-only guarantee, the project-approval error condition, and the causal-evidence caveat. No critical context is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has zero parameters, so there is no schema gap for the description to compensate for. The baseline for a zero-parameter tool is 4, and the description appropriately focuses on what the tool returns and when to use it rather than parameter details.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb and resource: 'Summarize what OpenReflex has recorded and learned in this project.' It also distinguishes itself from search_experience by clarifying it covers project-level insights, not individual past tasks. The detailed Returns list further disambiguates the tool's scope.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicit 'Use when' and 'Not for' sections give clear invocation conditions and explicitly name search_experience as the alternative for individual past tasks. This gives an agent direct routing guidance with no inference required.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.