Three-layer completion evaluation (structured output → marker → continue), capacity rejection outranks completion claim. Use when working with completion.py.
Scanned 9/19/2026
npx -y skills add the-vibey-project/vibey --skill codexloop-completion --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Codexloop Completion?
Add the live security badge to your README — it updates automatically with every re-scan.
[](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.
---
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.
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!