Skip to content

feat: add aidevops skill CLI command with telemetry disabled#154

Merged
marcusquinn merged 5 commits intomainfrom
feature/skill-add-command
Jan 23, 2026
Merged

feat: add aidevops skill CLI command with telemetry disabled#154
marcusquinn merged 5 commits intomainfrom
feature/skill-add-command

Conversation

@marcusquinn
Copy link
Owner

@marcusquinn marcusquinn commented Jan 22, 2026

Summary

  • Adds aidevops skill CLI command as a unified interface for managing Agent Skills (the open standard for AI agent instructions)
  • Disables telemetry by default (DISABLE_TELEMETRY=1, DO_NOT_TRACK=1, SKILLS_NO_TELEMETRY=1) to prevent usage data being sent to skills.sh leaderboard
  • Delegates to existing add-skill-helper.sh (add/list/remove) and skill-update-helper.sh (check/update/status)

Changes

aidevops.sh

  • Added cmd_skill() function (~100 lines) with subcommands: add, list, remove, check, update, status
  • Added skill|skills case to main dispatch
  • Updated cmd_help() with skill command documentation and examples section

README.md

  • Updated "Imported Skills" section with new aidevops skill add syntax
  • Updated "Importing External Skills" section with comparison table vs npx add-skill
  • Added reference links to agentskills.io, skills.sh, vercel-labs/add-skill, anthropics/skills

Why

The npx add-skill / npx skills packages from Vercel send anonymous telemetry to power the skills.sh leaderboard. By wrapping through aidevops skill, we:

  1. Provide a consistent CLI interface (aidevops skill add vs remembering npx add-skill)
  2. Disable telemetry without users needing to know about it
  3. Use our own implementation (git clone + SKILL.md conversion) rather than depending on npx

References

Summary by CodeRabbit

  • New Features

    • Added an "aidevops skill" command for managing external skills (add/list/check/update/remove/generate/clean/status).
    • Added per-agent tool enablement toggles for finer control.
  • Documentation

    • Updated CLI examples, guides, and README to the new skill workflow and command syntax.
    • Added community-skills browsing, reference material, telemetry/upstream tracking guidance, and a user note recommending a stable npx invocation with auto-confirm.
  • Refactor

    • Imported skills now use a clear "-skill" naming convention and improved conflict-resolution messaging.

✏️ Tip: You can customize this high-level summary in your review settings.

