Skip to main content

bs-score

Use when auditing a repo, PR, branch, PR review, AI skill, agent config, or one or more prompts for claims vs truth and real defects: follow the canonical bs-score SKILL.md, emit findings JSON, then run bs-score (higher = more bullshit).

来源信息

仓库
alexhawat/bs-score
最近来源活动
2026年9月14日 16:37
检测到的 SKILL.md 语言
英语
星标
3
分支
0

安装方式

默认使用会先检查来源的 Prompt;你也可以切换为直接命令,或下载本地副本。

检查来源文件

决定是否安装前,请先阅读 SKILL.md,以及 SkillsMP 当前展示的配套文件。

文件资源管理器
2 个文件

正在显示 SKILL.md

SKILL.md
来源说明 · 只读预览
name
bs-score
description
Use when auditing a repo, PR, branch, PR review, AI skill, agent config, or one or more prompts for claims vs truth and real defects: follow the canonical bs-score SKILL.md, emit findings JSON, then run bs-score (higher = more bullshit).
allowed-tools
Read, Grep, Glob, Bash
license
MIT
# Bullshit Score (`bs-score`) — Claude Code ## Install Two pieces: the skill files, and the `bs-score` command that scores them. **The skill** — clone the repository into Claude Code's skills folder, so the root `SKILL.md` and the `checklists/` it links to land together: ```bash git clone --depth 1 https://github.com/alexhawat/bs-score ~/.claude/skills/bs-score # personal git clone --depth 1 https://github.com/alexhawat/bs-score .claude/skills/bs-score # project ``` `~/.claude/skills/bs-score` applies to every project; `.claude/skills/bs-score` is checked into one repository. Keep the folder name `bs-score` — it is the skill's name. **The command** — one line, and nothing here vendors it: ```bash uv tool install git+https://github.com/alexhawat/bs-score # puts bs-score on PATH ``` ## Canonical pack This wrapper belongs to [alexhawat/bs-score](https://github.com/alexhawat/bs-score). 1. Read **`SKILL.md` at the repository root** — the two-pass workflow, the per-review-type checklists, and the hard rules live there. 2. Emit findings JSON matching `findings.schema.json` (no `score` / `points`). 3. Score it: ```bash bs-score findings.json --repo-root . # installed uv run bs-score findings.json --repo-root . # from a clone of the repo ``` Every install option is in the [repository README](https://github.com/alexhawat/bs-score#install). Quotes are verified against the files they name before anything is scored, so `--repo-root` must point at the tree you audited. For prompts and review bodies, add `--sources` (`bs-score` below is the same command): ```bash bs-score findings.json --sources prompts/ # prompt audit bs-score findings.json --repo-root . --sources review.json # review audit ``` From a clone, `python3 score.py findings.json` and `uv run bs-score …` do the same thing. ## What it audits | `target_kind` | Scope | Weight profile | |---------------|-------|----------------| | `repo` | Docs claims **and** deep code | baseline | | `pr` / `branch` | The diff and its callers | landing defects weigh more | | `review` | A PR review vs the diff | false claims and misses weigh more | | `skill` | Skill MD + the code it names | unimplemented claims weigh more | | `agent` | Agent / persona configs | unsafe instructions weigh most | | `prompt` | One or more prompts | injection and secrets weigh most | | `docs` | One document, claims only | wrong claims weigh most | ## Fixture examples Run from a clone of the repo: ```bash uv run bs-score examples/findings.valid.json --repo-root examples/fixture-repo # 17 uv run bs-score examples/findings.review.json --repo-root examples/fixture-repo \ --sources examples/fixture-review/review.json # 10 uv run bs-score examples/findings.skill.json --repo-root examples/fixture-repo # 7 uv run bs-score examples/findings.agent.json --repo-root examples/fixture-repo # 6 uv run bs-score examples/findings.prompt.json --sources examples/fixture-prompts # 18 uv run bs-score examples/findings.hallucinated.json \ --repo-root examples/fixture-repo # 0 ``` That last one is the point: a fabricated audit scores zero because none of its quotes exist. Never invent the score — report only what `bs-score` printed.
在 GitHub 查看