Skip to content
Back to skills

Agyloop Architecture

ASecurity

Onion layers for agyloop (domain, application, infrastructure, cli), import-linter, and where new code belongs. Use before adding a module under src/agyloop/.

  • 2 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added September 19, 2026
ai-agentsgobash

Works with

  • terminal
  • cli

Security analysis

A100/100

Scanned September 19, 2026

npx -y skills add the-vibey-project/vibey --skill agyloop-architecture --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Agyloop Architecture?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Agyloop Architecture
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/the-vibey-project-agyloop-architecture/badge)](https://www.skillsdirectory.com/skills/the-vibey-project-agyloop-architecture)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: agyloop-architecture
description: Onion layers for agyloop (domain, application, infrastructure, cli), import-linter, and where new code belongs. Use before adding a module under src/agyloop/.
allowed-tools: Read Grep Glob Bash(lint-imports)
---

# agyloop architecture

Dependencies point inward. `import-linter` enforces this in CI.

```
src/agyloop/
├── domain/           # PURE. stdlib only. No I/O, no async, no third-party.
├── application/      # Protocol ports + use cases. Imports domain + stdlib.
├── infrastructure/   # Adapters. ONLY layer that may import google.antigravity.
├── cli/              # Typer. Calls application via bootstrap.
└── bootstrap.py      # Composition root — the ONE module that sees every layer.
```

## Where does new code go?

1. Touches FS, network, clock, or an SDK? → `infrastructure/`, behind a
   `Protocol` in `application/ports.py`. Never `import google.antigravity`
   elsewhere.
2. Pure decision, zero I/O? → `domain/`. Examples: `classify.py`,
   `waiting.py`, `completion.py`, `loop.py`.
3. Orchestration (port → domain → port)? → `application/`.
4. Argument parsing / terminal formatting? → `cli/`.

When in doubt, push logic inward. `lint-imports` names the broken contract.

See ADR 0001.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…