← All skills
rem-reflect
44 / 100 · High risk
Only if you trust the author. Some of what it can do is expected: a coding skill usually runs build and test commands.
By sno-ai/sno-station-skills (GitHub) · coding · 864 stars · scanned at commit 1ca8a66
Self Learning from this machine's Claude Code, Codex, Hermes, OpenClaw and Cursor sessions. Decide skill changes and lessons with accept/reject/tbd; recall lessons at session start.
Works with any agent that supports SKILL.md skills.
What this skill can do
Runs commands on your computer
This is disclosed by the author in the skill's SKILL.md or README. Expected for a coding skill.
Found in 101 places.
Show 17 more
- skills/R-recursive-self-improvement/rem-reflect/skill/scripts/agent-sessions.ts, line 60
const output = execFileSync('python3', ['-c', ` - skills/R-recursive-self-improvement/rem-reflect/skill/scripts/agent-sessions.ts, line 111
const output = execFileSync('openclaw', ['sessions', 'export-trajectory', '--session-key', key, '--json', '--workspace', workspace], - skills/R-recursive-self-improvement/rem-reflect/skill/scripts/agent-sessions.ts, line 135
const output = execFileSync('openclaw', ['sessions', 'list', '--json'], { env, encoding: 'utf8', timeout: 90_000, maxBuffer: 64 * 1024 * 1024 }); - skills/R-recursive-self-improvement/rem-reflect/skill/scripts/allowance-fallback.test.ts, line 45
const result = require('node:child_process').spawnSync(${JSON.stringify(delegate)}, args, {encoding:'utf8'}); - skills/R-recursive-self-improvement/rem-reflect/skill/scripts/backend.ts, line 1
import { spawnSync } from 'node:child_process'; - skills/R-recursive-self-improvement/rem-reflect/skill/scripts/backend.ts, line 3
import type { SpawnSyncOptionsWithStringEncoding } from 'node:child_process'; - skills/R-recursive-self-improvement/rem-reflect/skill/scripts/backend.ts, line 105
const child = spawnSync(cli === 'cursor' ? 'cursor-agent' : cli, args, options); - skills/R-recursive-self-improvement/rem-reflect/skill/scripts/cloud-verdict.test.ts, line 3
import { execFileSync } from 'node:child_process'; - skills/R-recursive-self-improvement/rem-reflect/skill/scripts/cloud-verdict.test.ts, line 40
const off = execFileSync(process.execPath, ['--experimental-strip-types', entry, 'reject', id], - skills/R-recursive-self-improvement/rem-reflect/skill/scripts/cloud-verdict.test.ts, line 52
const failed = execFileSync(process.execPath, ['--experimental-strip-types', entry, 'run', '--now', '2026-09-21T01:00:00Z'], - skills/R-recursive-self-improvement/rem-reflect/skill/scripts/cloud-verdict.test.ts, line 60
const full = execFileSync(process.execPath, ['--experimental-strip-types', entry, 'run', '--now', '2026-09-21T01:00:00Z'], - skills/R-recursive-self-improvement/rem-reflect/skill/scripts/cloud-verdict.test.ts, line 179
const verdict = execFileSync(process.execPath, ['--experimental-strip-types', entry, 'reject', id], - skills/R-recursive-self-improvement/rem-reflect/skill/scripts/cloud.ts, line 1
import { spawnSync } from 'node:child_process'; - skills/R-recursive-self-improvement/rem-reflect/skill/scripts/cloud.ts, line 45
const result = spawnSync('sno', ['station', 'consent', '--json'], { encoding: 'utf8' }); - skills/R-recursive-self-improvement/rem-reflect/skill/scripts/cloud.ts, line 79
const result = spawnSync('sno', ['rem', 'verdict', id, verdict, ...(promoted ? ['--all-projects'] : [])], - skills/R-recursive-self-improvement/rem-reflect/skill/scripts/cloud.ts, line 164
const result = spawnSync('sno', ['rem', 'judge', '--json'], { input, encoding: 'utf8', maxBuffer: Infinity, timeout: waitMs, killSignal: 'SIGKILL' }); - skills/R-recursive-self-improvement/rem-reflect/skill/scripts/cursor.test.ts, line 5
import { spawnSync } from 'node:child_process';
and 81 more places
Changes files outside its own folder
The author does not mention this.
Found in 26 places.
Show 17 more
- skills/R-recursive-self-improvement/rem-reflect/skill/scripts/cloud-verdict.test.ts, line 114
writeFileSync(join(bin, 'sno'), `#!/usr/bin/env node - skills/R-recursive-self-improvement/rem-reflect/skill/scripts/cloud-verdict.test.ts, line 150
writeFileSync(join(bin, 'sno'), `#!/usr/bin/env node - skills/R-recursive-self-improvement/rem-reflect/skill/scripts/cursor.test.ts, line 189
writeFileSync(join(bin, 'cursor-agent'), `#!/usr/bin/env node - skills/R-recursive-self-improvement/rem-reflect/skill/scripts/first-message.test.ts, line 23
writeFileSync(executable, '#!/usr/bin/env node\nconst fs=require("node:fs");\nif(process.argv.slice(2).join(" ")==="station consent --json"){console.log(JSON.st - skills/R-recursive-self-improvement/rem-reflect/skill/scripts/first-message.test.ts, line 69
writeFileSync(join(bin, 'sno'), '#!/usr/bin/env node\nconst fs=require("node:fs");\nif(process.argv.slice(2).join(" ")==="station consent --json"){console.log(J - skills/R-recursive-self-improvement/rem-reflect/skill/scripts/hermes-openclaw.test.ts, line 79
writeFileSync(join(bin, 'openclaw'), `#!/usr/bin/env node - skills/R-recursive-self-improvement/rem-reflect/skill/scripts/hermes-openclaw.test.ts, line 173
writeFileSync(join(bin, 'openclaw'), '#!/usr/bin/env node\nconsole.log(JSON.stringify({status:"error",result:{payloads:[{text:"unavailable"}]}}));\n', { mode: 0 - skills/R-recursive-self-improvement/rem-reflect/skill/scripts/hermes-openclaw.test.ts, line 175
writeFileSync(join(bin, 'hermes'), '#!/usr/bin/env node\nsetTimeout(()=>console.log("too late"),10000);\n', { mode: 0o755 }); - skills/R-recursive-self-improvement/rem-reflect/skill/scripts/hermes-openclaw.test.ts, line 184
writeFileSync(join(bin, 'hermes'), '#!/usr/bin/env node\nrequire("node:fs").readFileSync(0,"utf8"); console.log(JSON.stringify({decision:"keep",outcome:"fail",r - skills/R-recursive-self-improvement/rem-reflect/skill/scripts/hermes-openclaw.test.ts, line 250
for (const cli of ['hermes', 'openclaw']) writeFileSync(join(bin, cli), `#!/usr/bin/env node - skills/R-recursive-self-improvement/rem-reflect/skill/scripts/local-first-output.test.ts, line 257
writeFileSync(join(bin, 'codex'), `#!/usr/bin/env node - skills/R-recursive-self-improvement/rem-reflect/skill/scripts/login-in-place.test.ts, line 53
writeFileSync(join(bin, cli), `#!/usr/bin/env node - skills/R-recursive-self-improvement/rem-reflect/skill/scripts/recall-hook.test.ts, line 63
writeFileSync(p, ['#!/usr/bin/env bash', - skills/R-recursive-self-improvement/rem-reflect/skill/scripts/recall-hook.test.ts, line 172
test('install-hooks run through sno prints the absolute sno path, because a hook PATH often lacks ~/.local/bin', () => { - skills/R-recursive-self-improvement/rem-reflect/skill/scripts/recall.test.ts, line 322
writeFileSync(join(bin, 'sno'), `#!/usr/bin/env node - skills/R-recursive-self-improvement/rem-reflect/skill/scripts/recall.test.ts, line 409
writeFileSync(join(bin, 'sno'), `#!/usr/bin/env node - skills/R-recursive-self-improvement/rem-reflect/skill/scripts/recall.test.ts, line 438
writeFileSync(join(bin, 'sno'), `#!/usr/bin/env node
and 6 more places
Reads your browser cookies or saved passwords
The author does not mention this.
Found in 1 place.
Downloads and installs other software
The author does not mention this.
Found in 10 places.
Show 7 more
- skills/R-recursive-self-improvement/rem-reflect/skill/scripts/verdicts.test.ts, line 21
assert.equal(commandId('cd /x && npx vitest run a'), 'vitest'); - skills/R-recursive-self-improvement/rem-reflect/skill/scripts/verdicts.test.ts, line 26
assert.equal(commandId('infisical run -p app -c dev -- npx vitest run tests/a.test.ts'), 'vitest'); - skills/R-recursive-self-improvement/rem-reflect/skill/scripts/verdicts.test.ts, line 27
assert.equal(commandId('env -u HTTPS_PROXY -u HTTP_PROXY timeout 300 npx vitest run a'), 'vitest'); - skills/R-recursive-self-improvement/rem-reflect/skill/scripts/verdicts.test.ts, line 37
assert.equal(commandId('npx --yes vitest run a'), 'vitest'); - skills/R-recursive-self-improvement/rem-reflect/skill/scripts/verdicts.test.ts, line 38
assert.equal(commandId('npx -y jest'), 'jest'); - skills/R-recursive-self-improvement/rem-reflect/skill/scripts/verdicts.test.ts, line 64
assert.deepEqual(brief([call(15, 'cd x && npx vitest run', false, ' Test Files 2 passed (2)\n Tests 12 passed (12)')]), [[15, 'test', true]]); - skills/R-recursive-self-improvement/rem-reflect/skill/scripts/verdicts.test.ts, line 65
assert.deepEqual(brief([call(16, 'cd x && npx vitest run 2>&1 | tail -5', false, ' Tests 3 failed | 9 passed (12)')]), [[16, 'test', false]],
Connects to the internet
This is disclosed by the author in the skill's SKILL.md or README.
Found in 1 place.
Safer alternatives
Low-risk skills in the same category (coding) that look related. Check that one does what you need.
Install
Paste this into your terminal. It downloads exactly the version we scanned, not whatever is newest.
if [ -e ~/.agents/skills/'rem-reflect' ] || [ -L ~/.agents/skills/'rem-reflect' ]; then echo 'A skill folder named rem-reflect already exists — not replacing it' >&2; false; else d=$(mktemp -d) && git clone --quiet --filter=blob:none --no-checkout 'https://github.com/sno-ai/sno-station-skills' "$d" && git -C "$d" checkout --quiet '1ca8a66158bc9ca26c288c6d5e7ebcf2ffb8491a' -- 'skills/R-recursive-self-improvement/rem-reflect/skill' && mkdir -p ~/.agents/skills && cp -R "$d"/'skills/R-recursive-self-improvement/rem-reflect/skill' ~/.agents/skills/'rem-reflect' && rm -rf "$d"; fi
Codex reads ~/.agents/skills directly. For Claude Code, Cursor, Copilot, Gemini CLI, Antigravity or OpenCode, also link it. For Claude Code: ln -s ~/.agents/skills/'rem-reflect' ~/.claude/skills/'rem-reflect' (other agents: ~/.cursor/skills, ~/.copilot/skills, ~/.gemini/skills, ~/.gemini/config/skills, ~/.config/opencode/skills). Or install through the finder skill, which does both.
Badge for your README
The badge for sno-ai/sno-station-skills shows the score of its lowest-scoring skill.

[](https://zalavijaysinh.github.io/skilltrust/repos/sno-ai/sno-station-skills/)
Score history
| Date | Version | Score |
|---|
| 2026-11-08 | 1ca8a66 | 44 |
| 2026-11-07 | 1ca8a66 | 44 |