Claude-skill-registry brynhild-development
Guidelines for contributing to brynhild itself - use when making changes to the brynhild codebase, running tests, or understanding project conventions
install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/brynhild-development" ~/.claude/skills/majiayu000-claude-skill-registry-brynhild-development && rm -rf "$T"
manifest:
skills/data/brynhild-development/SKILL.mdsource content
Brynhild Development
This is a project-local skill demonstrating how to create skills specific to a project. It provides guidance for contributing to brynhild.
Project Structure
brynhild/ ├── src/brynhild/ # Main package │ ├── api/ # LLM provider implementations │ ├── cli/ # Command-line interface │ ├── config/ # Settings and configuration │ ├── core/ # Core conversation logic │ ├── hooks/ # Hook system │ ├── builtin_skills/ # Skills shipped with package │ ├── plugins/ # Plugin system │ ├── profiles/ # Model profiles │ ├── session/ # Session management │ ├── skills/ # Skill discovery and loading │ ├── tools/ # Tool implementations │ └── ui/ # TUI application ├── tests/ # Test suite ├── scripts/ # Development scripts ├── workflow/ # Development documentation └── .brynhild/skills/ # Project-local skills (like this one)
Python Environment
Always use the project venv:
./local.venv/bin/python script.py ./local.venv/bin/pip install package
Never use system Python or bare
.python3
Running Tests
# All tests make tests # Specific test file ./local.venv/bin/python -m pytest tests/path/test_file.py -v # Specific test ./local.venv/bin/python -m pytest tests/path/test_file.py::test_name -v
Type Checking
# mypy (primary) make typecheck # pyright (alternative) make typecheck-pyright
Linting
make lint
Uses
ruff for linting. Auto-fix with:
./local.venv/bin/python -m ruff check --fix src/ tests/
Import Style
Qualified imports only. Never import symbols directly.
# ✅ CORRECT import pathlib as _pathlib import typing as _typing import brynhild.config as config # ❌ WRONG from pathlib import Path from brynhild.config import Settings
External imports: underscore prefix (
_pathlib, _click)
Internal imports: no underscore (config, session)
Git Commits
Never make autonomous commits. Use the
commit-helper skill to create commit plans, then wait for user authorization to execute.
Testing Policy
- All tests must be honest (no mocking away the behavior being tested)
- No trivial tests (must verify meaningful behavior)
- No hacky workarounds; use
for intentional lint ignores# noqa
This Skill is an Example
This skill demonstrates:
- Project-local skills in
.brynhild/skills/ - Overriding or extending builtin skills
- Project-specific conventions and guidelines
Users of brynhild can create similar skills for their own projects.