Search for package-specific usage rules and best practices from Elixir packages.

MITAuto-check: notesAI & LLM Engineering

Install Usage Rules

skills CLI
$ npx skills add bradleygolden/claude-marketplace-elixir --skill usage-rules -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install bradleygolden/claude-marketplace-elixir usage-rules --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/bradleygolden/claude-marketplace-elixir.git skills-src && mkdir -p .claude/skills && cp -r skills-src/plugins/core/skills/usage-rules .claude/skills/usage-rules && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
usage-rules
GitHub stars
176
Token cost
~4.9k tokens
SKILL.md length
1,450 words
Files
2
Skills in repo
2
Repo updated
First seen
Licence
MIT

At a glance

Search for package-specific usage rules and best practices from Elixir packages.

  • Works in 5 steps: Identify the package and context → Search local dependencies → Check fetched cache and fetch if needed → …
  • You need coding conventions
  • SKILL.md covers When to use this skill, Search strategy, Instructions and Output format, plus 4 more sections
  • Calls jq and curl; reaches hex.pm

What it does

Usage Rules is an agent skill from bradleygolden/claude-marketplace-elixir. 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.

Its SKILL.md is about 4.9k tokens, which your agent loads only when the skill is triggered. The skill folder holds 1 other file (for example `README.md`).

It sits in AI & LLM Engineering, covering LLM observability. It works with Elixir. The repository describes itself as: Claude Marketplace for Elixir. The licence is MIT.

When your agent uses it

  • You need coding conventions
  • Common mistakes
  • Good/bad examples for packages like Ash

Example prompts

  • “/usage-rules”

Requirements

  • Pre-approved tools (allowed-tools): Read, Grep, Glob, Bash, AskUserQuestion

Workflow steps

5 steps, taken from the step headings in SKILL.md.

  1. Identify the package and context
  2. Search local dependencies
  3. Check fetched cache and fetch if needed
  4. Extract relevant sections based on context
  5. Present usage rules

What it can do on your machine

Read from SKILL.md and the folder at commit 624d46b. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves these tools, so the agent can use them without asking each time:

    • Read
    • Grep
    • Glob
    • Bash
    • AskUserQuestion

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • jq
    • curl

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • hex.pm

    Also links to:

    • hexdocs.pm

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Usage Rules loads about 4.9k tokens when it runs. Until then it costs about 55 tokens; SKILL.md has 1,450 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~55
When it runs · the whole SKILL.md, loaded when a task matches
~4.9k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check: notes

The automated check noted patterns worth knowing about, such as sudo or a known installer.

  • NotePre-approves every shell command (allowed-tools: Bash)SKILL.md
    allowed-tools: Read, Grep, Glob, Bash, AskUserQuestion

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from bradleygolden/claude-marketplace-elixir at commit 624d46b, republished under its MIT licence (© bradleygolden). 1,450 words, ~4,885 tokens.

Download SKILL.mdSave it as .claude/skills/usage-rules/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
usage-rules
description
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.
allowed-tools
Read, Grep, Glob, Bash, AskUserQuestion

Comprehensive search for Elixir and Erlang package usage rules and best practices, following a cascading strategy to find the most relevant coding conventions and patterns.

When to use this skill

Use this skill when you need to:

  • Look up coding conventions for a Hex package
  • Find best practices and recommended patterns
  • See good/bad code examples for proper usage
  • Understand common mistakes to avoid
  • Learn package-specific idioms and conventions
  • Get context-aware recommendations for implementation

Search strategy

This skill implements a cascading search that prioritizes local and contextual information:

  1. Local dependencies - Search installed packages in deps/ directory for usage-rules.md
  2. Fetched cache - Check previously fetched usage rules in .usage-rules/
  3. Progressive fetch - Automatically fetch package and extract usage-rules.md if missing
  4. Context-aware extraction - Extract relevant sections based on coding context
  5. Fallback - Note when package doesn't provide usage rules, suggest alternatives

Instructions

Step 1: Identify the package and context

Extract the package name and identify the coding context from the user's question.

Package name examples:

  • "Ash best practices" → Package: ash
  • "Phoenix LiveView patterns" → Package: phoenix_live_view
  • "How to use Ecto properly?" → Package: ecto

Context keywords:

  • Querying: "query", "filter", "search", "find", "list"
  • Error handling: "error", "validation", "exception", "handle"
  • Actions: "create", "update", "delete", "action", "change"
  • Relationships: "relationship", "association", "belongs_to", "has_many"
  • Testing: "test", "testing", "mock", "fixture"
  • Authorization: "authorization", "permissions", "policy", "access"
  • Structure: "structure", "organization", "architecture", "setup"
