Skip to content
Agent Orchestration
Skill

/tendril-debug-job

Analyze a Tendril job's execution artifacts to identify issues and improvement opportunities in Tendril, promptware instructions, memory, or tools.

BOOST
From plugin
tendril-skills
1986 skills
Install
$ npx -y skills add Ivy-Interactive/Ivy-Tendril --skill tendril-debug-job --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/tendril-debug-job

Context preview

The summary Claude sees to decide when to auto-load this skill.

Analyze a Tendril job's execution artifacts to identify issues and improvement opportunities in Tendril, promptware instructions, memory, or tools.

SKILL.md

tendril-debug-job.SKILL.md
name: tendril-debug-job
description: Analyze a Tendril job's execution artifacts to identify issues and improvement opportunities in Tendril, promptware instructions, memory, or tools.

tendril-debug-job

Analyze a job's execution artifacts to identify issues and improvement opportunities in Tendril, the promptware instructions, memory, or tools.

Invocation

/tendril-debug-job <job-id> <comment>
  • **job-id** - Five-digit job id (e.g., `00458`). A full path to a job log also works.
  • **comment** - Free-text describing what to look for or what went wrong

Job Artifacts

Every job writes four files, flat, into `$TENDRIL_HOME/Jobs/`. They share one stem:

{jobId}-{planId}-{promptware}      e.g. 00458-00044-ExecutePlan
{jobId}-{promptware}               when the job has no plan (e.g. CreatePlan)

| File | Name | |------|------| | `{stem}.md` | **Job Log** - status, timings, CLI command, final output, agent-authored `## Agent Log` sections | | `{stem}.prompt.md` | **Job Prompt** - the exact prompt handed to the agent | | `{stem}.raw.jsonl` | **Job Raw Log** - unparsed CLI stream-json output | | `{stem}.eventwire.jsonl` | **Job Eventwire Log** - Tendril's parsed event stream |

Locate them with a glob on the job id:

ls "$TENDRIL_HOME/Jobs/00458-"*

The promptware type is the **last** dash-separated segment of the stem; the plan id, when present, is the middle segment. There is no `Logs/` folder anywhere - not under promptwares, not under plans.

What This Skill Does

1. Reads the Job Log, the Job Prompt, and the Job Raw Log 2. Reconstructs the agent's execution timeline: tool calls, decisions, errors, retries 3. Cross-references with the promptware's Program.md, Memory, and Tools 4. Identifies concrete improvements to Tendril code, promptware instructions, or agent behavior 5. Produces actionable recommendations

Execution Steps

Phase 1 - Read the Job Log and Job Prompt

The Job Log (`{stem}.md`, produced by `JobLogWriter`) has this structure:

# Job Log {stem}

- **JobId:** {id}
- **PlanId:** {planId}   # present whenever the job produced or targeted a plan
- **Status:** {Completed|Failed|Timeout}
- **Exit Code:** {0|1|N/A}
- **Started:** {timestamp}
- **Completed:** {timestamp}
- **Duration:** {seconds}s
- **Provider:** {claude|copilot|codex|...}
- **SessionId:** {id}
- **Cost:** ${amount}
- **Tokens:** {count}

## CLI Command
{full command line}

## Final Output
{agent's last text response}

## Outcome
{commits, verifications, final plan state - ExecutePlan/RetryPlan only}

## Agent Log - {action} ({timestamp})
{narrative the agent appended mid-run via `tendril job add-log`}

The compiled prompt is **not** in this file. Read `{stem}.prompt.md` for the full firmware + Program.md + references + custom instructions.

Extract:

  • The promptware type and plan id (from the stem)
  • The program folder: `$TENDRIL_HOME/Promptwares/{promptware}` (in a dev checkout, `src/Ivy.Tendril/Promptwares/{promptware}`)
  • Status, exit code, duration, cost, tokens
  • The agent's own narrative from the `## Agent Log` sections
  • The final output

Phase 2 - Analyze the Raw JSONL

`{stem}.raw.jsonl` is the CLI's `--output-format stream-json` output. Each line is a JSON object with a `type` field:

| Type | Contents | |------|----------| | `system` | System prompt setup | | `assistant` | Agent response with `content[]` array (text blocks and tool_use blocks) and `usage` (token counts) | | `tool_result` | Result of a tool call | | `result` | Final result text |

`{stem}.eventwire.jsonl` is Tendril's own parsed view of that same stream - use it when you want Tendril's interpretation (including `PermissionDenialEvent`) rather than the provider's raw wire format.

**Analysis approach (use targeted reads, never read the whole file if large):**

1. Count total lines: `wc -l` 2. Extract tool call patterns:

  • Grep for `"tool_use"` to find all tool calls
  • Count each tool type (Read, Write, Edit, Bash, Grep, Glob)
  • Identify repeated reads of the same file (redundant work)
  • Find failed tool calls (look for `"error"` or `"is_error":true` in tool_result lines)

3. Token usage:

  • Sum `input_tokens`, `output_tokens` from assistant messages
  • Check `cache_read_input_tokens` vs `cache_creation_input_tokens` for cache efficiency

4. Error patterns:

  • Grep for `error`, `failed`, `exception` in tool results
  • Count build-fix-build cycles (consecutive Bash calls with compilation errors)
  • Identify thrashing (read-edit-read-edit on same file)
  • `src/scripts/AnalyzeFailed.ps1` dumps every failed shell command across all raw logs

5. Timeline:

  • First and last timestamps for wall-clock duration
  • Long gaps between messages (rate limiting, slow tools)

Phase 3 - Cross-Reference with Promptware Source

Read the promptware's source files from the program folder:

| File | Purpose | |------|---------| | `Program.md` | The agent's instructions - did it follow them? | | `Memory/*.md` | Accumulated learnings - is anything missing or wrong? | | `Tools/*` | Custom tools available - were they used appropriately? |

Check:

  • Did the agent follow Program.md instructions in order?
  • Did it skip steps or go off-script?
  • Are there Memory entries that should have prevented a mistake?
  • Are there Tools that should have been used but weren't?
  • Did the compiled prompt provide sufficient context?

Phase 4 - Cross-Reference with Tendril Source

Based on findings, check relevant Tendril source files:

| File | What It Controls | |------|-----------------| | `Helpers/JobLogPaths.cs` | Where every job artifact lives and how its stem is built | | `Services/FirmwareCompiler.cs` | Firmware template, prompt compilation | | `Services/Agents/AgentProviderFactory.cs` | Tool permissions, model/effort resolution | | `Services/Jobs/JobLauncher.cs` | Job launch, firmware values, environment setup | | `Services/Jobs/JobCompletionHandler.cs` | Post-completion

Read more
Ships withtendril-skills

AI agents can now write 99% of the code. This changes what it means to be a developer. Our role shifts to knowing "what good looks like". To do that, we need completely new developer tools. Tendril is what replaces your IDE in an agentic era.

Get the whole plugin
Stats
198
Stars
9
Forks
Active
Maintenance
C#
Language
11d ago
Last commit
5mo ago
Created

Repo: Ivy-Interactive/Ivy-Tendril

Other skills on tendril-skills.