Agent skill

Open Work

by prestomation in prestomation/ha-home-keeper

Report the open work on Home Keeper and sort it by who must act next, and show a draft of the CHANGELOG for the next stable release.

MITAuto-check passedDevelopment

Install Open Work

skills CLI
$ npx skills add prestomation/ha-home-keeper --skill open-work -a claude-code

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

GitHub CLI
$ gh skill install prestomation/ha-home-keeper open-work --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/prestomation/ha-home-keeper.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/open-work .claude/skills/open-work && 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
open-work
GitHub stars
104
Token cost
~2.5k tokens
SKILL.md length
1,447 words
Files
1
Skills in repo
4
Repo updated
First seen
Licence
MIT

At a glance

Report the open work on Home Keeper and sort it by who must act next, and show a draft of the CHANGELOG for the next stable release.

  • Works in 6 steps: Collect the data → Know who wrote each comment → Sort each item into one group → …
  • Asked what is open
  • SKILL.md covers 1. Collect the data, 2. Know who wrote each comment, 3. Sort each item into one group and 4. Read the to-do files in the…, plus 2 more sections
  • Calls python3, git and npm

What it does

Open Work is an agent skill from prestomation/ha-home-keeper. Report the open work on Home Keeper and sort it by who must act next, and show a draft of the CHANGELOG for the next stable release. Reads the open issues, the open PRs, the CHANGELOG and the to-do files in the repository. Use when asked what is open, what is actionable, what to work on next, what waits on a release or on a user, or what the next stable release will contain.

Its SKILL.md is about 2.5k 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. It works with GitHub. The repository describes itself as: Home Keeper is a Home Assistant plugin for tracking home maintenance and chores with deep HA integration. The licence is MIT.

When your agent uses it

  • Asked what is open
  • What is actionable
  • What to work on next
  • What waits on a release

Example prompts

  • “/open-work”

Requirements

  • Python 3

Workflow steps

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

  1. Collect the data
  2. Know who wrote each comment
  3. Sort each item into one group
  4. Read the to-do files in the repository
  5. Draft the CHANGELOG for the next stable release
  6. Write the report

What it can do on your machine

Read from SKILL.md and the folder at commit ea7be4f. 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:

    • python3
    • git
    • npm

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

  • Network

    No URLs in SKILL.md. Its commands use git and npm, which can reach the network depending on how they are called.

    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

Open Work loads about 2.5k tokens when it runs. Until then it costs about 97 tokens; SKILL.md has 1,447 words of instructions outside code blocks.

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

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 prestomation/ha-home-keeper at commit ea7be4f, republished under its MIT licence (© prestomation). 1,447 words, ~2,459 tokens.

