anti-slop-engineering@1.8.0
CAUTION· install onlyPublisher claims: "An Engineering Discipline Playbook, Agent Skill & Triage Guard for AI Coding Agents" Observed in sandbox: no network, touches nothing outside the project, writes no memory.
Coverage
Install scripts ran; no agent task scenario for this bundle.- Tested
- install scripts, with decoy credentials in place · second launch with the clock 45 days ahead · every file read, file written and host contacted by what ran
- Not tested
- use of the skill by an agent
Is [email protected] safe to install?
KillerSkills ran it in the KillerSkills honeypot sandbox (2 scenarios; install scripts ran; no agent task scenario for this bundle) on 2026-11-14 and scored it 63/100 (Caution). It is not known to be malicious, but it has behaviour or code a security policy should decide on before install. Notable findings: Pipe-to-shell pattern; Credential pass-through configuration; Access to sensitive file paths. Summary: no network, touches nothing outside the project, writes no memory.
Behavior trace
Honeypot run · 1 s · 2 scenariosStatic findings
…erministic machine codes and remediation guidance. Audit contract records with `npx anti-slop-engineering contract audit <record.json> --json`. 23. **UI Craftsmanship, Copywriting & WCA…Fix: Pin versions and sources; vendor anything fetched at install time.p = subprocess.run(['git', '-C', str(repo), *args], capture_output=True)Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.echo " • CLI triage: npx anti-slop-engineering --base HEAD"Fix: Pin versions and sources; vendor anything fetched at install time.# Determine source directory (local clone or fresh clone via curl | bash)Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.proc = subprocess.run(cmd, cwd=repo_root, capture_output=True, text=True, check=False)Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.…ing tabindex for composite controls, and ARIA live regions. Audit records with `npx anti-slop-engineering apple-craft audit <record.json> --json`. 25. **Observability & SLO Architect (G…Fix: Pin versions and sources; vendor anything fetched at install time.proc = subprocess.run(Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.proc = subprocess.run(command, capture_output=True, text=True, check=False)Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.# Determine source directory (local clone or fresh clone via curl | bash)Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.passFix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.proc = subprocess.run(cmd, capture_output=True, text=True, timeout=GUARD_TIMEOUT_SECONDS)Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.r"(?i)(?:process\.env\.[A-Z0-9_]+|os\.getenv\([^)]+\))\s*(?:\|\||\?\?|,)\s*['\"](?:secret|password|admin|default|changeme|123456|dev)"Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.res = subprocess.run(Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.res = subprocess.run(cmd, capture_output=True, text=True)Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.proc = subprocess.run(Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.npx anti-slop-engineering [command] [options]Fix: Pin versions and sources; vendor anything fetched at install time.exists = subprocess.run(['git', '-C', str(repo), 'cat-file', '-e', f'{base}:{path}'], capture_output=True).returncode == 0Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.proc = subprocess.run(Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.res = subprocess.run(cmd, capture_output=True, text=True, check=True)Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.subprocess.run(Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.….4x 1h/5m for paging; 6.0x 6h/30m for ticketing). Audit telemetry records with `npx anti-slop-engineering observability audit <record.json> [--source <file>] --json`. 26. **Repo Memory …Fix: Pin versions and sources; vendor anything fetched at install time.result = subprocess.run(Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.proc = subprocess.run(Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.result = subprocess.run(["git", "-C", str(repo), *git_args], capture_output=True, check=False)Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.2. Update SKILL.md & AGENTS.md with concise agent directivesFix: Remove the text that addresses the agent rather than the reader; describe behavior, do not instruct.p = subprocess.run(['git', '-C', str(repo), *args], capture_output=True, text=True)Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.# 2. Hardcoded feature flags without kill switch or expirationFix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.exists = subprocess.run(['git', '-C', str(repo), 'cat-file', '-e', f'{base}:{path}'], capture_output=True).returncode == 0Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.proc = subprocess.run(cmd, capture_output=True, text=True, check=False)Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.errors.append("AGENTS.md: missing repository instruction file")Fix: Remove the text that addresses the agent rather than the reader; describe behavior, do not instruct.name_proc = subprocess.run(["git", "diff", "--name-only", base], capture_output=True, text=True, check=False)Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.res = subprocess.run(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE, text=True, check=True)Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.proc = subprocess.run(cmd, capture_output=True, text=True, check=False)Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.Cost to the agent
Tokens estimated at four characters each. Skills load their instruction text when triggered; the figure is what that costs.
Known vulnerabilities
No advisories in OSV for anti-slop-engineering@1.8.0 as of 59 min ago. This is the package itself, not its dependencies.
What would make this Verified
17 points to 80 · weights: behavior 45%, static 25%, prompt 15%, publisher 15%- Pipe-to-shell pattern≈ +9 on the totalBuild commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
- Unclaimed publisher≈ +8 on the totalClaim immamdouhaboammar: a verified publisher gets +50 on publisher trust. It is free and usually instant with GitHub sign-in.
- Touches files outside the project≈ +7 on the totalKeep reads and writes inside the working directory, or declare the exact paths in `filesystem:` and explain why in the README.
- Credential pass-through configuration≈ +4 on the totalStop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
- Access to sensitive file paths≈ +4 on the totalStop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
- npx invocation of non-well-known package≈ +2 on the totalPin versions and sources; vendor anything fetched at install time.