Step 2: Search local dependencies

Use the Glob and Grep tools to search the deps/ directory for usage rules:

  1. Find the package directory with usage-rules.md:

    Use Glob: pattern="deps/<package_name>/usage-rules.md"

    If no results, the package isn't installed locally or doesn't provide usage rules. Skip to Step 3.

  2. Check for sub-rules (advanced packages may have specialized rules):

    Use Glob: pattern="deps/<package_name>/usage-rules/*.md"
  3. Search for relevant sections based on context keywords:

    Use Grep: pattern="^## (Querying|Error Handling|Actions)", path="deps/<package_name>/usage-rules.md", output_mode="content", -n=true

    This finds section headings with line numbers.

  4. Extract relevant sections:

    Use Grep: pattern="^## Error Handling", path="deps/<package_name>/usage-rules.md", output_mode="content", -A=50

    Use -A flag to get section content (adjust number based on typical section length).

  5. Read the complete file if needed for broader context:

    Use Read: file_path="deps/<package_name>/usage-rules.md"
Step 3: Check fetched cache and fetch if needed

If the package wasn't found in deps/, check for previously fetched usage rules, or fetch them now.

3.1: Check fetched cache

Use the Glob tool to check if usage rules were previously fetched:

Use Glob: pattern=".usage-rules/<package_name>-*/usage-rules.md"

If found, search the cached rules using the same patterns as Step 2 (sections 3-5).

3.2: Determine version to fetch

If no cached rules found, determine which version to fetch:

  1. Check mix.lock for locked version:

    Use Bash: grep '"<package_name>"' mix.lock | grep -oE '[0-9]+\.[0-9]+\.[0-9]+'
  2. Check mix.exs for version constraint:

    Use Bash: grep -E '\{:<package_name>' mix.exs | grep -oE '[0-9]+\.[0-9]+\.[0-9]+'
  3. Get latest version from hex.pm:

    Use Bash: curl -s "https://hex.pm/api/packages/<package_name>" | jq -r '.releases[0].version'
  4. If version ambiguous, use AskUserQuestion to prompt:

    Question: "Package '<package_name>' usage rules not found locally. Which version would you like to fetch?"
    Options:
    - "Latest (X.Y.Z)" - Fetch most recent release
    - "Project version (X.Y.Z)" - Use version from mix.exs/mix.lock (if available)
    - "Specific version" - User provides custom version in "Other" field
    - "Skip fetching" - Continue without usage rules
3.3: Fetch package and extract usage rules

Once version is determined, fetch the package and extract usage-rules.md:

bash
# Create temp directory and fetch package
mkdir -p .usage-rules/.tmp
mix hex.package fetch <package_name> <version> --unpack --output .usage-rules/.tmp/<package_name>-<version>

# Check if usage-rules.md exists
if [ -f ".usage-rules/.tmp/<package_name>-<version>/usage-rules.md" ]; then
  # Create version-specific directory
  mkdir -p ".usage-rules/<package_name>-<version>"

  # Copy main usage rules file
  cp ".usage-rules/.tmp/<package_name>-<version>/usage-rules.md" ".usage-rules/<package_name>-<version>/"

  # Copy sub-rules if present
  if [ -d ".usage-rules/.tmp/<package_name>-<version>/usage-rules/" ]; then
    cp -r ".usage-rules/.tmp/<package_name>-<version>/usage-rules/" ".usage-rules/<package_name>-<version>/"
  fi

  echo "Usage rules cached in .usage-rules/<package_name>-<version>/"
else
  echo "Package does not provide usage-rules.md"
fi

# Clean up temp directory
rm -rf ".usage-rules/.tmp/<package_name>-<version>"

Storage location: .usage-rules/<package_name>-<version>/

If successful:

  • Search the cached usage rules using patterns from Step 2
  • Read relevant files with the Read tool

If package doesn't include usage-rules.md:

  • Package may not have adopted usage rules convention
  • Proceed to Step 5 (fallback suggestions)
3.4: Git ignore recommendation

Inform the user that fetched usage rules should be git-ignored. Suggest adding to .gitignore:

gitignore
# Fetched usage rules
/.usage-rules/

This only needs to be mentioned once per session, and only if fetching actually occurred.

Step 4: Extract relevant sections based on context

