# menakod/skills architecture

> Architecture diagram of the GitHub repository menakod/skills, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-06-18). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/menakod/skills
- Repository: https://github.com/menakod/skills

## Overview

This repository is a small skill catalog for Gemini CLI rather than an application or library.

1. **Top-level purpose**
   - The repo packages specialized “skills” that Gemini CLI can load or reference.
   - Its architecture is documentation/prompt driven: the main deliverable is skill guidance, not executable code.

2. **Repository root as entry point**
   - `README.md` is the public index.
   - It introduces the collection and points users to the available skill(s), acting as the navigation layer for the repo.

3. **Skill boundary**
   - `code-explainer/` is a self-contained skill module.
   - Each skill lives in its own directory, which creates a clear boundary for adding more skills later without mixing concerns.

4. **Skill implementation artifact**
   - `code-explainer/SKILL.md` is the core definition for the Code Explainer skill.
   - Based on the repo structure, the skill is likely represented as a structured Markdown spec or prompt rather than source code.

5. **Functional role of the skill**
   - The Code Explainer skill is described as an expert programming tutor that explains code to beginners.
   - Architecturally, this means the repo’s main “logic” is instructional behavior encoded in the skill document.

6. **Data flow**
   - A user or CLI reads the root README to discover available skills.
   - Gemini CLI then loads the relevant skill document from the skill directory.
   - The skill content guides the model’s behavior when explaining code.

7. **Extensibility model**
   - The layout suggests a plugin-like organization: one directory per skill, one skill file per capability.
   - Adding new skills should not require changing existing skill definitions; the README is just the catalog.

8. **Technology profile**
   - No runtime, build system, package manager, or external service is visible from the tree.
   - The repository appears to rely on Markdown documentation and the Gemini CLI skill-loading convention.

9. **Operational boundary**
   - There is no indication of application state, persistence, networking, or deployment infrastructure.
   - The main operational concern is content maintenance: keeping skill instructions clear and discoverable.

10. **Architectural takeaway for a diagram**
   - Diagram this as a documentation-driven skill repository with:
     - a catalog/index layer at the root,
     - isolated skill packages beneath it,
     - and Gemini CLI as the consumer of those skill definitions.

Main entry points: [`README.md`](https://github.com/menakod/skills/blob/master/README.md) (README), [`code-explainer`](https://github.com/menakod/skills/tree/master/code-explainer) (Code Explainer), [`code-explainer/SKILL.md`](https://github.com/menakod/skills/blob/master/code-explainer/SKILL.md) (SKILL)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_root["Root"]
  node_readme["README<br/>catalog index<br/>[README.md]"]
  node_catalog_view(("Skill Catalog<br/>discovery flow"))
end

subgraph group_skill["Skill Module"]
  node_skill_dir["Code Explainer<br/>skill package"]
  node_skill_md["SKILL<br/>[SKILL.md]"]
  node_explain_behavior{{"Tutor Behavior<br/>instruction outcome"}}
end

node_gemini_cli["Gemini CLI<br/>consumer"]

node_gemini_cli -->|"discover skills"| node_readme
node_readme -->|"publishes"| node_catalog_view
node_readme -->|"points to"| node_skill_dir
node_skill_dir -->|"contains"| node_skill_md
node_gemini_cli -->|"loads"| node_skill_md
node_skill_md -->|"defines"| node_explain_behavior
node_skill_dir -.->|"encapsulates"| node_explain_behavior

click node_readme "https://github.com/menakod/skills/blob/master/README.md"
click node_skill_dir "https://github.com/menakod/skills/tree/master/code-explainer"
click node_skill_md "https://github.com/menakod/skills/blob/master/code-explainer/SKILL.md"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_readme,node_catalog_view toneBlue
class node_skill_dir,node_skill_md,node_explain_behavior toneAmber
class node_gemini_cli toneNeutral
```

## Components

### Root

Repository entry and catalog layer

- [README](https://github.com/menakod/skills/blob/master/README.md): catalog index · Public entry point that lists the available skills and directs users to them · `README.md`
- **Skill Catalog**: discovery flow · The repository presented as a browsable set of available skills

### Skill Module

Self-contained skill package

- [Code Explainer](https://github.com/menakod/skills/tree/master/code-explainer): skill package · Directory boundary for the code-explainer skill · `code-explainer`
- [SKILL](https://github.com/menakod/skills/blob/master/code-explainer/SKILL.md): skill spec · Markdown definition of the Code Explainer skill and its behavior · `code-explainer/SKILL.md`
- **Tutor Behavior**: instruction outcome · Beginner-friendly code explanation behavior encoded by the skill document

### Other components

- **Gemini CLI**: consumer · External runtime that discovers and loads the skill content

## Connections

- Gemini CLI → README: discover skills · CLI or user starts from the repository index
- README → Skill Catalog: publishes · README serves as the navigation layer for the catalog
- README → Code Explainer: points to · Index references the available skill package
- Code Explainer → SKILL: contains · The skill lives in its own directory as a single Markdown spec
- Gemini CLI → SKILL: loads · CLI consumes the skill definition when the capability is needed
- SKILL → Tutor Behavior: defines · Instruction text determines how the model explains code
- Code Explainer → Tutor Behavior: encapsulates · The package boundary isolates the skill’s behavior from other skills
