Atlas / Skills / travisjneuman / .claude

.claudeBLOCK

skills/travisjneuman/claude

The Ultimate Claude Code Toolkit: 180 skills, 10 agents, 29 commands, 7 hooks, and 81 marketplace repos (11,000+ community skills). Drop-in ~/.claude config with a generated index and router that loads the right resources on demand. Zero config required.

Verdict
BLOCK
Grade
D
Trust score
64 /100
Version
—
Hosts
6 documented
License
MIT
Stars
100
01

Overview

From the repository's own README, as read at the audited commit. Badges and raw HTML are left out.

[](./CHANGELOG.md) [](./docs/SETUP-GUIDE.md) [](https://claude.travisjneuman.com) [](./LICENSE) [](https://github.com/travisjneuman/.claude/generate)

[](./skills/MASTER_INDEX.md) [](./agents/README.md)

Read from source at commit 9f81a2443cacOBSERVED · 2026-10-10
Advertisement
02

Install

Commands as the repository documents them. They are shown, not run.

git clone https://github.com/travisjneuman/.claude.git ~/.claude
git clone https://github.com/travisjneuman/.claude.git ~/.claude
git clone https://github.com/travisjneuman/.claude.git ~/.claude
git clone https://github.com/travisjneuman/.claude.git ~/.claude
git clone --recurse-submodules https://github.com/travisjneuman/.claude.git ~/.claude
git clone https://github.com/travisjneuman/.claude.git ~/.claude
03

Host compatibility

What the documentation claims. We have not run a compatibility test.

HostStatusNotes
claude-codementioned
codexmentioned
copilotmentioned
cursormentioned
openclawmentioned
windsurfmentioned
04

What it tells the agent

The instruction file, verbatim from the audited commit — this is the text the model reads, and the surface the audit's instruction layer examines. Quoted here so you can judge it without cloning anything.

---
name: accessibility-a11y
description: WCAG 2.2 compliance, ARIA patterns, keyboard navigation, screen readers, automated testing
---

# Accessibility (a11y)

## Overview

This skill covers building accessible web applications that work for everyone, including people using screen readers, keyboard-only navigation, switch devices, and other assistive technologies. It addresses WCAG 2.2 compliance at AA and AAA levels, correct ARIA usage, focus management, color contrast, reduced motion support, and automated testing integration.

Use this skill when building new UI components, reviewing existing interfaces for accessibility compliance, fixing a11y audit findings, or integrating automated accessibility testing into CI/CD pipelines.

---

## Core Principles

1. **Semantic HTML first** - Native HTML elements (`<button>`, `<nav>`, `<dialog>`) provide accessibility for free. ARIA is a repair tool for when semantics are insufficient, not a replacement for proper HTML.
2. **Keyboard is the baseline** - If it doesn't work with a keyboard alone, it doesn't work. Every interactive element must be focusable, operable, and have visible focus indicators.
3. **Test with real assistive technology** - Automated tools catch ~30% of accessibility issues. The rest require manual testing with screen readers (VoiceOver, NVDA) and keyboard-only navigation.
4. **Progressive enhancement** - Build the accessible version first, then layer on visual enhancements. Never hide content from assistive technology that sighted users can see.
5. **No information by color alone** - Color can reinforce meaning but never be the sole indicator. Use icons, text labels, and patterns alongside color.

---

## Key Patterns

### Pattern 1: Accessible Modal Dialog

**When to use:** Any overlay that requires user interaction before returning to the main content.

**Implementation:**

```tsx
import { useRef, useEffect, useCallback } from "react";

interface DialogProps {
  isOpen: boolean;
  onClose: () => void;
  title: string;
  children: React.ReactNode;
}

export function Dialog({ isOpen, onClose, title, children }: DialogProps) {
  const dialogRef = useRef<HTMLDialogElement>(null);
  const previousFocusRef = useRef<HTMLElement | null>(null);

  useEffect(() => {
    const dialog = dialogRef.current;
    if (!dialog) return;

    if (isOpen) {
      // Store the element that had focus before opening
      previousFocusRef.current = document.activeElement as HTMLElement;
      dialog.showModal();
    } else {
      dialog.close();
      // Restore focus to the triggering element
      previousFocusRef.current?.focus();
    }
  }, [isOpen]);

  // Handle Escape key (native dialog handles this, but we need cleanup)
  const handleClose = useCallback(() => {
    onClose();
  }, [onClose]);

  // Handle backdrop click
  const handleBackdropClick = useCallback(
    (e: React.MouseEvent<HTMLDialogElement>) => {
      if (e.target === dialogRef.current) {
        onClose();
      }
    },
    [onClose]
  );

  if (!isOpen) return null;

  return (
    <dialog
      ref={dialogRef}
      onClose={handleClose}
      onClick={handleBackdropClick}
      aria-labelledby="dialog-title"
      aria-describedby="dialog-description"
      className="dialog"
    >
      <div className="dialog-content" role="document">
        <header className="dialog-header">
          <h2 id="dialog-title">{title}</h2>
          <button
            onClick={onClose}
            aria-label="Close dialog"
            className="dialog-close"
          >
            <span aria-hidden="true">&times;</span>
          </button>
        </header>
        <div id="dialog-description">{children}</div>
      </div>
    </dialog>
  );
}
```

```css
/* Focus trap is handled natively by <dialog> showModal() */
dialog::backdrop {
  background: rgba(0, 0, 0, 0.5);
}

dialog .dialog-close:focus-visible {
  outline: 2px solid var(--color-focus);
  outline-offset: 2px;
}
```

**Why:** The native `<dialog>` element with `showModal()` provides focus trapping, Escape key handling, and proper `role="dialog"` semantics automatically. Custom modal implementations almost always have focus trap bugs. Using the native element gives you correct behavior for free.

---

### Pattern 2: Accessible Form with Error Handling

**When to use:** Any form that collects user input and validates it.

**Implementation:**

```tsx
interface FormFieldProps {
  id: string;
  label: string;
  type?: string;
  required?: boolean;
  error?: string;
  description?: string;
  value: string;
  onChange: (value: string) => void;
}

function FormField({
  id,
  label,
  type = "text",
  required = false,
  error,
  description,
  value,
  onChange,
}: FormFieldProps) {
  const descriptionId = description ? `${id}-description` : undefined;
  const errorId = error ? `${id}-error` : undefined;

  // Build aria-describedby from available descriptions
  const describedBy = [descriptionId, errorId].filter(Boolean).join(" ") || undefined;

  return (
    <div className="form-field">
      <label htmlFor={id}>
        {label}
        {required && <span aria-hidden="true"> *</span>}
        {required && <span className="sr-only"> (required)</span>}
      </label>

      {description && (
        <p id={descriptionId} className="field-description">
          {description}
        </p>
      )}

      <input
        id={id}
        type={type}
        value={value}
        onChange={(e) => onChange(e.target.value)}
        required={required}
        aria-invalid={error ? "true" : undefined}
        aria-describedby={describedBy}
        aria-required={required}
      />

      {error && (
        <p id={errorId} className="field-error" role="alert">
          <span aria-hidden="true">!</span> {error}
        </p>
      )}
    </div>
  );
}

// Form-level error summary for screen readers
function ErrorSummary({ errors }: { errors: Record<string, string> }) {
  const errorEntries = Object.entries(errors);
  if (errorEntries.l
05

Trust audit

BLOCKgrade D · trust 64/100 Do not install this without reading the findings. The audit found something that could harm you or your machine.

LayerWhat it checksResult
L0Provenance & inventoryPASS
L1Static analysis of the codeFAIL
L2Instruction surface (what it tells the agent)FAIL
L3Class-specific surfacePASS
L4Behavioural (sandbox)SKIPPED

What the source does

Filesystem
declared (4 observation(s))
Network
declared (1 observation(s))
Shell
declared (5 observation(s))
Dependencies
not all pinned
Secrets in source
found

Findings (25)

CRITICALPrompt injection · prompt.transfer_instruction · CWE-94, CWE-1427
skills/agent-django-fastapi-expert/SKILL.md:572
payload = {"email": "[email protected]", "name": "Test User", "password": "password123"}
Why it matters. an instruction to move sensitive data to an outside destination
Fix. remove; a skill never needs the user's secrets off the machine
CRITICALPrompt injection · prompt.transfer_instruction · CWE-94, CWE-1427
skills/authentication-patterns/SKILL.md:30
**When to use:** Next.js applications needing social login, email/password, or magic link authentication with server-side session management.
Why it matters. an instruction to move sensitive data to an outside destination
Fix. remove; a skill never needs the user's secrets off the machine
CRITICALPrompt injection · prompt.transfer_instruction · CWE-94, CWE-1427
skills/security/SKILL.md:397
@app.post("/api/reset-password")
Why it matters. an instruction to move sensitive data to an outside destination
Fix. remove; a skill never needs the user's secrets off the machine
CRITICALPrompt injection · prompt.transfer_instruction · CWE-94, CWE-1427
skills/security/SKILL.md:402
@app.post("/api/reset-password")
Why it matters. an instruction to move sensitive data to an outside destination
Fix. remove; a skill never needs the user's secrets off the machine
HIGHFilesystem / path · fs.credential_store · CWE-22, CWE-59
hooks/guard.js:111
[/(^|\/)(id_rsa|id_ed25519|id_ecdsa)[^/]*$|\.(pem|key|p12|pfx|jks)$/, "Private key files must not be modified by automation."],
Why it matters. touches a credential store
HIGHPrompt injection · prompt.credential_read · CWE-94, CWE-1427
skills/serverless-development/SKILL.md:129
"Access-Control-Allow-Origin": process.env.ALLOWED_ORIGIN ?? "*",
Why it matters. asks the agent to read credentials
MEDIUMHard-coded secrets · secret.db_uri · CWE-798, CWE-321
docs/reference/workflows/deployment-cicd.md:264
DATABASE_URL: "postgres://test:test@postgres:5432/testdb"
MEDIUMHard-coded secrets · secret.db_uri · CWE-798, CWE-321
templates/api-project.md:530
DATABASE_URL: postgresql://postgres:postgres@db:5432/myapi
MEDIUMHard-coded secrets · secret.generic · CWE-798, CWE-321
skills/tech-debt-analyzer/references/debt_categories.md:338
const API_KEY = "sk_live_abc123xyz789";
LOWInventory / provenance · inv.hidden_file · CWE-1104
.gitmodules
.gitmodules
Why it matters. hidden member outside the usual dotfiles
Fix. review its purpose
LOWInsecure crypto · crypto.weak_hash · CWE-327, CWE-338
scripts/generate-index.mjs:297
const key = createHash("sha1").update(body).digest("hex");
LOWFilesystem / path · fs.traversal · CWE-22, CWE-59
website/src/lib/data/snapshot.ts:3
import snapshot from "../../../../counts.json";
LOWSupply chain · supply.unpinned · CWE-829, CWE-1357
website/package.json
@react-three/drei, @react-three/fiber, @react-three/postprocessing, clsx, framer-motion, fuse.js, gsap, next
Why it matters. 24 dependency range(s) float
Fix. pin exact versions or ship a lockfile
LOWPrompt injection · prompt.transfer_instruction · CWE-94, CWE-1427
skills/codebase-documenter/assets/templates/API.template.md:45
-d '{"email": "[email protected]", "password": "password123"}'
Why it matters. an instruction to move sensitive data to an outside destination
Fix. remove; a skill never needs the user's secrets off the machine
INFOInventory / provenance · inv.oversize · CWE-1104
website/public/og-image-backup.png
website/public/og-image-backup.png
Why it matters. 1622459 bytes not read
INFOPrompt injection · prompt.authority_framing · CWE-94, CWE-1427
CHANGELOG.md:102
- **`CLAUDE.md` rewritten** around Full Access+++ (autonomous in-scope execution, absolute explicit prohibitions, stop conditions), issue-driven testing, pull-first git, and no AI attribution. The key
INFOPrompt injection · prompt.authority_framing · CWE-94, CWE-1427
CLAUDE.md:11
## Full Access+++ (autonomous execution)
INFOPrompt injection · prompt.authority_framing · CWE-94, CWE-1427
README.md:37
**Runs in YOLO mode on purpose:** `bypassPermissions` plus a Full Access+++ contract in `CLAUDE.md` (your request authorizes in-scope work; explicit "do not"s are absolute), backed by a guard hook tha
INFOPrompt injection · prompt.authority_framing · CWE-94, CWE-1427
README.md:334
- **Full Access+++ in `CLAUDE.md`:** rewritten, shorter constitution (autonomous execution, explicit prohibitions, zero testing (validate by review), pull-first git, no AI attribution). `attribution`
INFOPrompt injection · prompt.authority_framing · CWE-94, CWE-1427
agents/architecture-analyst.md:10
You are a principal software architect with 20+ years of experience across distributed systems, microservices, monoliths, and everything between.
INFOPrompt injection · prompt.credential_read · CWE-94, CWE-1427
skills/security/references/fortune50-information-security.md:981
- Authenticated scans with read-only credentials
Why it matters. asks the agent to read credentials
INFOPrompt injection · prompt.credential_read · CWE-94, CWE-1427
skills/security/references/fortune50-information-security.md:1875
8. **Credential Access**: Stealing credentials
Why it matters. asks the agent to read credentials
INFOPrompt injection · prompt.credential_read · CWE-94, CWE-1427
skills/security/references/security-frameworks.md:108
CREDENTIAL ACCESS: Steal credentials
Why it matters. asks the agent to read credentials
INFOSupply chain · prompt.pipe_to_shell · CWE-829, CWE-1357
CHANGELOG.md:831
- Single command installation: `curl -fsSL https://raw.githubusercontent.com/travisjneuman/.claude/master/scripts/install.sh | bash`
INFOSupply chain · prompt.pipe_to_shell · CWE-829, CWE-1357
README.md:209
| `curl ... \| sh` | Pipe-to-shell (RCE) |

Gates applied: critical_finding, no_behavioural_pass, undeclared_transfer.

Audited 2026-10-10 · audit v0.4.1 · source sha 9f81a2443cacfull audit observations/trust-audit/skill/travisjneuman__claude.json · Report an issue / request a re-scan
06

Audit history

Every audit this skill has had.

DateSourceVerdictGradeScoreChange
2026-10-109f81a2443cacBLOCKD64first audit
07

Questions

What does the .claude skill do?

The Ultimate Claude Code Toolkit: 180 skills, 10 agents, 29 commands, 7 hooks, and 81 marketplace repos (11,000+ community skills). Drop-in ~/.claude config with a generated index and router that loads the right resources on demand. Zero config required.

Is .claude safe to install?

No — not without reading the findings first. The audit graded it D (64/100) and found 6 critical or high issues in the source. Each one is listed on this page with the file and line it is on.

What can .claude access on my machine?

The audit observed that it reaches the network, runs shell commands and reads or writes files. Each of those is consistent with what it says it does. Secrets in the source: found — see the findings.

Which assistants does .claude work with?

Its documentation mentions claude-code, codex, copilot, cursor, openclaw and windsurf. That is what the text claims, not a compatibility test we ran.

How current is this page?

The grade is for one exact copy of the source (9f81a2443cac), read on 2026-10-10. The repository is watched, and a new audit runs when it changes — this is the first audit.

Advertisement