Usage rules files can be large (1000+ lines). Extract only relevant sections to avoid context overload.

4.1: Find section headings
bash
# Find all h2 section headings with line numbers
Use Grep: pattern="^## ", path=".usage-rules/<package>-<version>/usage-rules.md", output_mode="content", -n=true

This returns a list like:

7:## Understanding Ash
13:## Code Structure & Organization
21:## Code Interfaces
85:## Actions
120:## Querying Data
4.2: Match context to sections

Based on user's context keywords, identify relevant sections:

Context: "querying" → Look for sections containing:

  • "Querying", "Query", "Filters", "Search", "Find"

Context: "error handling" → Look for sections containing:

  • "Error", "Validation", "Exception", "Handle"

Context: "actions" → Look for sections containing:

  • "Actions", "Create", "Update", "Delete", "CRUD"
4.3: Extract matched sections
bash
# Extract specific section with content
Use Grep: pattern="^## Querying Data", path=".usage-rules/<package>-<version>/usage-rules.md", output_mode="content", -A=80

Adjust -A value based on typical section length:

  • Small sections (< 50 lines): -A=50
  • Medium sections (50-150 lines): -A=100
  • Large sections (> 150 lines): -A=150 or read specific ranges
4.4: Include code examples

Look for code blocks within sections:

bash
# Find code examples in section
Use Grep: pattern="```elixir|# GOOD|# BAD", path=".usage-rules/<package>-<version>/usage-rules.md", output_mode="content", -A=10

Code examples often include:

  • Good patterns: Marked with # GOOD, # PREFERRED
  • Bad patterns: Marked with # BAD, # AVOID, # WRONG
  • Inline comments: Explanatory comments in code blocks
Step 5: Present usage rules

Format the output based on what was found.

Output format

When presenting results, organize them as follows:

If found in local dependencies:
Found usage rules for <package_name>:

**Location**: deps/<package_name>/usage-rules.md
**Version**: <version from mix.lock>

**Relevant Best Practices** (<section_name>):

<extracted section content with code examples>

---

**Full Rules**: deps/<package_name>/usage-rules.md

**Integration**: For API documentation, use the hex-docs-search skill.
If found in fetched cache:
Found cached usage rules for <package_name>:

**Version**: <version>
**Cache Location**: .usage-rules/<package>-<version>/usage-rules.md

**Relevant Best Practices** (<section_name>):

<extracted section content with code examples>

---

**Full Rules**: .usage-rules/<package>-<version>/usage-rules.md

**Note**: Rules are cached locally for offline access.

**Integration**: For API documentation, use the hex-docs-search skill.
If usage rules not available:
Package '<package_name>' does not provide usage-rules.md.

**Note**: Usage rules are a community-driven convention where packages provide
best practices in markdown format. Not all packages have adopted this yet.

**Alternatives**:
- Use hex-docs-search skill for API documentation and guides
- Check package README or official documentation
- Search for "<package_name> elixir best practices" online
- Look for community guides and blog posts

**Current packages with usage rules**:
- ash, ash_postgres, ash_json_api (Ash Framework ecosystem)
- igniter, spark, reactor (Build tools and engines)

**Help the ecosystem**: Encourage package maintainers to add usage-rules.md!
If user needs comprehensive guidance:
For comprehensive implementation guidance, use both:

1. **usage-rules skill** - Coding conventions and best practices
2. **hex-docs-search skill** - API documentation and function signatures

Combining both provides complete "how to implement correctly" guidance.

Examples

Example 1: Finding Ash querying best practices

User asks: "What are the best practices for querying data in Ash?"

Search process:

  1. Extract package: ash
  2. Identify context: "querying"
  3. Check deps/ash/usage-rules.md (found)
  4. Search for section: ## Querying Data
  5. Extract section with code examples
  6. Present best practices

Output:

Found usage rules for ash:

**Location**: deps/ash/usage-rules.md
**Version**: 3.5.20

**Relevant Best Practices** (Querying Data):

## Querying Data

### Common Query Operations

Prefer using code interface functions with the `query` option for filtering, sorting, and limiting:

