ijfw-debug

ijfw-debug is a skill for Claude Code, Codex from FerroxLabs/wayland-core. It costs 31 tokens per session (555 once invoked), scanned A, a copy of ijfw-debug, Apache-2.0.

A debugging workflow for finding the underlying cause of software that is broken or not working. It tracks possible explanations, tests them in order, and applies the smallest appropriate fix.

In plain words
What is it for?
It helps investigate bugs, compare expected and actual behaviour, inspect relevant code, apply a focused fix, and run checks afterward.
Why use it?
It prevents random changes by first reproducing the failure, checking recent changes, narrowing the case, and confirming the most likely cause.

Skill for Claude CodeCodex

Written for no agent in particular: nothing here depends on one.

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add skills/ferroxlabs/wayland-core/ijfw-debug
Any agent
npx skills add FerroxLabs/wayland-core --skill ijfw-debug
Clone the repo
git clone --depth 1 https://github.com/FerroxLabs/wayland-core

Made for: Claude Code, Codex.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for ijfw-debug

README.md
[![agentmods](https://agentmods.dev/badge/skills/ferroxlabs/wayland-core/ijfw-debug.svg)](https://agentmods.dev/skills/ferroxlabs/wayland-core/ijfw-debug)
Your own site
<a href="https://agentmods.dev/skills/ferroxlabs/wayland-core/ijfw-debug"><img src="https://agentmods.dev/badge/skills/ferroxlabs/wayland-core/ijfw-debug.svg" alt="Measured on agentmods" height="20"></a>
Per session 31 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 555 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin 100% copy Near-identical to another mod in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00031 $0.00555
Opus 5 $0.00015 $0.00278
Sonnet 5 $0.00006 $0.00111
Haiku 4.5 $0.00003 $0.00056

Measured 6d ago against content hash 8f772a012c26, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-06, from the pricing page.

Security

Grade A, and why

ijfw-debug scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 6d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

Origin

This is a copy

100% identical to ijfw-debug — 0 lines differ, which has more behind it and is treated as the original. This page carries a canonical link to it rather than competing with it.

crates/wayland-ijfw/snapshots/ijfw-source/claude/skills/ijfw-debug/SKILL.md · 53 lines

How it starts

The opening of the file, as written. The whole thing — 53 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Step 1 -- Reproduce

State the failure in one line: what was expected vs. what happened. Confirm reproducible before proceeding. If intermittent, note conditions.

Step 2 -- Check recent changes

Call ijfw_memory_recall with the symptom. Scan .ijfw/memory/ for decisions or changes from the past 7 days that touch the affected area.

If a recent change correlates with the regression, offer revert first:

Regression likely from <change> on <date>. Revert first? (y/n)

Step 3 -- Isolate

  • Narrow to the smallest reproducing case (file, function, line range).
  • Determine if failure is input-dependent, environment-dependent, or logic-dependent.
  • Read only the specific lines relevant to the hypothesis. No full-file reads.

Step 4 -- Hypothesize

List hypotheses ranked by likelihood:

H1 -- <most likely cause> -- evidence: <why>
H2 -- <next candidate>    -- evidence: <why>
H3 -- <edge case>         -- evidence: <why>

Confirm H1 before testing H2.

Step 5 -- Fix and Verify

Apply the minimal change that addresses the root cause. Do not fix adjacent issues -- log them as follow-ups. Run tests/linter after every fix. Confirm the original symptom is gone and no adjacent regression introduced. Store result: ijfw_memory_store: <what broke>, <root cause>, <fix applied>

Step 6 -- Two-strikes session reset

If two attempts at root-cause fixes both fail to clear the original symptom, stop. Do not try a third on the same hypothesis tree. Summarize in three lines: what you tried, what each attempt revealed, what you now believe is true. Then ask the user:

Two attempts didn't land it. Recommend resetting this session and starting fresh with: "<sharpened prompt>". Accumulated failed context degrades the next attempt; a fresh session with a tighter brief usually clears it on the first try.

Capture the summary in ijfw_memory_store so the next session inherits the lessons without inheriting the noise.

Output format

SYMPTOM:     <one line>
ROOT CAUSE:  <H1 confirmed or revised>
FIX:         <what changed + file:line>
VERIFIED:    yes / needs more testing
FOLLOW-UPS:  <any adjacent issues deferred>

Read the full file on GitHub · 53 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 6d ago First seen · 53 lines · 31 tokens per session scan A 8f772a012c26

Subscribe to this mod's changes

ijfw-debug is a skill published in the GitHub repository FerroxLabs/wayland-core (39 stars, last pushed yesterday), licensed Apache-2.0. It adds 31 tokens to every session and 555 once invoked, about $0.0002 per session on Opus 5. A static security scan graded it A with 0 findings. It is 100% identical to ijfw-debug, differing in 0 lines, and is treated as a copy.

Related

Other skills, from other repositories

stack-trace-rust-probe

Internal helper for meta-stack-trace-investigator. Use when a Rust panic or backtrace needs Rust-specific Result/Option checks, cargo test guidance, and patch targets.

opensquilla/opensquilla · 42 tokens

triage-issues

Triage GitHub issues in the googleapis/mcp-toolbox repo: propose the correct labels (type / priority / product / status), check for duplicates, verify a bug has enough info to act on, and draft a triage comment. Use whenever a maintainer asks you to triage, label, categorize, prioritize, or "look at" an issue (or a…

googleapis/mcp-toolbox · 164 tokens

langbot-plugin-dev

Develop, debug, and test LangBot plugins. Use when creating new LangBot plugins, fixing plugin bugs, setting up a LangBot test environment, or testing plugins via WebSocket. Covers plugin component architecture (EventListener, Command, Tool), the plugin SDK API (invokellm, getllmmodels, sendmessage, plugin storage)…

langbot-app/LangBot · 110 tokens

code-task

PREFERRED way to change code in a REAL repository: fix a GitHub issue, fix a bug, add/implement a function or feature, or make any edit to a project the user names by a filesystem path (e.g. /tmp/foo, /code/bar) or a git URL. Clones the repo, runs an OpenSquilla agent on the host to make the change on a task branch…

opensquilla/opensquilla · 322 tokens

stack-trace-generic-probe

Internal helper for meta-stack-trace-investigator. Use when a stack trace language is unknown and the workflow needs language-neutral failure-contract checks, reproducer guidance, and patch targets.

opensquilla/opensquilla · 44 tokens

stack-trace-go-probe

Internal helper for meta-stack-trace-investigator. Use when a Go panic or stack trace needs Go-specific nil/error checks, go test reproducer guidance, and patch targets.

opensquilla/opensquilla · 42 tokens