Β
The AOSSIE Skills Ecosystem is a local-first, context-first AI governance infrastructure that implements the Agentic AI Foundation's (AAIF) open standards for agentic repository customization. Across large organizations hosting hundreds of repositories, AI-assisted tools frequently suggest incorrect code or violate project boundaries due to a lack of repository context.
This is a scalable, end-to-end repository governance system designed to ensure zero knowledge loss. It automatically catches insights from developer discussions to update repository skill files, runs community bots to resolve contributor questions, and displays a dashboard that highlights conflict warnings, suggested replies for ambiguous contributor PRs, and recommended merge sequences. If any knowledge is missing, it logs a gap signal to capture it later.
π Local-First, Private & Scalable: Tested on servers with over 8,000+ members, the entire system is free, open-source, and runs fully on local LLMsβmeaning zero info leaks, absolute data privacy, and zero SaaS costs, all while keeping a human in the loop.
- Organization-Wide Skills Core: A centralized repository storing standard, reusable organizational skills and policies (e.g., onboarding, AI safety policies) synchronized across all projects.
- Per-Repository Customization (
AGENTS.md&.agents): Local repository configuration files defining strict physical boundaries, whole repository context, architectural constraints, and more about that project. - Skill Bot (Discord Assistant): Answers contributor queries by vector-searching local/global skill files and logging knowledge gaps.
- Skill Updater Pipeline: Automatically polls maintainer chats, clusters discussions semantically using BERTopic, and drafts Git Pull Requests to update project skills with new decisions.
- PR Dashboard (Conflict DAG): Fetches open PRs, extracts summaries, clusters overlapping files, and runs local model inference to render a dependency DAG highlighting merge sequences and conflicts.
- upcoming: PR Skill Updater bot, Cross repo skills manager.
- Programming Languages: Python, TypeScript, HTML5, CSS3, JavaScript
- Integration APIs & Frameworks: Discord.py, GitHub CLI (
gh), Git, Jinja2 - NLP & Topic Clustering: sentence-transformers (
all-MiniLM-L6-v2), BERTopic, IncrementalPCA, MiniBatchKMeans, NetworkX - Local LLM & Vector DB: Ollama (
qwen2.5:7b/llama3), ChromaDB (Persistent multi-repo vector indexing),nomic-embed-text
- Skills Core Repository
- Interactive Simulation (Live Demo: demo)
- Pull Request Dashboard
- Skill Bot Assistant
- Skill Updater Pipeline
flowchart TD
%% Nodes
SC["<b><font color='#F59E0B'>Skills Context</font></b><br><br>Skills Core (Shared Org wide skills)<br>per-repo skills (AGENTS.md + skills/ directory)"]
Contributors["Contributors"]
Maintainers["Maintainers"]
SB["<b><font color='#F59E0B'>Skill Bot</font></b> (Discord Assistant)<br><br>Answers contributor questions<br>using asked question-oriented project skills β LLM fallback"]
PD["<b><font color='#F59E0B'>PR Dashboard</font></b> (Merge Analysis)<br><br>Clusters PRs semantically, injects skills & communication(e.g. Discord) context.<br>Extracts PR changes briefly & open questions for maintainers to review.<br>Prepares Conflict DAG with merge reasoning & post-merge impact."]
SU["<b><font color='#F59E0B'>Skill Updater</font></b> (Knowledge Evolution)<br><br>Collects all logs from different components.<br>Updates relevant repo-skills by asking maintainers or admins<br>to review and approve generated updates."]
%% Edges
%% Contributor Flow
Contributors -- "Ask Questions in Discord" --> SB
SC -- "Powers answers" --> SB
SB -- "If gaps found, send logs for maintainers<br>to answer and update project skill via updater." --> SU
%% Maintainer Flow
Maintainers -- "Reviews PRs<br>with" --> PD
SC -- "Powers reasoning" --> PD
PD -- "If gaps found, send logs for maintainers<br>to answer and update those project skills via updater." --> SU
%% Feedback Loop & Sync
Maintainers -- "Collects communication platform (e.g. Discord) discussions, filters important<br>topics by giving that repo-skills context, and sends suggested updates to maintainers<br>to reformat or modify as needed (maintainer approve)" --> SU
SU -- "PR Skill Updater bot opens PR for gap skills and<br>recently merged PR context (maintainers approve)" --> SC
%% Style Classes
classDef yellowBox fill:#1E293B,stroke:#F59E0B,stroke-width:2px,color:#F8FAFC;
classDef purpleBox fill:#1E293B,stroke:#8B5CF6,stroke-width:2px,color:#F8FAFC;
class SC,SB,PD,SU yellowBox;
class Contributors,Maintainers purpleBox;
sequenceDiagram
autonumber
actor Contributor
actor Maintainer
participant SkillBot
participant SkillUpdater
participant PRDashboard
participant SkillsContext
participant Ollama
%% Flow 1: Developer Q&A
Contributor->>SkillBot: Ask development question on Discord
SkillBot->>SkillsContext: Search Skills Context (Skills Core & per-repo skills)
alt Skill file match found
SkillBot-->>Contributor: Reply with grounded context-first answer
else Skill file match not found (Confidence < 0.5)
SkillBot->>SkillBot: Call local LLM fallback
SkillBot-->>Contributor: Reply with safety disclaimer
SkillBot->>SkillUpdater: Send log to answer & update project skills via updater
end
%% Flow 2: Knowledge Capture Loop
Maintainer->>SkillUpdater: Technical discussions / Refine rules on Discord
SkillUpdater->>SkillUpdater: Collect Discord discussions & filter important topics using repo-skills context
SkillUpdater->>Ollama: Generate git-patch updating skill files
SkillUpdater->>SkillsContext: PR Skill Updater bot opens PR for gap skills & recently merged PR context
Maintainer->>SkillsContext: Review and approve/merge PR (Skills Context updated!)
%% Flow 3: Code Review & Conflict Analysis
Maintainer->>PRDashboard: Reviews PRs & runs merge analysis
PRDashboard->>SkillsContext: Fetch open PR summaries, skills & communication (Discord) context
PRDashboard->>Ollama: Analyze PR changes, open questions & prepare Conflict DAG
PRDashboard-->>Maintainer: Render Conflict DAG (with merge reasoning & post-merge impact) & open questions
alt Gap found in skills during PR analysis
PRDashboard->>SkillUpdater: Send logs to answer and update those project skills via updater
end
Ensure you have the following installed on your local machine:
- Python 3.10+ and Node.js 18+
- Ollama running locally:
- Pull embed model:
ollama pull nomic-embed-text - Pull inference model:
ollama pull qwen2.5:7b(orllama3)
- Pull embed model:
- GitHub CLI (
gh) installed and authenticated with your GitHub account.
git clone https://github.com/AOSSIE-Org/Skills.git
cd SkillsCreate a .env file in the root directory:
OLLAMA_HOST=http://localhost:11434
DISCORD_TOKEN=your_discord_bot_token
GITHUB_TOKEN=your_github_personal_access_tokencd InteractiveSimulation
# The simulation is static and can be served using any local web server
python -m http.server 8000Navigate to http://localhost:8000 to trace data pipelines interactively.
β Don't forget to star this repository if you find it useful! β
Thank you for considering contributing to the AOSSIE Skills Ecosystem! Contributions are highly appreciated. To ensure smooth collaboration, please refer to our Contribution Guidelines.
- Karun Pacholi - Lead Developer & Architect
- zahnentferner - admin & reviewer
This project is licensed under the GNU General Public License v3.0. See the LICENSE file for details.
Thanks a lot for spending your time helping this ecosystem grow. Keep rocking π₯
Β© 2026 AOSSIE