Skip to content

Create plugin.yaml#1

Open
FortiShield wants to merge 10 commits into
mainfrom
agent-os
Open

Create plugin.yaml#1
FortiShield wants to merge 10 commits into
mainfrom
agent-os

Conversation

@FortiShield
Copy link
Copy Markdown
Owner

@FortiShield FortiShield commented Mar 5, 2026

Summary by Sourcery

New Features:

  • Introduce an Agent OS plugin configuration with metadata and project-level settings.

Summary by CodeRabbit

  • New Features
    • Agent OS plugin added to help manage and apply project coding standards and conventions.
  • Documentation
    • Comprehensive Agent OS reference and workflow guides added: discover-standards, index-standards, inject-standards, plan-product, and shape-spec.
    • New guidance for a Standards Discoverer agent and step-by-step templates for creating, indexing, and injecting standards.

@sourcery-ai
Copy link
Copy Markdown

sourcery-ai Bot commented Mar 5, 2026

Reviewer's guide (collapsed on small PRs)

Reviewer's Guide

Adds an initial plugin manifest for the Agent OS plugin, defining its metadata and configuration scope without any custom settings sections.

Entity relationship diagram for the new AgentOS plugin manifest

erDiagram
    PluginManifest {
        string name
        string description
        string version
        string[] settings_sections
        boolean per_project_config
        boolean per_agent_config
    }

    ProjectConfig {
        string id
    }

    AgentConfig {
        string id
    }

    PluginManifest ||--o{ ProjectConfig : scoped_by
    PluginManifest ||--o{ AgentConfig : scoped_by
Loading

File-Level Changes

Change Details Files
Introduce Agent OS plugin manifest with basic metadata and configuration flags.
  • Define plugin name and human-readable description for Agent OS
  • Set initial semantic version to 1.0.0
  • Declare an empty list of settings sections, indicating no configurable UI sections yet
  • Enable per-project configuration while disabling per-agent configuration
plugins/agent-os/plugin.yaml

Tips and commands

Interacting with Sourcery

  • Trigger a new review: Comment @sourcery-ai review on the pull request.
  • Continue discussions: Reply directly to Sourcery's review comments.
  • Generate a GitHub issue from a review comment: Ask Sourcery to create an
    issue from a review comment by replying to it. You can also reply to a
    review comment with @sourcery-ai issue to create an issue from it.
  • Generate a pull request title: Write @sourcery-ai anywhere in the pull
    request title to generate a title at any time. You can also comment
    @sourcery-ai title on the pull request to (re-)generate the title at any time.
  • Generate a pull request summary: Write @sourcery-ai summary anywhere in
    the pull request body to generate a PR summary at any time exactly where you
    want it. You can also comment @sourcery-ai summary on the pull request to
    (re-)generate the summary at any time.
  • Generate reviewer's guide: Comment @sourcery-ai guide on the pull
    request to (re-)generate the reviewer's guide at any time.
  • Resolve all Sourcery comments: Comment @sourcery-ai resolve on the
    pull request to resolve all Sourcery comments. Useful if you've already
    addressed all the comments and don't want to see them anymore.
  • Dismiss all Sourcery reviews: Comment @sourcery-ai dismiss on the pull
    request to dismiss all existing Sourcery reviews. Especially useful if you
    want to start fresh with a new review - don't forget to comment
    @sourcery-ai review to trigger a new review!

Customizing Your Experience

Access your dashboard to:

  • Enable or disable review features such as the Sourcery-generated pull request
    summary, the reviewer's guide, and others.
  • Change the review language.
  • Add, remove or edit custom review instructions.
  • Adjust other review settings.

Getting Help

@qodo-code-review
Copy link
Copy Markdown

Review Summary by Qodo

Add Agent OS plugin configuration file

✨ Enhancement

Grey Divider

Walkthroughs

Description
• Add plugin.yaml configuration file for Agent OS plugin
• Define plugin metadata including name, version, and description
• Configure per-project settings support for coding conventions
Diagram
flowchart LR
  A["Plugin Configuration"] -- "defines metadata" --> B["Agent OS Plugin"]
  A -- "enables per-project config" --> C["Project-level Settings"]
  B -- "manages" --> D["Coding Conventions"]
Loading

Grey Divider

File Changes

1. plugins/agent-os/plugin.yaml ⚙️ Configuration changes +6/-0

Initial Agent OS plugin configuration

• Created new plugin configuration file with metadata
• Set plugin name to "Agent OS" with version 1.0.0
• Configured per-project configuration support enabled
• Disabled per-agent configuration support

plugins/agent-os/plugin.yaml


Grey Divider

Qodo Logo

@qodo-code-review
Copy link
Copy Markdown

qodo-code-review Bot commented Mar 5, 2026

Code Review by Qodo

🐞 Bugs (1) 📘 Rule violations (1) 📎 Requirement gaps (0)

Grey Divider


Action required

1. Plugin added outside usr/plugins/ 📘 Rule violation ✓ Correctness
Description
The new plugin manifest is added under plugins/agent-os/ instead of the required
usr/plugins/<plugin_name>/ location. This breaks the documented plugin development convention and
may prevent correct plugin discovery/maintenance.
Code

plugins/agent-os/plugin.yaml[R1-6]

+name: Agent OS
+description: Standards discovery, extraction, and deployment system for AI-assisted development. Keeps agents aligned with project coding conventions.
+version: 1.0.0
+settings_sections: []
+per_project_config: true
+per_agent_config: false
Evidence
Compliance rule 10 requires new plugin code/assets to be added under usr/plugins/. The PR adds a
new plugin manifest at plugins/agent-os/plugin.yaml, which is outside the required directory.

AGENTS.md
plugins/agent-os/plugin.yaml[1-6]

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

## Issue description
The plugin is being added under `plugins/agent-os/`, but new plugins must be developed under `usr/plugins/&lt;plugin_name&gt;/`.

## Issue Context
This PR adds a new `plugin.yaml` for `agent-os`, but its location violates the repository’s plugin directory convention.

## Fix Focus Areas
- plugins/agent-os/plugin.yaml[1-6]

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools


2. Wrong manifest key 🐞 Bug ✓ Correctness
Description
plugins/agent-os/plugin.yaml uses name instead of the expected title field for the runtime
plugin manifest. As a result, the loader won’t read the intended display name and will fall back to
the plugin directory name (agent-os).
Code

plugins/agent-os/plugin.yaml[1]

+name: Agent OS
Evidence
The runtime manifest schema is defined by PluginMetadata, which expects title (not name). The
plugin list UI label is populated via display_name=meta.title or d.name, so when title is
missing, the directory name is shown. Repo documentation also specifies title as the required
manifest field.

plugins/agent-os/plugin.yaml[1-6]
backend/utils/plugins.py[49-57]
backend/utils/plugins.py[124-133]
plugins/README.md[31-42]

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

## Issue description
The runtime plugin manifest schema expects `title`, but `plugins/agent-os/plugin.yaml` uses `name`. This means the intended human-friendly display name won’t be loaded and the UI will fall back to showing the directory name (`agent-os`).

## Issue Context
`PluginMetadata` defines `title`, and plugin discovery builds `display_name=meta.title or d.name`.

## Fix Focus Areas
- plugins/agent-os/plugin.yaml[1-1]

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools


Grey Divider

ⓘ The new review experience is currently in Beta. Learn more

Grey Divider

Qodo Logo

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Mar 5, 2026

📝 Walkthrough

Walkthrough

Adds an Agent OS plugin and related agent/config manifests, a backend system_prompt extension that appends an Agent OS reference into system prompts, and several new Agent OS prompt and spec documentation files for discovering, indexing, injecting, and planning standards.

Changes

Cohort / File(s) Summary
Plugin manifest
plugins/agent-os/plugin.yaml
New plugin manifest declaring Agent OS metadata (name, description, version) and config options (per_project_config: true, per_agent_config: false).
Backend extension
plugins/agent-os/extensions/backend/system_prompt/_50_agent_os_context.py
Adds AgentOsContext extension (subclass of Extension) with async def execute(self, system_prompt: list[str] = [], **kwargs) that reads fw.agent_os.reference.md via self.agent.read_prompt(...) and appends it to system_prompt. Review async behavior and error handling.
Agent config
plugins/agent-os/standards_discoverer/agent.yaml
New agent metadata for "Standards Discoverer" describing role and context for extracting coding standards.
Prompts & reference docs
plugins/agent-os/prompts/fw.agent_os.reference.md, .../fw.agent_os.discover_standards.md, .../fw.agent_os.index_standards.md, .../fw.agent_os.inject_standards.md, .../fw.agent_os.plan_product.md, .../fw.agent_os.shape_spec.md
Adds comprehensive Agent OS reference and workflow prompts (discover, index, inject, plan-product, shape-spec). These are documentation-only additions defining workflows, file locations, and expected outputs.
Standards discoverer prompts
plugins/agent-os/standards_discoverer/prompts/agent.system.standards_discoverer.md
Adds the Standards Discoverer agent system prompt describing methodology, output format (index.yml layout), and integration touchpoints. Focus on consistency with index format described elsewhere.

Sequence Diagram(s)

sequenceDiagram
  participant User
  participant Agent
  participant StandardsDiscoverer as Discoverer
  participant FileSystem as FS
  participant Index as index.yml

  User->>Agent: invoke discover/index/inject/plan commands
  Agent->>Discoverer: run Standards Discoverer (prompts)
  Discoverer->>FS: read repository files & prompts (fw.agent_os.reference.md)
  FS-->>Discoverer: file contents
  Discoverer->>Index: generate/update index.yml entries
  Index-->>Agent: updated index
  Agent->>User: present suggested standards / inject into context
Loading

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Poem

🐰 I hopped through files, a manifest so bright,
New prompts and a helper to guide the night,
I tuck reference pages into the thread,
Standards indexed, and specs gently fed,
A rabbit's cheer for tidy dev delight! ✨

🚥 Pre-merge checks | ✅ 1 | ❌ 2

❌ Failed checks (2 warnings)

Check name Status Explanation Resolution
Title check ⚠️ Warning The PR title 'Create plugin.yaml' is misleading. While the changeset does add plugin.yaml, it introduces a comprehensive Agent OS plugin system with 11 new files including standards discovery workflows, documentation, agents, and extensions—far beyond just creating one file. Use a more descriptive title that captures the main contribution, such as 'Add Agent OS plugin with standards discovery and management system' or 'Introduce Agent OS plugin for code standards management'.
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (1 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
  • 📝 Generate docstrings (stacked PR)
  • 📝 Generate docstrings (commit on current branch)
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch agent-os

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown

@sourcery-ai sourcery-ai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hey - I've left some high level feedback:

  • Consider adding a stable, machine-readable identifier field (e.g., id: agent-os) in addition to the human-friendly name to avoid future collisions and make programmatic references to this plugin more robust.
Prompt for AI Agents
Please address the comments from this code review:

## Overall Comments
- Consider adding a stable, machine-readable identifier field (e.g., `id: agent-os`) in addition to the human-friendly `name` to avoid future collisions and make programmatic references to this plugin more robust.

Sourcery is free for open source - if you like our reviews please consider sharing them ✨
Help me be more useful! Please click 👍 or 👎 on each comment and I'll use the feedback to improve your reviews.

Comment on lines +1 to +6
name: Agent OS
description: Standards discovery, extraction, and deployment system for AI-assisted development. Keeps agents aligned with project coding conventions.
version: 1.0.0
settings_sections: []
per_project_config: true
per_agent_config: false
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Action required

1. Plugin added outside usr/plugins/ 📘 Rule violation ✓ Correctness

The new plugin manifest is added under plugins/agent-os/ instead of the required
usr/plugins/<plugin_name>/ location. This breaks the documented plugin development convention and
may prevent correct plugin discovery/maintenance.
Agent Prompt
## Issue description
The plugin is being added under `plugins/agent-os/`, but new plugins must be developed under `usr/plugins/<plugin_name>/`.

## Issue Context
This PR adds a new `plugin.yaml` for `agent-os`, but its location violates the repository’s plugin directory convention.

## Fix Focus Areas
- plugins/agent-os/plugin.yaml[1-6]

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools

@@ -0,0 +1,6 @@
name: Agent OS
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Action required

2. Wrong manifest key 🐞 Bug ✓ Correctness

plugins/agent-os/plugin.yaml uses name instead of the expected title field for the runtime
plugin manifest. As a result, the loader won’t read the intended display name and will fall back to
the plugin directory name (agent-os).
Agent Prompt
## Issue description
The runtime plugin manifest schema expects `title`, but `plugins/agent-os/plugin.yaml` uses `name`. This means the intended human-friendly display name won’t be loaded and the UI will fall back to showing the directory name (`agent-os`).

## Issue Context
`PluginMetadata` defines `title`, and plugin discovery builds `display_name=meta.title or d.name`.

## Fix Focus Areas
- plugins/agent-os/plugin.yaml[1-1]

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools

Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@plugins/agent-os/plugin.yaml`:
- Line 1: The plugin manifest uses the wrong field key: replace the top-level
"name" field with "title" in plugins/agent-os/plugin.yaml so the plugin schema
validates and the display title is populated; locate the "name: Agent OS" entry
and change the key to "title" (keeping the value unchanged).

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 0a5ce3b7-d2cb-4aaa-9e03-966297dc7b05

📥 Commits

Reviewing files that changed from the base of the PR and between 8db3e9b and 6081be5.

📒 Files selected for processing (1)
  • plugins/agent-os/plugin.yaml

@@ -0,0 +1,6 @@
name: Agent OS
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🔴 Critical

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# First, verify the PluginMetadata schema definition
echo "=== PluginMetadata class definition ==="
rg -A 20 "^class PluginMetadata" backend/utils/plugins.py

echo -e "\n=== Checking for model_validate usage ==="
rg "model_validate" backend/utils/plugins.py -A 3 -B 3

echo -e "\n=== Checking how manifest files are loaded ==="
rg -A 10 "def load.*manifest\|plugin.*yaml\|\.yaml" backend/utils/plugins.py | head -50

Repository: FortiShield/CtxAI

Length of output: 1453


🏁 Script executed:

#!/bin/bash
# Check Pydantic configuration for extra field handling
echo "=== Checking for ConfigDict or model_config ==="
rg -B 5 "^class PluginMetadata" backend/utils/plugins.py | grep -A 10 "ConfigDict\|model_config\|class PluginMetadata"

# Check the actual plugin.yaml file content
echo -e "\n=== Full content of plugins/agent-os/plugin.yaml ==="
cat plugins/agent-os/plugin.yaml

# Look for other plugin.yaml files to see if they use 'name' or 'title'
echo -e "\n=== Checking other plugin.yaml files for field usage ==="
find plugins -name "plugin.yaml" -exec sh -c 'echo "--- $1 ---"; head -3 "$1"' _ {} \;

Repository: FortiShield/CtxAI

Length of output: 1610


🏁 Script executed:

#!/bin/bash
# Verify Pydantic configuration - check if there's any extra field handling
echo "=== Full PluginMetadata class with context ==="
rg -B 5 -A 15 "^class PluginMetadata" backend/utils/plugins.py

# Check if there's any ConfigDict specifying extra field behavior
echo -e "\n=== Searching for model_config or Config class ==="
rg "model_config|class Config" backend/utils/plugins.py | head -20

Repository: FortiShield/CtxAI

Length of output: 670


Critical: Field name mismatch — use title instead of name.

The plugin schema expects a title field, not name. The name field will be silently ignored during validation, leaving title as an empty string and breaking plugin display.

Proposed fix
-name: Agent OS
+title: Agent OS
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
name: Agent OS
title: Agent OS
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@plugins/agent-os/plugin.yaml` at line 1, The plugin manifest uses the wrong
field key: replace the top-level "name" field with "title" in
plugins/agent-os/plugin.yaml so the plugin schema validates and the display
title is populated; locate the "name: Agent OS" entry and change the key to
"title" (keeping the value unchanged).

Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 3

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@plugins/agent-os/prompts/fw.agent_os.reference.md`:
- Around line 35-42: The two Markdown fenced code blocks showing directory
listings need language identifiers to satisfy markdownlint MD040: update the
opening fences that currently read ``` to ```text for both the block beginning
with "agent-os/specs/YYYY-MM-DD-HHMM-feature-slug/" and the larger block
starting with "agent-os/" so the directory-list examples are marked as text.

In `@plugins/agent-os/prompts/fw.agent_os.shape_spec.md`:
- Around line 54-56: Two fenced code blocks in fw.agent_os.shape_spec.md are
missing language tags; add a language identifier (e.g., text) to both fences so
they pass MD040. Specifically, update the single-line fence containing
"YYYY-MM-DD-HHMM-{feature-slug}/" and the multi-line fence starting with
"agent-os/specs/{YYYY-MM-DD-HHMM-feature-slug}/" to use ```text instead of ```;
keep the block contents unchanged.

In `@plugins/agent-os/standards_discoverer/agent.yaml`:
- Around line 1-6: The agent manifest titled "Standards Discoverer" (agent.yaml)
is placed under plugins/agent-os/standards_discoverer and thus won't be
discovered; move the agent.yaml file for the Standards Discoverer agent into the
agents subdirectory used by the loader so it lives under the plugin's agents
folder (i.e., ensure the file named agent.yaml for the Standards Discoverer
agent is relocated into the plugin's agents/<agent_name>/ directory), and update
any internal references or imports that point to the old location (search for
uses of "Standards Discoverer" or "standards_discoverer" to find places to
update).

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 3bfd5327-7c67-4726-b3c3-63e93ac9b007

📥 Commits

Reviewing files that changed from the base of the PR and between 6081be5 and 2bcf9ad.

📒 Files selected for processing (9)
  • plugins/agent-os/extensions/backend/system_prompt/_50_agent_os_context.py
  • plugins/agent-os/prompts/fw.agent_os.discover_standards.md
  • plugins/agent-os/prompts/fw.agent_os.index_standards.md
  • plugins/agent-os/prompts/fw.agent_os.inject_standards.md
  • plugins/agent-os/prompts/fw.agent_os.plan_product.md
  • plugins/agent-os/prompts/fw.agent_os.reference.md
  • plugins/agent-os/prompts/fw.agent_os.shape_spec.md
  • plugins/agent-os/standards_discoverer/agent.yaml
  • plugins/agent-os/standards_discoverer/prompts/agent.system.standards_discoverer.md
✅ Files skipped from review due to trivial changes (3)
  • plugins/agent-os/standards_discoverer/prompts/agent.system.standards_discoverer.md
  • plugins/agent-os/prompts/fw.agent_os.index_standards.md
  • plugins/agent-os/prompts/fw.agent_os.inject_standards.md

Comment on lines +35 to +42
```
agent-os/specs/YYYY-MM-DD-HHMM-feature-slug/
plan.md
shape.md
standards.md
references.md
visuals/
```
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Add code fence language identifiers (MD040).

At Line 35 and Line 63, code fences should declare a language to satisfy markdownlint.

Proposed fix
-```
+```text
 agent-os/specs/YYYY-MM-DD-HHMM-feature-slug/
   plan.md
   shape.md
   standards.md
   references.md
   visuals/

@@
- +text
agent-os/
standards/
index.yml
api/
response-format.md
error-handling.md
database/
migrations.md
global/
tech-stack.md
naming.md
product/
mission.md
roadmap.md
tech-stack.md
specs/
2026-01-15-1430-user-comment-system/
plan.md
shape.md
standards.md
references.md
visuals/

Also applies to: 63-86

🧰 Tools
🪛 markdownlint-cli2 (0.21.0)

[warning] 35-35: Fenced code blocks should have a language specified

(MD040, fenced-code-language)

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@plugins/agent-os/prompts/fw.agent_os.reference.md` around lines 35 - 42, The
two Markdown fenced code blocks showing directory listings need language
identifiers to satisfy markdownlint MD040: update the opening fences that
currently read ``` to ```text for both the block beginning with
"agent-os/specs/YYYY-MM-DD-HHMM-feature-slug/" and the larger block starting
with "agent-os/" so the directory-list examples are marked as text.

Comment on lines +54 to +56
```
YYYY-MM-DD-HHMM-{feature-slug}/
```
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Add code fence language identifiers (MD040).

At Line 54 and Line 95, fenced blocks are missing a language tag.

Proposed fix
-```
+```text
 YYYY-MM-DD-HHMM-{feature-slug}/

@@
- +text
agent-os/specs/{YYYY-MM-DD-HHMM-feature-slug}/
plan.md # The full plan
shape.md # Shaping decisions and context
standards.md # Which standards apply and key points
references.md # Pointers to similar code
visuals/ # Mockups, screenshots (if any)

Also applies to: 95-102

🧰 Tools
🪛 markdownlint-cli2 (0.21.0)

[warning] 54-54: Fenced code blocks should have a language specified

(MD040, fenced-code-language)

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@plugins/agent-os/prompts/fw.agent_os.shape_spec.md` around lines 54 - 56, Two
fenced code blocks in fw.agent_os.shape_spec.md are missing language tags; add a
language identifier (e.g., text) to both fences so they pass MD040.
Specifically, update the single-line fence containing
"YYYY-MM-DD-HHMM-{feature-slug}/" and the multi-line fence starting with
"agent-os/specs/{YYYY-MM-DD-HHMM-feature-slug}/" to use ```text instead of ```;
keep the block contents unchanged.

Comment on lines +1 to +6
title: Standards Discoverer
description: Discovers, extracts, and documents coding standards and conventions from existing codebases. Analyzes code patterns to produce concise, scannable standards that keep AI agents aligned with project conventions.
context: You are a Standards Discoverer agent. Your specialty is analyzing codebases
to extract tribal knowledge, coding patterns, and conventions that are not obvious
from the code alone. You produce concise, well-structured standards documents that
AI agents and developers can reference to stay aligned with project norms.
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🔴 Critical

Agent config won’t be discovered at the current path.

This manifest is valid YAML, but the loader only scans plugin agent dirs under plugins/{plugin}/agents/{agent_name}/agent.yaml (see backend/utils/plugins.py and backend/utils/subagents.py). At Line 1 this file is rooted under plugins/agent-os/standards_discoverer/, so it will be skipped at runtime.

Please move it to:
plugins/agent-os/agents/standards_discoverer/agent.yaml

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@plugins/agent-os/standards_discoverer/agent.yaml` around lines 1 - 6, The
agent manifest titled "Standards Discoverer" (agent.yaml) is placed under
plugins/agent-os/standards_discoverer and thus won't be discovered; move the
agent.yaml file for the Standards Discoverer agent into the agents subdirectory
used by the loader so it lives under the plugin's agents folder (i.e., ensure
the file named agent.yaml for the Standards Discoverer agent is relocated into
the plugin's agents/<agent_name>/ directory), and update any internal references
or imports that point to the old location (search for uses of "Standards
Discoverer" or "standards_discoverer" to find places to update).

FortiShield pushed a commit that referenced this pull request Mar 8, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant