Agent skill

Agent Smoke E2E

by eric-tramel in eric-tramel/moraine

End-to-end smoke check of the moraine MCP server. An agent skill from eric-tramel/moraine.

Apache-2.0Auto-check passedTesting & QA

Install Agent Smoke E2E

skills CLI
$ npx skills add eric-tramel/moraine --skill agent-smoke-e2e -a claude-code

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

GitHub CLI
$ gh skill install eric-tramel/moraine agent-smoke-e2e --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/eric-tramel/moraine.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/agent-smoke-e2e .claude/skills/agent-smoke-e2e && 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
agent-smoke-e2e
GitHub stars
117
Token cost
~1.7k tokens
SKILL.md length
659 words
Files
1
Skills in repo
19
Repo updated
First seen
Licence
Apache-2.0

At a glance

End-to-end smoke check of the moraine MCP server. An agent skill from eric-tramel/moraine.

  • Works in 8 steps: search_sessions → list_sessions → file_attention → …
  • Tasks that involve End-to-end testing
  • SKILL.md covers Setup Assumptions, Test Sequence, FAIL Conditions and Output
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Agent Smoke E2E is an agent skill from eric-tramel/moraine. End-to-end smoke check of the moraine MCP server. Exercises the public retrieval workflow against a live moraine stack and prints a PASS/FAIL matrix.

Its SKILL.md is about 1.7k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Testing & QA, covering End-to-end testing and MCP servers. It works with Model Context Protocol. The repository describes itself as: Unified realtime agent trace database & search MCP. The licence is Apache-2.0.

When your agent uses it

  • Tasks that involve End-to-end testing
  • Tasks that involve MCP servers

Example prompts

  • “/agent-smoke-e2e”

Workflow steps

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

  1. search_sessions
  2. list_sessions
  3. file_attention
  4. open(event_id)
  5. open(turn_id)
  6. open(session_id)
  7. open(listed_session_id)
  8. open(file_attention IDs)

What it can do on your machine

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

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    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 json).

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

  • Network

    No URLs in SKILL.md.

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

  • Credentials

    Names no API keys, tokens, secrets or passwords.

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

Context cost

Agent Smoke E2E loads about 1.7k tokens when it runs. Until then it costs about 41 tokens; SKILL.md has 659 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~41
When it runs · the whole SKILL.md, loaded when a task matches
~1.7k

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 eric-tramel/moraine at commit 2fb4aec, republished under its Apache-2.0 licence (© eric-tramel). 659 words, ~1,733 tokens.

