Search for package-specific usage rules and best practices from Elixir packages. Use when you need coding conventions, patterns, common mistakes, or good/bad examples for packages like Ash, Phoenix, Ecto, etc.
View on GitHubbradleygolden/claude-marketplace-elixir
elixir
January 20, 2026
Select agents to install to:
npx add-skill https://github.com/bradleygolden/claude-marketplace-elixir/blob/main/plugins/elixir/skills/usage-rules/SKILL.md -a claude-code --skill usage-rulesInstallation paths:
.claude/skills/usage-rules/# Usage Rules Search Find package-specific best practices and coding conventions from `usage-rules.md` files. ## What Are Usage Rules? A community convention where packages include a `usage-rules.md` file with: - Coding conventions and patterns - Good/bad code examples (marked `# GOOD`, `# BAD`, `# AVOID`) - Common mistakes to avoid - Domain-specific idioms ## Search Locations (in order) 1. **Project deps**: `deps/<package>/usage-rules.md` 2. **Fetched cache**: `.usage-rules/<package>-<version>/usage-rules.md` 3. **Fetch if needed**: Extract from package (see below) ## Packages With Usage Rules Primarily the Ash ecosystem: - `ash`, `ash_postgres`, `ash_phoenix`, `ash_json_api`, `ash_graphql` - `spark`, `igniter`, `reactor` Most packages (Phoenix, Ecto, etc.) do not have usage-rules.md yet. For those, suggest `hex-docs-search` skill or official guides. ## Fetching Usage Rules ```bash # Fetch package and extract usage-rules.md mix hex.package fetch <package> <version> --unpack --output .usage-rules/.tmp/<package>-<version> # If usage-rules.md exists, copy to cache if [ -f ".usage-rules/.tmp/<package>-<version>/usage-rules.md" ]; then mkdir -p ".usage-rules/<package>-<version>" cp ".usage-rules/.tmp/<package>-<version>/usage-rules.md" ".usage-rules/<package>-<version>/" fi # Clean up rm -rf ".usage-rules/.tmp/<package>-<version>" ``` Mention adding `.usage-rules/` to `.gitignore` once per session when fetching occurs. ## Context-Aware Extraction Usage rules files can be large. Extract relevant sections based on user's question: | User Context | Look for Sections | |--------------|-------------------| | querying, filters | "Querying", "Filters", "Read Actions" | | actions, create/update | "Actions", "Changes", "Validations" | | relationships | "Relationships", "Aggregates" | | errors, validation | "Error Handling", "Validations" | | authorization | "Policies", "Authorization" | | testing | "Testing" | Find section headings with line numbers, then ex