turnstile-loop-status

turnstile-loop-status is a skill for Claude Code, Codex from febradc-github/turnstile. It costs 33 tokens per session (565 once invoked), scanned A, original, MIT.

A status viewer for a Turnstile loop run. It reads the saved loop state and displays the goal, success condition, current phase, status, and iteration history.

In plain words
What is it for?
Use it with a loop ID to inspect progress, timestamps, observations, decisions, and the current iteration.
Why use it?
It shows what a repeated work run has done so far and whether it is still running, finished, or stopped.

Skill for Claude CodeCodex

Part of the turnstile plugin — 24 skills, 23 commands, 5 agents, 3 hooks, 1 MCP server shipped together

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/febradc-github/turnstile/turnstile-loop-status
Any agent
npx skills add febradc-github/turnstile --skill turnstile-loop-status
Clone the repo
git clone --depth 1 https://github.com/febradc-github/turnstile

Made for: Claude Code, Codex.

Or install turnstile, the plugin that ships this one along with the rest of its 24 skills, 23 commands, 5 agents, 3 hooks, 1 MCP server.

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 turnstile-loop-status

README.md
[![agentmods](https://agentmods.dev/badge/skills/febradc-github/turnstile/turnstile-loop-status.svg)](https://agentmods.dev/skills/febradc-github/turnstile/turnstile-loop-status)
Your own site
<a href="https://agentmods.dev/skills/febradc-github/turnstile/turnstile-loop-status"><img src="https://agentmods.dev/badge/skills/febradc-github/turnstile/turnstile-loop-status.svg" alt="Measured on agentmods" height="20"></a>
Per session 33 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 565 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found 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 $0.00033 $0.00565
Opus 5 $0.00016 $0.00282
Sonnet 5 $0.00007 $0.00113
Haiku 4.5 $0.00003 $0.00056

Measured 3d ago against content hash e3a7e89b27ed, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

turnstile-loop-status 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 3d 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.

skills/turnstile-loop-status/SKILL.md · 69 lines

How it starts

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

Loop Status

Process

1. Parse the id

Read the loop id from $ARGUMENTS. If empty, tell the user that a loop id is required (e.g. L-1721000000) and stop.

2. Locate and read state.json

Determine the project root: use CLAUDE_PROJECT_DIR if set, otherwise process.cwd().

const { readState } = require('<pluginRoot>/scripts/loop-state.js');
const state = readState(id, projectRoot);

If the file does not exist (readState throws), tell the user:

No loop state found for <id>. Check the id or run /turnstile:loop-start to start a new loop.

3. Render the header

Loop <id>
  Goal:          <goal>
  Success:       <success>
  Mode:          <mode>
  Max iterations: <maxIterations>
  Status:        <status>
  Started:       <startedAt>
  Finished:      <finishedAt or "—">
  Current phase: <phase or "—">
  Iteration:     <iteration> / <maxIterations>

4. Render the iteration history

If state.history is empty, print: No iterations recorded yet.

Otherwise, for each entry in state.history in order:

[Iteration <N> · <phase>]  <timestamp>
  Observation: <observation or "—">
  Decision:    <decision or "—">

Group entries by iteration number with a blank line between iteration groups for readability. Within an iteration, print ACT → OBSERVE → EVALUATE → DECIDE in the order they appear in the history array.

5. Render the status footer

Status Message
running Loop is active. Use /turnstile:loop-status <id> again to refresh.
success Loop completed successfully after iteration(s).
max_iterations_reached Loop reached the -iteration cap without meeting the success condition.
error Loop ended with an unrecoverable error. See iteration DECIDE observation for the diagnosis.

Read the full file on GitHub · 69 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. 3d ago First seen · 69 lines · 33 tokens per session scan A e3a7e89b27ed

Subscribe to this mod's changes

turnstile-loop-status is a skill published in the GitHub repository febradc-github/turnstile (1 stars, last pushed 1mo ago), licensed MIT. It adds 33 tokens to every session and 565 once invoked, about $0.0002 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.

Related

Other skills, from other repositories

model-compatibility

Model family compatibility matrix covering loaders, resolutions, samplers, CFG, VAE, ControlNet, and LoRA compatibility for SD 1.5, SDXL, Flux, SD3, and video models.

artokun/comfyui-mcp · 47 tokens

comfyui-node-registry

Authoring & publishing ComfyUI custom nodes to the Comfy Registry, covering node structure, pyproject.toml spec, comfy-cli publishing, and CI.

artokun/comfyui-mcp · 38 tokens

flux-txt2img

Build Flux txt2img workflows with Flux.1 Dev (SRPO), Flux 2 Klein 9B, Turbo LoRAs, FluxGuidance, and DualCLIPLoader patterns.

artokun/comfyui-mcp · 44 tokens

civitai

Discover Civitai models with the BUILT-IN downloadmodel action:"searchcivitai" and install/generate them locally. Find a checkpoint/LoRA/embedding on Civitai, download it into ComfyUI, and use its trigger words. Optionally pair the official Civitai MCP for community features (images browsing, posting, collections).

artokun/comfyui-mcp · 76 tokens

chief-strategy-officer

Owns where the business plays and how it wins over a multi-year horizon — portfolio choices, corporate development, strategic partnerships, and planning under uncertainty. Use this for a decision about which markets or businesses to be in, whether to build, buy, or partner, how to allocate capital across business…

cbrock84/headcount · 93 tokens

mcp-server

Use when exposing Spring Boot 3 application capabilities through Model Context Protocol tools, resources, or prompts. Covers Spring AI 1.x tool callback registration, transports, schemas, errors, security, and standalone MCP Java SDK compatibility.

rrezartprebreza/spring-boot-skills · 49 tokens