Terse imperative code rules. No rationale here — rationale lives in
DECISIONS.md. Read while writing code.
- Lint Python:
uv run ruff check . - Format Python:
uv run ruff format . - Check formatting:
uv run ruff format --check . - Lint Markdown:
npx markdownlint-cli2 "**/*.md" - Run a skill's deps:
pip install -r <skill>/requirements.txt
- Target Python 3.11; keep
line-length = 100. - Import the skill's
scripts/_common.pyfor runtime setup and shared contracts. - Send human-readable progress to stderr via
log; send the machine-readable result (an absolute path) to stdout viaemit. - Write Google-style docstrings on public modules and classes.
- Keep each skill self-contained and independently installable.
- Qualify cross-skill script paths fully; never assume a shared CWD.
- Never hard-code
EDGAR_IDENTITYor webhook URLs; read them from the environment.
- Count only Form 4 open-market purchases (code
P) as insider buys. - Emit 13F share counts only — no dollar values.
- Write all cache under the git-ignored
*-cache/dirs; never commit cache.
- Keep each
SKILL.mdterse; defer detail toreferences/(progressive disclosure). - Ensure
AGENTS.md,README.md, and everything incontext/pass markdownlint.
- Work on a branch; open a PR. Never commit to
maindirectly.