```elixir
# PREFERRED - Use the query option
posts = MyApp.Blog.list_posts!(
  query: [
    filter: [status: :published],
    sort: [published_at: :desc],
    limit: 10
  ],
  load: [author: :profile]
)

# AVOID - Don't build queries manually outside domain
query = MyApp.Blog.Post
|> Ash.Query.filter(status: :published)
|> Ash.Query.sort(published_at: :desc)
posts = Ash.read!(query)

All query-related options go in the query parameter, not as separate arguments.


Full Rules: deps/ash/usage-rules.md

Integration: For Ecto.Query API documentation, use hex-docs-search skill.


### Example 2: Error handling conventions

**User asks**: "How should I handle errors in Phoenix LiveView?"

**Search process**:
1. Extract package: `phoenix_live_view`
2. Identify context: "error handling"
3. Check `deps/phoenix_live_view/usage-rules.md` (not found - LiveView doesn't provide usage rules yet)
4. Check `.usage-rules/phoenix_live_view-*/usage-rules.md` (not found)
5. Attempt fetch (package doesn't include usage-rules.md)
6. Provide fallback suggestions

**Output**:

Package 'phoenix_live_view' does not provide usage-rules.md.

Alternatives:

  • Use hex-docs-search skill for Phoenix.LiveView API documentation
  • Check Phoenix LiveView guides: https://hexdocs.pm/phoenix_live_view/
  • Search for "phoenix liveview error handling best practices"

Note: Usage rules are a community convention. Help the ecosystem by encouraging package maintainers to add usage-rules.md files!


### Example 3: Unknown package with progressive fetch

**User asks**: "What are the best practices for using Spark DSL?"

**Search process**:
1. Extract package: `spark`
2. Identify context: general (no specific context)
3. Check `deps/spark/usage-rules.md` (not found)
4. Check `.usage-rules/spark-*/usage-rules.md` (not found)
5. Check mix.exs: `{:spark, "~> 2.0"}`
6. Get latest 2.x from hex.pm:
   ```bash
   curl -s "https://hex.pm/api/packages/spark" | jq -r '.releases[] | select(.version | startswith("2.")) | .version' | head -1
   # Returns: 2.2.24
  1. Fetch package:
    bash
    mix hex.package fetch spark 2.2.24 --unpack --output .usage-rules/.tmp/spark-2.2.24
  2. Extract usage-rules.md (found!)
  3. Copy to cache: .usage-rules/spark-2.2.24/usage-rules.md
  4. Clean up temp
  5. Read and present usage rules

Output:

Found cached usage rules for spark:

**Version**: 2.2.24
**Cache Location**: .usage-rules/spark-2.2.24/usage-rules.md

**Relevant Best Practices** (Understanding Spark):

## Understanding Spark

Spark is a foundation for declarative DSLs in Elixir. It powers frameworks like Ash
by providing the infrastructure for building expressive, compile-time-validated DSLs.

### Key Concepts

- **Extensions**: Modules that add DSL sections to Spark DSLs
- **Sections**: Top-level DSL constructs (like `actions do ... end`)
- **Entities**: Individual items within sections (like `read :list`)
- **Options**: Configuration for entities

<...more content...>

---

**Full Rules**: .usage-rules/spark-2.2.24/usage-rules.md

**Note**: Rules are now cached locally for offline access.

**Recommendation**: Add `.usage-rules/` to your .gitignore.
Show full SKILL.md (612 more words)Show less
Example 4: Cached rules (offline access)

User asks: "Show me Ash relationship best practices again"

Search process:

  1. Extract package: ash
  2. Identify context: "relationship"
  3. Check deps/ash/usage-rules.md (not found - not in project)
  4. Check .usage-rules/ash-*/usage-rules.md (found version 3.5.20!)
  5. No fetch needed - use cached rules
  6. Search for "## Relationships" section
  7. Extract and present

Result: Fast, offline search without network requests. Works even when disconnected.

Example 5: Context-aware extraction

User asks: "Common mistakes with Ash actions?"

Search process:

  1. Extract package: ash
  2. Identify context: "actions" + "mistakes"
  3. Find usage rules (local or cached)
  4. Search for "## Actions" section
  5. Also search for keywords: "mistake", "avoid", "wrong", "bad"
  6. Extract relevant parts from multiple sections
  7. Present consolidated best practices

Output:

Found usage rules for ash:

**Relevant Best Practices** (Actions - Common Mistakes):

## Actions

**AVOID** - Don't create generic CRUD actions:
```elixir
# BAD - Generic naming
create :create
update :update

PREFER - Create domain-specific actions:

elixir
# GOOD - Specific business operations
create :register_user
update :activate_account
update :suspend_for_violation

AVOID - Don't put business logic outside actions:

elixir
# BAD - Logic in controller
def create_post(conn, params) do
  {:ok, post} = Blog.create_post(params)
  # Business logic here
  send_notifications(post)
  update_stats()
end

PREFER - Put business logic in action changes:

elixir
# GOOD - Logic in action
create :publish_post do
  change after_action(fn _changeset, post ->
    send_notifications(post)
    update_stats()
    {:ok, post}
  end)
end

Full Rules: deps/ash/usage-rules.md

Tool usage summary

Use Claude's built-in tools in this order:

  1. Glob - Find usage-rules.md files in deps/, .usage-rules/, and check for sub-rules
  2. Grep - Search for section headings, context keywords, and code examples
  3. Read - Read complete usage rules files when broader context needed
  4. Bash - Fetch packages with mix hex.package, version resolution, extract and cache rules
  5. AskUserQuestion - Prompt for version when ambiguous

Requirements: curl and jq (Linux/Mac native, use Git Bash or WSL on Windows)

Best practices

  1. Start local: Always check local dependencies first - they match the version used in the project
  2. Check cache before fetch: Look for previously fetched rules in .usage-rules/ before fetching
  3. Context-aware extraction: Don't present entire file - extract relevant sections based on keywords
  4. Show code examples: Always include good/bad pattern examples when available
  5. Highlight patterns: Point out # GOOD vs # BAD comparisons explicitly
  6. Link to source: Provide file path so users can explore complete rules
  7. Note integration: Mention hex-docs-search for complementary API documentation
  8. Git ignore reminder: Mention .gitignore addition once per session when fetching occurs
  9. Offline capability: Once fetched, usage rules available without network access
  10. Version awareness: Note which version is installed locally vs fetched from cache

Troubleshooting

Package not found in deps/
  • Check .usage-rules/ for previously fetched rules
  • If not cached, determine version and offer to fetch
  • Check if package is in mix.exs dependencies (for version resolution)
  • Verify package name spelling (convert Phoenix.LiveView → phoenix_live_view)
Package doesn't provide usage-rules.md
  • This is expected - usage rules are a convention, not all packages have them
  • Fallback to hex-docs-search for API documentation
  • Suggest checking package README or guides
  • Encourage package maintainers to add usage rules
Fetch failures

Package fetch fails:

  • Verify package name spelling
  • Check network connectivity
  • Verify package exists on hex.pm
  • Try web search as fallback

Extraction fails:

  • Package was fetched but doesn't include usage-rules.md
  • Clean up temp directory
  • Note that package doesn't provide rules
Cache location issues

Fetched rules not found on repeat queries:

  • Verify .usage-rules/ directory exists
  • Check that fetch command completed successfully
  • May need to re-fetch if directories were deleted
  • Ensure temp cleanup didn't remove permanent cache
Section extraction challenges

Section too large:

  • Increase -A value in Grep to get more content
  • Or read complete file and extract programmatically
  • Consider showing summary + offering full section

Multiple relevant sections:

  • Extract multiple sections
  • Present them in logical order
  • Clearly label each section

No section matches context:

  • Show "## Understanding [Package]" section as default
  • List available sections for user to choose from
  • Read complete file if user wants comprehensive overview
Version mismatches

Different version in deps/ vs cache:

  • Prefer deps/ version (matches project)
  • Note version difference if using cache
  • Offer to fetch version matching project dependencies

Version specified doesn't exist:

  • List available versions from hex.pm
  • Prompt user to select valid version
  • Fall back to latest if user unsure

© bradleygolden, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 1 other file in plugins/core/skills/usage-rules of bradleygolden/claude-marketplace-elixir.

  • SKILL.md
  • README.md

Open the folder on GitHubat commit 624d46b

Compare with similar skills

Usage Rules next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Usage Rules compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Usage Rules this skillbradleygolden/claude-marketplace-elixir176—~4.9kAutomated safety check: NotesMIT
Elixir Architectmaxim-ist/elixir-architect145—~7.6kAutomated safety check: PassMIT
Phoenix Frameworkpodlove/radiator136—~562Automated safety check: PassMIT
Elixir Expertpass-agent/loomkin1811 repos~796Automated safety check: PassMIT
Compound Docsoliver-kriska/claude-elixir-phoenix565—~528Automated safety check: PassMIT
Elixir Prodavila7/claude-code-templates32k8 repos~486Automated safety check: PassMIT

Similar skills

  • Elixir Architect

    maxim-ist/elixir-architect

    A skill your agent uses when designing or architecting Elixir/Phoenix applications, creating comprehensive project documentation, planning OTP supervision trees, defining domain models with Ash…

    145 GitHub stars~7.6k tokensUpdated 10 mo ago
    AI & LLM EngineeringAuto-check passed
  • Phoenix Framework

    podlove/radiator

    Use this skill working with Phoenix Framework. An agent skill from podlove/radiator.

    136 GitHub stars~562 tokensUpdated 14 days ago
    AI & LLM EngineeringAuto-check passed
  • Elixir Expert

    pass-agent/loomkin

    Expert in Elixir, Phoenix Framework, and OTP. An agent skill from pass-agent/loomkin.

    181 GitHub starsUsed in 1 repo~796 tokens
    AI & LLM EngineeringAuto-check passed
  • Compound Docs

    oliver-kriska/claude-elixir-phoenix

    Searchable Elixir/Phoenix/Ecto solution documentation system with; Use when consulting past solutions…

    565 GitHub stars~528 tokensUpdated 3 days ago
    AI & LLM EngineeringAuto-check passed
  • Elixir Pro

    davila7/claude-code-templates

    Write idiomatic Elixir code with OTP patterns, supervision trees, and Phoenix LiveView.

    32k GitHub starsUsed in 8 repos~486 tokens
    AI & LLM EngineeringAuto-check passed
  • Phx Codex Loop

    oliver-kriska/claude-elixir-phoenix

    Fix Elixir/Phoenix code until Codex CLI review comes back clean; Use when codex is installed and you want an external…

    565 GitHub stars~1.3k tokensUpdated 3 days ago
    AI & LLM EngineeringAuto-check passed

More from bradleygolden/claude-marketplace-elixir

  • Hex Docs Search

    bradleygolden/claude-marketplace-elixir

    Research Hex packages (Sobelow, Phoenix, Ecto, Credo, Ash, etc).

    176 GitHub stars~4.1k tokensUpdated 9 mo ago
    Auto-check: notes

Works with

Questions about Usage Rules

What does Usage Rules do?

Search for package-specific usage rules and best practices from Elixir packages. Usage Rules is an agent skill from bradleygolden/claude-marketplace-elixir. Search for package-specific usage rules and best practices from Elixir packages.

When should I use Usage Rules?

Usage Rules fits situations like: you need coding conventions; common mistakes; good/bad examples for packages like Ash.

How do I install Usage Rules in Claude Code?

Run `npx skills add bradleygolden/claude-marketplace-elixir --skill usage-rules -a claude-code`. Or copy the skill folder (plugins/core/skills/usage-rules in bradleygolden/claude-marketplace-elixir) into .claude/skills/usage-rules in your project. Claude Code loads it when a task matches its description.

How do I install Usage Rules in Codex?

Run `npx skills add bradleygolden/claude-marketplace-elixir --skill usage-rules -a codex`. Or copy the skill folder (plugins/core/skills/usage-rules in bradleygolden/claude-marketplace-elixir) into .agents/skills/usage-rules in your project. Codex loads it when a task matches its description.

Can I use Usage Rules in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add bradleygolden/claude-marketplace-elixir --skill usage-rules -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/usage-rules, .gemini/skills/usage-rules, .github/skills/usage-rules and .opencode/skills/usage-rules in your project.

What does Usage Rules need to run?

Going by SKILL.md and its folder, Usage Rules needs the command-line tools its instructions call (jq and curl). Its frontmatter pre-approves these tools: Read, Grep, Glob, Bash, AskUserQuestion.

Does Usage Rules access the network?

SKILL.md names 2 domains. In commands or code: hex.pm; the agent is likely to contact it when it follows the instructions. As links in the text: hexdocs.pm. This is read from the text; nothing was executed.

Is Usage Rules safe to install?

Our automated static check of SKILL.md found notes only (pre-approves every shell command (allowed-tools: bash)), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.

What licence does Usage Rules use?

Usage Rules is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Usage Rules use?

About 4.9k tokens (SKILL.md is roughly 20k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Usage Rules?

Skills that share tags, products or a category with Usage Rules: Elixir Architect (maxim-ist/elixir-architect, 145 stars), Phoenix Framework (podlove/radiator, 136 stars), Elixir Expert (pass-agent/loomkin, 181 stars) and Compound Docs (oliver-kriska/claude-elixir-phoenix, 565 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Usage Rules?

bradleygolden (a GitHub user) maintains it in bradleygolden/claude-marketplace-elixir, which has 176 GitHub stars. The repository holds 2 skills in this directory. The repository was last updated on January 11, 2026.

Source: bradleygolden/claude-marketplace-elixir on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.