Imported from derio-net/frank (
AGENTS.md). Install upstream withnpx skills add derio-net/frank. Copyright stays with the author.
Agent Configuration & Mandates
This file is the canonical entry point for all AI agents operating in this repository. Agent-specific files may adapt these instructions for a particular runtime, but they must not define a competing source of truth.
Load Order
Before making non-trivial changes, agents should read these files in order:
AGENTS.md— this canonical contract.agents/rules/repo-principles.md— declarative-only policy and maintenance rules.agents/rules/repo-architecture.md— repository layout and naming conventions.agents/rules/repo-workflows.md— standard layer and fix/extension workflows.agents/rules/frank-identity.md— project voice and persona.- Cluster-specific rules on demand:
- Frank:
agents/rules/frank-infrastructure.md,agents/rules/frank-commands.md,agents/rules/frank-argocd.md,agents/rules/frank-gotchas.md - Hop:
agents/rules/hop-infrastructure.md,agents/rules/hop-commands.md,agents/rules/hop-gotchas.md - Browser automation:
agents/rules/browser-harness.md(machine-global browser-harness setup; host-specific transport injected per environment). On the macOS workstation, the SessionStart adapter also injects the Mac-only overlayagents/browser-harness-mac.md(Brave-Clawdia + uv-clobber caveat).
- Frank:
- Task-specific skills or reviewer profiles from
agents/skills/,agents/reviewers/, andagents/commands/.
Shared Rule Registry
Agent-neutral rules live in agents/rules/:
browser-harness.mdfrank-argocd.mdfrank-commands.mdfrank-gotchas.mdfrank-identity.mdfrank-infrastructure.mdhop-commands.mdhop-gotchas.mdhop-infrastructure.mdplan-checkbox-tracking.mdplan-post-deploy-checklist.mdrepo-architecture.mdrepo-blog.mdrepo-manual-ops.mdrepo-papers.mdrepo-principles.mdrepo-workflows.mdthird-party-privacy.md
Shared Skills
Repo-local skills are stored in agents/skills/. When a task matches a skill,
read that skill's SKILL.md before acting.
awx-onboard-hosts:agents/skills/awx-onboard-hosts/SKILL.mdbump-image:agents/skills/bump-image/SKILL.mddeploy-app:agents/skills/deploy-app/SKILL.mdexpose-service:agents/skills/expose-service/SKILL.mdfalco-triage:agents/skills/falco-triage/SKILL.mdfrank-alert-triage:agents/skills/frank-alert-triage/SKILL.mdhop-trace-analysis:agents/skills/hop-trace-analysis/SKILL.mdoidc-onboard:agents/skills/oidc-onboard/SKILL.mdpost-deploy:agents/skills/post-deploy/SKILL.mdsync-runbook:agents/skills/sync-runbook/SKILL.mdupdate-readme:agents/skills/update-readme/SKILL.md
Blog authoring lives in the blog-craft plugin (enabled via
.claude/settings.json), not agents/skills/: /blog-craft:blog-post,
/blog-craft:media, /blog-craft:papers — all driven by the repo's
.blog-craft.yaml.
Slash-command references are aliases for the repo-local skills above. For
example, /sync-runbook means agents/skills/sync-runbook/SKILL.md.
Shared Reviewers And Commands
Reusable reviewer profiles live in agents/reviewers/:
code-reviewer.mdk8s-manifest-reviewer.md
Reusable command runbooks live in agents/commands/ (currently empty —
update-openrouter-models.md was retired when the cluster went local-only
inference, see #461 and derio-net/agent-skills#1).
Machine-Readable Configuration
- Layer registry:
docs/layers.yaml - Plan profile:
docs/superpowers/plan-config.yaml - Manual operations runbook:
docs/runbooks/manual-operations.yaml
Safety And Enforcement
- Do not edit sensitive files such as
.env_devops,.sops.yaml, or files under.talos/without explicit user confirmation. - This repo is fr-enabled: writes must happen inside an fr-isolation workspace,
never the base clone. Read-only work is unaffected. See "Write Isolation (fr)"
in
agents/rules/repo-workflows.mdbefore your first edit. - Cluster state should be reproducible from this repo. See
agents/rules/repo-principles.mdfor the narrow manual-operation exception. - Validate agent configuration with
scripts/validate-agent-config.sh. - Validate plans with
scripts/validate-plans.sh. - The shared Git pre-commit hook runs both validators for relevant changes.
- Claude Code hooks in
.claude/settings.jsonare adapters only. Other agents are not protected by those hooks, so portable checks must live in scripts.
Agent-Specific Adapters
CLAUDE.mdis the Claude Code adapter and should point back here.GEMINI.mdis the Gemini adapter and should point back here..claude/settings.jsonmay wire Claude-specific hooks, permissions, and plugins, but canonical behavior belongs inAGENTS.md,agents/,docs/, andscripts/.- Compatibility symlinks:
.claude/skills,.claude/rules,.claude/agents, and.claude/commandspoint intoagents/. .claude/settings.local.jsonis local operator state and must not be treated as shared policy.