Agent skill

GitHub Issue Solver

by homeassistant-extras in homeassistant-extras/device-card

Accept a GitHub issue URL or issue details, create a comprehensive plan (in plan mode - shows plan first), then implement the solution including tests and documentation, create/update release notes…

MITAuto-check passedDevelopment

Install GitHub Issue Solver

skills CLI
$ npx skills add homeassistant-extras/device-card --skill github-issue-solver -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install homeassistant-extras/device-card github-issue-solver --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/homeassistant-extras/device-card.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/github-issue-fixy .claude/skills/github-issue-solver && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
github-issue-solver
GitHub stars
129
Token cost
~3.4k tokens
SKILL.md length
1,397 words
Files
1
Skills in repo
2
Repo updated
First seen
Licence
MIT

At a glance

Accept a GitHub issue URL or issue details, create a comprehensive plan (in plan mode - shows plan first), then implement the solution including tests and documentation, create/update release notes…

  • Works in 9 steps: Analyze the GitHub Issue → Create and Present the Plan (STOP HERE -… → Implement the Solution (ONLY AFTER USER… → …
  • The user provides a GitHub issue
  • SKILL.md covers When to Use, Instructions, Notes and Plan Presentation Format
  • Calls yarn and npm; reaches home-assistant.io

What it does

GitHub Issue Solver is an agent skill from homeassistant-extras/device-card. Accept a GitHub issue URL or issue details, create a comprehensive plan (in plan mode - shows plan first), then implement the solution including tests and documentation, create/update release notes for Home Assistant users, and update the README roadmap for new features. Use when the user provides a GitHub issue or asks to solve an issue. ALWAYS presents the plan first and waits for user approval before implementing.

Its SKILL.md is about 3.4k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Development, covering Changelog and release notes and Planning. It works with GitHub and Home Assistant. The repository describes itself as: Device Card to summarize device information in Home Assistant. The licence is MIT.

When your agent uses it

  • The user provides a GitHub issue
  • Asks to solve an issue

Example prompts

  • “/github-issue-solver”

Workflow steps

9 steps, taken from the step headings in SKILL.md.

  1. Analyze the GitHub Issue
  2. Create and Present the Plan (STOP HERE - DO NOT IMPLEMENT YET)
  3. Implement the Solution (ONLY AFTER USER APPROVAL)
  4. Write Tests
  5. Update Documentation
  6. Create/Update Release Notes
  7. Update README Roadmap (for New Features)
  8. Final Checklist
  9. Summary

What it can do on your machine

Read from SKILL.md and the folder at commit 3424f04. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • yarn
    • npm

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • home-assistant.io

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

GitHub Issue Solver loads about 3.4k tokens when it runs. Until then it costs about 110 tokens; SKILL.md has 1,397 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~110
When it runs · the whole SKILL.md, loaded when a task matches
~3.4k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from homeassistant-extras/device-card at commit 3424f04, republished under its MIT licence (© homeassistant-extras). 1,397 words, ~3,428 tokens.

Download SKILL.mdSave it as .claude/skills/github-issue-solver/SKILL.md (or your agent's skills folder).
name
github-issue-solver
description
Accept a GitHub issue URL or issue details, create a comprehensive plan (in plan mode - shows plan first), then implement the solution including tests and documentation, create/update release notes for Home Assistant users, and update the README roadmap for new features. Use when the user provides a GitHub issue or asks to solve an issue. ALWAYS presents the plan first and waits for user approval before implementing.

GitHub Issue Solver

This skill guides you through solving GitHub issues for the Home Assistant device-card project. It ensures comprehensive planning, testing, documentation, and release notes.

When to Use

  • Use this skill when the user provides a GitHub issue URL or issue details
  • Use when asked to solve, fix, or implement something from a GitHub issue
  • Use when planning work based on an issue or feature request

Instructions

IMPORTANT: This skill runs in PLAN MODE first. You MUST present a comprehensive plan to the user and wait for their approval before implementing any code changes.

Step 1: Analyze the GitHub Issue
  1. Fetch the issue details:

    • If a GitHub issue URL is provided, fetch it using the web fetch tool or ask the user for the issue details
    • Extract key information:
      • Issue title and description
      • Issue type (bug fix, feature request, enhancement, etc.)
      • Labels and milestones
      • Comments and discussion
      • Related issues or PRs
  2. Understand the requirements:

    • Identify what needs to be fixed or implemented
    • Note any edge cases or special considerations mentioned
    • Check if there are any related issues or dependencies
Step 2: Create and Present the Plan (STOP HERE - DO NOT IMPLEMENT YET)
  1. Break down the work:

    • List all files that need to be created or modified
    • Identify the core functionality changes required
    • Note any dependencies or related components
    • Review existing code patterns in the project for consistency
  2. Create a comprehensive task list:

    • Use the todo_write tool to create a structured task list with all tasks marked as "pending"
    • Include detailed tasks for:
      • Code implementation (specific files and functions)
      • Test creation/updates (specific test files and test cases)
      • Documentation updates (specific sections and files)
      • Release notes (draft the entry)
      • README roadmap update (if new feature, draft the entry)
  3. Present the plan to the user:

    • CRITICAL: You MUST stop here and present the complete plan
    • Show a clear, formatted plan including:
      • Summary of the issue and what needs to be done
      • List of files to be created/modified
      • Overview of code changes needed
      • Test strategy and test cases
      • Documentation updates planned
      • Draft release notes entry
      • Draft roadmap entry (if new feature)
    • Wait for user approval before proceeding to Step 3
    • Use language like: "Here's my plan. Please review and let me know if you'd like me to proceed with implementation."
Step 3: Implement the Solution (ONLY AFTER USER APPROVAL)

DO NOT proceed to this step until the user has reviewed and approved the plan from Step 2.

  1. Code changes:

    • Follow TypeScript best practices
    • Match the existing code style (check .prettierrc for formatting)
    • Ensure type safety (check tsconfig.json)
    • Follow the project's file structure conventions
  2. Key areas to consider:

    • src/cards/ - Card implementations
    • src/delegates/ - Business logic and data retrieval
    • src/html/ - HTML rendering components
    • src/hass/ - Home Assistant integration code
    • src/common/ - Shared utilities
    • src/types/ - TypeScript type definitions
Step 4: Write Tests
  1. Test coverage:

    • PREFER updating existing tests over creating many new test cases
    • When possible, add assertions to existing tests that already cover similar functionality
    • Create or update test files in test/ directory matching the source structure
    • Follow existing test patterns (check test/ directory for examples)
    • Use Mocha test framework (check .mocharc.json and mocha.setup.ts)
  2. Test requirements:

    • Keep tests concise: Aim for 1-2 focused test cases, or update existing tests to cover multiple scenarios
    • Unit tests for new functions and methods
    • Edge case testing (when necessary, but consolidate into existing tests when possible)
    • Integration tests if applicable
    • Ensure tests pass: yarn test or npm test
  3. Test file naming:

    • Test files should match source files with .spec.ts extension
    • Example: src/cards/device-card/card.ts → test/cards/device-card/card.spec.ts
  4. Test consolidation strategy:

    • Reuse existing setup/mocks: Before creating new test cases, check if existing tests already have similar mocks, stubs, or setup code that can be reused
    • Review existing tests to see if new functionality can be tested alongside existing assertions
    • Update existing test data/mocks to include new scenarios rather than creating separate tests
    • Only create new test cases when the functionality is truly distinct and cannot be tested within existing tests
    • Avoid duplicating setup code: If multiple tests need similar mocks or stubs, consider:
      • Adding shared setup to beforeEach hooks
      • Extending existing mock data structures
      • Creating helper functions for common test setup
  5. Test quality review:

    • Review the entire test file after making changes to ensure:
      • No duplicative tests that test the same thing in slightly different ways
      • No low-value tests that don't add meaningful coverage
      • Tests are well-organized and follow the existing patterns
      • Setup code is not unnecessarily duplicated across tests
    • If you notice duplicative or low-value tests while working, consider removing or consolidating them
    • Focus on tests that provide real value: catching bugs, ensuring correctness, and documenting expected behavior
Step 5: Update Documentation
  1. README.md updates:

    • If adding a new feature, add it to the "Features" section
    • Update "Configuration Options" table if adding new config options
    • Add example configurations in "Example Configurations" section
    • Update the "Project Roadmap" section (see Step 7)
  2. Code comments:

    • Add JSDoc comments for public functions and classes
    • Document complex logic and algorithms
    • Explain non-obvious decisions
  3. Translation files (if adding user-facing strings):

    • Update src/translations/en.json (English)
    • Consider updating other language files: fr.json, pt.json, ru.json
    • Follow the existing translation structure
Show full SKILL.md (580 more words)Show less
Step 6: Create/Update Release Notes
  1. Release notes format:

    • Create or update a release notes file (check if one exists, otherwise create RELEASE_NOTES.md or similar)
    • Format entries clearly with issue/PR references
  2. Release notes structure:

    • Main header: Release title with 2 random emojis at the end
    • Each bug/feature: Use ## heading (level 2) for each bug fix or feature, starting with a relevant emoji
    • Notes under each section: Small descriptive notes under each heading
  3. Release notes content:

    • Bug fixes: "Fixed [description] - fixes #[issue-number]"
    • New features: "Added [feature name] - fixes #[issue-number]" (or equivalent plain-language lead)
    • Enhancements: "Improved [description] - fixes #[issue-number]"
    • Breaking changes: Clearly mark with "⚠️ BREAKING CHANGE:" prefix
    • Do not thank contributors in release notes — appreciation belongs in the README roadmap (Step 7), not in RELEASE_NOTES.md.
  4. Tone and links:

    • Prefer short, user-facing copy; avoid deep technical detail (file names, internal APIs) unless necessary for migration.
    • Link where it helps: Home Assistant documentation, relevant integration pages, or this repo’s published docs (e.g. GitHub Pages) so users can go further.
  5. Example format:

    markdown
    # Hidden Entity Filtering & Dark Mode!🎉✨
    
    ## 🔍 Hidden Entity Filtering
    
    Hidden entities are now filtered out to match Home Assistant’s more-info behavior - fixes #43
    
    ## 🌙 Dark Mode Support
    
    Dark mode option for low-light dashboards - fixes #123
    
    See [Home Assistant themes](https://www.home-assistant.io/integrations/frontend/) for related settings.
  6. Home Assistant user-friendly language:

    • Write in clear, non-technical language
    • Focus on what users can do or what problems are solved
    • Avoid internal implementation details
    • Use Home Assistant terminology where appropriate
Step 7: Update README Roadmap (for New Features)
  1. Check if it's a new feature:

    • If the issue is a feature request or adds new functionality
    • If it's a bug fix, skip this step
  2. Add to roadmap:

    • Locate the "Project Roadmap" section in README.md
    • Add a new entry in the format:
      markdown
      - [ ] **`Feature Name`**: Description of feature - thanks @[username]
    • Use present tense for completed features (change [ ] to [x] after implementation)
    • Use future tense for planned features
  3. Thank the contributor:

    • If the issue was opened by a GitHub user, include their username
    • Format: - thanks @[username]
    • If multiple contributors, list them all
Step 8: Final Checklist

Before completing, verify:

  • All code changes are implemented
  • All tests are written and passing
  • Test quality: Reviewed test files for duplicative or low-value tests that could be removed
  • Test reuse: Confirmed that existing test setup/mocks were reused where possible
  • Documentation is updated (README.md, code comments)
  • Release notes are created/updated
  • README roadmap is updated (if new feature)
  • Code follows project style guidelines
  • TypeScript types are correct
  • No linter errors
  • Translation files updated (if needed)
Step 9: Summary

Provide a summary of:

  • What was implemented
  • Files created/modified
  • Test coverage added
  • Documentation updates
  • Release notes entry
  • Roadmap update (if applicable)

Notes

  • CRITICAL: This skill operates in PLAN MODE - always present the plan first and wait for user approval
  • Never implement code changes without showing the plan and getting user confirmation
  • Always maintain consistency with existing code patterns
  • Follow the project's TypeScript and testing conventions
  • Ensure backward compatibility unless it's a breaking change
  • Consider Home Assistant version compatibility
  • Test with multiple browsers if UI changes are involved
  • Release notes (RELEASE_NOTES.md): user-facing, no contributor thanks (those go in the README roadmap); include links to Home Assistant or project docs where relevant; avoid unnecessary technical detail

Plan Presentation Format

When presenting the plan, use this structure:

markdown
## Plan for Issue #[number]: [Title]

### Issue Summary

[Brief summary of what needs to be done]

### Files to Create/Modify

- `path/to/file1.ts` - [what will change]
- `path/to/file2.ts` - [what will change]
- ...

### Implementation Approach

[High-level description of how you'll implement the solution]

### Test Strategy

- Test file: `test/path/to/file1.spec.ts`
  - **Prefer updating existing tests** rather than creating many new test cases
  - **Reuse existing setup/mocks**: [describe what existing mocks or setup will be reused]
  - If updating existing test: [which test and what will be added]
  - If new test needed: [brief description of why and what it covers, and how it reuses existing setup]
  - Aim for 1-2 focused test cases total
  - **Review test file**: Check for any duplicative or low-value tests that could be removed or consolidated

### Documentation Updates

- README.md: [what sections will be updated]
- Code comments: [what will be documented]
- Translations: [if applicable]

### Release Notes Draft

```markdown
## [Emoji] [Feature/Bug Name]

Brief description, optional YAML example, links to HA or project docs; no contributor thanks; fixes issue when applicable.
```
Roadmap Entry Draft (if new feature)

[Draft of the roadmap entry]


Ready to proceed? Please review the plan above and let me know if you'd like me to continue with implementation.


## Example Workflow

1. User provides: "Solve issue #123: Add dark mode support"
2. Fetch issue details from GitHub
3. **PLAN MODE**: Create comprehensive plan:
   - Files to modify: `src/cards/device-card/styles.ts`, `src/cards/device-card/types.ts`, `src/cards/device-card/editor.ts`
   - Tests: Update existing test in `test/cards/device-card/card.spec.ts` to include dark mode scenarios (prefer updating over creating new tests)
   - Documentation: Update README.md Features section, add config option to table
   - Release notes draft: "## Dark Mode Support\n\nAdded dark mode theme option - fixes #123" (no thanks; link to HA docs if useful)
   - Roadmap draft: "- [ ] **`Dark mode support`**: Add dark mode theme option - thanks @username"
4. **PRESENT PLAN TO USER** - Wait for approval
5. **ONLY AFTER APPROVAL**: Implement code changes
6. **ONLY AFTER APPROVAL**: Create/update test files
7. **ONLY AFTER APPROVAL**: Update documentation
8. **ONLY AFTER APPROVAL**: Create/update release notes
9. **ONLY AFTER APPROVAL**: Update roadmap
10. Summary: List all changes made

© homeassistant-extras, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .claude/skills/github-issue-fixy of homeassistant-extras/device-card.

Open the folder on GitHubat commit 3424f04

Used in 1 other repository

We found 1 copy of this SKILL.md (exact, near-identical or edited) in other folders. This page covers the copy in homeassistant-extras/device-card, which our catalogue first saw on October 7, 2026.

Compare with similar skills

GitHub Issue Solver next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

GitHub Issue Solver compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
GitHub Issue Solver this skillhomeassistant-extras/device-card129—~3.4kAutomated safety check: PassMIT
Releasekellerza/sunsynk339—~920Automated safety check: PassApache-2.0
Releasecdpuk/ha-bestway134—~998Automated safety check: PassMIT
Releasedcb/homeassistant-claude-kit123—~3.1kAutomated safety check: PassMIT
Beta Prereleaservdbreemen/OTGW-firmware207—~2.7kAutomated safety check: PassGPL-3.0
Noodle Releasewilfredinni/noodle363—~2kAutomated safety check: PassApache-2.0

Similar skills

  • Release

    kellerza/sunsynk

    Bump sunsynk version (major/minor/bugfix), rewrite the Unreleased changelog heading, commit, push to main, and open a draft GitHub release with a v-prefixed tag.

    339 GitHub stars~920 tokensUpdated 2 days ago
    DevelopmentAuto-check passed
  • Release

    cdpuk/ha-bestway

    Cut a release of this integration - bump the version in manifest.json, run the validation gates, commit, tag the merged commit, and draft categorised release notes for the GitHub release form.

    134 GitHub stars~998 tokensUpdated 1 mo ago
    DevelopmentAuto-check passed
  • Release

    dcb/homeassistant-claude-kit

    Cut a new homeassistant-claude-kit version. An agent skill from dcb/homeassistant-claude-kit.

    123 GitHub stars~3.1k tokensUpdated 5 days ago
    DevelopmentAuto-check passed
  • Beta Prerelease

    rvdbreemen/OTGW-firmware

    Publish an OTGW-firmware beta prerelease — bump VERSIONPRERELEASE, push to otgw-1.x.x, tag, and let CI build + publish the GitHub prerelease

    207 GitHub stars~2.7k tokensUpdated yesterday
    DevelopmentAuto-check passed
  • Noodle Release

    wilfredinni/noodle

    Prepare a versioned Noodle release by updating package.json, inspecting changes since the latest tag, auditing every repository-maintained skill, synchronizing affected README, AGENTS.md, tests…

    363 GitHub stars~2k tokensUpdated today
    DevelopmentAuto-check passed
  • Turns a PRD, issue or description into an implementation-ready plan grounded in codebase evidence, adding root-cause analysis for bugs and publishing issue plans back to the issue.

    2.3k GitHub stars~4.1k tokensUpdated 6 days ago
    DevelopmentAuto-check passed

More from homeassistant-extras/device-card

  • Hass Sync

    homeassistant-extras/device-card

    Maintains synchronization between src/hass folder and Home Assistant frontend source code.

    129 GitHub stars~1.4k tokensUpdated yesterday
    Auto-check passed

Questions about GitHub Issue Solver

What does GitHub Issue Solver do?

Accept a GitHub issue URL or issue details, create a comprehensive plan (in plan mode - shows plan first), then implement the solution including tests and documentation, create/update release notes…. GitHub Issue Solver is an agent skill from homeassistant-extras/device-card. Accept a GitHub issue URL or issue details, create a comprehensive plan (in plan mode - shows plan first), then implement the solution including tests and documentation, create/update release notes for Home Assistant users, and update the README roadmap for new features.

When should I use GitHub Issue Solver?

GitHub Issue Solver fits situations like: the user provides a GitHub issue; asks to solve an issue.

How do I install GitHub Issue Solver in Claude Code?

Run `npx skills add homeassistant-extras/device-card --skill github-issue-solver -a claude-code`. Or copy the skill folder (.claude/skills/github-issue-fixy in homeassistant-extras/device-card) into .claude/skills/github-issue-solver in your project. Claude Code loads it when a task matches its description.

How do I install GitHub Issue Solver in Codex?

Run `npx skills add homeassistant-extras/device-card --skill github-issue-solver -a codex`. Or copy the skill folder (.claude/skills/github-issue-fixy in homeassistant-extras/device-card) into .agents/skills/github-issue-solver in your project. Codex loads it when a task matches its description.

Can I use GitHub Issue Solver in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add homeassistant-extras/device-card --skill github-issue-solver -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/github-issue-solver, .gemini/skills/github-issue-solver, .github/skills/github-issue-solver and .opencode/skills/github-issue-solver in your project.

What does GitHub Issue Solver need to run?

Going by SKILL.md and its folder, GitHub Issue Solver needs the command-line tools its instructions call (yarn and npm).

Does GitHub Issue Solver access the network?

SKILL.md names 1 domain. In commands or code: home-assistant.io; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.

Is GitHub Issue Solver safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does GitHub Issue Solver use?

GitHub Issue Solver is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does GitHub Issue Solver use?

About 3.4k tokens (SKILL.md is roughly 14k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to GitHub Issue Solver?

Skills that share tags, products or a category with GitHub Issue Solver: Release (kellerza/sunsynk, 339 stars), Release (cdpuk/ha-bestway, 134 stars), Release (dcb/homeassistant-claude-kit, 123 stars) and Beta Prerelease (rvdbreemen/OTGW-firmware, 207 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains GitHub Issue Solver?

homeassistant-extras (a GitHub organization) maintains it in homeassistant-extras/device-card, which has 129 GitHub stars. The repository holds 2 skills in this directory. The repository was last updated on October 6, 2026.

Source: homeassistant-extras/device-card on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.