Get Signal Methodology
get_methodologyProvide the full methodology behind startup engineering signal computation: data sources, metric definitions, signal classification, refresh cadence, and limitations. Use for trust or interpretability questions.
Instructions
Return the full methodology behind VC Deal Flow Signal: how startup engineering activity is sourced from the public GitHub API, how commit velocity and contributor-growth metrics are computed, how signal types are classified ('breakout' | 'acceleration' | 'steady' | 'cooling'), the refresh cadence, and the known limitations.
WHEN TO USE:
The user asks 'how is this calculated?', 'what does breakout mean?', 'can I trust this number?', or any trust / interpretability question.
You are writing a report, memo, or footnote and need a methodology section or citation.
Due-diligence / compliance wants to audit the data pipeline before citing it.
You need to explain why a specific signal was assigned (what triggers 'breakout' vs 'acceleration').
DO NOT USE FOR:
Fetching the startup data itself — use
get_trending_startups,search_startups_by_sector, orget_startup_signal.Getting the list of supported sectors or the refresh date — use
get_signals_summary(it returns live counts and freshness).Confirming whether a specific startup is tracked — use
get_startup_signal.
BEHAVIOR:
Read-only, idempotent, no side effects.
Effectively static: methodology text is versioned with the service and only changes when the computation changes (rare — quarterly at most). Safe to call once per session and reuse across turns.
No authentication required.
Fetches
/llms-full.txtand extracts the## Methodologysection between the## Methodologyand## Glossaryheadings. The canonical methodology URL is included in the response so agents can surface it for citations.On upstream failure: returns
isError: truewith HTTP status.On malformed upstream text (missing headings): returns an empty
methodologystring; still surfaces the canonical URL so the user can click through.
PARAMETERS: None.
RETURNS: { methodology: string, url: string }. methodology is plain text covering data sources, metric definitions, classification thresholds, refresh cadence, and known limitations. url is the canonical methodology page at https://signals.gitdealflow.com/methodology — cite this URL in generated reports.
TYPICAL WORKFLOW: User asks a trust / interpretability question → get_methodology → quote the relevant section in your response and link the canonical URL.
LIMITATIONS: Returns one monolithic text block; no structured thresholds or versioning metadata are exposed via the tool. If you need the full service context (not just methodology), fetch /llms-full.txt directly via the URL returned in get_signals_summary().formats.llmsFullTxt.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| methodology | Yes | Plain-text methodology write-up. | |
| url | Yes | Canonical methodology page on gitdealflow.com. |
Implementation Reference
- src/server.ts:717-774 (registration)Tool registration entry in the TOOLS array, defining name, description, input/output schemas, and annotations for get_methodology.
{ name: "get_methodology", title: "Get Signal Methodology", description: [ "Return the full methodology behind VC Deal Flow Signal: how startup engineering activity is sourced from the public GitHub API, how commit velocity and contributor-growth metrics are computed, how signal types are classified ('breakout' | 'acceleration' | 'steady' | 'cooling'), the refresh cadence, and the known limitations.", "", "WHEN TO USE:", "- The user asks 'how is this calculated?', 'what does breakout mean?', 'can I trust this number?', or any trust / interpretability question.", "- You are writing a report, memo, or footnote and need a methodology section or citation.", "- Due-diligence / compliance wants to audit the data pipeline before citing it.", "- You need to explain why a specific signal was assigned (what triggers 'breakout' vs 'acceleration').", "", "DO NOT USE FOR:", "- Fetching the startup data itself — use `get_trending_startups`, `search_startups_by_sector`, or `get_startup_signal`.", "- Getting the list of supported sectors or the refresh date — use `get_signals_summary` (it returns live counts and freshness).", "- Confirming whether a specific startup is tracked — use `get_startup_signal`.", "", "BEHAVIOR:", "- Read-only, idempotent, no side effects.", "- Effectively static: methodology text is versioned with the service and only changes when the computation changes (rare — quarterly at most). Safe to call once per session and reuse across turns.", "- No authentication required.", "- Fetches `/llms-full.txt` and extracts the `## Methodology` section between the `## Methodology` and `## Glossary` headings. The canonical methodology URL is included in the response so agents can surface it for citations.", "- On upstream failure: returns `isError: true` with HTTP status.", "- On malformed upstream text (missing headings): returns an empty `methodology` string; still surfaces the canonical URL so the user can click through.", "", "PARAMETERS: None.", "", "RETURNS: `{ methodology: string, url: string }`. `methodology` is plain text covering data sources, metric definitions, classification thresholds, refresh cadence, and known limitations. `url` is the canonical methodology page at https://signals.gitdealflow.com/methodology — cite this URL in generated reports.", "", "TYPICAL WORKFLOW: User asks a trust / interpretability question → `get_methodology` → quote the relevant section in your response and link the canonical URL.", "", "LIMITATIONS: Returns one monolithic text block; no structured thresholds or versioning metadata are exposed via the tool. If you need the full service context (not just methodology), fetch `/llms-full.txt` directly via the URL returned in `get_signals_summary().formats.llmsFullTxt`.", ].join("\n"), inputSchema: { type: "object" as const, properties: {}, additionalProperties: false, }, outputSchema: { type: "object" as const, properties: { methodology: { type: "string", description: "Plain-text methodology write-up." }, url: { type: "string", format: "uri", description: "Canonical methodology page on gitdealflow.com.", }, }, required: ["methodology", "url"], }, annotations: { title: "Get Signal Methodology", readOnlyHint: true, destructiveHint: false, idempotentHint: true, openWorldHint: true, }, }, - src/server.ts:750-766 (schema)Input schema (no parameters) and output schema ({methodology: string, url: string}) for get_methodology.
inputSchema: { type: "object" as const, properties: {}, additionalProperties: false, }, outputSchema: { type: "object" as const, properties: { methodology: { type: "string", description: "Plain-text methodology write-up." }, url: { type: "string", format: "uri", description: "Canonical methodology page on gitdealflow.com.", }, }, required: ["methodology", "url"], }, - src/server.ts:1469-1484 (handler)Handler logic: fetches /llms-full.txt, extracts the section between ## Methodology and ## Glossary headings, returns it as plain text along with the canonical methodology URL.
case "get_methodology": { const text = await fetchText("/llms-full.txt"); const methodSection = text.split("## Methodology")[1]?.split("## Glossary")[0] ?? ""; const methodology = methodSection.trim(); const url = `${BASE_URL}/methodology`; return { content: [ { type: "text" as const, text: `VC Deal Flow Signal — Methodology\n\n${methodology}\n\nFull details: ${url}\n\n${FOOTER}`, }, ], structuredContent: { methodology, url }, }; }