Download SKILL.mdSave it as .claude/skills/agent-smoke-e2e/SKILL.md (or your agent's skills folder).
name
agent-smoke-e2e
description
End-to-end smoke check of the moraine MCP server. Exercises the public retrieval workflow against a live moraine stack and prints a PASS/FAIL matrix.

agent-smoke-e2e

You are running an end-to-end smoke test of the moraine MCP server.

Your sole job is to call the public MCP retrieval workflow, validate that responses are shaped as expected, and emit a final pass/fail matrix. Do not do anything else: no exploration, no reading files, no code changes. Treat this like a test runner with terse output and clear pass/fail signals.

Setup Assumptions

  • The moraine MCP server is registered and exposes mcp__moraine__search_sessions, mcp__moraine__open, mcp__moraine__list_sessions, and mcp__moraine__file_attention.
  • The stack may or may not have ingested sessions. Both cases are valid; the smoke test cares that tools respond with the contract shape.
  • Do not call any tool outside the mcp__moraine__* namespace.

Test Sequence

Run each check below in order. For each check, call the tool with the arguments listed, inspect the response, then record PASS or FAIL with a one-line reason on FAIL.

1. search_sessions

Call mcp__moraine__search_sessions with:

json
{ "query": "moraine", "n_hits": 5 }

PASS if the response is an object with:

  • tool: "search_sessions"
  • schema_version: "moraine.mcp.search_sessions.v1"
  • data.results as an array

If the call instead returns the handled MCP tool error internal_error with details.reason: "read_model_refresh" and details.retryable: true, retry once. If the retry returns the same handled error, record PASS active ingest is publishing; this is the documented freshness contract, not an MCP/RPC failure.

If data.results[0] exists, capture:

  • sample_event_id = data.results[0].open.event_id
  • sample_turn_id = data.results[0].open.turn_id
  • sample_session_id = data.results[0].open.session_id

If there are no results, leave the three sample IDs as null.

2. list_sessions

Call mcp__moraine__list_sessions with:

json
{
  "start_datetime": "1970-01-01T00:00:00Z",
  "end_datetime": "2100-01-01T00:00:00Z",
  "limit": 5
}

PASS if the response is an object with:

  • tool: "list_sessions"
  • schema_version: "moraine.mcp.list_sessions.v1"
  • data.sessions as an array

If data.sessions[0] exists, capture:

  • listed_session_id = data.sessions[0].open.session_id

If there are no listed sessions, leave listed_session_id as null.

3. file_attention

Call mcp__moraine__file_attention with:

json
{ "path": "Cargo.toml", "scope": "all", "granularity": "events", "limit": 5 }

PASS if the response is an object with:

  • tool: "file_attention"
  • schema_version: "moraine.mcp.file_attention.v1"
  • data.events as an array
  • data.summary.total_touches as a number

If data.events[0] exists, capture:

  • file_attention_event_id = data.events[0].open.event_id
  • file_attention_turn_id = data.events[0].open.turn_id if present
  • file_attention_session_id = data.events[0].open.session_id

If there are no events, leave the three file-attention IDs as null.

4. open(event_id)

If sample_event_id is set, call mcp__moraine__open with:

json
{ "id": "<sample_event_id>" }

PASS if the response is an object with tool: "open", the same request.id, and data.kind: "event".

If sample_event_id is null, record SKIP no search result.

5. open(turn_id)

If sample_turn_id is set, call mcp__moraine__open with:

json
{ "id": "<sample_turn_id>" }

PASS if the response is an object with tool: "open", the same request.id, and data.kind: "turn".

If sample_turn_id is null, record SKIP no search result.

Show full SKILL.md (276 more words)Show less
6. open(session_id)

If sample_session_id is set, call mcp__moraine__open with:

json
{ "id": "<sample_session_id>" }

PASS if the response is an object with tool: "open", the same request.id, and data.kind: "session".

If sample_session_id is null, call mcp__moraine__open with this valid but nonexistent typed session ID:

json
{ "id": "session:c21va2Utbm9uZXhpc3RlbnQtc2Vzc2lvbg" }

PASS if the tool returns the handled MCP tool error (isError: true) with error.code: "not_found". Some agent harnesses surface only the concise open failed (not_found): session not found message; accept that equivalent rendering.

7. open(listed_session_id)

If listed_session_id is set, call mcp__moraine__open with:

json
{ "id": "<listed_session_id>" }

PASS if the response is an object with tool: "open", the same request.id, and data.kind: "session".

If listed_session_id is null, record SKIP no listed session.

8. open(file_attention IDs)

If file_attention_event_id is set, call mcp__moraine__open with:

json
{ "id": "<file_attention_event_id>" }

PASS if the response is an object with tool: "open", the same request.id, and data.kind: "event".

If file_attention_turn_id is set, call mcp__moraine__open with:

json
{ "id": "<file_attention_turn_id>" }

PASS if the response is an object with tool: "open", the same request.id, and data.kind: "turn".

If file_attention_session_id is set, call mcp__moraine__open with:

json
{ "id": "<file_attention_session_id>" }

PASS if the response is an object with tool: "open", the same request.id, and data.kind: "session".

If there are no file-attention IDs, record SKIP no file_attention event.

FAIL Conditions

  • The tool call raises an unexpected MCP/RPC error (isError: true, JSON-RPC error response, or tool not found). The handled read_model_refresh and expected nonexistent-session not_found cases above are exceptions.
  • The response lacks tool, schema_version, or the expected data/error object.
  • open does not echo the requested id in request.id.
  • open returns a successful data.kind different from the ID kind being opened.

Output

After all checks, emit exactly this block and stop:

text
=== agent-smoke-e2e ===
search_sessions: PASS|FAIL [reason]
list_sessions:   PASS|FAIL [reason]
file_attention:  PASS|FAIL [reason]
open_event_id:   PASS|FAIL|SKIP [reason]
open_turn_id:    PASS|FAIL|SKIP [reason]
open_session_id: PASS|FAIL [reason]
open_listed_session_id: PASS|FAIL|SKIP [reason]
open_file_attention_ids: PASS|FAIL|SKIP [reason]
---
search_results:  <N from search_sessions>
listed_sessions: <N from list_sessions>
file_attention_events: <N from file_attention>
sample_event_id: <id or null>
sample_turn_id:  <id or null>
sample_session_id: <id or null>
listed_session_id: <id or null>
file_attention_event_id: <id or null>
file_attention_turn_id: <id or null>
file_attention_session_id: <id or null>
overall:         PASS|FAIL
=======================

overall: PASS only if every non-SKIP line is PASS. A single FAIL flips overall to FAIL.

© eric-tramel, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .claude/skills/agent-smoke-e2e of eric-tramel/moraine.

Open the folder on GitHubat commit 2fb4aec

Compare with similar skills

Agent Smoke E2E 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.

Agent Smoke E2E compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Agent Smoke E2E this skilleric-tramel/moraine117—~1.7kAutomated safety check: PassApache-2.0
Qwen Code E2E TestingQwenLM/qwen-code28k—~2.1kAutomated safety check: PassApache-2.0
Glance TestDebugBase/glance156—~827Automated safety check: PassMIT
Edt MCP Build TestDitriXNew/EDT-MCP295—~1.4kAutomated safety check: PassAGPL-3.0
Tauri Dev MCP Bridgejerrywu001/cc-sessions-viewer394—~1.4kAutomated safety check: WarnMIT
Edt MCP E2E TestingDitriXNew/EDT-MCP295—~1.3kAutomated safety check: PassAGPL-3.0

Similar skills

  • Qwen Code E2E Testing

    QwenLM/qwen-code

    Guides end-to-end testing of the Qwen Code CLI in headless mode with real model calls, MCP test servers and inspection of raw API traffic.

    28k GitHub stars~2.1k tokensUpdated today
    Testing & QAAuto-check passed
  • Glance Test

    DebugBase/glance

    Run E2E browser tests on any web application using Glance MCP.

    156 GitHub stars~827 tokensUpdated 5 mo ago
    Testing & QAAuto-check passed
  • Edt MCP Build Test

    DitriXNew/EDT-MCP

    How to build the EDT-MCP Eclipse plugin (Tycho/Maven) and run its unit and e2e tests, plus the test conventions for this repo.

    295 GitHub stars~1.4k tokensUpdated today
    Testing & QAAuto-check passed
  • Tauri Dev MCP Bridge

    jerrywu001/cc-sessions-viewer

    Launches a Tauri app's dev build with the MCP bridge compiled in, so an agent can take screenshots, read the live DOM, click real buttons and call real backend commands.

    394 GitHub stars~1.4k tokensUpdated yesterday
    Testing & QAAuto-check: warnings
  • Edt MCP E2E Testing

    DitriXNew/EDT-MCP

    How to write/run the AUTOMATED black-box e2e suite (tests/e2e/) that covers every EDT-MCP tool (62 today) against a live server with git-fixture isolation, happy + negative + error-quality coverage…

    295 GitHub stars~1.3k tokensUpdated today
    Testing & QAAuto-check passed
  • Exploring The Wizard

    PostHog/wizard

    Official

    Drive the PostHog wizard headlessly against a throwaway app through wizard-ci MCP tools, inspect decisions, and capture the real TUI.

    197 GitHub stars~2.2k tokensUpdated today
    Testing & QAAuto-check passed

More from eric-tramel/moraine

All 19 skills in this repo
  • Moraine Release Publisher

    eric-tramel/moraine

    Cuts and publishes a Moraine release end to end: version bump PR, tag, GitHub release notes, workflow check and PyPI package verification.

    117 GitHub stars~2.5k tokensUpdated 3 days ago
    Auto-check passed
  • Moraine Release Notes

    eric-tramel/moraine

    Rewrites a moraine GitHub release body into a usage-focused format with install block, what's new, platform table, upgrade notes and one deduplicated changelog.

    117 GitHub stars~2.7k tokensUpdated 3 days ago
    Auto-check passed
  • Multi-Persona Code Review

    eric-tramel/moraine

    Coordinates a delegated review of a Moraine PR or local change by seven focused reviewer subagents, merges their findings and follows up on the fixes.

    117 GitHub stars~1.3k tokensUpdated 3 days ago
    Auto-check passed
  • Elegance-Focused Code Review

    eric-tramel/moraine

    Looks at a pull request for the smallest good design, hunting for simplifications and architectural moves that remove whole classes of problems.

    117 GitHub stars~473 tokensUpdated 3 days ago
    Auto-check passed
  • Idiomatic Code Review

    eric-tramel/moraine

    Reviews a pull request for idiomatic implementation: use of the language, standard library, ecosystem conventions and the repository's own patterns.

    117 GitHub stars~469 tokensUpdated 3 days ago
    Auto-check passed
  • Code Review Security Review

    eric-tramel/moraine

    Review a PR through the CodeReviewSecurityReview persona. An agent skill from eric-tramel/moraine.

    117 GitHub stars~497 tokensUpdated 3 days ago
    Auto-check passed

Categories

Questions about Agent Smoke E2E

What does Agent Smoke E2E do?

End-to-end smoke check of the moraine MCP server. An agent skill from eric-tramel/moraine. Agent Smoke E2E is an agent skill from eric-tramel/moraine. End-to-end smoke check of the moraine MCP server.

When should I use Agent Smoke E2E?

Agent Smoke E2E fits situations like: tasks that involve End-to-end testing; tasks that involve MCP servers.

How do I install Agent Smoke E2E in Claude Code?

Run `npx skills add eric-tramel/moraine --skill agent-smoke-e2e -a claude-code`. Or copy the skill folder (.claude/skills/agent-smoke-e2e in eric-tramel/moraine) into .claude/skills/agent-smoke-e2e in your project. Claude Code loads it when a task matches its description.

How do I install Agent Smoke E2E in Codex?

Run `npx skills add eric-tramel/moraine --skill agent-smoke-e2e -a codex`. Or copy the skill folder (.claude/skills/agent-smoke-e2e in eric-tramel/moraine) into .agents/skills/agent-smoke-e2e in your project. Codex loads it when a task matches its description.

Can I use Agent Smoke E2E 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 eric-tramel/moraine --skill agent-smoke-e2e -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/agent-smoke-e2e, .gemini/skills/agent-smoke-e2e, .github/skills/agent-smoke-e2e and .opencode/skills/agent-smoke-e2e in your project.

What does Agent Smoke E2E need to run?

SKILL.md names no scripts, command-line tools or credentials: Agent Smoke E2E is instructions for the agent only.

Does Agent Smoke E2E access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Agent Smoke E2E 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 Agent Smoke E2E use?

Agent Smoke E2E is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Agent Smoke E2E use?

About 1.7k tokens (SKILL.md is roughly 6.9k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Agent Smoke E2E?

Skills that share tags, products or a category with Agent Smoke E2E: Qwen Code E2E Testing (QwenLM/qwen-code, 28k stars), Glance Test (DebugBase/glance, 156 stars), Edt MCP Build Test (DitriXNew/EDT-MCP, 295 stars) and Tauri Dev MCP Bridge (jerrywu001/cc-sessions-viewer, 394 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Agent Smoke E2E?

eric-tramel (a GitHub user) maintains it in eric-tramel/moraine, which has 117 GitHub stars. The repository holds 19 skills in this directory. The repository was last updated on October 5, 2026.

Source: eric-tramel/moraine on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.