Skip to content
Back to skills

Codexloop Completion

ASecurity

Three-layer completion evaluation (structured output → marker → continue), capacity rejection outranks completion claim. Use when working with completion.py.

  • 2 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added September 19, 2026
ai-agentspython

Security analysis

A100/100

Scanned September 19, 2026

npx -y skills add the-vibey-project/vibey --skill codexloop-completion --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Codexloop Completion?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Codexloop Completion
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/the-vibey-project-codexloop-completion/badge)](https://www.skillsdirectory.com/skills/the-vibey-project-codexloop-completion)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: codexloop-completion
description: Three-layer completion evaluation (structured output → marker → continue), capacity rejection outranks completion claim. Use when working with completion.py.
allowed-tools: Read Grep
---

# codexloop completion detection

`CompletionEvaluator` in `domain/completion.py` maps `TurnSignals` +
`CapacityState` into a `CompletionVerdict`.

## CompletionVerdict variants

```python
Done  # task fully complete
Continue  # remaining: list[str]
Blocked  # reason: str — human intervention needed
```

## Three-layer evaluation

**Capacity rejection always outranks a completion claim.** If the turn is
not `Available`, return `Continue` regardless of structured output or
markers.

For an `Available` turn, the layers are:

1. **Structured output** (`StructuredOutput` tool call result):
   - `blocked_on` set → `Blocked(reason=blocked_on)`.
   - `complete: true` and `remaining_work: []` → `Done`.
   - `complete: true` but `remaining_work` not empty → `Continue`.
   - `complete: false` → `Continue(remaining=remaining_work)`.

2. **Marker on own line**: if `CODEXLOOP_TASK_FULLY_COMPLETE` appears on
   its own line in the final message → `Done`.

3. **Fallback**: `Continue(remaining=[])`.

The marker check uses `_marker_on_own_line(message, done_marker)`: the
string must be the only non-whitespace on the line. Partial matches or
inline occurrences do not count.

**Never treat a non-`Available` turn as `Done`.** Rate-limit windows and
transient errors are waitable; completion is deferred until capacity
returns.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…