- Add -y flag to auto-confirm package installation
- Use full path to npx for reliability
- Add per-agent tool enabling example
- Document token optimization strategy
Combined commits:
- 🤖 AUTO-FIX: Apply code quality improvements
- docs(playwriter): update OpenCode config with correct npx format (#153)
Adds cmd_skill() to aidevops.sh providing a unified interface for
managing Agent Skills (agentskills.io) with telemetry disabled by
default. Delegates to existing add-skill-helper.sh and
skill-update-helper.sh for implementation.

- Exports DISABLE_TELEMETRY, DO_NOT_TRACK, SKILLS_NO_TELEMETRY env vars
- Supports add/list/remove/check/update/status subcommands
- Updates help text with skill command and examples section
- Updates README with new CLI syntax and reference links
@coderabbitai
Copy link
Contributor

coderabbitai bot commented Jan 22, 2026

Note

Other AI code review bot(s) detected

CodeRabbit has detected other AI code review bot(s) in this pull request and will avoid duplicating their findings in the review comments. This may lead to a less comprehensive review.

Walkthrough

Adds an aidevops skill CLI and helper workflow for importing/managing external skills, saves imported skills with a -skill.md suffix, updates helper scripts and conflict handling, expands documentation (README, AGENTS.md, add-skill.md), and adjusts Playwriter docs to use an absolute npx path with -y and per-agent enablement options.

Changes

Cohort / File(s) Summary
Tool config: Playwriter
\.agent/tools/browser/playwriter.md
Switch Playwriter invocation to absolute npx path (/opt/homebrew/bin/npx) and add -y flag; add per-agent playwriter_* enablement/config JSON examples and explanatory notes.
CLI implementation
aidevops.sh
Add cmd_skill() handler and dispatch case skill|skills to it; implement subcommands (add/list/check/update/remove/status/generate/clean/help); update help output; skill ops run with telemetry disabled.
Helper scripts & import logic
.agent/scripts/add-skill-helper.sh, .agent/scripts/...generate-skills.sh, .agent/scripts/...skill-update-helper.sh
Append -skill suffix to target names and saved files; add typed conflict reporting (IMPORTED, NATIVE, INFO); update conflict handling flow and prompts (remove merge option, fewer choices); update registration paths to .agent/.../*-skill.md.
Agent docs / workflow
.agent/AGENTS.md, .agent/scripts/commands/add-skill.md
Document imported-skills workflow and naming convention (-skill.md), discovery/placement, conflict resolution, tracking via skill-sources.json, CLI usage, and examples showing saved file paths and update-tracking config.
Project docs
README.md
Replace legacy /add-skill examples with aidevops skill add <owner/repo> usage; add sections on browsing community skills, upstream commit tracking, telemetry notes, and a comparison table vs npx add-skill.
Changelog
CHANGELOG.md
Add Unreleased entries describing new CLI skill commands and related tooling (formatting/added lines).

Sequence Diagram(s)

sequenceDiagram
  participant User as User
  participant CLI as aidevops.sh
  participant Helper as add-skill-helper.sh
  participant FS as Repo/.agent
  participant Tracker as skill-sources.json

  User->>CLI: aidevops skill add owner/repo
  CLI->>Helper: invoke helper with params
  Helper->>FS: fetch & convert skill, write temp files
  Helper->>FS: check_conflicts -> return NATIVE/IMPORTED/INFO
  alt Conflicts
    Helper->>User: prompt Replace / Separate / Skip
    User-->>Helper: choice
  end
  Helper->>FS: write `<category>/<name>-skill.md`
  Helper->>Tracker: update `skill-sources.json` with upstream metadata
  CLI->>User: success / status output
Loading

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

Possibly related PRs

Poem

A skill command rises, tidy and bright,
Helpers fetch and write through day and night,
Playwriter calls steady, paths set to say "go",
Imported names end with -skill in a row,
DevOps hums — automation in light. ✨

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately reflects the main change: adding a new aidevops skill CLI command with telemetry disabled, which aligns with the core modifications across aidevops.sh, documentation, and helper scripts.
Docstring Coverage ✅ Passed Docstring coverage is 87.50% which is sufficient. The required threshold is 80.00%.

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

✨ Finishing touches
  • 📝 Generate docstrings

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.

@gemini-code-assist
Copy link

Summary of Changes

Hello @marcusquinn, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request significantly enhances the aidevops CLI by introducing a new skill command, providing a streamlined and consistent way to manage AI agent skills. A key focus is on user privacy, as the new command automatically disables telemetry when interacting with skill-related tools. The changes also update documentation to guide users through the new workflow and highlight the benefits of using aidevops skill over external alternatives.

Highlights

  • Unified Skill Management CLI: Introduces a new aidevops skill command as a central interface for managing AI Agent Skills, providing subcommands for adding, listing, checking, updating, and removing skills.
  • Telemetry Disabled by Default: Ensures that all skill management operations performed via aidevops skill automatically disable telemetry, preventing usage data from being sent to third-party services like skills.sh.
  • Enhanced Documentation: Updates README.md to reflect the new aidevops skill command usage, provides a detailed comparison with npx add-skill, and adds relevant reference links for Agent Skills.
  • aidevops.sh Core Logic: Implements the cmd_skill() function in aidevops.sh to handle various skill management subcommands and integrates it into the main CLI dispatch and help documentation.
  • playwriter.md Updates: Modifies the playwriter.md documentation to recommend using the full path for npx and includes the -y flag for automatic package installation, along with a tip for per-agent tool enablement.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

@github-actions
Copy link

🔍 Code Quality Report

�[0;35m[MONITOR]�[0m Code Review Monitoring Report

�[0;34m[INFO]�[0m Latest Quality Status:
SonarCloud: 0 bugs, 0 vulnerabilities, 353 code smells

�[0;34m[INFO]�[0m Recent monitoring activity:
Thu Jan 22 23:43:32 UTC 2026: Code review monitoring started
Thu Jan 22 23:43:32 UTC 2026: SonarCloud - Bugs: 0, Vulnerabilities: 0, Code Smells: 353
Thu Jan 22 23:43:32 UTC 2026: Qlty - 0 issues found, auto-formatting applied
Thu Jan 22 23:43:34 UTC 2026: Codacy analysis completed with auto-fixes

📈 Current Quality Metrics

  • BUGS: 0
  • CODE SMELLS: 353
  • VULNERABILITIES: 0

Generated on: Thu Jan 22 23:44:49 UTC 2026


Generated by AI DevOps Framework Code Review Monitoring

Copy link

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

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

Code Review

This pull request introduces a new aidevops skill command, providing a unified interface for managing Agent Skills while disabling telemetry by default. The implementation in aidevops.sh is well-structured, adding a cmd_skill function that dispatches to existing helper scripts. The documentation updates in README.md and other files are clear and comprehensive, effectively explaining the new functionality. I have a couple of suggestions to improve the changes. One addresses a hardcoded path in a documentation example which impacts portability, and the other points out an opportunity to improve code consistency and reduce duplication in the new cmd_skill function. Overall, this is a valuable addition to the aidevops CLI.

"playwriter": {
"type": "local",
"command": ["npx", "playwriter@latest"],
"command": ["/opt/homebrew/bin/npx", "-y", "playwriter@latest"],

Choose a reason for hiding this comment

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

medium

Hardcoding the full path to npx (/opt/homebrew/bin/npx) makes this configuration example specific to a single environment (macOS with Homebrew on Apple Silicon) and not portable. It's better to rely on npx being in the system's PATH, which is the standard expectation. The accompanying note is sufficient to guide users who might need to use a full path for reliability in their specific setup.

Suggested change
"command": ["/opt/homebrew/bin/npx", "-y", "playwriter@latest"],
"command": ["npx", "-y", "playwriter@latest",

;;
list|ls|l)
if [[ ! -f "$add_skill_script" ]]; then
print_error "add-skill-helper.sh not found"

Choose a reason for hiding this comment

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

medium

The error handling for a missing add-skill-helper.sh is inconsistent. Here, it only prints an error. However, in the add subcommand (lines 1668-1672), it also prints a helpful print_info message suggesting how to fix the issue (Run 'aidevops update' to get the latest scripts). This hint should be included in all cases where a helper script is missing to provide a consistent user experience. This applies to check, update, remove, and status subcommands as well.

To improve maintainability, consider refactoring to a helper function or a check at the top of cmd_skill to avoid this duplicated and inconsistent logic.

Suggested change
print_error "add-skill-helper.sh not found"
print_error "add-skill-helper.sh not found"
print_info "Run 'aidevops update' to get the latest scripts"

coderabbitai[bot]
coderabbitai bot previously requested changes Jan 22, 2026
Copy link
Contributor

@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

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
CHANGELOG.md (1)

8-15: Missing CHANGELOG entry for the new aidevops skill command.

This PR introduces a significant new feature (aidevops skill add/list/check/update/remove/status) with telemetry disabled by default. The [Unreleased] section should document this addition.

📝 Suggested CHANGELOG entry
 ## [Unreleased]
 
+### Added
+
+- add `aidevops skill` CLI command for managing agent skills with telemetry disabled (`#154`)
+
 ## [2.72.0] - 2026-01-22
🤖 Fix all issues with AI agents
In `@README.md`:
- Around line 456-464: Update the CLI Commands documentation to include the
missing subcommand "aidevops skill status" by adding it to the commands list and
the help output: mention the exact command "aidevops skill status" and a short
description like "Show status of imported skills (installed, up-to-date, updates
available)"; ensure the README's CLI Commands block and any help text sections
mirror the implemented command in aidevops.sh (aidevops skill status) so docs
and implementation stay consistent.
🧹 Nitpick comments (2)
aidevops.sh (1)

1716-1748: Consider distinguishing unknown subcommands from explicit help requests.

The help|--help|-h|* pattern treats unknown subcommands the same as explicit help. This means aidevops skill typo shows help and exits 0 (success) rather than indicating an error.

♻️ Optional: Exit non-zero for unknown subcommands
-        help|--help|-h|*)
+        help|--help|-h)
             print_header "Agent Skills Management"
             # ... help text ...
             ;;
+        *)
+            print_error "Unknown skill command: $action"
+            echo ""
+            cmd_skill help
+            return 1
+            ;;
     esac
.agent/tools/browser/playwriter.md (1)

62-69: Hardcoded Homebrew ARM path may not work on other platforms.

The path /opt/homebrew/bin/npx is specific to macOS ARM (Apple Silicon) with Homebrew. This won't work on:

  • macOS Intel: /usr/local/bin/npx
  • Linux (nvm/fnm): ~/.nvm/versions/node/.../bin/npx
  • System Node: /usr/bin/npx

The note mentions this, but users may copy-paste without reading.

📝 Suggested clarification
       "command": ["/opt/homebrew/bin/npx", "-y", "playwriter@latest"],
       "enabled": true
     }
   }
 }

-> Note: Use full path to npx (e.g., /opt/homebrew/bin/npx on macOS with Homebrew) for reliability. The -y flag auto-confirms package installation.
+> Note: Use the full path to npx for reliability. Find your path with which npx:
+> - macOS Homebrew (ARM): /opt/homebrew/bin/npx
+> - macOS Homebrew (Intel): /usr/local/bin/npx
+> - Linux/nvm: $(which npx) in your shell
+>
+> The -y flag auto-confirms package installation.

</details>

As per coding guidelines, using placeholders like `<path-to-npx>` with discovery instructions would be more portable.

</blockquote></details>

</blockquote></details>

<!-- This is an auto-generated comment by CodeRabbit for review status -->

Comment on lines +456 to 464
**CLI Commands:**

```bash
/add-skill <owner/repo> # Import a skill from GitHub
/add-skill list # List imported skills
/add-skill check-updates # Check for upstream updates
/add-skill <owner/repo> --force # Update an existing skill
aidevops skill add <owner/repo> # Import a skill from GitHub
aidevops skill list # List imported skills
aidevops skill check # Check for upstream updates
aidevops skill update [name] # Update specific or all skills
aidevops skill remove <name> # Remove an imported skill
```
Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor

Missing status subcommand in CLI documentation.

The implementation includes aidevops skill status (lines 1709-1714 in aidevops.sh), but it's not listed here. The help output at lines 1789-1794 also omits it.

📝 Add status command to documentation
 aidevops skill check               # Check for upstream updates
 aidevops skill update [name]       # Update specific or all skills
 aidevops skill remove <name>       # Remove an imported skill
+aidevops skill status              # Show detailed skill status
📝 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
**CLI Commands:**
```bash
/add-skill <owner/repo> # Import a skill from GitHub
/add-skill list # List imported skills
/add-skill check-updates # Check for upstream updates
/add-skill <owner/repo> --force # Update an existing skill
aidevops skill add <owner/repo> # Import a skill from GitHub
aidevops skill list # List imported skills
aidevops skill check # Check for upstream updates
aidevops skill update [name] # Update specific or all skills
aidevops skill remove <name> # Remove an imported skill
```
**CLI Commands:**
🤖 Prompt for AI Agents
In `@README.md` around lines 456 - 464, Update the CLI Commands documentation to
include the missing subcommand "aidevops skill status" by adding it to the
commands list and the help output: mention the exact command "aidevops skill
status" and a short description like "Show status of imported skills (installed,
up-to-date, updates available)"; ensure the README's CLI Commands block and any
help text sections mirror the implemented command in aidevops.sh (aidevops skill
status) so docs and implementation stay consistent.

@augmentcode
Copy link

augmentcode bot commented Jan 22, 2026

🤖 Augment PR Summary

Summary: Adds a new aidevops skill CLI surface for importing and maintaining Agent Skills, while disabling telemetry by default.

Changes:

  • Introduces cmd_skill() in aidevops.sh with subcommands: add/list/remove/check/update/status.
  • Routes the new command through existing helper scripts (add-skill-helper.sh and skill-update-helper.sh).
  • Exports telemetry-disable environment variables (DISABLE_TELEMETRY, DO_NOT_TRACK, SKILLS_NO_TELEMETRY) for downstream tooling.
  • Updates top-level CLI dispatch and help text to document the new entry point.
  • Refreshes README documentation (including a comparison vs npx add-skill) and adds references to the Agent Skills spec ecosystem.
  • Updates Playwriter MCP documentation to use npx -y and documents per-agent tool enablement for context/token savings.

Technical Notes: Skill imports and update detection are tracked via skill-sources.json with upstream commit information; update/status operations are delegated to the update helper script.

🤖 Was this summary useful? React with 👍 or 👎

Copy link

@augmentcode augmentcode bot left a comment

Choose a reason for hiding this comment

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

Review completed. 4 suggestions posted.

Fix All in Augment

Comment augment review to trigger a new review at any time.

```

Skills are registered in `~/.aidevops/agents/configs/skill-sources.json` and checked for updates during `./setup.sh`.
Skills are registered in `~/.aidevops/agents/configs/skill-sources.json` with upstream commit tracking for update detection. Telemetry is disabled - no data is sent to third parties.
Copy link

Choose a reason for hiding this comment

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

The sentence "Telemetry is disabled - no data is sent to third parties" reads a bit stronger than what the command can guarantee (it will still contact GitHub to clone/check updates). Consider clarifying this as “no telemetry/analytics is sent” to avoid implying zero third-party network calls.

Other Locations
  • README.md:960
  • aidevops.sh:1721

Fix This in Augment

🤖 Was this useful? React with 👍 or 👎

echo " init [features] Initialize aidevops in current project"
echo " upgrade-planning Upgrade TODO.md/PLANS.md to latest templates"
echo " features List available features for init"
echo " skill <cmd> Manage agent skills (add/list/check/update/remove)"
Copy link

Choose a reason for hiding this comment

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

cmd_help() lists skill subcommands as "add/list/check/update/remove" but cmd_skill() also supports status; this makes status harder to discover from the top-level help output.

Fix This in Augment

🤖 Was this useful? React with 👍 or 👎

"playwriter": {
"type": "local",
"command": ["npx", "playwriter@latest"],
"command": ["/opt/homebrew/bin/npx", "-y", "playwriter@latest"],
Copy link

Choose a reason for hiding this comment

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

This sample hardcodes the Homebrew npx path (/opt/homebrew/bin/npx), which can be misleading when copied on non-macOS setups. Consider making the example more platform-neutral and keeping the full-path advice in the note.

Fix This in Augment

🤖 Was this useful? React with 👍 or 👎


### Added

- add MiniSim iOS/Android emulator launcher support (#151)
Copy link

Choose a reason for hiding this comment

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

This PR introduces a new user-facing aidevops skill command, but the current release section shown here doesn’t mention it; was a changelog entry intended for this feature? Otherwise this blank-line-only change may be accidental noise.

Fix This in Augment

🤖 Was this useful? React with 👍 or 👎

…TS.md docs

- Imported skills now saved as *-skill.md to distinguish from native subagents
- Conflict detection differentiates NATIVE vs IMPORTED conflicts
- Removed merge option (was unimplemented), simplified to replace/separate/skip
- Added generate/clean subcommands delegating to generate-skills.sh
- Updated AGENTS.md with Imported Skills section, CLI table, key scripts
- Updated commands/add-skill.md with naming convention docs and examples
@github-actions
Copy link

🔍 Code Quality Report

�[0;35m[MONITOR]�[0m Code Review Monitoring Report

�[0;34m[INFO]�[0m Latest Quality Status:
SonarCloud: 0 bugs, 0 vulnerabilities, 353 code smells

�[0;34m[INFO]�[0m Recent monitoring activity:
Fri Jan 23 00:10:41 UTC 2026: Code review monitoring started
Fri Jan 23 00:10:42 UTC 2026: SonarCloud - Bugs: 0, Vulnerabilities: 0, Code Smells: 353
Fri Jan 23 00:10:42 UTC 2026: Qlty - 0 issues found, auto-formatting applied
Fri Jan 23 00:10:44 UTC 2026: Codacy analysis completed with auto-fixes

📈 Current Quality Metrics

  • BUGS: 0
  • CODE SMELLS: 353
  • VULNERABILITIES: 0

Generated on: Fri Jan 23 00:11:59 UTC 2026


Generated by AI DevOps Framework Code Review Monitoring

Copy link
Contributor

@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: 0

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
.agent/scripts/add-skill-helper.sh (1)

786-793: Add timeout to curl for reliability.

The curl -s "$api_url" call at line 788 could hang indefinitely if GitHub is slow or unreachable, which impacts script reliability in automation scenarios.

🛠️ Suggested fix with timeout
         # Get latest commit from GitHub API
         local api_url="https://api.github.com/repos/$owner/$repo/commits?per_page=1"
         local latest_commit
-        latest_commit=$(curl -s "$api_url" | jq -r '.[0].sha // empty' 2>/dev/null)
+        latest_commit=$(curl -s --connect-timeout 10 --max-time 30 "$api_url" | jq -r '.[0].sha // empty' 2>/dev/null)

- Add CHANGELOG entry for skill command under [Unreleased]
- Separate unknown subcommand from help (exit 1 with error message)
- Add curl --connect-timeout 10 --max-time 30 to GitHub API call
@sonarqubecloud
Copy link

@github-actions
Copy link

🔍 Code Quality Report

�[0;35m[MONITOR]�[0m Code Review Monitoring Report

�[0;34m[INFO]�[0m Latest Quality Status:
SonarCloud: 0 bugs, 0 vulnerabilities, 353 code smells

�[0;34m[INFO]�[0m Recent monitoring activity:
Fri Jan 23 00:26:19 UTC 2026: Code review monitoring started
Fri Jan 23 00:26:20 UTC 2026: SonarCloud - Bugs: 0, Vulnerabilities: 0, Code Smells: 353
Fri Jan 23 00:26:20 UTC 2026: Qlty - 0 issues found, auto-formatting applied
Fri Jan 23 00:26:22 UTC 2026: Codacy analysis completed with auto-fixes

📈 Current Quality Metrics

  • BUGS: 0
  • CODE SMELLS: 353
  • VULNERABILITIES: 0

Generated on: Fri Jan 23 00:27:36 UTC 2026


Generated by AI DevOps Framework Code Review Monitoring

@marcusquinn marcusquinn dismissed coderabbitai[bot]’s stale review January 23, 2026 00:30

All review feedback addressed: added CHANGELOG entry, fixed unknown subcommand error handling, added curl timeout.

Copy link
Contributor

@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

🤖 Fix all issues with AI agents
In @.agent/scripts/add-skill-helper.sh:
- Around line 632-635: The call to determine_target_path is using the generic
source_dir which can be the repo root and miss nested SKILL.md files; update the
"Separate" branch so after reading new_name and computing skill_name it calls
determine_target_path with skill_source_dir (not source_dir) so the resolved
skill directory is used when categorizing/importing the skill (ensure variables
referenced are skill_name, new_name, determine_target_path, and
skill_source_dir).
♻️ Duplicate comments (2)
aidevops.sh (2)

1676-1714: Keep helper-missing guidance consistent across subcommands.
Only add/generate suggest running aidevops update; list/check/update/remove/status/clean do not. Consider adding the same hint for a consistent UX.


1790-1824: Expose all supported skill subcommands in top-level help.
cmd_skill supports status/generate/clean, but the help text only lists add/list/check/update/remove. This makes the extra commands hard to discover.

📝 Suggested update
-    echo "  skill <cmd>        Manage agent skills (add/list/check/update/remove)"
+    echo "  skill <cmd>        Manage agent skills (add/list/check/update/remove/status/generate/clean)"
...
-    echo "  aidevops skill remove <name> # Remove an imported skill"
+    echo "  aidevops skill remove <name> # Remove an imported skill"
+    echo "  aidevops skill status        # Show detailed skill status"
+    echo "  aidevops skill generate      # Generate SKILL.md stubs"
+    echo "  aidevops skill clean         # Remove generated SKILL.md stubs"
🧹 Nitpick comments (1)
aidevops.sh (1)

1772-1778: Add an explicit return for cmd_skill.
Currently the function exits with an implicit status. An explicit return $? keeps the subcommand status while satisfying the script convention. As per coding guidelines, use explicit returns.

♻️ Proposed fix
     case "$action" in
         add|a)
             ...
             ;;
         *)
             print_error "Unknown skill command: $action"
             echo "Run 'aidevops skill help' for usage information."
             return 1
             ;;
     esac
+    return $?
 }

Comment on lines 632 to 635
read -rp "Enter new name: " new_name
skill_name=$(to_kebab_case "$new_name")
target_path=$(determine_target_path "$skill_name" "$description" "$source_dir")
;;
Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor

Recompute target_path using the resolved skill directory.
When the user chooses “Separate”, you pass $source_dir into determine_target_path, which can point at the repo root and miss SKILL.md for nested skills. That can miscategorize the import. Use $skill_source_dir instead.

🐛 Proposed fix
-                    target_path=$(determine_target_path "$skill_name" "$description" "$source_dir")
+                    target_path=$(determine_target_path "$skill_name" "$description" "$skill_source_dir")
📝 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
read -rp "Enter new name: " new_name
skill_name=$(to_kebab_case "$new_name")
target_path=$(determine_target_path "$skill_name" "$description" "$source_dir")
;;
read -rp "Enter new name: " new_name
skill_name=$(to_kebab_case "$new_name")
target_path=$(determine_target_path "$skill_name" "$description" "$skill_source_dir")
;;
🤖 Prompt for AI Agents
In @.agent/scripts/add-skill-helper.sh around lines 632 - 635, The call to
determine_target_path is using the generic source_dir which can be the repo root
and miss nested SKILL.md files; update the "Separate" branch so after reading
new_name and computing skill_name it calls determine_target_path with
skill_source_dir (not source_dir) so the resolved skill directory is used when
categorizing/importing the skill (ensure variables referenced are skill_name,
new_name, determine_target_path, and skill_source_dir).

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