Download SKILL.mdSave it as .claude/skills/open-work/SKILL.md (or your agent's skills folder).
name
open-work
description
Report the open work on Home Keeper and sort it by who must act next, and show a draft of the CHANGELOG for the next stable release. Reads the open issues, the open PRs, the CHANGELOG and the to-do files in the repository. Use when asked what is open, what is actionable, what to work on next, what waits on a release or on a user, or what the next stable release will contain.

Open work

This skill makes a report. It does not change anything. Many open issues need no work: the fix is in a beta and waits for the stable release, or a preview build waits for a tester. The report finds those, shows the items that need the maintainer or an agent now, and shows a draft of the CHANGELOG for the next stable release. Use only the GitHub read tools (list_*, issue_read, pull_request_read). Never comment, close, label, edit or merge (see AGENTS.md, "Never comment on a GitHub issue"). A step that the report suggests, such as a reminder, is for the maintainer. Do not do it. Write the report in ASD-STE100 English.

1. Collect the data

Use the GitHub MCP tools (owner prestomation, repo ha-home-keeper). Make independent calls together.

  1. list_issues, state OPEN, all pages. list_pull_requests, state open.
  2. list_releases, the last 30: tag_name, prerelease, published_at. The newest release with prerelease: false is the last stable.
  3. For each issue: issue_read with get (for closed_by_pull_requests, the linked PRs), and with get_comments when it has comments. For each open PR: pull_request_read for comments, reviews, check status and mergeable state.

The local clone has no tags, so use the release list to know if a version is out. List the issues that each CHANGELOG section newer than the last stable fixes:

bash
# Stops at the first stable heading. An empty section makes release-issues.py exit 1: skip it.
for v in $(grep -oP '^## \[\K[^\]]+' CHANGELOG.md \
           | awk '/^[0-9]+\.[0-9]+\.[0-9]+$/{exit} {print}'); do
  json=$(python3 ci/release-issues.py --version "$v" --json 2>/dev/null) || continue
  printf '%s' "$json" | python3 -c 'import json,sys; [print(sys.argv[1], i["number"]) for i in json.load(sys.stdin)]' "$v"
done

ci/release-issues.py is the parser that release.yml uses to close issues, so this list agrees with the next release. Only (Fixes #N) counts.

2. Know who wrote each comment

  • Maintainer: author_association is OWNER, MEMBER or COLLABORATOR.
  • Bot: a login that ends in [bot], or github-actions. Two bot comments carry a state: <!-- home-keeper-release vX.Y.Z... --> (that release has the fix) and, on a PR, <!-- preview-release --> (a preview build is available; use the newest one).
  • User: any other author.

The last human comment is the newest comment that is not from a bot. Look at the linked PR too: a user can give feedback there and not on the issue.

3. Sort each item into one group

Put each open issue and PR into the first group that matches, in the order A to G. When an issue and its PR are in the same state, show them as one line.

A. Actionable now

The maintainer or an agent must act. Show the items in this order of urgency:

  1. An issue with the ha-beta-regression label: the nightly run against the Home Assistant beta failed.
  2. An open PR from the maintainer or an agent with failed CI, a merge conflict, or review threads with no reply.
  3. A user replied last, on the issue or its linked PR. This includes feedback on a preview build or a beta, also when the fix is in a beta (A comes before B). A "works" reply on a preview build means: merge the PR. A "works" reply on a beta needs no step: say so.
  4. A PR from an outside contributor with no maintainer review after its last push.
  5. A new issue with no maintainer comment and no linked PR.
  6. A Dependabot PR. With green CI it is ready to merge; with red CI, say what failed.
  7. A fix in the CHANGELOG under a version that is not in the release list. No build has it. Cut a beta.
B to G. Items that wait
  • B. Waits on a stable release. The issue is in a (Fixes #N) line of a section newer than the last stable, and that version is a published beta. notify-issues in release.yml closes it when the stable ships. Give the beta version, and say how many issues the next stable closes.
  • C. Waits on a tester. A linked open PR has the preview-release label, and the last human comment on the issue and the PR is from the maintainer. Give the days since that comment. After 14 days, mark it stale: the maintainer can send a reminder, merge without feedback, or close it.
  • D. Waits on the reporter. The last human comment is from the maintainer, it asks a question or for logs, and there is no preview build. Give the days. After 30 days, mark it stale.
  • E. Waits on the maintainer to decide. A design question for the maintainer (for example a choice between mockup options) with no linked PR. Keep these apart from group A so that an agent does not start them.
  • F. Stale draft PR. A draft PR, not in group C, with no push or comment for 14 days.
  • G. Other. An item that matches no rule. Give the reason, and say that a rule is missing.

4. Read the to-do files in the repository

These are open work that is not in issues. Report them in a short Backlog section after the groups, one line each, with the file and heading:

  • IDEAS.md: each item whose text has Blocked on: and the blocker. When one command can check a blocker (for example npm view <package> versions), check it. When the blocker is gone, mark the item unblocked. Do not list each idea: most of the file is a parking lot, not committed scope.

  • The backlog docs: python3 ci/docs.py list --kind backlog. Give each one with its title.

  • The docs gate: python3 ci/docs.py check. Report each problem as one Backlog line.

  • TODO and FIXME comments (this search does not find names like TODO_DOMAIN):

    bash
    grep -rnE '(#|//|/\*|<!--)\s*(TODO|FIXME)\b' custom_components ci tests \
        --exclude-dir=node_modules --exclude-dir=dist
Show full SKILL.md (574 more words)Show less

5. Draft the CHANGELOG for the next stable release

The draft is for the report only. Do not write it to CHANGELOG.md. The next stable is the newest beta section without its suffix (0.29.0b3 gives 0.29.0). When no section is newer than the last stable, say "No changes since vX.Y.Z" and stop. When CHANGELOG.md has no ## [X.Y.Z] heading for the last stable, the loops read every section: write no draft, and say that the heading is missing.

Get the text of each section newer than the last stable:

bash
for v in $(grep -oP '^## \[\K[^\]]+' CHANGELOG.md \
           | awk '/^[0-9]+\.[0-9]+\.[0-9]+$/{exit} {print}'); do
  printf '=== %s\n' "$v"
  python3 ci/release-issues.py --version "$v" --notes 2>/dev/null
done

Then get the bullets that open PRs add. For each open PR not from Dependabot, use pull_request_read with get_files. When CHANGELOG.md is in the list, use get_diff. Keep each added line that starts with +- ** and the following lines that start with + and spaces. Keep each bullet as written. When the diff changes an existing bullet, show the new text in place of the old (the - lines of the hunk), and mark it with the PR number.

Write the draft as the stable section, by the AGENTS.md rule "A stable release's ## [X.Y.Z] notes describe what changed since the last stable release":

  • Write for a user who upgrades from the last stable. Do not show the betas.

  • Put all beta bullets into one ### Added, ### Changed and ### Fixed. A feature that a beta added is in Added, also when a later beta changed it.

  • A ### Changed bullet that changes only a feature that is new since the last stable: find the one Added bullet whose bold lead or link names the same feature or page. If the change is visible in the stable, add its text after the bold lead to that Added bullet; if the result has more than 3 sentences, keep it in ### Changed and put it on Check before release. If it changes only something a beta did, remove it. If zero or more than one Added bullet match, keep it in ### Changed.

  • ### Fixed gives each (Fixes #N) from the sections. Then check the commits since the last stable (replace X.Y.Z, for example 0.28.0):

    bash
    git fetch -q --no-tags origin tag vX.Y.Z
    git log --format=%B vX.Y.Z..origin/main | python3 ci/release-issues.py --scan

    If the tag fetch fails, use the release commit: git log --reverse --format=%H -S '## [X.Y.Z]' -- CHANGELOG.md | head -1.

  • Put each issue that --scan finds and the sections omit on Check before release: notify-issues does not close it.

  • Put the open-PR bullets last, under Pending, from open PRs, with the PR number.

  • After each merged bullet, give the beta that first shipped it, for example (0.29.0b1).

6. Write the report

Write the report in chat. Start with one line of totals, for example: 11 open issues, 7 open PRs: 4 actionable, 2 wait on stable, 3 wait on testers. Then one section for each group that is not empty (A to G), Next stable (draft), and the Backlog. Start the draft with the version and the last stable, for example 0.29.0, after v0.28.0. Tentative: this can change before the release. After the bullets, give Pending, from open PRs, then Check before release when it is not empty. Each group line has the issue or PR number as a link and the title, the linked PR or issue, why it is in this group (who spoke last, and when), and for group A, the next step.

When the maintainer asks, or when the report is for other people, publish it as an artifact. Do not post it on GitHub.

© prestomation, 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/open-work of prestomation/ha-home-keeper.

Open the folder on GitHubat commit ea7be4f

Compare with similar skills

Open Work 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.

Open Work compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Open Work this skillprestomation/ha-home-keeper104—~2.5kAutomated safety check: PassMIT
Cutting A ReleaseTriliumNext/Trilium38k—~3.2kAutomated safety check: PassAGPL-3.0
Mole CLI Release Flowtw93/Mole70k—~2.6kAutomated safety check: PassGPL-3.0
Draft Release Notesjamiepine/voicebox57k—~941Automated safety check: PassMIT
Mole Release Notes Publishertw93/Mole70k—~1.9kAutomated safety check: PassGPL-3.0
Release Bumpjamiepine/voicebox57k—~1.1kAutomated safety check: PassMIT

Similar skills

  • Cutting A Release

    TriliumNext/Trilium

    A skill your agent uses when cutting, preparing, or debugging a Trilium release — bumping the monorepo version, tagging, or diagnosing a failed "Release" workflow run.

    38k GitHub stars~3.2k tokensUpdated today
    DevelopmentAuto-check passed
  • Runbook for assessing and executing a Mole CLI release: distribution channels, pre-flight checks, capital-V tags, build artifacts and the handoff to curated release notes.

    70k GitHub stars~2.6k tokensUpdated today
    DevelopmentAuto-check passed
  • Draft Release Notes

    jamiepine/voicebox

    Writes or refreshes the Unreleased section of CHANGELOG.md as a themed narrative built from the commits, PRs and diff since the last version tag.

    57k GitHub stars~941 tokensUpdated 2 days ago
    DevelopmentAuto-check passed
  • Publishes curated, bilingual release notes for an existing Mole version tag with gh release edit, including contributor thanks and reactions, after the release workflow finishes.

    70k GitHub stars~1.9k tokensUpdated today
    DevelopmentAuto-check passed
  • Release Bump

    jamiepine/voicebox

    Ends a release cycle by moving the Unreleased changelog notes under a dated version heading, bumping version files with bumpversion and tagging the commit.

    57k GitHub stars~1.1k tokensUpdated 2 days ago
    DevelopmentAuto-check passed
  • Cut Release

    jfernandez/bpftop

    Cut a new versioned release of bpftop — pick the version, open a version-bump PR, sign-tag the merge commit on main, and draft GitHub release notes in the project's established format.

    2.7k GitHub stars~2k tokensUpdated 1 mo ago
    DevelopmentAuto-check passed

More from prestomation/ha-home-keeper

  • Preset Upkeep

    prestomation/ha-home-keeper

    Check the integration presets against their upstream integrations, fix the keys that changed, add presets for new duty keys and for integrations Home Keeper does not cover yet, and open one draft PR.

    104 GitHub stars~1.8k tokensUpdated today
    Auto-check passed
  • Preview Comment

    prestomation/ha-home-keeper

    Draft the maintainer's short comment that tells an issue reporter a preview build of the fix is ready to try, with links to its preview docs, and post it on the issue only after the maintainer…

    104 GitHub stars~1.6k tokensUpdated today
    Auto-check passed
  • UX Review

    prestomation/ha-home-keeper

    Senior-UX-reviewer process. An agent skill from prestomation/ha-home-keeper.

    104 GitHub stars~3k tokensUpdated today
    Auto-check passed

Works with

Categories

Questions about Open Work

What does Open Work do?

Report the open work on Home Keeper and sort it by who must act next, and show a draft of the CHANGELOG for the next stable release. Open Work is an agent skill from prestomation/ha-home-keeper. Report the open work on Home Keeper and sort it by who must act next, and show a draft of the CHANGELOG for the next stable release.

When should I use Open Work?

Open Work fits situations like: asked what is open; what is actionable; what to work on next; what waits on a release.

How do I install Open Work in Claude Code?

Run `npx skills add prestomation/ha-home-keeper --skill open-work -a claude-code`. Or copy the skill folder (.claude/skills/open-work in prestomation/ha-home-keeper) into .claude/skills/open-work in your project. Claude Code loads it when a task matches its description.

How do I install Open Work in Codex?

Run `npx skills add prestomation/ha-home-keeper --skill open-work -a codex`. Or copy the skill folder (.claude/skills/open-work in prestomation/ha-home-keeper) into .agents/skills/open-work in your project. Codex loads it when a task matches its description.

Can I use Open Work 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 prestomation/ha-home-keeper --skill open-work -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/open-work, .gemini/skills/open-work, .github/skills/open-work and .opencode/skills/open-work in your project.

What does Open Work need to run?

Going by SKILL.md and its folder, Open Work needs the command-line tools its instructions call (python3, git and npm). Our summary lists: Python 3.

Does Open Work access the network?

SKILL.md contains no URLs. Its commands use git and npm, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Open Work 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 Open Work use?

Open Work 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 Open Work use?

About 2.5k tokens (SKILL.md is roughly 9.8k 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 Open Work?

Skills that share tags, products or a category with Open Work: Cutting A Release (TriliumNext/Trilium, 38k stars), Mole CLI Release Flow (tw93/Mole, 70k stars), Draft Release Notes (jamiepine/voicebox, 57k stars) and Mole Release Notes Publisher (tw93/Mole, 70k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Open Work?

prestomation (a GitHub user) maintains it in prestomation/ha-home-keeper, which has 104 GitHub stars. The repository holds 4 skills in this directory. The repository was last updated on October 9, 2026.

Source: prestomation/ha-home-keeper on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.