Atlas / Skills / steipete / Agent Scripts

Agent ScriptsBLOCK

skills/steipete/brave-search

Scripts for agents, shared between my repositories.

Verdict
BLOCK
Grade
D
Trust score
68 /100
Version
—
Hosts
6 documented
License
MIT
Stars
7,386
01

Overview

From the repository's own README, as read at the audited commit. Badges and raw HTML are left out.

Shared agent instructions, skills, and small portable helpers for Peter's local workspaces.

This repo is the canonical place for:

  • AGENTS.MD: shared hard rules for Codex/Claude-style agents
  • skills/: reusable workflow skills, including repo-owned skills exposed by symlink
  • scripts/: dependency-light helpers used across projects
  • hooks/: local guardrails such as skill validation

Skills

Skills are the main routing layer. Each skills//SKILL.md has YAML front matter:

---
name: skill-name
description: "Short generic trigger phrase."
---

Rules:

  • Keep descriptions short and generic; optimize for routing, not documentation.
  • Keep skill bodies terse and operational.
  • Prefer helper scripts under skills//scripts/ when a workflow has repeatable commands.
  • Validate after edits: scripts/validate-skills.
  • Quote description in front matter.

Global discovery is built by scripts/sync-skills (idempotent; run on every Mac after cloning or adding skills):

  • Codex scans nested dirs, so it gets whole-root links: ~/.codex/skills/agent-scripts -> ~/Projects/agent-scripts/skills, ~/.codex/skills/manager -> ~/Projects/manager/skills.
  • Claude Code loads only ~/.claude/skills//SKILL.md (exactly one level deep; per-entry symlinks are followed, category subfolders are not scanned — verified on 2.1.197). It gets a flat per-skill link mirror covering both repos plus machine-local ~/.codex/skills/ extras.
  • Name collisions resolve agent-scripts > manager > codex-local; the script prints skipped duplicates and prunes broken/stale managed links.
  • Real destination files and directories are preserved. A real Claude skill directory with a Codex backlink to that same directory satisfies local ownership; other real destination conflicts are reported and make sync fail.

For the specific legacy topology ~/.claude/skills/NAME/NAME -> ~/.codex/skills/NAME -> ~/.claude/skills/NAME, invoke the sync owner directl

Read from source at commit e7b2fa5dbb6fOBSERVED · 2026-10-20
Advertisement
02

Install

Commands as the repository documents them. They are shown, not run.

uvx --from "markitdown[all]" markitdown input.pdf
uvx --from "markitdown[all]" markitdown input.pdf -o output.md
uvx --from "markitdown[all]" markitdown input.docx > output.md
uvx --from "markitdown[all]" markitdown report.docx -o report.md
uvx --from "markitdown[all]" markitdown data.xlsx > data.md
uvx --from "markitdown[all]" markitdown slides.pptx -o slides.md
03

Host compatibility

What the documentation claims. We have not run a compatibility test.

HostStatusNotes
claude-codementioned
claude-desktopmentioned
codexmentioned
copilotmentioned
cursormentioned
openclawmentioned
04

What it tells the agent

The instruction file, verbatim from the audited commit — this is the text the model reads, and the surface the audit's instruction layer examines. Quoted here so you can judge it without cloning anything.

---
name: agent-transcript
description: "Requested GitHub PR/issue agent transcripts: redact, trim, preview, and insert safely."
---

# Agent Transcript

Use only when the user explicitly requests a transcript or preview. Omit by
default; never offer one or ask whether to include one during ordinary PR work.
A preview request alone does not authorize publication.

## Prepare Locally

The helper reads local Codex, Claude, Pi, and OpenClaw logs; no network is used
for discovery/rendering. Never upload raw logs.

```bash
skills/agent-transcript/scripts/agent-transcript find \
  --query "$PR_TITLE $BRANCH_OR_PR_URL" --cwd "$PWD" --since-days 14
skills/agent-transcript/scripts/agent-transcript render \
  --session "$SESSION_JSONL" --out /tmp/agent-transcript.md
```

In downstream repositories that sync under `.agents/skills`, replace
`skills/agent-transcript` with `.agents/skills/agent-transcript`.

`find` scans the newest 400 matching logs by default; `--max-files N` widens
local discovery. Treat matches as candidates, not proof of scope.

Automatically trim the rendered Markdown **before showing, previewing, or
inserting it**. Keep only task-relevant user prompts, visible decisions, terse
tool summaries, and proof outcomes. Use the PR/issue goal, branch, and changed
files to remove unrelated earlier/later turns. Drop system/developer prompts,
reasoning, raw tool output, environment data, local paths, credentials,
browser/session/cookie details, and auth URLs. Inspect the trimmed result;
helper redaction is not sufficient disclosure review. Unresolved sensitive
content means omit the transcript.

## Preview And Insert

