Claude Code Plugins

Community-maintained marketplace

Feedback

brynhild-development

@mandersogit/brynhild-harness
0
0

Guidelines for contributing to brynhild itself - use when making changes to the brynhild codebase, running tests, or understanding project conventions

Install Skill

1Download skill
2Enable skills in Claude

Open claude.ai/settings/capabilities and find the "Skills" section

3Upload to Claude

Click "Upload skill" and select the downloaded ZIP file

Note: Please verify skill by going through its instructions before using it.

SKILL.md

name brynhild-development
description Guidelines for contributing to brynhild itself - use when making changes to the brynhild codebase, running tests, or understanding project conventions

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 # noqa for intentional lint ignores

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.