Skip to content

refactor(claude): Migrate agents to agent skills#995

Merged
yamadashy merged 3 commits intomainfrom
feat/agent-to-skill
Dec 7, 2025
Merged

refactor(claude): Migrate agents to agent skills#995
yamadashy merged 3 commits intomainfrom
feat/agent-to-skill

Conversation

@yamadashy
Copy link
Owner

Migrate Claude Code agents to the new agent skills format for better structure and validation.

Changes

Migration (agents → skills):

  • browser-extension-developer.claude/skills/browser-extension-developer/SKILL.md
  • lint-fixer.claude/skills/lint-fixer/SKILL.md
  • website-maintainer.claude/skills/website-maintainer/SKILL.md

Improvements:

  • Updated to accurate project structure (WXT framework, correct i18n keys)
  • Simplified content (~54% reduction) while maintaining usability
  • Added missing information (4 lint tools, sidebar editing locations)
  • Validated by sub-agents for accuracy

Note: repomix-explorer plugin agents remain unchanged as they are plugin-specific.

Checklist

  • Run npm run test
  • Run npm run lint

Replace Claude Code agents with the new agent skills format:
- browser-extension-developer, lint-fixer, website-maintainer moved to .claude/skills/
- explorer moved to .claude/plugins/repomix-explorer/skills/

Agent skills use SKILL.md with YAML frontmatter (name + description) and
provide a cleaner, validated structure for Claude Code integration.
- browser-extension-developer: Update structure to WXT framework,
  fix i18n keys (appDescription, openWithRepomix), correct commands
- lint-fixer: Simplify workflow, add 4 tools (Biome, oxlint, tsgo,
  secretlint) with accurate config file references
- website-maintainer: Add Editing Content section for document,
  sidebar, and shared settings locations

Verified by sub-agents for accuracy and usability.
@coderabbitai
Copy link
Contributor

coderabbitai bot commented Dec 7, 2025

Important

Review skipped

Auto incremental reviews are disabled on this repository.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

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

This PR migrates three agent documentation files from .claude/agents/ to dedicated skill files in .claude/skills/, restructuring the agent configuration from agent-based to skill-based organization while preserving the documented functionality for browser extension development, linting fixes, and website maintenance.

Changes

Cohort / File(s) Summary
Browser Extension Developer
\.claude/agents/browser-extension-developer.md, \.claude/skills/browser-extension-developer/SKILL.md
Removed agent documentation and added skill documentation describing WXT framework cross-browser extension development (Chrome/Firefox/Edge) with MV3, Repomix button injection, i18n support, and development commands
Lint Fixer
\.claude/agents/lint-fixer.md, \.claude/skills/lint-fixer/SKILL.md
Removed agent documentation and added skill documentation detailing linting workflow across Biome, oxlint, tsgo, and secretlint tools with configuration files and fix guidelines
Website Maintainer
\.claude/agents/website-maintainer.md, \.claude/skills/website-maintainer/SKILL.md
Removed agent documentation and added skill documentation covering VitePress multi-language site maintenance, language addition procedures, content editing, and translation guidelines

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~8 minutes

  • Straightforward documentation migration with consistent pattern across three similar transitions
  • Verify content preservation and alignment between removed and added files
  • Confirm skill YAML frontmatter structure is correct

Possibly related PRs

Pre-merge checks and finishing touches

✅ Passed checks (3 passed)
Check name Status Explanation
Title check ✅ Passed The title accurately summarizes the main change: migrating Claude agents to the new agent skills format, which is the primary objective reflected in all file modifications.
Description check ✅ Passed The description comprehensively covers the migration changes, improvements made, and includes a completed checklist with npm run test and npm run lint marked as done.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

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
Contributor

Summary of Changes

Hello @yamadashy, 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 refactors the Claude Code agents by migrating them to a new, more organized agent skills format. The primary goal is to enhance the structure, validation, and overall clarity of these agent definitions, making them more efficient and easier to maintain. The changes involve moving agent configurations to a dedicated skills directory and refining their content for conciseness and accuracy.

Highlights

  • Migration to Agent Skills Format: Claude Code agents (browser-extension-developer, lint-fixer, website-maintainer) have been migrated from the old .claude/agents/ directory to a new, structured .claude/skills/ directory, now using SKILL.md files for better organization and validation.
  • Content Simplification and Accuracy: The new skill definitions feature a 54% reduction in content while improving usability. This includes updated project structure details (e.g., WXT framework, correct i18n keys), and the addition of previously missing information such as the four specific lint tools used and precise sidebar editing locations.
  • Validation by Sub-Agents: The updated skill definitions have been validated by sub-agents to ensure their accuracy and effectiveness within the system.
  • Scope of Migration: The repomix-explorer plugin agents were intentionally excluded from this migration and remain in their original format, as they are plugin-specific.
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.

@cloudflare-workers-and-pages
Copy link

cloudflare-workers-and-pages bot commented Dec 7, 2025

Deploying repomix with  Cloudflare Pages  Cloudflare Pages

Latest commit: 16eda3e
Status: ✅  Deploy successful!
Preview URL: https://a36b38fb.repomix.pages.dev
Branch Preview URL: https://feat-agent-to-skill.repomix.pages.dev

View logs


## i18n

13 languages: en, ja, de, fr, es, pt_BR, id, vi, ko, zh_CN, zh_TW, hi
Copy link
Contributor

Choose a reason for hiding this comment

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

Potential accuracy issue with language count: The skill mentions "13 languages" but the actual count appears to be 12 based on the directory listing. Consider verifying and updating:

Suggested change
13 languages: en, ja, de, fr, es, pt_BR, id, vi, ko, zh_CN, zh_TW, hi
13 languages: en, ja, de, fr, es, pt_BR, id, vi, ko, zh_CN, zh_TW, hi

Should this be "12 languages" instead?

@codecov
Copy link

codecov bot commented Dec 7, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 90.38%. Comparing base (5bc22cb) to head (16eda3e).
⚠️ Report is 9 commits behind head on main.

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #995   +/-   ##
=======================================
  Coverage   90.38%   90.38%           
=======================================
  Files         110      110           
  Lines        7890     7890           
  Branches     1528     1528           
=======================================
  Hits         7131     7131           
  Misses        759      759           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

Copy link
Contributor

@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 successfully migrates the Claude agents to the new agent skills format. The new skill files are more concise, better structured, and provide more accurate information about the project, such as the WXT framework for the browser extension and the specific linting tools used. The changes align well with the goals stated in the description. I have one minor suggestion to correct a language count in the browser extension developer skill file.


## i18n

13 languages: en, ja, de, fr, es, pt_BR, id, vi, ko, zh_CN, zh_TW, hi
Copy link
Contributor

Choose a reason for hiding this comment

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

medium

The text states there are 13 languages, but only 12 are listed. Please correct the count to match the list. The comment on line 15 should also be updated from '13 languages' to '12 languages' for consistency.

Suggested change
13 languages: en, ja, de, fr, es, pt_BR, id, vi, ko, zh_CN, zh_TW, hi
12 languages: en, ja, de, fr, es, pt_BR, id, vi, ko, zh_CN, zh_TW, hi


`npm run lint` runs 4 tools in sequence:

1. **Biome** (`biome check --write`) - Formatter + linter, auto-fixes
Copy link
Contributor

Choose a reason for hiding this comment

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

Typo in tool name: "tsgo" should be "tsc" (TypeScript Compiler):

Suggested change
1. **Biome** (`biome check --write`) - Formatter + linter, auto-fixes
3. **tsc** (`tsc --noEmit`) - TypeScript type checking

The TypeScript compiler command is tsc, not tsgo.


## Key Points

- Biome/oxlint auto-fix most issues; review changes
Copy link
Contributor

Choose a reason for hiding this comment

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

Consistency issue: Same typo "tsgo" appears here:

Suggested change
- Biome/oxlint auto-fix most issues; review changes
- Type errors (tsc) require manual fixes

@claude
Copy link
Contributor

claude bot commented Dec 7, 2025

Code Review for PR #995: Migrate Claude Agents to Skills Format

Thank you for this refactoring effort! The migration from agents to skills format represents a significant improvement in organization and maintainability. I've reviewed the changes and found the new structure to be cleaner and more concise.

✅ Strengths

  • Excellent content reduction: 54% size reduction while maintaining essential information
  • Improved clarity: Concise, actionable documentation that's easier to scan
  • Better organization: Skills format with YAML frontmatter provides better structure
  • Accurate technical details: Correctly identified WXT framework usage and proper i18n keys

🔍 Issues Found

I've left inline comments on specific lines for the following issues:

  1. Language count discrepancy (browser-extension-developer): States "13 languages" but directory shows 12
  2. Tool name typo (lint-fixer): "tsgo" should be "tsc" (TypeScript compiler)

🎯 Premortem Analysis

Potential Failure Scenarios

Risk 1: Skill Discovery Issues

  • Scenario: Developers may not find skills as easily as the old agents
  • Mitigation: Ensure skills are properly indexed and discoverable through Claude's skill system

Risk 2: Missing Context from Removed Content

  • Scenario: The significant content reduction might remove helpful context for edge cases
  • Mitigation: Monitor usage and add back critical details if developers struggle with specific tasks

Risk 3: Integration Breaking Changes

  • Scenario: Other parts of the system might depend on the old agent format
  • Mitigation: Search for any references to the old agent paths and update accordingly

💡 Suggestions

Additional Improvements
  1. Add validation: Consider adding a schema validator for SKILL.md files to catch formatting issues early
  2. Version tracking: Document this migration in a changelog or migration guide for users who might have custom agents
  3. Testing: Add tests to verify skills are loaded correctly and contain required fields

✅ Recommendation

Once the inline comments are addressed (language count and tsc typo), this PR is ready to merge. The migration improves code organization significantly and the new skills format is much more maintainable.

Great work on the refactoring! 🚀

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: 2

📜 Review details

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 5bc22cb and 38fce9e.

