From asi
Detects placeholder tokens like pseudo-, mock-, TODO in agent output and triggers user interview to reject incomplete substitutions.
npx claudepluginhub plurigrid/asi --plugin asiThis skill uses the workspace's default tool permissions.
Zero tolerance for placeholder tokens **in agent output**. Incompleteness triggers user interview.
Scans existing files for placeholder tokens like TODOs, FIXMEs, mocks, stubs; classifies by severity and generates remediation plans with tasks.
Validates AI agent claims like 'tests pass' or 'fixed' against evidence trails and tool outputs. Detects stubs and unproven assertions. Auto-triggers at workflow end.
Enforces complete unabridged output without placeholders, TODOs, skipped sections, or partial implementations. Use for full files, exhaustive lists, and production-critical deliverables.
Share bugs, ideas, or general feedback.
Zero tolerance for placeholder tokens in agent output. Incompleteness triggers user interview.
Detect and reject incomplete work tokens generated in agent output. When uncertainty exists, ask the user rather than substitute with placeholders.
This skill validates what agents produce, not existing code:
NOT for scanning existing codebases (use linters for that).
| Pattern | Examples |
|---|---|
pseudo-* | pseudo-code, pseudo-implementation |
mock-* | mock-data, mock-service |
fake-* | fake-response, fake-auth |
stub-* | stub-function, stub-api |
dummy-* | dummy-value, dummy-handler |
| Token | Context |
|---|---|
temporary | "temporary solution" |
placeholder | "placeholder for now" |
TODO | inline TODOs as output |
FIXME | deferred fixes |
TBD/TBA | undetermined items |
WIP | work-in-progress as deliverable |
| Pattern | Context |
|---|---|
later | "we'll add this later" |
eventually | "eventually this will..." |
for now | "for now just use..." |
skeleton | incomplete implementation |
| Pattern | Examples |
|---|---|
example_* | example_config, example_key |
demo_* | demo_mode, demo_data |
foo/bar/baz | metasyntactic placeholders |
xxx/yyy | marker placeholders |
Substitution detected that indicates incomplete work:
- Token: "[detected token]"
- Context: [what was being attempted]
This requires input:
1. What is the ACTUAL implementation needed?
2. What specific details are missing?
3. Should research be conducted before proceeding?
Operates as MINUS (-1) validator in any triad:
accept-no-substitutes(-1) + generator(+1) + coordinator(0) = 0
When generator produces substitution tokens:
def authenticate(user):
# TODO: implement actual auth
return True # temporary bypass
def authenticate(user: User) -> AuthResult:
credentials = vault.get_credentials(user.id)
return verify_signature(user.token, credentials.public_key)
Here's a pseudo-implementation you can adapt...
Clarification needed before implementing:
- Which authentication provider is used?
- What is the expected token format?
Placeholder tokens are technical debt laundering:
The correct response to uncertainty is asking, not substituting.
scripts/detect.py --stdin < output.txt
# Invoke tree-sitter for structural detection
tree-sitter query '(comment) @comment' | grep -iE 'TODO|FIXME|placeholder'
# High compression ratio = likely template/placeholder
from zlib import compress
ratio = len(compress(output.encode())) / len(output)
if ratio < 0.3: # Suspiciously compressible
flag_as_boilerplate()
# On detection, emit MINUS signal
emit_trit(-1, reason="substitution_detected", token=matched)
Add to .claude/settings.json:
{
"hooks": {
"PostToolUse": [{
"matcher": {"toolName": "Write|Edit"},
"command": "~/.claude/skills/accept-no-substitutes/scripts/validate.sh"
}]
}
}
Call via babashka for fast validation:
(require '[babashka.process :refer [shell]])
(defn validate-output [text]
(let [{:keys [exit]} (shell {:in text} "scripts/detect.py" "-")]
(zero? exit)))