Quick Wins — find AI-friendly issues to knock out
SkillProductivitySurface and triage local issues that are safe and quick for an AI to implement and easy for a human to verify. Use when the user wants to "knock out issues", asks for "quick wins", "low-hanging fruit", "what's easy to do right now", or wants a batch of small tasks to work through in one session.
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the Quick Wins — find AI-friendly issues to knock out skill
What this skill tells your AI
The instructions your AI receives, as published by bonny/wordpress-simple-history in .claude/skills/quick-wins/SKILL.md and read by ahel’s review.
Use this skill when the user wants to power through a batch of small issues. The goal is to identify issues where:
- The spec is already done — root cause, file paths, or implementation hints are in the issue body
- The blast radius is small — touches one logger / one command / one screen, not architecture
- A human can verify in <2 minutes — clear "do X, see Y" check
- Failure mode is obvious — if it breaks, you'll see it immediately (not a slow data corruption)
Workflow
Step 1 — list candidate issues
Pull all 2-todo issues with their size/complexity. project: website issues are left out: that work happens on simple-history.com, not in this repo.
obsidian base:query vault=nvALT path="Simple History issues.base" view="Everything" format=json \
| jq '[.[] | select(.status == "2-todo" and .meta != "true" and .Project != "website") | {name, prio, type, size, complexity}]'
Filenames also act as a length proxy (longer file = more spec written down):
ls -S "/Users/bonny/Documents/nvALT/Simple History/issues/" | head -30
# Or sort by line count:
wc -l "/Users/bonny/Documents/nvALT/Simple History/issues/"*.md | sort -n
Very short issues (<25 lines) are usually stubs without enough context — skip them unless the title alone is enough. Very long issues are often well-spec'd but may have grown in scope — read carefully.
Step 2 — score each candidate
Read the body and rate against these signals. Don't invent scores; just check off what's true.
Green flags (more = better)
- 🟢 Issue body names a specific file + line for the fix (e.g. "
class-post-logger.php:654, add ...") - 🟢 Has a
> [!agent]decision block — means the design has already been debated - 🟢 Marked
size: 1-smallorcomplexity: patch - 🟢 Type is
bugwith reproducible steps - 🟢 Verification is "run X, see Y" — no test data, no special account, no third-party service
- 🟢 Single-file or single-method change
Red flags (any one is usually disqualifying)
- 🔴 Touches the database schema or runs
ALTER TABLEon existing data - 🔴 Modifies billing, license validation, or update server logic
- 🔴 Crosses core ↔ premium boundary (without clear interface)
- 🔴 Type is
featureand the body is a stub (<25 lines, no implementation hints) - 🔴 Verification needs WooCommerce + a real order + a real product (unless WC is set up locally)
- 🔴 Status is
4-needs-decisionor5-needs-investigation— by definition not ready - 🔴 Networks/multisite changes without a network test environment
- 🔴 UI redesigns (subjective taste calls — save for human-led work)
Step 3 — present a tiered list
Group findings into three tiers and present to the user. Don't pick — let the user choose what to work on.
🟢 Tier 1 — Spec is done, just implement
- <Issue name> — one-line summary of fix + verification step
...
🟡 Tier 2 — Clear scope, slightly larger
- <Issue name> — ...
🔴 Skip for now (with reason)
- <Issue name> — too risky / underspecified / needs decision
Step 4 — once user picks one
Follow the normal local-issues workflow:
obsidian property:set ... status=1-in-progress- Implement the change
- Verify by running the steps in the issue
- Run linters and relevant tests
- Commit (per
git-commitsskill) obsidian property:set ... status=8-doneandreview=pending- Append a
> [!agent]block summarising what changed and how the user can verify
If the user says "do them all" or "knock them out", work through one at a time, marking each done before starting the next. Do not batch into a single commit — one issue, one commit, so review can happen per-issue.
Anti-patterns — DON'T
- ❌ Don't promote an issue to Tier 1 just because it's small. "Small + underspecified" still means hidden decisions.
- ❌ Don't treat
size: 1-smallas the only signal — read the body. - ❌ Don't pick issues with
status: 4-needs-decisionor5-needs-investigation— they're parked for a reason. - ❌ Don't pick UX/redesign work without an explicit
> [!agent]decision in the body. - ❌ Don't assume an issue is fresh — check if there's already an
agentnote saying it's partly done.
Notes on common issue types in this repo
- WP-CLI bugs (e.g. things-not-logged-from-CLI) → usually a missing
WP_CLIexception alongside theREST_REQUEST/XMLRPC_REQUESTchecks. Easy to verify withwpcommands. - Logger improvements (extra context fields like SKU/ID) → see the
create-loggerandlogger-messagesskills. Verify via the populate-log skill or by doing the action and reading the event details. - License/constant features (premium) → small, isolated changes in the licensing code. Verify by
define()-ing the constant and reloading the settings screen. - WooCommerce features → only safe if WC is installed locally and you can hit the action. If not, mark blocked and move on.
Signals
- GitHub stars
- 317
- Forks
- 74
- Last commit
- Sep 2026
Advanced
- Catalog kind
- skill
- Gateway key
quick-wins- Source
- github.com/bonny/wordpress-simple-history