Skills, personas, and rules for AI-assisted OpenStack development, built on the Agent Skills open format.
Important
This repo is not an official OpenStack deliverable and is actively under development. The presence of this repo should not be considered an endorsement by the broader OpenStack community of agentic development. Refer to the OpenInfra Policy for AI Generated Content for more information on what AI Generated is currently allowed in OpenInfra-governed projects like OpenStack.
This repository provides AI agent skills tailored for OpenStack development -- code review, bug triage, spec authoring, Gerrit interaction, and more.
The repository follows the Agent Skills
specification, an open, LLM-agnostic
format for giving agents new capabilities. Skills are described by SKILL.md
files with YAML frontmatter, making them discoverable by any compatible AI
client.
Skills are project-agnostic: instead of being hardcoded to a single project, they dynamically resolve project context at invocation time. When you invoke a skill, it asks which project you are working on (or infers it from context), then loads the appropriate knowledge and personas.
Clone this repository:
git clone https://opendev.org/openstack/agentic-workflows.gitThe skills are designed to work with OpenStack project source code (Nova, Neutron, etc.) without bundling that code here. Repositories should be placed side-by-side:
❯ tree -L 1
.
├── agentic-workflows
├── cinder
├── keystone
├── glance
├── neutron
├── nova
└── swift
Then open the agentic-workflows directory in your AI tool of choice. All
skills are available immediately.
Skills in .agents/skills/ follow the Agent Skills specification and are
discovered automatically by any compatible AI client. Persona discovery,
however, varies between clients. Below are some examples for common tools.
Skills are auto-discovered from .agents/skills/. Type / in the agent
chat to invoke a skill directly.
To make personas available as subagents, create symlinks under
.cursor/agents/ pointing to the persona files in personas/:
mkdir -p .cursor/agents
ln -s ../../personas/nova-core.md .cursor/agents/nova-core.mdSkills are discovered from .agents/skills/ at session startup.
To load project-level context automatically, create a CLAUDE.md file at the
repository root. To invoke personas directly in conversation, use the
@personas/name.md syntax.
OpenCode discovers skills from .agents/skills/ automatically when you open
a project that contains that directory structure.
To make the skills available globally (across all projects), symlink or copy the skills into your OpenCode global config directory:
mkdir -p ~/.agents/skills
for skill in /path/to/agentic-workflows/.agents/skills/*/; do
ln -s "$skill" ~/.agents/skills/"$(basename "$skill")"
doneOnce loaded, OpenCode lists available skills in the skill tool. The agent
will invoke skills automatically when a task matches their description, or you
can ask explicitly (e.g. "use the code-review skill to review this patch").
If you would like to contribute to this project, please see CONTRIBUTING.md
and the OpenStack Contributor
Guide.
It is expected that most contributions to this repo will be agent-based. The
AGENTS.md file provides guidance on the structure and design principles of
this project.
Please report issues through Gerrit or the openstack-discuss mailing list.
This project is licensed under the Apache License, Version 2.0. See the
LICENSE file for details.