report
Skill0 starsChanged 3 months agoApache-2.0View on GitHub
Render this session's Boundary decisions (allowed, warned, asked, denied) into one self-contained markdown receipt with hash-verified records. Use after a session that ran with the PreToolUse hook installed, or whenever asked to "render a boundary receipt", "summarize what boundary did this session", "write a session report", or "show me the decisions boundary made".
93 other projects use a version of this.
Adopted by
Most recently taken up by
- BermanRoman/promt-seo-geotheir own version, first seen Nov 8, 2026
- eliasjnior/claude-skillstheir own version, first seen Nov 8, 2026
- ai-search-guru/getcito-worlds-first-open-source-aio-aeo-or-geo-tooltheir own version, first seen Nov 8, 2026
- leinardi/adversarial-review-looptheir own version, first seen Nov 8, 2026
- KadirHarmanc/nazar-skilltheir own version, first seen Nov 8, 2026
- zedarvates/frugal-skillstheir own version, first seen Nov 8, 2026
Used with
Projects with it also use opportunities, export and 10 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
ansvisorSkillopportunities
Finds content gaps, prompts worth tracking, and the off-site sources AI cites instead of the brand.
Also in 3 projects that use this
soilmassSkillexport
Animation export configurations including format selection, resolution, framerate, quality, and optimization settings. Use when rendering animations for web, mobile, video, or social media. Provides tokens for all export parameters across Lottie, GIF, video, and sprite sheet formats.
Also in 4 projects that use this
GoogleSkillquality
Evaluates whether a GitHub issue is spam, empty, needs more information, or is OK to proceed.
Also in 3 projects that use this
genomewalkerSkillresume
Resume a thread by loading its ~800-token context capsule
Also in 7 projects that use this
tokyubevoxelverseSkillcheckup
Give a repository a full health exam — doc rot, dependency staleness, CI decay, git hygiene, dead links, docs contradicting code — and grade it. Use when the user wants to know what quietly rotted, or a prioritized maintenance list.
Also in 3 projects that use this
rajnavakotiSkillscan
Run the AI dashboard scanner and generate the HTML report.
Also in 5 projects that use this
Other versions93 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 93
- microsoft/data-formulator★ 17ksame name
- Zafer-Liu/Data-Analysis-Agent★ 2.6ksame name
- H-mmer/pentest-agents★ 815same name
- ai-search-guru/getcito-worlds-first-open-source-aio-aeo-or-geo-tool★ 432same name
- cwinvestments/memstack★ 425same name
- automagik-dev/genie★ 351same name
- namastexlabs/automagik-genie★ 351same name
- ansvisor/ansvisor★ 233same name
- andrew-yangy/gru-ai★ 153same name
- zhaji2333/CkSKILLS★ 145same name
83 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
The file
We split this skill into the rules it gives an agent
7 rules. 0 are common, 2 are distinctive, and 5 are very specific to this project.
0
Common
Most of the 68 edited versions we read keep these.
2
Distinctive
This author's own choices. Worth a look.
5
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 28
If this file does not exist, there is nothing to report: tell the user no decisions have been recorded yet in this project (nothing has …
- Very specific: line 34
Read the file (or tail -n 200 it if it is large -- tail classifies as an observe command and is never gated).
- Very specific: line 49
Today's records: If step 1 found nothing -- the substitution did not happen, or no line's trace_id matched -- fall back to every line whose …
- Distinctive: line 54
Trailing window: If even that is empty (for example, all activity is from a previous day), fall back to the last 25 lines of the file.
- Very specific: line 58
Never silently mix criteria or guess a session id from a distinct trace_id prefix you have not actually matched against …
- Very specific: line 75
Do not re-derive or re-redact command text: .reason is already the redacted, final text Boundary recorded, and no other field on the record …
- Distinctive: line 102
Write the file with the Write tool at:
“Common” is measured: kept by at least 6 in 10 of the 68 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Boundary report
Turns .boundary/hook/decision-records.jsonl into one shareable markdown
receipt for this session: a decision table, hash-verified proof for a couple of
the records, and instructions so a third party can re-verify the rest
themselves.
A note before you start: this skill mostly reads files (the Read tool, plus
cat/tail/head/grep, which classify as observe-only and are never
asked or denied). It still avoids leaning on jq for the parts that matter:
the preview classifier does not recognize jq, so it flags class C7
("unclassified command requires review") under a live-wired hook. You can use
jq for your own convenience; just expect an approval prompt for it under
live governance, and do not let that block the parts of this skill that do
not need it.
Step 1 -- Find the log
.boundary/hook/decision-records.jsonlIf this file does not exist, there is nothing to report: tell the user no
decisions have been recorded yet in this project (nothing has been routed
through the hook), suggest /boundary:drill or /boundary:protect, and stop.
Step 2 -- Decide which records belong in this report
Read the file (or tail -n 200 it if it is large -- tail classifies as an
observe command and is never gated). Each line is one JSON object; the fields
that matter here are .timestamp, .tool, .action (the verdict), .reason,
.record_id, .decision_hash, and .trace_id (formatted as
<session_id>#<sequence>, or no-session#<sequence> when the event carried no
session id).
Try, in order, and use the first one that yields at least one record:
- Current session, if discoverable. Claude Code substitutes
${CLAUDE_SESSION_ID}into skill content with the running session's id. If that substitution actually happened (it is not still the literal text${CLAUDE_SESSION_ID}), scan for lines whosetrace_idstarts with${CLAUDE_SESSION_ID}#. If that set is non-empty, use it and label the report "this session" in the header. - Today's records. If step 1 found nothing -- the substitution did not
happen, or no line's
trace_idmatched -- fall back to every line whose.timestampfalls on today's UTC date. Label the report "today's session window (session id not confirmed)" rather than implying certainty you do not have. - Trailing window. If even that is empty (for example, all activity is from a previous day), fall back to the last 25 lines of the file. Label the report "most recent 25 decisions (session id not confirmed)".
Never silently mix criteria or guess a session id from a distinct trace_id
prefix you have not actually matched against ${CLAUDE_SESSION_ID} -- when you
cannot confirm which session a record belongs to, say so in the header instead
of asserting it.
Step 3 -- Summarize per verdict
Count records in the chosen set by .action, and render with Claude Code's own
vocabulary rather than Boundary's internal one:
Boundary action | Report label |
allow | Allowed |
warn | Warned |
require_approval | Asked |
deny | Denied |
Do not re-derive or re-redact command text: .reason is already the redacted,
final text Boundary recorded, and no other field on the record carries the raw
command or file path. Show .reason verbatim.
Step 4 -- Verify one or two records live
Pick the most recent record in the set (and a second one, ideally a deny, if
one exists and differs from the first). For each, using its file under
.boundary/hook/records/ (match by .record_id or by the file's timestamp
prefix):
"${BOUNDARY_BIN:-boundary}" verify-record <file>The spelling is the shared effective-binary contract (BOUNDARY_BIN when
set, else boundary on PATH) -- the same resolution the hook wrapper
itself uses, so the binary that verifies the record is the binary that wrote
it. Run it as written; if BOUNDARY_BIN is set but broken, report that
rather than falling back to a different PATH binary. Capture the exact
output (record verification: ok and the record_id) to paste into the
receipt. This is a real Bash invocation of the boundary binary;
boundary verify-record classifies as a first-party read (class C0) through
either spelling and is allowed silently under a live-wired hook.
Step 5 -- Write the receipt
Write the file with the Write tool at:
.boundary-receipts/<UTC date, YYYY-MM-DD>-session-receipt.mdThis is deliberately not .boundary/receipts/.... .boundary/** is a
governance control surface (see docs/integrations/CLAUDE_CODE_HOOK.md), and
Boundary denies any write there regardless of which tool makes it -- including
this skill's own Write call, if the hook is wired live. .boundary-receipts/
is a plain sibling directory, not nested inside .boundary/, so writing the
receipt never collides with the control surface that exists to hold Boundary's
own evidence, and the skill can complete even in a fully governed session.
The file must be self-contained: a reader with only this one markdown file and
a boundary binary should be able to follow it end to end. Include, in order:
- Header -- title, UTC generation timestamp, the project's directory name, and the session/window label decided in step 2.
- Summary table -- the verdict counts from step 3.
- Decisions in detail -- one entry per record in the set, in chronological
order, each showing: timestamp, tool, verdict (using the report label from
step 3), the full
.reasontext,record_id,decision_hash, and the record's file name under.boundary/hook/records/. - Verified during report generation -- the exact commands and exact output from step 4, so a reader sees this was actually run, not just claimed.
- Verify this yourself -- tell a third party, in their own words, how to
check any record above without trusting this file: locate the named file
under
.boundary/hook/records/in the project this receipt came from, then runboundary verify-record <file>(recomputesdecision_hash) andboundary explain <file>(renders the record and its own "what this does not prove" section). State plainly that this proves the record's integrity since Boundary wrote it -- not who produced it, not that the verdict was correct, and not that the underlying action was actually prevented outside this route. Point to/boundary:verifyfor a guided walkthrough of the same thing. - Footer -- exactly one quiet closing line:
Boundary is the open edge of Fulcrum -- fulcrumlayer.io
Step 6 -- Offer it for sharing
Tell the user the exact path you wrote
(.boundary-receipts/<date>-session-receipt.md), that it is plain markdown
with no external assets, and that they can paste it into a PR description, a
chat message, or anywhere else as-is. Do not publish it anywhere yourself;
just hand back the path.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

