agentsclimarketplace

Privacy first

Skill d-oit/do-web-doc-resolver/.agents/skills/privacy-first

LLM-ready web documentation resolver: Python cascade skill + web + Rust CLI (wdr) with semantic cache, multi-provider routing, and quality synthesis

Install
npx -y skills add d-oit/do-web-doc-resolver --skill privacy-first

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

Prevent email addresses and personal data from entering the codebase. Use when user asks to "prevent emails", "remove personal data", "privacy check", "no email", or when writing/ editing any code, config, or documentation files.

The file declares its own license as MIT. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.

SKILL.md

3.4 KB, as published. Nobody here has run it

Privacy First

This skill ensures no email addresses or personal data leak into the codebase. It provides detection, prevention, and automated checking.

When to activate

  • User asks: "prevent emails", "remove personal data", "privacy check", "never use email"
  • Before writing any new code, config, or documentation file
  • During code review or quality gate checks
  • When adding contact information to any file

Agent Workflow

1. Before Writing Any File

Before creating or editing any file, check for email patterns:

# Scan the file being edited for email patterns
grep -E '[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}' <file> || true

2. Replacement Rules

ContextInstead ofUse
Author/contact[email protected]GitHub Issues link
Support[email protected]https://github.com/owner/repo/issues
Code of Conduct[email protected]"Report via GitHub Issues"
Package metadataemail = "..."Remove email field entirely
Examples[email protected]Test domain: [email protected] (only in tests)

3. File-Type Specific Rules

Python (pyproject.toml, setup.py)

# Bad
authors = [{name = "Author", email = "[email protected]"}]

# Good
authors = [{name = "Author"}]

Markdown (README.md, CONTRIBUTING.md)

<!-- Bad -->
Contact: [email protected]

<!-- Good -->
Report issues: https://github.com/owner/repo/issues

Configuration files

  • Never add email fields
  • Use URLs to GitHub instead

4. Exceptions (Allowed)

The following are permitted and should NOT be flagged:

  • Test data in tests/ directories
    • example.com, example.org, test.com, localhost
  • URLs in documentation pointing to external services
  • Git history (cannot modify)
  • Skill reference files with generic examples (for demonstration)

Quality Gate Integration

To add automated checks to pre-commit or CI:

# Add to scripts/quality_gate.sh or .pre-commit-config.yaml

# Scan for email patterns (exclude test data and git)
EMAIL_PATTERN='[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}'

# Exclude patterns (test domains, git, node_modules)
EXCLUDE_PATTERN='example\.com|example\.org|test\.com|\.git|node_modules'

# Check source files
if grep -rE "$EMAIL_PATTERN" --include="*.py" --include="*.toml" --include="*.yaml" --include="*.json" --include="*.md" . 2>/dev/null | grep -vE "$EXCLUDE_PATTERN"; then
    echo "ERROR: Email address detected in codebase"
    exit 1
fi

Quick Reference

Never do:

  • Add email = "..." to any config file
  • Write [email protected] in any markdown
  • Use real email addresses in examples
  • Include personal emails in commit messages

Always do:

  • Use GitHub Issues URLs for support
  • Remove email fields from package metadata
  • Use test domains (example.com) only in test files
  • Link to SECURITY.md for vulnerability reporting

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.