Agent skill

Ak Dev Code Quality

by yaalalabs in yaalalabs/agent-kernel

Code quality standards, formatting, Python style rules (classes over script-style functions, configuration-field rules), commit conventions, and PR workflow for Agent Kernel development.

Apache-2.0Auto-check passedDevelopment

Install Ak Dev Code Quality

skills CLI
$ npx skills add yaalalabs/agent-kernel --skill ak-dev-code-quality -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install yaalalabs/agent-kernel ak-dev-code-quality --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/yaalalabs/agent-kernel.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/ak-dev-code-quality .claude/skills/ak-dev-code-quality && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
ak-dev-code-quality
GitHub stars
191
Token cost
~2.5k tokens
SKILL.md length
1,030 words
Files
1
Skills in repo
23
Repo updated
First seen
Licence
Apache-2.0

At a glance

Code quality standards, formatting, Python style rules (classes over script-style functions, configuration-field rules), commit conventions, and PR workflow for Agent Kernel development.

  • Works in 2 steps: Run tests: cd ak-py && uv run pytest → Run linting: make lint-check-all
  • Making contributions
  • SKILL.md covers Code Formatting, Commit Convention, Pull Request Process and Version Management, plus 4 more sections
  • Calls make, uv and git

What it does

Ak Dev Code Quality is an agent skill from yaalalabs/agent-kernel. Code quality standards, formatting, Python style rules (classes over script-style functions, configuration-field rules), commit conventions, and PR workflow for Agent Kernel development. Use this skill when making contributions, formatting code, writing commit messages, or preparing pull requests.

Its SKILL.md is about 2.5k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Development, covering Commit messages, Code quality and Pull requests. It works with Python and GitHub Actions. The repository describes itself as: The Operating System for Scalable Enterprise AI Agents - Run, orchestrate, and deploy Compliant Enterprise AI Agents at scale across frameworks, without lock-in, rewrites or… The licence is Apache-2.0.

When your agent uses it

  • Making contributions
  • Formatting code
  • Writing commit messages
  • Preparing pull requests

Example prompts

  • “/ak-dev-code-quality”

Requirements

  • Python 3

Workflow steps

2 steps, taken from the first numbered list in SKILL.md.

  1. Run tests: cd ak-py && uv run pytest
  2. Run linting: make lint-check-all

What it can do on your machine

Read from SKILL.md and the folder at commit 860086e. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • make
    • uv
    • git

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use uv and git, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Ak Dev Code Quality loads about 2.5k tokens when it runs. Until then it costs about 80 tokens; SKILL.md has 1,030 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~80
When it runs · the whole SKILL.md, loaded when a task matches
~2.5k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from yaalalabs/agent-kernel at commit 860086e, republished under its Apache-2.0 licence (© yaalalabs). 1,030 words, ~2,513 tokens.

