Monitor Lindy AI agent health, task success rates, and credit consumption.

MITAuto-check passedDevOps & Cloud

Install Lindy Observability

skills CLI
$ npx skills add jeremylongshore/tons-of-skills-marketplace --skill lindy-observability -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install jeremylongshore/tons-of-skills-marketplace lindy-observability --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/jeremylongshore/tons-of-skills-marketplace.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/.curated/lindy-observability .claude/skills/lindy-observability && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
lindy-observability
GitHub stars
2.8k
Token cost
~2.5k tokens
SKILL.md length
803 words
Files
3 (incl. references)
Skills in repo
3,342
Repo updated
First seen
Licence
MIT

At a glance

Monitor Lindy AI agent health, task success rates, and credit consumption.

  • Works in 5 steps: Establish the Built-In View → Build the Monitoring Workflow → Collect Bounded Metrics → …
  • Setting up monitoring
  • SKILL.md covers Overview, Prerequisites, Authentication and Data Boundary and Instructions, plus 5 more sections
  • Needs LINDY_CALLBACK_SECRET

What it does

Lindy Observability is an agent skill from jeremylongshore/tons-of-skills-marketplace. Monitor Lindy AI agent health, task success rates, and credit consumption. Use when setting up monitoring, building dashboards, configuring alerts, or tracking agent performance over time. Trigger with phrases like "lindy monitoring", "lindy observability", "lindy metrics", "lindy logging", "lindy dashboard".

Its SKILL.md is about 2.5k tokens, which your agent loads only when the skill is triggered. The skill folder holds 3 other files, including reference files (for example `references/implementation-guide.md` and `references/implementation.md`). Compatibility notes: Compatible with AI coding agents that can read Markdown and review monitoring configurations

It sits in DevOps & Cloud, covering Observability. The repository describes itself as: Model-agnostic agent-skills platform with a harness-free canonical layer, verified adapters, and the ccpi package manager. Explore at tonsofskills.com. The licence is MIT.

When your agent uses it

  • Setting up monitoring
  • Building dashboards
  • Configuring alerts
  • Tracking agent performance over time

Example prompts

  • “lindy monitoring”
  • “lindy observability”
  • “lindy metrics”
  • “/lindy-observability”

Requirements

  • A credential in LINDY_CALLBACK_SECRET
  • Compatibility (from SKILL.md): Compatible with AI coding agents that can read Markdown and review monitoring configurations
  • Pre-approved tools (allowed-tools): Read, Write, Edit

Workflow steps

5 steps, taken from the step headings in SKILL.md.

  1. Establish the Built-In View
  2. Build the Monitoring Workflow
  3. Collect Bounded Metrics
  4. Query and Alert
  5. Add Quality Regression Checks

What it can do on your machine

Read from SKILL.md and the folder at commit cfae287. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves these tools, so the agent can use them without asking each time:

    • Read
    • Write
    • Edit

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md (its code samples are typescript and json).

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Links to these hosts (documentation or services it may open):

    • docs.lindy.ai

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names these keys or tokens, usually read from environment variables:

    • LINDY_CALLBACK_SECRET

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

  • Compatibility

    Compatible with AI coding agents that can read Markdown and review monitoring configurations

    From compatibility in the SKILL.md frontmatter.

Context cost

Lindy Observability loads about 2.5k tokens when it runs, and up to ~3.9k if it reads all its reference files. Until then it costs about 83 tokens; SKILL.md has 803 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~83
When it runs · the whole SKILL.md, loaded when a task matches
~2.5k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~3.9k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from jeremylongshore/tons-of-skills-marketplace at commit cfae287, republished under its MIT licence (© jeremylongshore). 803 words, ~2,493 tokens.

