implement-github-feature
Automates the workflow of creating branches and implementing features from specific GitHub issues.
Install
mkdir -p .claude/skills/implement-github-feature && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/5581" && unzip -o skill.zip -d .claude/skills/implement-github-feature && rm skill.zipInstalls to .claude/skills/implement-github-feature
Activation
This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.
Design and implement a new feature or component from a GitHub issue. Use for net-new functionality, not bug fixes.Key capabilities
- →Scaffold feature branches
- →Implement UI components
- →Validate accessibility standards
- →Integrate with frameworks
How it works
It follows a structured workflow from issue analysis and design proposal to implementation and documentation.
Inputs & outputs
When to use implement-github-feature
- →Scaffolding a new feature branch
- →Implementing UI components from issue requirements
- →Validating feature implementation against accessibility standards
About this skill
Usage: /implement-github-feature ISSUE_NUMBER
Example: /implement-github-feature 281
Implement GitHub feature request $ARGUMENTS following AgnosticUI conventions, accessibility standards, and CSS-first principles.
Setup
- Read project context
- Read
.claude/PROJECT_CONTEXT.md - Understand:
- Repository structure
- Design principles
- Accessibility requirements
- Branch conventions
- Component workflows
- Read
Phase 0: Safety Checks (Required)
- Verify clean starting state
- Run
git status - Confirm:
- Working directory is clean
- Current branch is
master
- If either condition fails:
- STOP
- Ask the user to resolve before continuing
- Run
Phase 1: Branching
- Propose feature branch
- Follow convention:
issue-$ARGUMENTS/short-descriptive-name - Example:
issue-281/selection-card-group - Run:
git checkout -b issue-$ARGUMENTS/short-description - WAIT FOR USER APPROVAL of branch name before proceeding
- Follow convention:
Phase 2: Issue Analysis & Intent Extraction (No Code)
-
Analyze the GitHub issue
- Fetch full details:
gh issue view $ARGUMENTS - Extract and summarize:
- Feature goals
- Non-goals / constraints
- API expectations
- Accessibility requirements
- Styling and theming expectations
- Framework implications (Lit / React / Vue)
- Fetch full details:
-
Study existing related components
- Identify components this feature will compose or resemble
- Read their implementations in
v2/lib/src/components/ - Note patterns for:
- Props and attributes
- Slot usage
- CSS custom properties
::partexposure- Event dispatching
- Accessibility implementation
- This ensures consistency with established AgnosticUI conventions
-
Confirm feature classification
- This is a:
- Net-new component OR
- Major enhancement (not a bug fix)
- If scope appears ambiguous:
- Ask the user before proceeding
- This is a:
Phase 3: Design Proposal (Hard Stop Before Code)
-
Propose high-level design
- Identify:
- New components to be created
- Public vs internal APIs
- Required props vs optional props
- Slot usage and responsibilities
- Accessibility model (labels, roles, keyboard behavior)
- Shadow DOM strategy (
::part,::slotted)
- Explicitly call out:
- Web Component constraints
- CSS-first decisions
- What is intentionally not supported
- Identify:
-
Propose file & directory layout
- Core components:
v2/lib/src/components/...
- Documentation:
v2/site/docs/components/...
- Storybook playgrounds:
- Lit
- React
- Vue
- Examples:
- Lit / React / Vue test examples
- Core components:
-
WAIT FOR USER APPROVAL
- Do not create files
- Do not write code
- Proceed only after explicit approval of:
- API shape
- Accessibility approach
- Styling strategy
Phase 4: Scaffolding (Minimal, Intentional)
-
Create initial scaffolding
- Create component directories
- Add placeholder files where appropriate
- Add minimal README or doc stubs if needed
- No implementation logic yet
-
Show scaffolding diff
- Use
git diff - Explain what was created and why
- WAIT FOR USER APPROVAL
- Use
Phase 5: Core Implementation (Lit Web Components First)
-
Implement core component(s)
- Work only in:
v2/lib/src/components/
- Follow:
- CSS-first approach
- Design token usage
- Accessibility requirements
- Ensure:
- Keyboard interaction works
- Labels and semantics are correct
- Shadow DOM parts are intentional and minimal
- Work only in:
-
Verify build
- Run
npm run buildinv2/lib/ - Fix any compilation errors
- Run
npm run lintif available
- Run
-
Pause for review
- Explain:
- DOM structure
- Slot behavior
::partsurface- Accessibility decisions
- WAIT FOR USER APPROVAL before proceeding
- Explain:
Phase 6: Framework Integrations
-
Integrate with frameworks
- React playground
- Vue playground
- Lit playground
- APIs should feel idiomatic but map 1:1 conceptually
-
Add Storybook stories
- Demonstrate:
- Core use cases
- Variants
- Accessibility states
- Ensure consistency across frameworks
- Demonstrate:
Phase 7: Documentation & Examples
-
Write documentation
- Add VitePress docs:
- API
- Slots vs props
- Styling guidance
- Accessibility notes
- Update or add playbooks if applicable
- Add VitePress docs:
-
Update examples
- Verify examples compile and behave correctly
- Keep examples minimal and educational
Phase 8: Final Review & Commit
-
Final verification
- Review:
git diff- Accessibility behavior
- Styling hooks
- API consistency
- Ensure no accidental breaking changes
- Review:
-
Prepare commit
- Stage changes:
git add . - Commit message format:
Add #$ARGUMENTS: [concise feature description] - Show commit contents
- WAIT FOR USER APPROVAL before committing
- Stage changes:
Phase 9: Handoff
- Explain next steps
- User is on branch:
issue-$ARGUMENTS/... - Review with:
git diff master - Push when ready:
git push -u origin issue-$ARGUMENTS/... - Create PR:
gh pr create --base master --head issue-$ARGUMENTS/...
- User is on branch:
Important Rules
- NEVER work directly on
master - NEVER push without explicit user permission
- ALWAYS stop at design gates
- ALWAYS prioritize accessibility over convenience
- Prefer slots for layout, props for semantics
- CSS custom properties > ::part > ::slotted
- Do not assume intent — if unclear, ask
When not to use it
- →Bug fixes
Prerequisites
Limitations
- →Requires clean git state
- →Stops at design gates
How it compares
It enforces strict design gates and accessibility standards before any code is written.
Compared to similar skills
implement-github-feature side by side with the closest alternatives in the catalog.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| implement-github-feature (this skill) | 1 | 6mo | Review | Intermediate |
| run-nx-generator | 5 | 3mo | Review | Intermediate |
| git-commit | 11 | 6mo | Review | Beginner |
| morph-search | 9 | 7mo | Review | Beginner |
Try saying
Example prompts that trigger this skill in your AI assistant.
More by AgnosticUI
View all by AgnosticUI →You might also like
run-nx-generator
nrwl
Run Nx generators with prioritization for workspace-plugin generators. Use this when generating code, scaffolding new features, or automating repetitive tasks in the monorepo.
git-commit
github
Execute git commit with conventional commit message analysis, intelligent staging, and message generation. Use when user asks to commit changes, create a git commit, or mentions "/commit". Supports: (1) Auto-detecting type and scope from changes, (2) Generating conventional commit messages from diff, (3) Interactive commit with optional type/scope/description overrides, (4) Intelligent file staging for logical grouping
morph-search
parcadei
Fast codebase search via WarpGrep (20x faster than grep)
upgrading-expo
sickn33
Upgrade Expo SDK versions
continue-implementation
LibPDF-js
Continue implementing a spec from a previous session
fix-dependabot-prs
bannzai
dependabotから上がってきた複数のPRを一括で解決し、まとめPRを作成する。dependabotのPR対応を依頼された時に使用。