Draft: AI Agents: add AI Agents configuration, hooks, and skills (claude)
What this MR adds
Vendor-neutral agent configuration for the slapos repository, plus the first batch of skills wrapping common SlapOS workflows.
-
AGENTS.md— substance file, read by any agent following the agents.md spec (OpenAI Codex, OpenCode, Aider, Gemini CLI, Cursor, GitHub Copilot, Block Goose, …). Holds the project guide: environment, testing, architecture, build, deploy, code style, git push safety. -
CLAUDE.md— thin Claude-Code-only shim.@AGENTS.mdimports the substance; the rest is Claude-Code-specific slash-command shortcuts and a Bash-hang environment note. -
.claude/skills/<name>/SKILL.md— skills in the open Agent Skills format (name+descriptionYAML frontmatter + markdown body). Read natively by Claude Code, OpenCode, Codex, Gemini CLI, Goose, and other Agent-Skills-compatible agents. -
.claude/settings.json+ hook scripts — Claude-Code-specific runtime (PreToolUse / PostToolUse hooks for hash updates, rebuild/reprocess reminders, coding-rules checks). Cross-tool hook porting is not yet in scope. -
.claude/env.local.json.example— template for machine-specific paths (not committed in real form).
Why this shape — the standards landscape, May 2026
| Concept | Spec | Governance | Adoption |
|---|---|---|---|
| Project guide | AGENTS.md |
Agentic AI Foundation / Linux Foundation | 60K+ projects |
| Capability packaging | SKILL.md / Agent Skills |
Anthropic open spec; not yet AAIF | ~32 tool vendors in 90 days |
| Tool protocol | MCP | AAIF | broad |
| Vendor-specific (legacy) |
CLAUDE.md, .cursorrules, .github/copilot-instructions.md
|
per-vendor | tied to one tool |
Tool-by-tool compatibility
| Tool | AGENTS.md |
CLAUDE.md |
.claude/skills/ |
|---|---|---|---|
| Claude Code | via @AGENTS.md import (Anthropic's recommended bridge) |
|
|
| OpenAI Codex CLI |
|
only with project_doc_fallback_filenames opt-in |
developers.openai.com/codex/skills) |
| OpenCode |
|
|
.claude/skills/, .agents/skills/, ~/.config/opencode/skills/) |
| Gemini CLI |
.gemini/settings.json) |
|
|
| Aider |
.aider.conf.yml: read: AGENTS.md) |
||
| Block Goose | (manual) |
|
|
| Cursor / Copilot / Junie / Kiro / Amp / TRAE / Letta / etc. |
|
|
Why both AGENTS.md and CLAUDE.md?
Claude Code does not yet auto-read AGENTS.md. Anthropic's recommended bridge is a thin CLAUDE.md that begins with @AGENTS.md, which Claude Code inlines on session start. That keeps a single source of truth (AGENTS.md) for all other agents while still letting Claude Code see the same project guide.
Open governance question
SKILL.md is the open spec but is not yet AAIF-stewarded — Anthropic released it 9 days after anchoring AAIF with MCP, and kept it outside the Foundation. The AAIF's three founding projects (Dec 9, 2025) are MCP + Goose + AGENTS.md; Skills is absent. Worth watching whether Skills follows the AGENTS.md path to neutral governance.
Skills in this MR
| Skill | Description |
|---|---|
/add-component |
Add a Component (external binary/library) to a Software Release |
/add-frontend |
Request an IPv4 Frontend (public HTTPS URL) for a Service |
/add-logrotate |
Add Logrotate for a Service |
/add-monitoring |
Add the Monitoring Stack to a Software Release |
/add-parameter |
Add an Instance Parameter (slapparameter) |
/add-promise |
Add a SlapOS Promise |
/add-service |
Add a Service to a SlapOS Instance |
/add-template |
Add a Jinja2 Template to a Software Release |
/rebuild-software |
Rebuild a SlapOS software release (kill existing process, slapos node software --force) |
/reprocess-instance |
Reprocess SlapOS instances (slapos node instance --force) |
/slapos-status |
Show SlapOS proxy status — software releases, partitions, connection parameters |
/run-sr-test |
Run a software release integration test with proper environment setup |
/inspect-logs |
Inspect SlapOS build and instance logs for errors and debugging |
/test-results |
Fetch test results for a git commit from ERP5's test_result_module
|
/deploy-instance |
Deploy a new SlapOS instance (inspect schema, generate request, verify) |
/destroy-instance |
DANGEROUS — irreversibly destroys a SlapOS instance |
/show-instances |
List deployed instances for a software release with connection parameters |
/export-request-scripts |
Generate request scripts for all top-level instances |
Contributor guidance
- Prose conventions →
AGENTS.md. - New skills →
.claude/skills/<name>/SKILL.mdwith at leastname:anddescription:frontmatter. They will work in any Agent-Skills-compatible agent, not just Claude Code. - Avoid adding to
CLAUDE.mdunless the content is genuinely Claude-Code-specific (slash-command UX, hook references, etc.).
Test plan
-
Skills appear in Claude Code's skill listing -
/run-sr-test rapid-cdn test.TestMasterRequestloads correctly -
/show-instances erp5-mcp-hateoasloads correctly -
Editing a software/*/file triggers theupdate-hashPostToolUse hook -
@AGENTS.mdimport resolves in Claude Code (substance is loaded) -
add-*/SKILL.mdfiles have validname:/description:YAML frontmatter
Sources
- agents.md — multi-vendor origin, AAIF governance, 60K+ projects
- agentskills.io — SKILL.md spec, 32 adopters in 90 days
- AAIF founding press release (MCP + Goose + AGENTS.md)
- addyosmani/agent-skills — practitioner flagship, ~41K stars
Replaces MR !2008 (closed) (closed — wrong source_project_id).