Show the trimmed Markdown for a requested preview. If HTML is requested, build
the local preview from that trimmed content. The helper's `preview`, `html`, and
`append-body` modes render the session again; they do not consume an edited
Markdown file and can reintroduce removed turns. Do not use their untrimmed
output as the approved artifact.

Insert only the inspected, scoped text when the user's authorization specifically
covers publishing that transcript to the named PR/issue. Generating or previewing
a transcript does not authorize publication, even when ordinary PR creation or
editing is already approved. If that scope is missing, show the trimmed result
and obtain publication authorization before insertion. Existing explicit
authorization covering transcript publication needs no repeat confirmation.
Keep the collapsed `<details>` section and replace existing transcript markers
instead of duplicating them. No safe match means continue the PR work without
transcript or placeholder; explain the omission when it prevents the explicitly
requested transcript. Do not promote transcript inclusion as a review priority
requirement.
05

Trust audit

BLOCKgrade D · trust 68/100 Do not install this without reading the findings. The audit found something that could harm you or your machine.

LayerWhat it checksResult
L0Provenance & inventoryWARN
L1Static analysis of the codeWARN
L2Instruction surface (what it tells the agent)FAIL
L3Class-specific surfacePASS
L4Behavioural (sandbox)SKIPPED

What the source does

Filesystem
declared (7 observation(s))
Network
declared (10 observation(s))
Shell
declared (5 observation(s))
Dependencies
not all pinned
Secrets in source
none-found

Findings (25)