📒 Files selected for processing (6)
  • .claude/agents/browser-extension-developer.md (0 hunks)
  • .claude/agents/lint-fixer.md (0 hunks)
  • .claude/agents/website-maintainer.md (0 hunks)
  • .claude/skills/browser-extension-developer/SKILL.md (1 hunks)
  • .claude/skills/lint-fixer/SKILL.md (1 hunks)
  • .claude/skills/website-maintainer/SKILL.md (1 hunks)
💤 Files with no reviewable changes (3)
  • .claude/agents/website-maintainer.md
  • .claude/agents/lint-fixer.md
  • .claude/agents/browser-extension-developer.md
🧰 Additional context used
🪛 markdownlint-cli2 (0.18.1)
.claude/skills/website-maintainer/SKILL.md

12-12: Fenced code blocks should have a language specified

(MD040, fenced-code-language)

.claude/skills/browser-extension-developer/SKILL.md

12-12: Fenced code blocks should have a language specified

(MD040, fenced-code-language)

⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (17)
  • GitHub Check: Build and run (windows-latest, 25.x)
  • GitHub Check: Build and run (macos-latest, 25.x)
  • GitHub Check: Build and run (windows-latest, 24.x)
  • GitHub Check: Build and run (windows-latest, 22.x)
  • GitHub Check: Build and run (windows-latest, 20.x)
  • GitHub Check: Build and run (ubuntu-latest, 25.x)
  • GitHub Check: Build and run (ubuntu-latest, 22.x)
  • GitHub Check: Build and run (ubuntu-latest, 24.x)
  • GitHub Check: Build and run (ubuntu-latest, 20.x)
  • GitHub Check: Test (ubuntu-latest, 24.x)
  • GitHub Check: Test with Bun (windows-latest, latest)
  • GitHub Check: Test (macos-latest, 22.x)
  • GitHub Check: Test (windows-latest, 20.x)
  • GitHub Check: Test (windows-latest, 25.x)
  • GitHub Check: Build and run with Bun (windows-latest, latest)
  • GitHub Check: claude-review
  • GitHub Check: Cloudflare Pages
🔇 Additional comments (2)
.claude/skills/lint-fixer/SKILL.md (1)

1-38: Well-structured skill documentation with clear workflow.

The lint-fixer skill guide effectively documents the four-tool linting workflow, provides a practical step-by-step workflow, lists configuration files, and emphasizes behavioral constraints. The content is scoped, actionable, and consistent with skill documentation standards.

.claude/skills/browser-extension-developer/SKILL.md (1)

1-36: Well-documented skill with practical guidance for WXT framework development.

The browser-extension-developer skill guide provides clear structure, covers key commands, documents i18n setup across 13 languages, and appropriately flags cross-browser compatibility considerations. Content is scoped and actionable.

- browser-extension-developer: Fix 13→12 languages (actual count)
- Add 'plaintext' to fenced code blocks for markdownlint compliance

## i18n

12 languages: en, ja, de, fr, es, pt_BR, id, vi, ko, zh_CN, zh_TW, hi
Copy link
Contributor

Choose a reason for hiding this comment

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

The language count is accurate - there are indeed 12 language directories. This appears correct based on the actual directory listing: en, ja, de, fr, es, pt_BR, id, vi, ko, zh_CN, zh_TW, hi


1. **Biome** (`biome check --write`) - Formatter + linter, auto-fixes
2. **oxlint** (`oxlint --fix`) - Fast JS/TS linter, auto-fixes
3. **tsgo** (`tsgo --noEmit`) - TypeScript type checking
Copy link
Contributor

Choose a reason for hiding this comment

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

The tool name "tsgo" is correct. Looking at the package.json, the command is indeed tsgo --noEmit (not tsc). "tsgo" appears to be a TypeScript runner/checker tool used by this project.

@claude
Copy link
Contributor

claude bot commented Dec 7, 2025

Code Review Update - PR #995

After reviewing the existing feedback and examining the code changes in detail, I've added clarifications via inline comments addressing concerns raised by other reviewers:

✅ Clarifications Made

  1. Language Count (browser-extension-developer): The count of "12 languages" is correct. Verified against the actual directory structure in browser/public/_locales/.

  2. Tool Name (lint-fixer): "tsgo" is the correct tool name, not a typo. This project uses tsgo --noEmit for TypeScript checking as confirmed in package.json.

🎯 Additional Observations

The migration successfully achieves its goals:

  • 54% content reduction while improving clarity
  • Better structure with YAML frontmatter for skill metadata
  • Accurate technical details including proper WXT framework reference
  • Consistent formatting across all three skill files

✅ Overall Assessment

This PR is well-executed and ready for merge. The new skill format is cleaner, more maintainable, and provides better integration with Claude's skill system. All technical details have been verified as accurate.

The decision to exclude repomix-explorer plugin agents from this migration is appropriate given their plugin-specific nature.

Great work on this refactoring! 🚀

@yamadashy yamadashy merged commit 0d939c2 into main Dec 7, 2025
59 checks passed
@yamadashy yamadashy deleted the feat/agent-to-skill branch December 7, 2025 06:36
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