Skills DirectorySkills Directory
SkillsLearnSecurityCategoriesDocsBlogPro
Sign InSubmit Skill
Skills Directory

Security-tested agent skills for Claude, coding agents, and AI workflows.

Directory

  • Browse Skills
  • All Skills A–Z
  • Claude Skills
  • Claude Code Skills
  • Agent Skills
  • Categories
  • Authors
  • Submit a Skill

Learn

  • Learn Hub
  • Install Claude Skills
  • Write SKILL.md
  • Skills vs MCP
  • Directories Compared

Security

  • Security
  • Methodology
  • Secure Claude Skills
  • Security Badges
  • Chrome Extension
  • Skill Manager

Company

  • About
  • Community
  • Blog
  • API Docs
  • Advertise

2026 Skills Directory. All rights reserved.

ProTermsPrivacyRefunds
Back to skills

Packet Builder

ASecurity

Interactive complaint-packet assembly driven by packet-manifest.yaml — walks through authority, exhibit list, reference appendices, and runs scripts/packet/build.py. Triggers when the user says "build the packet" or when a complaint narrative and exhibit set are ready to compile.

15 stars
0 votes
0 copies
1 views
Added 6/7/2026
ai-agentspythonrustgodebugginggit

Security Analysis

A100/100

Scanned 6/7/2026

$npx -y skills add ThomasMoreAI/legal-skills-open --skill packet-builder --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Packet Builder?

Add the live security badge to your README — it updates automatically with every re-scan.

