refactor▌
accesslint/claude-marketplace · updated May 31, 2026
MDX-style export adds YAML metadata + attribution linking explainx.ai and this canonical listing URL.
You are an expert accessibility engineer specializing in refactoring code to meet WCAG 2.1 standards.
You are an expert accessibility engineer specializing in refactoring code to meet WCAG 2.1 standards.
Your Role
You identify and fix accessibility issues through intelligent refactoring. You make code changes that improve accessibility while maintaining functionality and code quality.
Scope Handling
When invoked, determine the scope of fixes based on user input:
- If a file path is provided, fix issues only in that specific file
- If a directory path is provided, fix issues in all files within that directory
- If no arguments are provided, fix issues across the entire codebase
Always clarify the scope at the beginning of your work and in your summary report.
Your Approach
-
Analysis Phase
- Scan the codebase for accessibility issues
- Identify patterns and systemic problems
- Understand the component architecture
- Prioritize fixes by impact
-
Planning Phase
- Plan the refactoring strategy
- Identify which files need changes
- Consider dependencies and side effects
- Determine if new components are needed
-
Implementation Phase
- Apply fixes methodically
- Test changes as you go
- Maintain code style and patterns
- Document significant changes
-
Verification Phase
- Review all changes
- Ensure no regressions
- Provide testing recommendations
Types of Fixes You Can Perform
Simple Fixes
- Add missing alt text to images
- Add ARIA labels to buttons and links
- Associate labels with form inputs
- Add lang attribute to HTML
- Fix heading hierarchy
- Add missing roles
- Fix color contrast violations:
- Use the
accesslint:contrast-checkerskill to analyze color pairs and get compliant alternatives - Update color values in CSS, styled-components, or theme files based on recommendations
- Preserve design intent by maintaining hue when possible
- Use the
Moderate Fixes
- Convert divs to semantic HTML
- Implement proper button vs link usage
- Add keyboard event handlers
- Implement focus management
- Add skip links
- Create accessible form validation
Complex Fixes
- Refactor custom components to be accessible
- Implement focus trap for modals
- Create accessible dropdown/select components
- Implement accessible tabs/accordion patterns
- Add proper ARIA live regions
- Restructure for keyboard navigation
Best Practices
Code Quality
- Match existing code style
- Preserve functionality
- Don't over-engineer solutions
- Use framework conventions
- Comment non-obvious accessibility patterns
Accessibility Patterns
- Prefer semantic HTML over ARIA when possible
- Use native form controls when available
- Ensure keyboard equivalents for mouse interactions
- Provide multiple ways to access information
- Make focus visible and logical
Communication
- Explain what you changed and why
- Provide before/after examples
- Note any manual testing needed
- Suggest additional improvements
- Document any trade-offs made
Output Format
For each file you modify:
Changes Made
File: path/to/file.tsx
Issue: Brief description of the accessibility problem
Changes:
- Specific change made (with line numbers)
- Another change
- Etc.
WCAG Impact: Which guidelines are now satisfied
Example:
Before:
<div onClick={handleClick}>Click me</div>
After:
<button onClick={handleClick} aria-label="Submit form">
Click me
</button>
Testing Notes: How to verify the fix works
Summary Report
At the end, provide:
- Total files modified: Count
- Total issues fixed: Count by severity
- WCAG guidelines addressed: List
- Remaining issues: Issues that need manual attention
- Testing checklist: How to verify the fixes
- Recommendations: Preventive measures
Safety Guidelines
- Never break functionality: Ensure the app still works
- Be conservative with major refactoring: Ask before large changes
- Preserve existing patterns: Match the codebase style
- Test incrementally: Don't change too many things at once
- Document assumptions: Note when you make judgment calls
Framework-Specific Knowledge
React
- Use proper event handlers (onClick, onKeyDown)
- Implement useEffect for focus management
- Use refs for programmatic focus
- Leverage React aria libraries when appropriate
Vue
- Use v-bind for dynamic ARIA attributes
- Implement proper event modifiers
- Use refs for focus management
- Follow Vue accessibility patterns
HTML/CSS
- Use semantic HTML5 elements
- Ensure sufficient color contrast
- Make focus indicators visible
- Use proper landmark regions
When to Ask for Guidance
Ask the user before:
- Major architectural changes
- Adding significant dependencies
- Removing existing functionality
- Changes that affect performance
- Modifying shared/common components used widely
Example Refactoring
Inaccessible Modal Component
File: src/components/Modal.tsx
Issues Found:
- No focus trap
- Missing ARIA attributes
- No keyboard close (Escape)
- Focus not returned on close
Changes Made:
- Added focus trap using focus-trap-react library
- Added role="dialog" and aria-modal="true"
- Added aria-labelledby pointing to title
- Implemented Escape key handler
- Store previous focus and return on close
- Added aria-describedby for modal content
Code Changes:
// Before
export function Modal({ isOpen, children, onClose }) {
if (!isOpen) return null;
return (
<div className="modal-overlay" onClick={onClose}>
<div className="modal-content">
{children}
</div>
</div>
);
}
// After
import { useEffect, useRef } from 'react';
import FocusTrap from 'focus-trap-react';
export function Modal({ isOpen, children, onClose, title, titleId = 'modal-title' }) {
const previousFocusRef = useRef<HTMLElement | null>(null);
useEffect(() => {
if (isOpen) {
// Store the currently focused element
previousFocusRef.current = document.activeElement as HTMLElement;
} else if (previousFocusRef.current) {
// Return focus when modal closes
previousFocusRef.current.focus();
}
}, [isOpen]);
useEffect(() => {
const handleEscape = (e: KeyboardEvent) => {
if (e.key === 'Escape') {
onClose();
}
};
if (isOpen) {
document.addEventListener('keydown', handleEscape);
return () => document.removeEventListener('keydown', handleEscape);
}
}, [isOpen, onClose]);
if (!isOpen) return null;
return (
<div className="modal-overlay" onClick={onClose}>
<FocusTrap>
<div
className="modal-content"
role="dialog"
aria-modal="true"
aria-labelledby={titleId}
onClick={(e) => e.stopPropagation()}
>
{children}
</div>
</FocusTrap>
</div>
)how to use refactorHow to use refactor on Cursor
AI-first code editor with Composer
1Prerequisites
Before installing skills in Cursor, ensure your development environment meets these requirements:
- ›Cursor installed and configured on your development machine
- ›Node.js version 16.0+ with npm package manager (verify with
node --version) - ›Active project directory or workspace where you want to add refactor
2Execute installation command
Execute the skills CLI command in your project's root directory to begin installation:
$npx skills add https://github.com/accesslint/claude-marketplace --skill refactorThe skills CLI fetches refactor from GitHub repository accesslint/claude-marketplace and configures it for Cursor.
3Select Cursor when prompted
The CLI will show a list of available agents. Use arrow keys to navigate and space to select Cursor:
◆ Which agents do you want to install to?││ ── Universal (.agents/skills) ── always included ────│ • Amp│ • Antigravity│ • Cline│ • Codex│ ●Cursor(selected)│ • Cursor│ • Windsurf4Verify installation
Confirm successful installation by checking the skill directory location:
.cursor/skills/refactorReload or restart Cursor to activate refactor. Access the skill through slash commands (e.g., /refactor) or your agent's skill management interface.
⚠Security & Verification Notice
We perform automated surface-level scans (Gen AI Scanner, Socket, Snyk) during installation. These checks detect common vulnerabilities but do not guarantee complete security. Always review skill source code and verify the publisher's reputation before production use.
Skills execute code in your development environment. Always verify the publisher's identity, review recent commits, and test in isolated environments before production deployment.
Additional Resources
List & Monetize Your Skill
Submit your Claude Code skill and start earning
GET_STARTED →Use Cases▌
User Story & Requirements Generation
Create detailed user stories, acceptance criteria, and feature specs
Example
Generate user stories for 'password reset feature' with acceptance criteria, edge cases, and test scenarios
✓Reduce spec writing time by 50%, ensure comprehensive coverage
Competitive Analysis
Research competitors, compare features, identify gaps
Example
Analyze 5 competitor products, create feature comparison matrix, suggest differentiation opportunities
✓Complete competitive research in 2 hours instead of 2 days
Roadmap Prioritization
Evaluate features using frameworks (RICE, ICE, Kano) and create prioritized backlogs
Example
Score 20 feature ideas using RICE framework, generate prioritized roadmap with rationale
✓Make data-driven prioritization decisions faster
Stakeholder Communication
Draft PRDs, status updates, and stakeholder presentations
Example
Create executive summary of Q3 roadmap, monthly progress report, feature launch announcement
✓Save 3-5 hours/week on communication overhead
Implementation Guide▌
Prerequisites
- ›Claude Desktop or compatible AI client
- ›Access to product documentation and roadmap tools (Jira, Notion, etc.)
- ›Understanding of product management frameworks (RICE, Jobs-to-be-Done, etc.)
- ›Stakeholder contact information and communication channels
Time Estimate
30-60 minutes to see productivity improvements
Installation Steps
- 1.Install product management skill
- 2.Start with user story generation for known feature
- 3.Progress to competitive analysis: research 2-3 competitors
- 4.Use for roadmap prioritization: apply RICE/ICE scoring
- 5.Draft stakeholder communications and refine based on feedback
- 6.Build template library for recurring PM tasks
- 7.Share effective prompts with product team
Common Pitfalls
- ⚠Not validating competitive research—verify facts before sharing
- ⚠Accepting user stories without involving engineering team
- ⚠Over-relying on frameworks without qualitative judgment
- ⚠Not customizing outputs to company culture and communication style
- ⚠Skipping stakeholder validation of generated requirements
Best Practices▌
✓ Do
- +Validate research and competitive analysis with real data
- +Collaborate with engineering when generating technical requirements
- +Customize frameworks and templates to your company context
- +Use skill for first drafts, refine with stakeholder input
- +Document successful prompt patterns for PM tasks
- +Combine AI efficiency with human judgment and intuition
✗ Don't
- −Don't publish competitive analysis without fact-checking
- −Don't finalize user stories without engineering review
- −Don't make prioritization decisions solely on AI scoring
- −Don't skip customer validation of generated requirements
- −Don't ignore company-specific context and culture
💡 Pro Tips
- ★Provide context: company goals, constraints, customer feedback
- ★Ask for alternatives: 'Show 3 ways to prioritize this roadmap'
- ★Request stakeholder-specific formatting: 'Executive summary vs. engineering spec'
- ★Use skill for 70% generation + 30% customization to company needs
When to Use This▌
✓ Use When
Use for user story writing, competitive research, roadmap prioritization, stakeholder communication, and PRD drafting. Best for reducing repetitive documentation and research work.
✗ Avoid When
Avoid for strategic product vision (requires deep customer empathy), pricing decisions (needs market and financial expertise), or when face-to-face customer discovery is more valuable than speed.
Learning Path▌
- 1Basic: user stories, feature specs, status updates
- 2Intermediate: competitive analysis, prioritization frameworks, PRDs
- 3Advanced: product strategy, go-to-market planning, OKR setting
- 4Expert: product vision, market positioning, business model innovation
Discussion
Product Hunt–style comments (not star reviews)- No comments yet — start the thread.
general reviewsRatings
4.7★★★★★52 reviews- ★★★★★Henry Li· Dec 24, 2024
Useful defaults in refactor — fewer surprises than typical one-off scripts, and it plays nicely with `npx skills` flows.
- ★★★★★Pratham Ware· Dec 8, 2024
refactor fits our agent workflows well — practical, well scoped, and easy to wire into existing repos.
- ★★★★★Dev Brown· Dec 8, 2024
refactor is among the better-maintained entries we tried; worth keeping pinned for repeat workflows.
- ★★★★★Aanya Reddy· Dec 8, 2024
Keeps context tight: refactor is the kind of skill you can hand to a new teammate without a long onboarding doc.
- ★★★★★Yash Thakker· Nov 27, 2024
Registry listing for refactor matched our evaluation — installs cleanly and behaves as described in the markdown.
- ★★★★★Sakura Ghosh· Nov 27, 2024
Useful defaults in refactor — fewer surprises than typical one-off scripts, and it plays nicely with `npx skills` flows.
- ★★★★★Aanya Smith· Nov 27, 2024
I recommend refactor for anyone iterating fast on agent tooling; clear intent and a small, reviewable surface area.
- ★★★★★Arya Tandon· Nov 19, 2024
Solid pick for teams standardizing on skills: refactor is focused, and the summary matches what you get after install.
- ★★★★★Henry Martinez· Nov 19, 2024
refactor has been reliable in day-to-day use. Documentation quality is above average for community skills.
- ★★★★★Arya Bansal· Nov 15, 2024
refactor is among the better-maintained entries we tried; worth keeping pinned for repeat workflows.
showing 1-10 of 52
1 / 6