Skip to content

Add issue-detection-triage skill reference - #64

Open
annabellscha wants to merge 2 commits into
mainfrom
add-issue-detection-triage
Open

Add issue-detection-triage skill reference#64
annabellscha wants to merge 2 commits into
mainfrom
add-issue-detection-triage

Conversation

@annabellscha

Copy link
Copy Markdown
Contributor

What

Adds a new use-case reference, skills/langfuse/references/issue-detection-triage.md: a systematic triage workflow over a Langfuse project's recent production traffic — sweep every dimension where issues can hide (reliability, latency, cost, tool/agent behavior, scores/evaluators, user friction, output quality, inputs/scope, segmentation, coverage), rank findings P0–P3 with a reproducible decision rule, and report them with evidence, example trace links, and ready-to-paste fix prompts.

Also included

  • SKILL.md: one-line routing entry for the new reference (per agents.md, "when to use" lives only in the list entry + the reference frontmatter), plus a small update to the CLI-reference pointer and a typo fix.
  • cli.md pagination fix: verified against the CLI's own --helptraces list and scores list use --limit + --page (with meta.totalPages), only observations list is cursor-based (next cursor is meta.cursor, not meta.nextCursor), and metrics list takes a query object with no pagination flags. The previous tip incorrectly claimed scores and metrics are cursor-based.
  • Version bump to 1.3.0 in both plugin manifests (new skill → minor, lockstep per agents.md).

The companion improvement-loop.md reference is intentionally not part of this PR and will follow separately.

🤖 Generated with Claude Code

annabellscha and others added 2 commits July 13, 2026 13:23
Adds references/issue-detection-triage.md: a workflow for sweeping recent
production traffic across every dimension where issues hide, ranking
findings P0-P3 with a reproducible decision rule, and reporting them with
evidence and ready-to-paste fix prompts.

Also fixes the pagination tip in cli.md (verified against the CLI:
traces/scores are page-based, only observations is cursor-based, metrics
has no pagination flags) and bumps both plugin manifests to 1.3.0.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

@Lotte-Verheyden Lotte-Verheyden left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I left some smaller comments on changes to existing files, and read through the new file too. Some thoughts on the new file, but I didn't test it myself so I can't really say whether they are valid or not:

  • the file is very long, I often saw duplicate content or content that looks redundant. If there's a reason for adding this many lines/stating things multiple times after testing it's okay, but if it's only because the agent added it I'd cut the content significantly. Thinking about (1) token cost when each LLM request has this skill file in context and (2) how well it would work with a smaller model like sonnet, I can imagine it starts missing things
  • instead of showing cli commands explicitly, best to describe what the agent should do with the CLI, and instruct it to look up the CLI schema if necessary (although I think the agent would do that automatically). Most reliable way to avoid giving outdated instructions via our skill
  • one thing I always test is whether the new reference file gets invoked when I expect it to, and gets ignored when it should be ignored. You maybe already did this, but if not, best to spin up some agents with different input prompts

- Prefer `scores` over `legacy-score-v1s` for list/get operations
- For broad trace queries, `traces list` can time out on Langfuse Cloud — use `observations list` (with `--trace-id` if you're traversing from a known trace) instead. See the [Observations API docs](https://langfuse.com/docs/api-and-data-platform/features/observations-api) for the v1 → v2 mapping.
- Pagination: legacy v1 endpoints use `--limit` and `--page`; modern endpoints (`observations`, `metrics`, `scores`) use cursor-based pagination — pass `--limit`, then thread `meta.cursor` from the response into the next request's `--cursor`
- Pagination: `traces` and `scores` use `--limit` + `--page` (starts at 1; `meta.totalPages` tells you how many pages). `observations` uses cursor-based pagination — pass `--limit`, then thread `meta.cursor` (NOT `meta.nextCursor`) from the response into the next request's `--cursor`. `metrics` takes a query object and has no pagination flags.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Was this change intentional or just the agent changing something because it did something wrong? Not sure if we should be so specific (e.g. "meta.cursor (NOT meta.nextCursor)")

Comment thread skills/langfuse/SKILL.md
### Detailed CLI Reference

For common workflows, tips, and full usage patterns, see [references/cli.md](references/cli.md).
For common workflows, tips, pagination, and endpoint preferences, see [references/cli.md](references/cli.md). Use-case-specific CLI recipes live in the relevant reference file.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If not necessary I'd discard this change.

Comment thread .gitignore
@@ -1 +1,3 @@
.DS_Store
skills/langfuse/references/.env
skills/langfuse/references/.env2

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Would discard this


### 0. Connect

Credentials and CLI basics: follow the **`langfuse` skill** CLI section and [cli.md](cli.md). Verify the connection with a single one-row `traces list` before proceeding.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Try not to include specific code/CLI examples (these get outdated) and instead instruct the agent to look up the schema for a specific command

- **Window:** default to the user's ask ("last hour", "today"). Get current UTC, compute `--from-timestamp`. If unsure of data recency, list the latest traces first and anchor on the most recent timestamp.
- **Separate real app traffic from machinery.** This is critical and easy to get wrong. Langfuse projects mix:
- Real application traces (what you want).
- **Evaluator executions** — LLM-as-a-judge runs, usually `environment = "langfuse-llm-as-a-judge"` and named `"Execute evaluator: <name>"`. **Exclude these** unless the user is asking about the evaluators themselves.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd expect things like "environment = "langfuse-llm-as-a-judge"" to cause hallucinations when users use a different name for that environment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If there was a reason for adding this line you can keep it of course. But otherwise best to remove these

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants