test-napplet SKILL.md skillB

test-napplet from brenorb/freedom-skills is an agent skill: a SKILL.md folder an AI agent loads when a task calls for it.

Install it, pinned
mdr add brenorb/freedom-skills/test-napplet@v0.1.0

Pins v0.1.0 in mdr.lock. Pin the fingerprint instead.

Audit grade
B, 16 of 17 checks passed
Kind
SKILL.md skill
Repository
brenorb/freedom-skills
Path
skills/test-napplet/SKILL.md
Versions recorded
1
Latest version
v0.1.0, committed Jul 30, 2026
Size
7,332 bytes
Repository stars
20
License
none declared

Use to verify a napplet before publishing - run protocol conformance with the @napplet/conformance-cli runner (real Chromium, reference shell), interpret failures, confirm OUTBOX-first boundaries, the single-file artifact, runtime guard, and CI wiring. Run after build-napplet, before shipping.

Collected from public GitHub. Every version is saved exactly as it was and never changes. Install it at an exact version with the mdr tool, and every file is checked before it reaches your agent. The main file is checked against the SHA-256 fingerprint recorded here, and the others against the fingerprints GitHub keeps for its source commit. The automatic checks below grade the latest version, and the same checks always give the same file the same grade.

What the file says

# Testing a Napplet

Conformance proves the build speaks NIP-5D correctly inside a real `sandbox="allow-scripts"` iframe driven by a reference shell — catching malformed envelopes, manifest problems, boot failures, and forbidden browser-authority references locally instead of after publishing. Truth: NIP-5D (<https://github.com/nostr-protocol/nips/pull/2303>) + NAPs (<https://github.com/napplet/naps>).

## Sandbox Authority Contract

Testing is not green if the napplet still owns browser authority that belongs to
the shell. Treat any of these in served source or built output as a release
blocker:

- `fetch`, `XMLHttpRequest`, `WebSocket`, relay pools, direct NIP-65 routing, or
  app-owned network fanout.
- `localStorage`, `sessionStorage`, IndexedDB, cookies, or other browser-local
  persistence.
- External network-loaded `<script>`, stylesheet, image, audio, video, font, CSS
  URL, or dynamic import.
- `window.nostr`, raw keys, app-owned signing, or app-owned encryption.

Expected replacements are `resource` for bytes, `storage` for state, `outbox` /
`common` / `lists` / `count` / `dm` for social Nostr behavior, `relay` only for
…

Read the whole file at its exact version.

How to install

The exact contents, by fingerprint
mdr add brenorb/freedom-skills/test-napplet@sha256:dbc45da507ad03d7

The line at the top of this page pins the label v0.1.0, which is what most people want. This one pins the sha256 fingerprint of the contents instead, so it survives a label being moved. Either way the exact version is written to mdr.lock, and mdr install downloads and checks those contents again, so it installs them exactly or stops with an error.

Badge

mdr badge

[![mdr](https://markdownregistry.com/badge/art_yi75yf4meixgtdd4.svg)](https://markdownregistry.com/a/art_yi75yf4meixgtdd4)

2 badge image fetches in 30 days. What the badge shows.

Versions

The registry has recorded 1 version of this file, committed on Jul 30, 2026.

versioncommittedcommitsizeaudit
v0.1.0 latest2026-07-30 fe55f63 7,332 BB view

Audit of the latest version

B  16 of 17 checks passed. Fixed automatic checks with no AI involved, so the same checks give the same answer every run.
  • fail: No script tag (matched: <script)
  • pass: Frontmatter block present
  • pass: Frontmatter declares a name
  • pass: Frontmatter declares a description
  • pass: Size between 200 bytes and 200 KB (7332 bytes)
  • pass: No zero-width or bidi control characters
  • pass: No instruction hidden inside an HTML comment
  • pass: No link to an exfiltration or paste host
  • pass: No credential-shaped string
  • pass: No instruction to send local credentials anywhere
  • pass: No text hidden with inline styles
  • pass: No prompt-injection phrasing
  • pass: No curl or wget piped into a shell
  • pass: No recursive delete of root, home or parent
  • pass: No instruction to read or print local credentials
  • pass: No base64 blob over 200 characters
  • pass: No link to a raw IP address

Starting a new one? Use a template for SKILL.md on mdpantry, which passes every one of these checks and says what to change in it.

Source

GitHub

brenorb/freedom-skills · 20 stars · license none declared · pushed 2026-11-05 · branch main

API

GET https://markdownregistry.com/api/v1/artifacts/art_yi75yf4meixgtdd4
GET https://markdownregistry.com/api/v1/resolve?ref=brenorb/freedom-skills/test-napplet
GET https://markdownregistry.com/api/v1/blob/dbc45da507ad03d772f25d70e9d8c7eeaf085eb01776497b6dd5fa90f418c6e9

Your AI assistant does the legwork. You hear about the deals worth your word. Hand yours the standing instructions at modelranch.com and it joins the network that reads files like this one.

Guides: the SKILL.md format and its required fields · what to check before you install a skill · how to pin a skill to an exact version · where to find agent skills · keeping a team on the same skills · which agent file does what.

More from brenorb/freedom-skills

AGENTS.md AGENTS.md file
brenorb/freedom-skills · AGENTS.md
git:20260623.6083235 · audit A · 20 stars
bitchat SKILL.md skill
brenorb/freedom-skills · skills/bitchat/SKILL.md · Use this skill when the user wants to install or operate the BitChat CLI for Bluetooth mesh chat, background receiving…
v0.1.0 · audit A · 20 stars
btcdeb SKILL.md skill
brenorb/freedom-skills · skills/btcdeb/SKILL.md · Write, compile, execute, and debug Bitcoin Script with btcdeb, btcc, and tap; inspect stacks, hashes, signature…
v0.1.0 · audit A · 20 stars
build-napplet SKILL.md skill
brenorb/freedom-skills · skills/build-napplet/SKILL.md · Use when writing a napplet (sandboxed Nostr iframe app) - Vite setup, the NIP-5A manifest plugin, runtime-injected…
v0.1.0 · audit B · 20 stars
design-napplet SKILL.md skill
brenorb/freedom-skills · skills/design-napplet/SKILL.md · Use FIRST when planning a napplet (sandboxed Nostr iframe app), before writing code - turns an app idea into a concrete…
v0.1.0 · audit B · 20 stars
domain-intel SKILL.md skill
brenorb/freedom-skills · skills/domain-intel/SKILL.md · Passive domain reconnaissance using Python stdlib. Subdomain discovery, SSL certificate inspection, WHOIS lookups, DNS…
git:20260701.5b826b2 · audit A · 20 stars
fast-transcript SKILL.md skill
brenorb/freedom-skills · skills/fast-transcript/SKILL.md · Use this skill when the user wants to transcribe or inspect audio or video with fast-transcript via `fscript`…
git:20260616.a452dce · audit A · 20 stars
hosted-nowhere SKILL.md skill
brenorb/freedom-skills · skills/hosted-nowhere/SKILL.md · Create, update, inspect, and operate Nowhere message, drop, event, fundraiser, petition, forum, and SVG art pages using…
v0.1.0 · audit A · 20 stars
make-napplet SKILL.md skill
brenorb/freedom-skills · skills/make-napplet/SKILL.md · Use when a user asks to create, build, implement, prototype, or port a complete napplet in one prompt. Orchestrates the…
v0.1.0 · audit B · 20 stars
mdk-agent-wallet SKILL.md skill
brenorb/freedom-skills · skills/mdk-agent-wallet/SKILL.md · Use the Money Dev Kit agent wallet CLI for AI-agent Lightning payments. Use when Codex needs to initialize an agent…
git:20260623.5bf394e · audit A · 20 stars
mdk-l402-api SKILL.md skill
brenorb/freedom-skills · skills/mdk-l402-api/SKILL.md · Build paid APIs with Money Dev Kit L402 payments. Use when Codex needs to protect Next.js or Express API routes with…
git:20260623.5bf394e · audit A · 20 stars
mdk-mcp SKILL.md skill
brenorb/freedom-skills · skills/mdk-mcp/SKILL.md · Connect coding agents to the Money Dev Kit MCP server. Use when Codex needs to install or explain the public signup…
git:20260623.5bf394e · audit A · 20 stars

Every file in brenorb/freedom-skills

Browse by kind, by grade B, or by owner.