agentsclimarketplace

Affirm

Skill nullphase-net/enfurbish/affirm/skills/affirm

Claude Code Plugins

Install
npx -y skills add nullphase-net/enfurbish --skill affirm

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

Affirm, show, or revoke trust in the current project's CLAUDE.md, .claude/rules/* files, and the files they @import. Use after reviewing changes flagged by the SessionStart hook. Invoke as /affirm.

SKILL.md

2.5 KB, as published. Nobody here has run it

/affirm — affirm project instruction files

CLAUDE.md, anything under .claude/rules/, and any files they pull in via Claude Code's @import syntax are loaded as Claude's system instructions for this project. A malicious or accidental change can silently re-program Claude. /affirm is the explicit trust gate: bare /affirm shows you what's there; /affirm -a records SHA-256 hashes once you've reviewed; /affirm -r revokes. The SessionStart hook compares stored hashes on every session start and warns on any mismatch.

Procedure

Forward args to the CLI verbatim and relay output to the user. No confirmation prompts — the user types -a when they're ready to attest.

The CLI lives at <skill-base-dir>/../../lib/cli.ts.

Bare /affirm — show details

bun run "<skill-base-dir>/../../lib/cli.ts"

Relay the output. This is read-only — nothing is recorded.

/affirm -a (or --apply) — record hashes

bun run "<skill-base-dir>/../../lib/cli.ts" -a

Relay the output. The user invoking -a is the attestation; do not add a separate confirmation step.

/affirm -r (or --revoke) — drop affirmation

bun run "<skill-base-dir>/../../lib/cli.ts" -r

Relay the output.

/affirm --help

bun run "<skill-base-dir>/../../lib/cli.ts" --help

Relay the output.

What this skill does NOT do

  • Read the contents of CLAUDE.md or rules files. That's the user's job — they're the one attesting.
  • Modify any instruction file. Affirmation is hash-only.
  • Affirm files the project doesn't reference. Scope is <cwd>/CLAUDE.md + <cwd>/.claude/rules/* plus whatever they @import (followed two levels deep; an import pointing outside the project is hashed but flagged out-of-tree). User-global ~/.claude/CLAUDE.md is out of scope unless a tracked file imports it.
  • Prompt the user "are you sure?". The flag is the attestation.

Edge cases

  • No instruction files in cwd: the CLI prints a single line and exits. Relay that and stop.
  • Unknown flag: the CLI exits 2 with usage. Relay it.
  • -a and -r together: the CLI exits 2 with a "mutually exclusive" error. Relay it.
  • Hash file at ~/.claude/affirm-hashes.json is missing or unparseable: the CLI treats it as empty and writes a fresh one on next -a. No action needed.

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.