From nfc-ops
Use when you need to update or rotate passwords across a batch of tags — read a CSV of UIDs and old/new passwords, verify each tag, and apply the new password.
npx claudepluginhub danielrosehill/claude-code-plugins --plugin nfc-opsThis skill uses the workspace's default tool permissions.
Apply or rotate passwords across multiple NFC tags from a CSV file. The skill presents each tag, verifies the UID matches the CSV row, authenticates with the old password, applies the new password, and tracks progress in a resumable sidecar file.
Guides Next.js Cache Components and Partial Prerendering (PPR): 'use cache' directives, cacheLife(), cacheTag(), revalidateTag() for caching, invalidation, static/dynamic optimization. Auto-activates on cacheComponents: true.
Guides building MCP servers enabling LLMs to interact with external services via tools. Covers best practices, TypeScript/Node (MCP SDK), Python (FastMCP).
Share bugs, ideas, or general feedback.
Apply or rotate passwords across multiple NFC tags from a CSV file. The skill presents each tag, verifies the UID matches the CSV row, authenticates with the old password, applies the new password, and tracks progress in a resumable sidecar file.
~/Documents/nfc-batches/passwords-2026-04.csv). If not provided, prompt user; store the selected path in ${CLAUDE_USER_DATA:-${XDG_DATA_HOME:-$HOME/.local/share}/claude-plugins}/nfc-ops/config.json for future runs.uid, old_password, new_password.label column (human name for the tag, for UI clarity).nfc-list is available.<csv>.progress.json exists, load the completed-row list and skip to the first incomplete row.nfc-list to detect the tag. Capture its UID.nfc-mfultralight read with auth.nfc-mfclassic read or similar.password-protect logic):
<csv>.progress.json and log to state/write-log.jsonl (no plaintext password; log only UID, timestamp, action="password_rotate", status="success").<csv>.progress.json is updated (and can be deleted after successful completion, or kept for auditing).state/write-log.jsonl is appended with entries for each successful password update (no plaintext passwords).<csv>.progress.json sidecar during a run.uid, old_password, or new_password columns.