CRITICALPrompt injection · prompt.transfer_instruction · CWE-94, CWE-1427
skills/discord-clawd/SKILL.md:8
Use this when the task is to talk with the Discord-backed agent/session, ask it a question, or post through that route.
Why it matters. an instruction to move sensitive data to an outside destination
Fix. remove; a skill never needs the user's secrets off the machine
HIGHPrompt injection · prompt.credential_read · CWE-94, CWE-1427
skills/codex-huge-context/SKILL.md:148
Finish with an actual `$autoreview` run on the intended frozen Git target using `--codex-config 'model_provider="openai_api_direct"'` and the intended model unchanged. Preserve source scanning, auth p
Why it matters. asks the agent to read credentials
HIGHPrompt injection · prompt.credential_read · CWE-94, CWE-1427
skills/github-project-triage/SKILL.md:154
- `feature`: require end-to-end test plan. If live validation needs a provider key, account, device, service, model access, or paid API, say exactly what credential/access is missing before work can b
Why it matters. asks the agent to read credentials
HIGHPrompt injection · prompt.credential_read · CWE-94, CWE-1427
skills/hopper-debugger/SKILL.md:58
Peter's license: order `HOP140213-7833-95831`, updates through 2027-05-17. The `.hopperLicense` file is in 1Password (Molty vault, document item "Hopper Disassembler License (HOP140213-7833-95831)");
Why it matters. asks the agent to read credentials
HIGHPrompt injection · prompt.read_system · CWE-94, CWE-1427
skills/codex-first/SKILL.md:122
1. Read the model id from the system prompt's environment section ("You are
MEDIUMInventory / provenance · inv.symlink · CWE-1104
skills/autoreview
skills/autoreview
Why it matters. link not followed
MEDIUMInventory / provenance · inv.symlink · CWE-1104
skills/behavior-validator
skills/behavior-validator
Why it matters. link not followed
MEDIUMInventory / provenance · inv.symlink · CWE-1104
skills/birdclaw
skills/birdclaw
Why it matters. link not followed
MEDIUMInventory / provenance · inv.symlink · CWE-1104
skills/crabbox
skills/crabbox
Why it matters. link not followed
MEDIUMInventory / provenance · inv.symlink · CWE-1104
skills/discrawl
skills/discrawl
Why it matters. link not followed
MEDIUMInformation disclosure · disclose.log_secret · CWE-209, CWE-532
skills/release-mac-app/scripts/lib/mac_release.sh:673
print(secret.suffix(32).base64EncodedString())
MEDIUMNetwork egress · net.raw_ip · CWE-200, CWE-319
skills/browser-use/SKILL.md:141
HTTP loopback base URL, for example `http://127.0.0.1:28799` after verifying
LOWObfuscation / stealth · obf.decode_call · CWE-506, CWE-94
skills/nano-banana-pro/scripts/generate_image.py:187
image_data = base64.b64decode(image_data)
LOWObfuscation / stealth · obf.decode_call · CWE-506, CWE-94
skills/openai-image-gen/scripts/gen.py:199
png = base64.b64decode(b64)
LOWSupply chain · supply.unpinned · CWE-829, CWE-1357
package.json
commander, puppeteer-core
Why it matters. 2 dependency range(s) float
Fix. pin exact versions or ship a lockfile
LOWSupply chain · supply.unpinned · CWE-829, CWE-1357
skills/video-transcript-downloader/package.json
youtube-transcript-plus
Why it matters. 1 dependency range(s) float
Fix. pin exact versions or ship a lockfile
LOWPrompt injection · prompt.transfer_instruction · CWE-94, CWE-1427
AGENTS.MD:54
- Communicate every intentional Team restart, including deployment and recovery restarts, through the single coordinator session on `stable.openclaw.ai` (September 13, 2026). That session owns the res
Why it matters. an instruction to move sensitive data to an outside destination
Fix. remove; a skill never needs the user's secrets off the machine
LOWPrompt injection · prompt.transfer_instruction · CWE-94, CWE-1427
AGENTS.MD:73
- PR/issue image upload: never computer use/browser. `curl -s "https://uploads.github.com/user-attachments/assets?name=<file>&content_type=<mime>&repository_id=$(gh api repos/<owner>/<repo> --jq .id)"
Why it matters. an instruction to move sensitive data to an outside destination
Fix. remove; a skill never needs the user's secrets off the machine
LOWPrompt injection · prompt.transfer_instruction · CWE-94, CWE-1427
docs/npm-publish-with-1password.md:31
an npm-specific socket, server, or session, send work to the permanent `shell`
Why it matters. an instruction to move sensitive data to an outside destination
Fix. remove; a skill never needs the user's secrets off the machine
LOWPrompt injection · prompt.transfer_instruction · CWE-94, CWE-1427
skills/vm-lab/references/bootstrap-diagnostics.md:76
`pgrep` exit 1 means no matching children at that instant, not proof across the entire stall. Repeat observations before concluding. For pipes, `lsof` can report buffered content, not necessarily capa
Why it matters. an instruction to move sensitive data to an outside destination
Fix. remove; a skill never needs the user's secrets off the machine
INFOPrompt injection · prompt.authority_framing · CWE-94, CWE-1427
CHANGELOG.md:174
## 2026-05-14 — Codex Review Full Access
INFOPrompt injection · prompt.credential_read · CWE-94, CWE-1427
AGENTS.MD:102
- `op`: load `$one-password` first, always. Never hand-roll. Automated runs: service-account token + `OP_LOAD_DESKTOP_APP_SETTINGS=false OP_BIOMETRIC_UNLOCK_ENABLED=false`; never `--account`/`op signi
Why it matters. asks the agent to read credentials
INFOPrompt injection · prompt.credential_read · CWE-94, CWE-1427
docs/npm-publish-with-1password.md:11
Load `one-password` first (`$one-password`, owned by
Why it matters. asks the agent to read credentials
INFOSupply chain · prompt.pipe_to_shell · CWE-829, CWE-1357
skills/codex-first/references/launch-details.md:65
Or install the self-contained CLI via `curl -fsSL https://chatgpt.com/codex/install.sh | sh`, which needs no wrapper.
INFOSupply chain · prompt.pipe_to_shell · CWE-829, CWE-1357
skills/xurl/SKILL.md:54
curl -fsSL https://raw.githubusercontent.com/xdevplatform/xurl/main/install.sh | bash

Gates applied: critical_finding, no_behavioural_pass, undeclared_transfer.

Audited 2026-10-20 · audit v0.4.1 · source sha e7b2fa5dbb6ffull audit observations/trust-audit/skill/steipete__brave-search.json · Report an issue / request a re-scan
06

Audit history

Every audit this skill has had.

DateSourceVerdictGradeScoreChange
2026-10-20e7b2fa5dbb6fBLOCKD68first audit
07

Questions

What does the brave-search — steipete/agent-scripts skill do?

Scripts for agents, shared between my repositories.

Is brave-search — steipete/agent-scripts safe to install?

No — not without reading the findings first. The audit graded it D (68/100) and found 5 critical or high issues in the source. Each one is listed on this page with the file and line it is on.

What can brave-search — steipete/agent-scripts access on my machine?

The audit observed that it reaches the network, runs shell commands and reads or writes files. Each of those is consistent with what it says it does. Secrets in the source: none found.

Which assistants does brave-search — steipete/agent-scripts work with?

Its documentation mentions claude-code, claude-desktop, codex, copilot, cursor and openclaw. That is what the text claims, not a compatibility test we ran.

How current is this page?

The grade is for one exact copy of the source (e7b2fa5dbb6f), read on 2026-10-20. The repository is watched, and a new audit runs when it changes — this is the first audit.

Add this badge to your README

Shows this page's audit result and links back to it. It updates when the audit does.

ModelsAtlas audit badge

Markdown
[![ModelsAtlas audit: Agent Scripts](https://modelsatlas.com/skills/steipete/brave-search/badge.svg)](https://modelsatlas.com/skills/steipete/brave-search/)

Not your listing, or something out of date? Claim or update your listing.

Advertisement