Download SKILL.mdSave it as .claude/skills/lindy-observability/SKILL.md (or your agent's skills folder). This skill also uses 2 other files; get the full folder from GitHub.
name
lindy-observability
description
Monitor Lindy AI agent health, task success rates, and credit consumption. Use when setting up monitoring, building dashboards, configuring alerts, or tracking agent performance over time. Trigger with phrases like "lindy monitoring", "lindy observability", "lindy metrics", "lindy logging", "lindy dashboard".
allowed-tools
Read, Write, Edit
compatibility
Compatible with AI coding agents that can read Markdown and review monitoring configurations
version
1.20.0
license
MIT
author
Jeremy Longshore <jeremy@intentsolutions.io>
tags
saas, lindy, monitoring, observability, dashboard

Lindy Observability

Overview

Monitor workflow health from Lindy's documented task surfaces. Start with Tasks for manual inspection, then use an Agent Task Change trigger followed by Get Task Details for workflow-based monitoring and send only bounded operational fields to an external collector; task inputs, outputs, customer content, and secrets do not belong in metrics or logs.

Prerequisites

  • Lindy workspace with active custom agents
  • Access to each monitored agent's Tasks view
  • For external monitoring: an HTTPS receiver and a metrics stack
  • A distinct, nonempty callback secret stored as LINDY_CALLBACK_SECRET by the receiver and as a protected value in the Lindy HTTP Request action

Authentication and Data Boundary

Authenticate Lindy's outbound HTTP Request with a dedicated bearer value generated for the metrics receiver. Store it only in Lindy's protected action configuration and the receiver's secret manager, require at least 32 characters, compare it in constant time, and rotate it independently. Never reuse an inbound Lindy webhook secret or a metrics-scrape credential. Export only the three schema fields defined below.

Instructions

Step 1: Establish the Built-In View
  1. Open the custom agent and select Tasks.
  2. Review task status and open representative runs.
  3. Inspect chronological steps, timestamps, conditions, and the error location.
  4. Record a workspace-specific baseline by agent and workflow class. Do not copy task inputs or outputs into the baseline.

The documented sources for operational signals are:

SignalSourceHandling
Task outcome and frequencyTasks / Agent Task ChangeAggregate by configured agent key
Duration and failing blockGet Task DetailsRetain duration; keep block content in Lindy
Workspace spendLindy billing viewKeep billing data at its documented source
Step 2: Build the Monitoring Workflow

Create a separate monitoring agent using documented Lindy utilities:

  1. Add Agent Task Change as the trigger.
  2. Select the agent and actionable events: Task succeeded, Task failed, and Task was canceled. Add created/working only when lifecycle telemetry is needed.
  3. Add Get Task Details after the trigger. Leave Agent and Sub Task on Auto so Lindy associates the triggering task; set Max Number of Blocks high enough to cover the measured workflow.
  4. Map the result into the small telemetry schema in Step 3.
  5. Route human-readable failure alerts inside Lindy. Include an agent key, status, task link, and failing block name; omit block inputs and outputs.
Step 3: Collect Bounded Metrics

Use Lindy's HTTP Request action to POST the sanitized result. This TypeScript receiver rejects unknown agents, statuses, fields, oversized bodies, invalid durations, and empty secrets:

typescript
import { timingSafeEqual } from 'node:crypto';
import express from 'express';
import { Counter, Histogram, Registry } from 'prom-client';

const app = express();
app.use(express.json({ limit: '4kb', strict: true }));

const callbackSecret = process.env.LINDY_CALLBACK_SECRET;
if (!callbackSecret || callbackSecret.trim().length < 32) {
  throw new Error('LINDY_CALLBACK_SECRET must contain at least 32 characters');
}

const agentKeys = new Set(
  (process.env.LINDY_MONITORED_AGENTS ?? '')
    .split(',')
    .map((value) => value.trim())
    .filter(Boolean),
);
if (agentKeys.size === 0) throw new Error('LINDY_MONITORED_AGENTS is empty');

type TaskStatus = 'succeeded' | 'failed' | 'canceled';
type MetricInput = { agent: string; status: TaskStatus; durationSeconds: number };
const statuses = new Set<TaskStatus>(['succeeded', 'failed', 'canceled']);

function authorized(header: string | undefined): boolean {
  if (!header?.startsWith('Bearer ')) return false;
  const actual = Buffer.from(header.slice('Bearer '.length));
  const expected = Buffer.from(callbackSecret);
  return actual.length === expected.length && timingSafeEqual(actual, expected);
}

function parseMetricInput(value: unknown): MetricInput | null {
  if (!value || typeof value !== 'object' || Array.isArray(value)) return null;
  const input = value as Record<string, unknown>;
  const allowed = new Set(['agent', 'status', 'durationSeconds']);
  if (Object.keys(input).some((key) => !allowed.has(key))) return null;
  if (typeof input.agent !== 'string' || !agentKeys.has(input.agent)) return null;
  if (typeof input.status !== 'string' || !statuses.has(input.status as TaskStatus)) return null;
  if (
    typeof input.durationSeconds !== 'number' ||
    !Number.isFinite(input.durationSeconds) ||
    input.durationSeconds < 0 ||
    input.durationSeconds > 86_400
  ) return null;
  return input as MetricInput;
}

const registry = new Registry();
const taskCounter = new Counter<'agent' | 'status'>({
  name: 'lindy_tasks_total',
  help: 'Total Lindy agent tasks',
  labelNames: ['agent', 'status'],
  registers: [registry],
});
const taskDuration = new Histogram<'agent'>({
  name: 'lindy_task_duration_seconds',
  help: 'Lindy task execution duration',
  labelNames: ['agent'],
  buckets: [1, 2, 5, 10, 30, 60, 120],
  registers: [registry],
});

app.post('/lindy/metrics', (req, res) => {
  if (!authorized(req.headers.authorization)) return res.sendStatus(401);
  const input = parseMetricInput(req.body);
  if (!input) return res.status(400).json({ error: 'invalid_metrics_schema' });

  taskCounter.inc({ agent: input.agent, status: input.status });
  taskDuration.observe({ agent: input.agent }, input.durationSeconds);
  // Do not log req.body or task details.
  return res.json({ recorded: true });
});

app.get('/metrics', async (_req, res) => {
  res.set('Content-Type', registry.contentType);
  res.send(await registry.metrics());
});

Configure the HTTP Request action with an allowlisted HTTPS URL, POST, JSON content type, and Authorization: Bearer <protected callback secret>. Map only:

json
{
  "agent": "support-bot",
  "status": "succeeded",
  "durationSeconds": 12.4
}

The agent value is a stable configured key, never a task/customer identifier. Do not reuse a secret generated for an inbound Webhook Received trigger as the outbound callback secret.

Show full SKILL.md (339 more words)Show less
Step 4: Query and Alert

Use correct counter/histogram aggregation:

PanelPromQL
Success ratiosum(rate(lindy_tasks_total{status="succeeded"}[1h])) / clamp_min(sum(rate(lindy_tasks_total[1h])), 1e-9)
Failure ratesum by (agent) (rate(lindy_tasks_total{status="failed"}[15m]))
Duration p95histogram_quantile(0.95, sum by (le, agent) (rate(lindy_task_duration_seconds_bucket[15m])))
Trigger frequencysum by (agent) (rate(lindy_tasks_total[15m]))

Set windows and thresholds from the measured workspace baseline and service objectives. Alert text may link to the task but must not reproduce task content.

Step 5: Add Quality Regression Checks

Lindy currently documents evals as offline evaluation of selected historical tasks. Use them to compare quality after changes; do not describe them as live monitoring. Keep operational alerts on Tasks/Agent Task Change and quality regression on evals.

Error Handling

IssueResponse
Agent Task Change is silentConfirm the monitoring agent is active, selected agent is correct, and event is enabled
Collector returns 401Rotate and update the dedicated callback secret on both sides
Collector returns 400Reject the event; inspect only field names/types, not payload content
Cardinality spikeRestore the configured agent allowlist and remove dynamic labels
Dashboard has no samplesVerify HTTP status in the Lindy task and scrape the registry endpoint

Output

Return an observability plan containing:

  • monitored agents and selected Agent Task Change events;
  • the exact low-cardinality telemetry schema and agent allowlist;
  • secret ownership and rotation notes for LINDY_CALLBACK_SECRET;
  • baseline-derived dashboard queries and alert thresholds;
  • a privacy review confirming that no task input, output, customer identifier, or credential leaves Lindy; and
  • a verification receipt with a successful sample, a rejected bad secret, a rejected unknown field/agent, and a Prometheus scrape.

Examples

For a support workflow, select success/failure/canceled events, retrieve task details, and map only {agent: "support-bot", status: "failed", durationSeconds: 12.4}. The receiver increments one bounded counter/histogram series. The alert links an operator to the Lindy task for authorized investigation; it does not copy the customer message or block output into Slack, logs, or Prometheus.

Resources

Next Steps

Hand the verified alert contract and task-link policy to lindy-incident-runbook so responders can investigate inside Lindy without expanding telemetry data exposure.

© jeremylongshore, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 2 other files (references) in skills/.curated/lindy-observability of jeremylongshore/tons-of-skills-marketplace.

  • SKILL.md
  • references/implementation-guide.md
  • references/implementation.md

Open the folder on GitHubat commit cfae287

Compare with similar skills

Lindy Observability next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Lindy Observability compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Lindy Observability this skilljeremylongshore/tons-of-skills-marketplace2.8k—~2.5kAutomated safety check: PassMIT
Vercel Optimize Auditvercel-labs/agent-skills32k8 repos~4.3kAutomated safety check: PassNone
Kubeshark Installerkubeshark/kubeshark12k—~3.6kAutomated safety check: NotesApache-2.0
Kubeshark KFL2 Filter Referencekubeshark/kubeshark12k—~3.6kAutomated safety check: PassApache-2.0
KubeSphere ServiceMesh Managerkubesphere/kubesphere17k—~2.4kAutomated safety check: PassCustom licence
Kubernetes Network Root Cause Analysiskubeshark/kubeshark12k—~5.3kAutomated safety check: PassApache-2.0

Similar skills

  • Vercel Optimize Audit

    vercel-labs/agent-skills

    Official

    Runs a metrics-first audit of a deployed Vercel project, gating investigations on real signals to produce ranked, citation-backed cost and performance recommendations.

    32k GitHub starsUsed in 8 repos~4.3k tokens
    DevOps & CloudAuto-check passed
  • Kubeshark Installer

    kubeshark/kubeshark

    Installs and configures Kubeshark on a Kubernetes cluster, choosing between the quick CLI path and a Helm install with custom values.

    12k GitHub stars~3.6k tokensUpdated yesterday
    DevOps & CloudAuto-check: notes
  • Syntax reference for KFL2, the CEL-based display filter language used to search Kubernetes network traffic captured by Kubeshark, loaded before any filter is written.

    12k GitHub stars~3.6k tokensUpdated yesterday
    DevOps & CloudAuto-check passed
  • KubeSphere ServiceMesh Manager

    kubesphere/kubesphere

    Installs, checks and troubleshoots the KubeSphere ServiceMesh extension (Istio, Kiali, Jaeger), including grayscale release, sidecar injection, topology and tracing issues.

    17k GitHub stars~2.4k tokensUpdated 2 mo ago
    DevOps & CloudAuto-check passed
  • Investigates past Kubernetes incidents from Kubeshark traffic snapshots: takes captures, dissects API calls, extracts PCAPs and compares traffic over time.

    12k GitHub stars~5.3k tokensUpdated yesterday
    DevOps & CloudAuto-check passed
  • Caveman Gateway Setup

    JuliusBrussee/caveman

    Routes every LLM call in a repository through the Caveman Cloud gateway in record mode, so requests and costs are measured without changing behavior.

    111k GitHub starsUsed in 1 repo~2.6k tokens
    DevOps & CloudAuto-check: warnings

More from jeremylongshore/tons-of-skills-marketplace

All 3,342 skills in this repo
  • Performing Security Code Review

    jeremylongshore/tons-of-skills-marketplace

    Execute this skill enables AI assistant to conduct a security-focused code review using the security-agent plugin.

    2.8k GitHub starsUsed in 2 repos~1.3k tokens
    Auto-check: notes
  • Adapting Transfer Learning Models

    jeremylongshore/tons-of-skills-marketplace

    Build this skill automates the adaptation of pre-trained machine learning models using transfer learning techniques.

    2.8k GitHub stars~1.1k tokensUpdated today
    Auto-check passed
  • Agent Context Loader

    jeremylongshore/tons-of-skills-marketplace

    Execute proactive auto-loading: automatically detects and loads agents.md files.

    2.8k GitHub stars~1.1k tokensUpdated today
    Auto-check passed
  • Aggregating Performance Metrics

    jeremylongshore/tons-of-skills-marketplace

    Aggregate and centralize performance metrics from applications, systems, databases, caches, and services.

    2.8k GitHub stars~1.2k tokensUpdated today
    Auto-check passed
  • Analyzing Capacity Planning

    jeremylongshore/tons-of-skills-marketplace

    Execute this skill enables AI assistant to analyze capacity requirements and plan for future growth.

    2.8k GitHub stars~947 tokensUpdated today
    Auto-check passed
  • Analyzing Database Indexes

    jeremylongshore/tons-of-skills-marketplace

    Process use when you need to work with database indexing. An agent skill from jeremylongshore/tons-of-skills-marketplace.

    2.8k GitHub stars~2k tokensUpdated today
    Auto-check passed

Categories

Questions about Lindy Observability

What does Lindy Observability do?

Monitor Lindy AI agent health, task success rates, and credit consumption. Lindy Observability is an agent skill from jeremylongshore/tons-of-skills-marketplace. Monitor Lindy AI agent health, task success rates, and credit consumption.

When should I use Lindy Observability?

Lindy Observability fits situations like: setting up monitoring; building dashboards; configuring alerts; tracking agent performance over time.

How do I install Lindy Observability in Claude Code?

Run `npx skills add jeremylongshore/tons-of-skills-marketplace --skill lindy-observability -a claude-code`. Or copy the skill folder (skills/.curated/lindy-observability in jeremylongshore/tons-of-skills-marketplace) into .claude/skills/lindy-observability in your project. Claude Code loads it when a task matches its description.

How do I install Lindy Observability in Codex?

Run `npx skills add jeremylongshore/tons-of-skills-marketplace --skill lindy-observability -a codex`. Or copy the skill folder (skills/.curated/lindy-observability in jeremylongshore/tons-of-skills-marketplace) into .agents/skills/lindy-observability in your project. Codex loads it when a task matches its description.

Can I use Lindy Observability in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add jeremylongshore/tons-of-skills-marketplace --skill lindy-observability -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/lindy-observability, .gemini/skills/lindy-observability, .github/skills/lindy-observability and .opencode/skills/lindy-observability in your project.

What does Lindy Observability need to run?

Going by SKILL.md and its folder, Lindy Observability needs credentials named LINDY_CALLBACK_SECRET. Our summary lists: A credential in LINDY_CALLBACK_SECRET. Its frontmatter pre-approves these tools: Read, Write, Edit. Compatibility (from SKILL.md): Compatible with AI coding agents that can read Markdown and review monitoring configurations.

Does Lindy Observability access the network?

SKILL.md names 1 domain. As links in the text: docs.lindy.ai. This is read from the text; nothing was executed.

Is Lindy Observability safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Lindy Observability use?

Lindy Observability is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Lindy Observability use?

About 2.5k tokens (SKILL.md is roughly 10k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 1.4k tokens, read only when the agent opens those files.

What are the alternatives to Lindy Observability?

Skills that share tags, products or a category with Lindy Observability: Vercel Optimize Audit (vercel-labs/agent-skills, 32k stars), Kubeshark Installer (kubeshark/kubeshark, 12k stars), Kubeshark KFL2 Filter Reference (kubeshark/kubeshark, 12k stars) and KubeSphere ServiceMesh Manager (kubesphere/kubesphere, 17k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Lindy Observability?

jeremylongshore (a GitHub user) maintains it in jeremylongshore/tons-of-skills-marketplace, which has 2,827 GitHub stars. The repository holds 3,342 skills in this directory. The repository was last updated on October 10, 2026.

Source: jeremylongshore/tons-of-skills-marketplace on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.