Skip to content
Agentmart
Submit a tool

return-path-gate

Audits SKILL.md files in plugins/ for return-path gate compliance.

Skill by chrono-meta

IndexedMIT★ 30
Write a review

Install

Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.

npx agentmarket install skill/chrono-meta-return-path-gate

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Audits SKILL.md files in plugins/ for return-path gate compliance. Detects fire-and-forget chains where a caller dispatches a downstream skill but does not gate its next step on the callee's verdict. Reports each chain as CLOSED or OPEN and outputs specific fix suggestions. Triggered by "chain audit", "return-path check", "fire-and-forget detection", "chain closure audit", "skill chain compliance".

Use cases: security

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this skill can do and what it asks for, from its SKILL.md and code. Checked Oct 25, 2026.

Tools
No tools found
Secrets
None asked for
Install scripts
None found

Network hosts it talks to 1

  • codeload.github.com · found in install command

Files it touches

  • ~/.claude/skills/return-path-gate

What's inside

Skill name
return-path-gate
Description
Audits SKILL.md files in plugins/ for return-path gate compliance. Detects fire-and-forget chains where a caller dispatches a downstream skill but does not gate its next step on the callee's verdict. Reports each chain as CLOSED or OPEN and outputs specific fix suggestions. Triggered by "chain audit", "return-path check", "fire-and-forget detection", "chain closure audit", "skill chain compliance".
License
MIT
Instructions
280 lines in SKILL.md · view on GitHub

Agent Skills spec issues

  • allowed-tools: must be a space-separated string

Files (1)

  • SKILL.md

SKILL.md (first lines)

# return-path-gate — Skill Chain Closure Audit

A skill chain is CLOSED when the callee's verdict folds back into the caller's decision logic. A chain is OPEN (fire-and-forget) when the caller dispatches a downstream skill but proceeds independently of the result.

This skill audits `§Chains` and `§Done When` sections across SKILL.md files to detect OPEN chains and prescribe specific closures.

## Role Separation from harness-doctor

| Dimension | harness-doctor | return-path-gate |
|---|---|---|
| **What it checks** | Structural completeness (files, references, line counts, drift) | Chain closure compliance (caller/callee verdict handoff) |
| **Core question** | "Are the required harness files present and consistent?" | "Does the caller wait for the callee's verdict?" |
| **Failure mode detected** | Missing CLAUDE.md, broken refs, complexity drift | Fire-and-forget chains, unverified CONDITIONAL_PASS conditions |
| **Output** | L1–L5 structural health report | CLOSED/OPEN chain table with fix prescriptions |

---

## Trigger Phrases

| Phrase | Situation |
|---|---|
| "chain audit", "chain closure audit" | Full scan of all skill chains in plugins/ |
| "return-path check", "return-path gate" | Explicit compliance audit |
| "fire-and-forget detection", "fire-and-forget chain" | Targeting known anti-pattern |
| "skill chain compliance" | Pre-flight check before pipeline execution |
| "does this skill wait for verdict" | Single-skill targeted check |
| "check chains in [skill-name]" | Scoped audit on a named skill |
| `/return-path-gate` | Explicit call |

---

## Audit Scope Options

| Flag | Scope | When to use |
|---|---|---|
| `--skill [name]` | Single named skill | Targeted check during development |
| `--all` | All SKILL.md files under `plugins/` | Full compliance sweep |
| `--pr` | Skills changed relative to `origin/main` | Pre-PR gate mode (worktree-aware) |
| *(default)* | Modified + newly added SKILL.md files in working tree | Pre-commit gate mode |

---

## Execution Steps

### Step 0. Determine Scope

```bash
# Default: modified and newly added SKILL.md files in working tree
{ git diff --name-only HEAD; git ls-files --others --exclude-standard; } | grep "SKILL\.md"

# --pr mode: PR-relative, worktree-aware (use for pre-PR audits)
git diff --name-only origin/main...HEAD | grep "SKILL\.md"

# --all: full scan
find plugins/ -name "SKILL.md" | sort

# --skill [name]: targeted
find plugins/ -path "*[name]/SKILL.md"
```

If 0 SKILL.md files are in scope, **distinguish the two causes before stopping** — a failed scope
command and a genuinely empty scope both render as zero lines, and only one of them is skippable:

```bash
git rev-parse --git-dir >/dev/null 2>&1 \
  || { echo "HARNESS_ERROR: git unavailable — scope could NOT be measured (not an empty scope)"; exit 10; }

# Repo-liveness alone is NOT enough: a broken ref (e.g. missing origin/main in --pr mode) fails the
# scope command with rc=1 and empty output while rev-parse stays green. Capture the scope command's
# OWN exit status — before the grep, which legitimately returns 1 on no-match:
scope_out=$(git diff --name-only origin/main...HEAD 2>&1); scope_rc=$?
[ "$scope_rc" -ne 0 ] \
  && { echo "HARNESS_ERROR: scope command failed (rc=$scope_rc): $scope_out"; exit 10; }
printf '%s\n' "$scope_out" | grep "SKILL\.md"
# (same rc-capture shape applies to the default and --all scope commands)
```

With both controls green and genuinely 0 files in scope, output:
"No SKILL.md files in scope — audit skipped (control: git rev-parse OK)." and stop.
A HARNESS_ERROR is a distinct non-pass — it must never be reported as "audit skipped", because this
skill is pipeline-conductor's Step 0.5 pre-flight and a tooling-down skip would render as a pass there.

---

### Step 1. Extract Chain Declarations

For each SKILL.md in scope, extract:

1. **`§Chains` section** — every `→ [skill-name]` reference (downstream dispatch)
2. **`§Done When` section** — completion conditions listed by the caller

**Two-pass extraction** (mandatory — do not conflate the two passes):

**Pass A — Caller-wait signals** (look for in §Done When of the *caller* skill):
```
"wait for"          ← waits for callee verdict before proceeding
"verdict received"
"folds back"
"gates on"
"callee returns"
```
These signals indicate the caller waits for the callee's verdict. They are the primary CLOSED gate.

**Pass B — Callee-output signals** (look for in §Done When of the *callee* skill):
```
Verdict: PASS | CONDITIONAL_PASS | FAIL | ESCALATE
```
These signals indicate the callee emits a structured verdict. They confirm the callee side is closeable. They do **not** indicate the caller waits — treat as callee-role evidence only and never conflate with Pass A.

**Step 1 output**:

```
## Step 1 — Chain Extraction

Skill: [skill-name]
  §Chains dispatches: → [callee-1], → [callee-2]
  §Done When (Pass A — caller-wait signals): [extracted text or "none"]
  [callee-1] §Done When (Pass B — callee-output signals): [extracted text or "none"]
```

From chrono-meta/forge-harness, MIT.

More from chrono-meta/forge-harness

Signals

Stars
30
Forks
1
Open issues
2
Last commit (this folder)
Aug 11, 2026 (2 months ago)
Last release
Oct 24, 2026 (4 days ago)

From GitHub (fetched Oct 24, 2026).

Details

License
MIT
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from chrono-meta

Cite this page

return-path-gate skill. Agent Mart. https://agentmart.dev/skills/chrono-meta-return-path-gate (last updated 2026-10-24)