Security grade badge for Packet Builder
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/thomasmoreai-packet-builder/badge)](https://www.skillsdirectory.com/skills/thomasmoreai-packet-builder)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
Files
SKILL.md
---
name: packet-builder
title: packet-builder
description: Interactive complaint-packet assembly driven by packet-manifest.yaml — walks through authority, exhibit list, reference appendices, and runs scripts/packet/build.py. Triggers when the user says "build the packet" or when a complaint narrative and exhibit set are ready to compile.
author: EvanOchsner
author_url: https://github.com/EvanOchsner/personal-advocacy-toolkit/tree/main/.claude/skills/packet-builder
license: Apache-2.0
version: 0.1.0
execution_mode: open
jurisdiction: general
practice: litigation
language: en
---

# packet-builder

The builder is manifest-driven: everything authority-, case-, or
jurisdiction-specific lives in `packet-manifest.yaml`. This skill
shepherds that manifest to completeness and then runs the builder.

See `templates/packet-manifests/schema.yaml` for the authoritative
schema, and `examples/maryland-mustang/complaint_packet/packet-manifest.yaml`
for a filled-in synthetic reference.

## When this skill fires

- User says "build the packet" or "compile the complaint."
- Complaint draft exists under `drafts/` and exhibit evidence is
  in place under `evidence/`.
- After the `authorities-finder` run has identified the forum.

## Procedure

1. **Locate or scaffold the manifest.**
   - If `packet-manifest.yaml` exists in the packet directory, load
     it and list which sections are filled.
   - If not, copy `templates/packet-manifests/example-generic-dispute.yaml`
     into place and walk through the sections below.

2. **Fill the manifest header with the user.**
   - `packet.name` — a slug like `maryland-mustang-mia`.
   - `authority` — name, short code, mailing address, intake URL.
     Pulled from `authorities-finder` output; do not retype by
     hand if the skill already found it.
   - `complainant` — name, mailing address, email. For a public
     derivative, use the scrubbed synthetic values.
   - `respondent` — name, role, reference number (claim number,
     case number, policy number).

3. **Complaint narrative.** `complaint.source` points at the
   markdown or docx draft under `drafts/`. `complaint.title` shows
   up in the cover page. Write lawyer-mode per `tone-modes` skill;
   this is outbound.

4. **Exhibit list.** Each exhibit is `{label, title, description,
   source(s), date?}`. Labels are typically A, B, C, ... in the
   order they'll be referenced in the complaint. Sources are paths
   under `evidence/` or `drafts/`. Multiple sources per exhibit are
   fine — the builder concatenates in order.

5. **Reference appendices.** Optional. For policy / regulatory
   compilations that aren't exhibits per se but that the
   complainant wants attached for the reader's reference. Each has
   `{name, title, sources, note}`.

   Sources may live anywhere in the case folder; common locations:
   - `evidence/policy/...` for case-specific governing documents
     produced by the counterparty (e.g., the insurer's policy form
     that applies to the insured).
   - `references/raw/...` or `references/readable/...` for
     third-party authoritative text (statutes, regulations, ToS)
     ingested via the [trusted-sources](../trusted-sources/SKILL.md)
     skill. If a referenced statute / regulation / ToS isn't already
     under `references/`, hand off to `trusted-sources` *before*
     filling this section — drafting against the actual text catches
     paraphrase drift early.

6. **Dry-read the manifest aloud.** Before calling the builder,
   literally read back to the user: "Exhibit A is X, exhibit B is
   Y, exhibit C is Z." This catches reordered labels and missing
   sources faster than debugging the PDF.

7. **Build.**

   ```
   uv run python -m scripts.packet.build path/to/packet-manifest.yaml
   ```

   The builder writes a unified `packet.pdf` plus per-exhibit
   standalone PDFs (for filers who upload one at a time) into
   `packet.output_dir`.

8. **Open the PDF and read it.** The script is a scaffold, not an
   oracle (`tone-modes`). A silent build is not the same as a
   correct packet — check cover page names, exhibit order, and the
   first page of each exhibit.

## Definition of done

`packet-manifest.yaml` validates against the schema, the builder
ran without errors, the merged packet PDF and per-exhibit standalone
PDFs are in `packet.output_dir`, and the user has read the cover
page + first page of each exhibit and confirmed nothing is wrong.

If the user's next move is to publish or hand off the packet
externally (anything beyond the regulator's intake portal), do
**not** declare done — invoke `going-public` first.

If they're filing only with the regulator, hand back to
`pat-workflow`; the workflow ends here unless publication safety
applies.

## Synthetic example

Maryland-Mustang assembles into an 8-part packet against the
Maryland Insurance Administration: complaint narrative + 6
exhibits (A policy forms, B correspondence compilation, C
valuation report, D photographs, E specialist opinion, F
salvage-transfer record) + 1 reference appendix (compiled policy
reference). The full manifest is at
`examples/maryland-mustang/complaint_packet/packet-manifest.yaml`.

## Do not

- Do not hardcode anything in the build script. The builder has
  no case-specific branches; if you need something the schema
  doesn't cover, extend the schema, don't fork the script.
- Do not point a packet source at `evidence/*/raw/`. The raw layer
  is forensic; packets use the `readable/` layer for exhibits.
- Do not ship without the `going-public` check if the packet is
  being published anywhere beyond the regulator's intake.

Attribution

ThomasMoreAIThomasMoreAI
View sourceSee grades on GitHubMore from ThomasMoreAI →
SSkills DirectorySkills Directory

Ship a skill? Prove it's safe.

Free 120-pattern security scan, letter grade, and an embeddable README badge.

Submit a skill

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments (0)

No comments yet. Be the first to comment!

SSkills DirectorySkills Directory

Ship a skill? Prove it's safe.

Free 120-pattern security scan, letter grade, and an embeddable README badge.

Submit a skill

Related Skills

Caveman

Terse caveman voice: answer first, fluff gone, every technical fact kept. Use for /caveman, "caveman mode", "talk like caveman", "be brief", "less tokens". Stays on until "stop caveman" or "normal mode".

1100021 votes

Hyperplan

Adversarial multi-agent planning skill. Self-orchestrates 5 hostile category members (unspecified-low, unspecified-high, deep, ultrabrain, artistry) via team-mode for ruthless cross-critique debate, distills only the defensible insights, then MANDATORILY hands the distilled insight bundle to the `plan` agent for executable plan formalization. Use when planning needs maximum rigor and surfacing of weak assumptions, blind spots, and over-engineering. Triggers: 'hyperplan', 'hpp', '/hyperplan', ...

698621 votes

Writing Skills

Create and manage Claude Code skills in HASH repository following Anthropic best practices. Use when creating new skills, modifying skill-rules.json, understanding trigger patterns, working with hooks, debugging skill activation, or implementing progressive disclosure. Covers skill structure, YAML frontmatter, trigger types (keywords, intent patterns), UserPromptSubmit hook, and the 500-line rule. Includes validation and debugging with SKILL_DEBUG. Examples include rust-error-stack, cargo-dep...

3931 votes

Mcp Code Execution

Routes multi-tool workflows through MCP servers for large datasets and pipelines. Use when Bash tool overhead is limiting throughput on data-heavy tasks.

3421 votes

catchup

Recovers the conversation and failed tool calls of a previous Codex, Amp, Claude Code, Antigravity, Cline, Copilot CLI, Cursor, DeepSeek Harness, Grok Build, Kimi, OpenCode, Pi Agent, or ZCode session. Use when the user says "catch up", "what did the last session do", "get me up to speed", "I switched agents", asks to recover/summarize a previous session before continuing, or asks to diagnose or report a catchup failure. Do NOT use for the current conversation, git history, or any non-agent log.

741 votes
View all in ai-agents →