Download SKILL.mdSave it as .claude/skills/ak-dev-code-quality/SKILL.md (or your agent's skills folder).
name
ak-dev-code-quality
description
Code quality standards, formatting, Python style rules (classes over script-style functions, configuration-field rules), commit conventions, and PR workflow for Agent Kernel development. Use this skill when making contributions, formatting code, writing commit messages, or preparing pull requests.
license
Apache-2.0
metadata.author
yaalalabs
metadata.category
developer

Code Quality & Contribution Conventions

Code Formatting

Agent Kernel uses black for formatting and isort for import sorting.

Auto-format
bash
# Format ak-py source and tests
make lint

# Format examples too
make lint-all
Check only (CI mode, no changes)
bash
make lint-check       # ak-py only
make lint-check-all   # ak-py + examples
Auto-format a remote branch (CI)

To apply formatting on a remote branch without running the tools locally, trigger the Lint and Commit GitHub Actions workflow (.github/workflows/lint-fix.yml) manually from the Actions tab (workflow_dispatch). It takes two inputs:

  • lint_target: which Makefile target to run — lint, lint-examples, or lint-all (default).
  • branch: the branch to format and commit the changes to.

The workflow runs the selected target and pushes a chore: commit with any formatting changes back to the chosen branch. Protected branches (currently develop) are rejected before any changes are made.

Configuration

In ak-py/pyproject.toml:

toml
[tool.black]
line-length = 150
target-version = ["py312"]

[tool.isort]
profile = "black"
line_length = 150

In example projects, line length is 120:

toml
[tool.black]
line-length = 120
target-version = ["py312"]
Type Checking
bash
cd ak-py
uv run mypy src/

Configuration:

toml
[tool.mypy]
python_version = "3.12"
warn_return_any = true
warn_unused_configs = true
disallow_untyped_defs = true
disallow_incomplete_defs = true

Commit Convention

Use Conventional Commits format:

<type>: <short description>
Types
TypeWhen to Use
feat:New feature or capability
fix:Bug fix
docs:Documentation changes only
chore:Maintenance, dependencies, config
refactor:Code restructuring without behavior change
test:Adding or modifying tests
style:Formatting-only changes
ci:CI configuration and workflow changes
build:Build system, packaging, dependency changes
perf:Performance improvements

An optional scope narrows the type: type(scope): description, for example fix(ws): reconnect gateway after broker restart or chore(auto): sync skills/docs.

Examples
feat: add telegram messaging integration
fix: handle empty session in Redis store
docs: update deployment guide for Azure containerized
chore: bump openai-agents dependency to 0.6.5
refactor: extract common guardrail logic to base class
test: add unit tests for CosmosDB session store
Rules
  • Use lowercase for commit type and description
  • Keep the description under 72 characters
  • Use imperative mood ("add feature" not "added feature")
  • No period at the end
  • Reference issue numbers when applicable: feat: add telegram integration (#123)
  • PR titles follow the same format. .github/workflows/pr-title-check.yaml fails the PR otherwise, and because develop is squash-merge only the title becomes the commit subject

Pull Request Process

Base Branch

Branch from and target develop, not main — CI (.github/workflows/code-quality.yml) runs on pull requests against develop, and origin/HEAD points there.

Before Submitting
  1. Run tests: cd ak-py && uv run pytest
  2. Run linting: make lint-check-all
<!-- 3. **Run type checks**: `cd ak-py && uv run mypy src/` Enable after all mypy checks are passing -->
  1. Ensure no regressions — all existing tests must pass
PR Guidelines
  • One feature/fix per PR — keep PRs focused
  • Include tests — new features must have tests
  • Update docs — if the change affects user-facing behavior
  • Add examples — for new features, add or update examples
  • Conventional title: type: description or type(scope): description using one of the commit types above; the PR Title Check workflow blocks anything else
  • Fill in the PR template — description, type of change, testing done
Review Workflow
  • Copilot review is automatic for collaborators: .github/workflows/copilot-review-request.yaml requests a Copilot code review when a collaborator's PR is opened, reopened, or marked ready for review (bot-authored PRs excluded). Collaborators never need to request it by hand. PRs from outside contributors are not requested automatically; a maintainer runs the workflow from the Actions tab with the PR number after a first read.
  • Reviewed label: maintainers add Reviewed once they have gone through a PR. .github/workflows/reviewed-label-reset.yaml removes it on every new push so the PR reappears in is:pr is:open -label:Reviewed. Contributors should not touch the label.
PR Types
  • Core changes: Modifications to ak-py/src/agentkernel/core/
  • Integration additions: New messaging platforms, framework adapters
  • Documentation: Updates to docs/, README files
  • Testing: New or improved tests
  • Community support: Bug reports, feature suggestions

Version Management

Version Bumping

Handled by publish.yaml workflow. This updates:

This updates:

  • ak-py/pyproject.toml version field
  • Terraform module versions
  • Example dependency versions
Version Locations

The version appears in:

  • ak-py/pyproject.toml → version = "x.y.z"
  • Terraform modules version fields in examples
  • agentkernel dependency version constraints in example pyproject.toml files

Development Setup

Prerequisites
  • Python 3.12–3.13.x
  • uv package manager
  • Git
  • Make
Setup
bash
git clone https://github.com/yaalalabs/agent-kernel.git
cd agent-kernel
make dev-setup                # Installs pyenv, Python 3.12, uv, then syncs ak-py venv
# or directly: ./scripts/dev-setup.sh

Alternatively, set things up manually:

bash
cd agent-kernel/ak-py
./build.sh                    # Creates venv, installs deps
Running Examples
bash
cd examples/cli/openai
./build.sh
uv run demo.py
Running Tests
bash
cd examples/cli/openai
./build.sh
uv run pytest -s

File Organization Conventions

  • Source: ak-py/src/agentkernel/ — all package source code
  • Tests: ak-py/tests/ — unit tests
  • Examples: examples/<mode>/<framework>/ — self-contained demo projects
  • Docs: docs/docs/ — Docusaurus documentation
  • Scripts: scripts/ — CI/CD and maintenance scripts
  • Terraform: ak-deployment/ — Terraform modules
Show full SKILL.md (432 more words)Show less

Python Style Guidelines

  • Python 3.12+ features are encouraged (type unions with |, match statements)
  • Use type hints for all function signatures
  • Use logging.getLogger("ak.<module>") for logger names
  • Use async/await for all I/O operations
  • Prefer BaseModel (Pydantic) for data models
  • Use ABC and @abstractmethod for interfaces
  • Keep line length under 150 characters (120 for examples)
Classes, not script-style functions

Feature logic is written as classes, not as procedural module-level functions. This is a house rule for maintainability (see the House Patterns section of ak-dev-architecture), not a stylistic preference:

  • A new component is an ABC plus concrete subclasses, a *Factory for selection, an orchestrating class (*Manager, *Handler, *Runner, *Consumer) for control flow, and Pydantic models for data. State lives on instances, never on module globals.
  • Do not write a chain of top-level functions that thread state through arguments, or a main()-style function that wires a feature together. Wrap it in a class with a run()/create()/execute() method so callers can subclass, compose, and mock it.
  • Module-level functions are reserved for small, stateless, genuinely shared utilities that belong to no single class (resolve_dotted, require_extra), and for the plain Python tool functions that framework tool builders bind. A helper that only makes sense next to one class is a method of that class (@staticmethod/@classmethod when it needs no instance).
  • When two classes start sharing logic, lift it into a base class or a shared component rather than copying it or extracting a loose function.
Configuration fields
  • New knobs go through AKConfig (ak-py/src/agentkernel/core/config.py); never read os.environ or module constants for behavior a user should control.
  • Reuse an existing config model before defining a new one (_QueuesConfig, _ResponseStoreConfig, the _RedisConfig/_DynamoDBConfig/... connection models); subclass to change defaults only. Do not add an enabled flag or duplicate type selector when the presence of already-configured components can enable the feature.
  • Every field has a real description (they become user docs) and a default that keeps existing YAML and AK_* env vars valid. A field nothing reads is a defect, not future-proofing.

Logging

Logger Hierarchy
  • AK Logger ("ak"): Parent logger for all Agent Kernel components
    • Child loggers like "ak.api", "ak.runtime", etc. inherit from this
    • Propagation is disabled at the AK level to prevent logs from bubbling to the root
    • Use logging.getLogger("ak.<module>") for Agent Kernel components
Log Levels

The following log levels are supported (in order of verbosity):

  • DEBUG: Detailed information for diagnosing problems
  • INFO: General information about program execution
  • WARNING: Something unexpected happened
  • ERROR: Due to a more serious problem, the software has not been able to perform some function
  • CRITICAL: A serious error, indicating that the program itself may be unable to continue running

© yaalalabs, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .agents/skills/ak-dev-code-quality of yaalalabs/agent-kernel.

Open the folder on GitHubat commit 860086e

Compare with similar skills

Ak Dev Code Quality next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Ak Dev Code Quality compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Ak Dev Code Quality this skillyaalalabs/agent-kernel191—~2.5kAutomated safety check: PassApache-2.0
Code Review Skillawesome-skills/code-review-skill2.1k—~2.8kAutomated safety check: NotesMIT
Code Reviewerjewbetcha/opentrace1162 repos~1.1kAutomated safety check: NotesMIT
Adk Gitgoogle/adk-python22k—~1.3kAutomated safety check: PassApache-2.0
Code Review SkillRain-kl/OpenFlare288—~2.3kAutomated safety check: NotesMIT
Align Recipe pyproject.tomlgoogle/adk-recipes10k—~4.6kAutomated safety check: PassApache-2.0

Similar skills

  • Code Review Skill

    awesome-skills/code-review-skill

    Provides comprehensive code review guidance for React 19, Vue 3, Angular 17+, Svelte 5, Rust, TypeScript, Java, Java 8, PHP, Ruby, Rails, Python, Django, FastAPI, Go, C/.NET, Kotlin, Swift, Dart…

    2.1k GitHub stars~2.8k tokensUpdated 29 days ago
    DevelopmentAuto-check: notes
  • Code Reviewer

    jewbetcha/opentrace

    Comprehensive code review skill for TypeScript, JavaScript, Python, Swift, Kotlin, Go.

    116 GitHub starsUsed in 2 repos~1.1k tokens
    DevelopmentAuto-check: notes
  • Adk Git

    google/adk-python

    Official

    Writes commit messages and pull request descriptions for the adk-python repository: Conventional Commits types and scopes, subject lines that say why a change was made, and the linked-issue and…

    22k GitHub stars~1.3k tokensUpdated yesterday
    DevelopmentAuto-check passed
  • Code Review Skill

    Rain-kl/OpenFlare

    Provides comprehensive code review guidance for React 19, Vue 3, Angular 17+, Svelte 5, Rust, TypeScript, Java, PHP, Python, Django, Go, C/.NET, Kotlin, Swift, NestJS, C/C++, and more.

    288 GitHub stars~2.3k tokensUpdated today
    DevelopmentAuto-check: notes
  • Align Recipe pyproject.toml

    google/adk-recipes

    Official

    Brings a Python recipe's pyproject.toml in line with the repo's CI rules, either as a read-only dry run or by rewriting the file while keeping comments.

    10k GitHub stars~4.6k tokensUpdated 2 days ago
    DevelopmentAuto-check passed
  • Git GitHub Ops

    c5inco/compose-pokedexer

    Handles Pokedexer Git and GitHub workflows: inspect changes, prepare commit messages, manage branches and pushes, and create or update issues and pull requests with safe file-based inputs.

    143 GitHub stars~1.3k tokensUpdated 4 days ago
    DevelopmentAuto-check passed

More from yaalalabs/agent-kernel

All 23 skills in this repo
  • Ak Dev New Evaluator Provider

    yaalalabs/agent-kernel

    Step-by-step guide for adding a new built-in test evaluator provider to Agent Kernel (beyond DeepEval, Opik and JEV).

    191 GitHub stars~3.4k tokensUpdated today
    Auto-check passed
  • Ak Dev New Guardrail Provider

    yaalalabs/agent-kernel

    Step-by-step guide for adding a new guardrail provider to Agent Kernel.

    191 GitHub stars~3.5k tokensUpdated today
    Auto-check passed
  • Step-by-step guide for adding a new knowledge base backend to Agent Kernel.

    191 GitHub stars~5.1k tokensUpdated today
    Auto-check passed
  • Ak Dev New Messaging Integration

    yaalalabs/agent-kernel

    Step-by-step guide for adding a new messaging platform integration to Agent Kernel.

    191 GitHub stars~4.2k tokensUpdated today
    Auto-check passed
  • Ak Dev New Multimodal Storage

    yaalalabs/agent-kernel

    Step-by-step guide for adding a new multimodal attachment storage backend to Agent Kernel.

    191 GitHub stars~4.3k tokensUpdated today
    Auto-check passed
  • Ak Dev New Queue Transport

    yaalalabs/agent-kernel

    Step-by-step guide for adding a new queue transport to Agent Kernel's execution pipeline.

    191 GitHub stars~2.7k tokensUpdated today
    Auto-check passed

Categories

Questions about Ak Dev Code Quality

What does Ak Dev Code Quality do?

Code quality standards, formatting, Python style rules (classes over script-style functions, configuration-field rules), commit conventions, and PR workflow for Agent Kernel development. Ak Dev Code Quality is an agent skill from yaalalabs/agent-kernel. Code quality standards, formatting, Python style rules (classes over script-style functions, configuration-field rules), commit conventions, and PR workflow for Agent Kernel development.

When should I use Ak Dev Code Quality?

Ak Dev Code Quality fits situations like: making contributions; formatting code; writing commit messages; preparing pull requests.

How do I install Ak Dev Code Quality in Claude Code?

Run `npx skills add yaalalabs/agent-kernel --skill ak-dev-code-quality -a claude-code`. Or copy the skill folder (.agents/skills/ak-dev-code-quality in yaalalabs/agent-kernel) into .claude/skills/ak-dev-code-quality in your project. Claude Code loads it when a task matches its description.

How do I install Ak Dev Code Quality in Codex?

Run `npx skills add yaalalabs/agent-kernel --skill ak-dev-code-quality -a codex`. Or copy the skill folder (.agents/skills/ak-dev-code-quality in yaalalabs/agent-kernel) into .agents/skills/ak-dev-code-quality in your project. Codex loads it when a task matches its description.

Can I use Ak Dev Code Quality in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add yaalalabs/agent-kernel --skill ak-dev-code-quality -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/ak-dev-code-quality, .gemini/skills/ak-dev-code-quality, .github/skills/ak-dev-code-quality and .opencode/skills/ak-dev-code-quality in your project.

What does Ak Dev Code Quality need to run?

Going by SKILL.md and its folder, Ak Dev Code Quality needs the command-line tools its instructions call (make, uv and git). Our summary lists: Python 3.

Does Ak Dev Code Quality access the network?

SKILL.md contains no URLs. Its commands use uv and git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Ak Dev Code Quality safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Ak Dev Code Quality use?

Ak Dev Code Quality is published under the Apache-2.0 licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Ak Dev Code Quality use?

About 2.5k tokens (SKILL.md is roughly 10k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Ak Dev Code Quality?

Skills that share tags, products or a category with Ak Dev Code Quality: Code Review Skill (awesome-skills/code-review-skill, 2.1k stars), Code Reviewer (jewbetcha/opentrace, 116 stars), Adk Git (google/adk-python, 22k stars) and Code Review Skill (Rain-kl/OpenFlare, 288 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Ak Dev Code Quality?

yaalalabs (a GitHub organization) maintains it in yaalalabs/agent-kernel, which has 191 GitHub stars. The repository holds 23 skills in this directory. The repository was last updated on October 7, 2026.

Source: yaalalabs/agent-kernel on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.