Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add agents/jvgomg/podkit/config-migrationsgit clone --depth 1 https://github.com/jvgomg/podkitWhat it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.00000 | $0.00908 |
| Opus 5 | $0.00000 | $0.00454 |
| Sonnet 5 | $0.00000 | $0.00182 |
| Haiku 4.5 | $0.00000 | $0.00091 |
Grade A, and why
config-migrations scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured today.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 70 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Config Migrations
Guidance for creating and maintaining config migrations. See AGENTS.md for project overview.
podkit uses a versioned config system with a migration engine. The config file has a version field (positive integer). Configs without a version field are version 0 (pre-versioning era).
When a Migration is Needed
Required for:
- Breaking config restructures (renaming/removing sections)
- Breaking field changes (type changes, renames, removals)
- New required fields that must have a value
Not required for:
- New optional fields with defaults (existing configs work without them)
- Internal-only changes that don't affect the config file
- Documentation-only changes
Recently Added Optional Fields (no migration required)
These fields were added additively — existing configs that omit them continue to work; no migration or version bump was needed.
| Field | Scope | Type | Default | Purpose |
|---|---|---|---|---|
playlist |
[music.<name>] block (subsonic only) |
string |
absent (= full-library) | Constrains a subsonic collection to a single named server playlist. Parse-time error if set on a directory collection. |
allowEmptyPlaylist |
global [defaults] / top-level |
boolean |
false |
When true, a headless sync against a playlist-scoped collection that resolves to zero tracks proceeds instead of aborting non-zero. Env override: PODKIT_ALLOW_EMPTY_PLAYLIST. |
IMPORTANT — three-place rule. When adding any new config field, three
locations must all be updated: (1) the parse block in loadConfigFile,
(2) the corresponding branch in mergeConfigs, and (3) a test covering
the merge path (not only the parse path). Missing step 2 causes the field
to be silently dropped when multiple config sources are merged. See
conventions §12.
How Config Versions Work
CURRENT_CONFIG_VERSIONinpackages/podkit-cli/src/config/version.tsis the latest version- Running any command with an outdated config → hard error pointing to
podkit migrate podkit migratedetects the version, shows pending migrations, runs them sequentially, backs up the original, and writes the updated config- Migrations work with raw TOML strings (not typed config objects) so they can handle incompatible structures
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- today First seen · 70 lines · 0 tokens per session scan A ca57da5e7a5b
config-migrations is an agent published in the GitHub repository jvgomg/podkit (39 stars, last pushed 9d ago), licensed MIT. It costs nothing until one of its globs matches a file; then it loads 908 tokens. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-01.
Other agents, from other repositories
AGENTS
Use uv for every Python command in this repo. Do not use bare python, pip, poetry, or conda.
CONTEXT
Agent "CONTEXT" from TheRealSavi/iOpenPod, covering iopenpod and language.
accessibility-reviewer
Reviews Android Compose / iOS SwiftUI changes for screen-reader and reduce-motion regressions. Use proactively after any UI change, before opening a PR that touches ui/ or iosApp/ Views, or when asked to check TalkBack/VoiceOver accessibility. A core user base is blind and visually impaired — accessibility is treated…
domain
How the engineering skills should consume this repo's domain documentation when exploring the codebase.
triage-labels
The skills speak in terms of five canonical triage roles. This file maps those roles to the actual label strings used in this repo's issue tracker.
issue-tracker
Issues and PRDs for this repo live as GitHub issues. Use the gh CLI for all operations.