Verwendung
- Installationsbefehl kopieren und das Quellpaket vor der Installation in der eigenen Agentenumgebung prüfen.
- Benötigte Werkzeuge, Zugangsdaten und Hosts im Original prüfen.
- Eingabe und gewünschtes Ergebnis beschreiben und die Ausgabe mit den Quellen abgleichen.
npx skills add https://github.com/hcaiano/skills --skill t3-capacityVor dem Start
- Die Installation umfasst weder Modellabo noch API-Kontingent oder Dateizugriffsrechte.
- Sterne und Installationen zeigen Aktivität, keine unabhängige Qualitäts- oder Sicherheitsprüfung.
Aus dem Quell-Repository gerendert; Überschriften, Beispiele, Code, Tabellen, Links und Bilder bleiben erhalten.
Use orchestrator_capabilities for instance IDs, drivers and models. Set SKILL_DIR to this skill's directory and run:
node "$SKILL_DIR/scripts/t3-capacity.mjs" \
[--candidate <id>/<model>[,<id>/<model>...]]...With no --instance, the script reads the recorded mapping in ~/.agents/t3-capacity.json. Without that file, pass --settings for the server running this shell and one --instance <id>:<driver> per instance. Follow mapping notes; --declare and a recorded declaration need a user-stated mapping.
Record each instance's account source. Local Claude pools use claude:<name>:
{
"settings": "~/.t3/userdata/settings.json",
"hubs": {
"cliproxy": {
"url": "https://cliproxy.tailb3bc31.ts.net:8318",
"managementKeyFile": "~/.local/state/fleet/cliproxy-management-key"
}
},
"instances": {
"codex": {"driver": "codex", "hub": "cliproxy"},
"claudeAgent": {"driver": "claudeAgent", "declare": "claude:games"},
"claudeAgent_gatticaiano": {
"driver": "claudeAgent",
"declare": "claude:gatticaiano",
"secureStorageDir": "~/.t3/claude-auth-gatticaiano"
}
}
}Hub accounts appear as hub:<name>/<email> with their provider, usage and state. Missing emails use the account ID; duplicate labels include provider and ID. Instances use the aggregate hub:<name>:<provider> and its members list. Codex maps to codex, Claude to claude, and Grok to xai. Disabled, unavailable, unauthorized and failed accounts retain their reasons.
For fill-first failover, an aggregate is available while any member is available; otherwise it takes the best remaining member state. Across available and protected members, headroom_percent sums remaining account percentages, used_percent averages usage, and pace divides total daily burn by total daily budget; these are equal account shares, not token quotas. Each member retains its own reset; the aggregate shows the earliest usable reset.
Read the management key from managementKeyFile. Hub flags are --hub <name>=<url>, --management-key-file <name>=<file>, and --instance-hub <id>=<name>. Set one account source per instance, either a hub or the existing local login forms. Inventory and account reads share the same spacing and cache rules below. A reused reading carries a note on both its account and aggregate. Provider authentication refusals discard cached usage.
Merge these entries into the recorded mapping. secureStorageDir is the launcher's CLAUDE_SECURESTORAGE_CONFIG_DIR, independent of its history home. Omitted or empty means the default login. If the launcher leaves that variable unset but sets CLAUDE_CONFIG_DIR, record the config directory as secureStorageDir. Coordinate the mapping migration with the installed-skill update. Flags use --declare <id>=claude:<name> and --secure-storage-dir <id>=<dir>. Bare claude declarations must migrate. On macOS, read the login's Keychain service; on Linux, its .credentials.json. Only the default login uses ~/.claude/usage-state.json offline. Each named pool appears in accounts; instances sharing a pool share capacity. Two accounts serving the same model do not add model diversity.
To pick a delegate, pass each preference tier as one --candidate flag, listing every instance that serves each model in that tier. Delegate to choice: the lowest-pace available candidate of the first tier holding one, however far down. With no available candidate in any tier, it is the protected candidate with the lowest pace across all tiers, so the burn spreads to the pool with the most room. A null choice is a capacity blocker: report it, never guess.
To resolve a configured role, save orchestrator_capabilities as JSON and run:
node "$SKILL_DIR/scripts/t3-capacity.mjs" \
--role "bug-fix" --capabilities /tmp/capabilities.json \
[--models ~/.agents/pstack-models.md]The models file defaults to ~/.agents/pstack-models.md. Role lines use bug-fix: capacity[a > b | c]. > orders preference tiers, | groups equal models, and comma-separated capacity[...] entries give one seat each. Comma-separated role names before the colon share a line. Set effort with comments such as # effort high: feature, refactoring, bug-fix and # effort medium: how explorer, why investigators. A # budget <name> line (unlimited, large, medium or small) sets the rest, else xhigh. The script expands each model to every serving instance and applies the same capacity rule per seat. It reads reasoning option keys and supported values from the catalog, using the highest value at or below the role's effort. Pass each seats[].target to delegate_task unchanged. A null target includes a reason; rejected lists missing models, disabled providers, and unsupported effort options. Role mode cannot be combined with --candidate.
Summarize usage, pace, resets and account states. Pace above 1 risks exhaustion before reset. Unknown capacity proves no headroom. Each account is read live at most once per two minutes across threads. An account note marks a reading reused, up to 10 minutes old, after a skipped or failed live read; name it in the summary.




