with one click
happier-github-ops
// Run GitHub CLI commands as the Happier bot account via `yarn ghops` (forced PAT auth + non-interactive).
// Run GitHub CLI commands as the Happier bot account via `yarn ghops` (forced PAT auth + non-interactive).
| name | happier-github-ops |
| description | Run GitHub CLI commands as the Happier bot account via `yarn ghops` (forced PAT auth + non-interactive). |
gh wrapper)This repo provides yarn ghops as a thin wrapper around the GitHub CLI (gh) that forces authentication via the bot Personal Access Token.
gh is installed on the host and reachable on PATH.HAPPIER_GITHUB_BOT_TOKEN is set to the bot's fine-grained PAT.yarn ghops ... refuses to run if HAPPIER_GITHUB_BOT_TOKEN is missing.GH_PROMPT_DISABLED=1).GH_CONFIG_DIR by default.When creating/updating public issues, keep it useful but minimal:
Suggested comment format for progress updates:
Verify identity (must be the bot user):
yarn ghops api user
Canonical public roadmap project:
happier-dev1https://github.com/orgs/happier-dev/projects/1These labels are intended to keep the public roadmap curated and consistent:
roadmap (triage-owned): include this item on the public roadmap projectpriority:p0, priority:p1, priority:p2, priority:p3 (triage-owned)stage:not-shipped, stage:experimental, stage:beta, stage:ga (optional; rollout state)type: bug, type: feature, type: task (recommended)source: bug-report (applied automatically by the bug-report service)When asked to โcreate an issue and put it on the roadmap with P0โ, do:
roadmap and priority:p0 (and a type:* label)When you create or meaningfully update an issue/PR, ensure itโs visible on the roadmap:
roadmap label is present).yarn ghops project item-add 1 --owner happier-dev --url https://github.com/happier-dev/happier/issues/123
Create an issue (repo explicit is recommended):
yarn ghops issue create -R happier-dev/happier --title "..." --body "..." --label "type: bug"
For CLI-created issues, format the body like the templates:
For scripting / machine-readable output, prefer gh api:
yarn ghops api repos/happier-dev/happier/issues \
-f title="..." \
-f body="..." \
--jq '{number: .number, url: .html_url}'
Comment on an issue:
yarn ghops api repos/happier-dev/happier/issues/123/comments -f body="Update: ..."
Apply labels (example):
yarn ghops api repos/happier-dev/happier/issues/123/labels -f labels[]="roadmap" -f labels[]="priority:p0"
Prefer short, descriptive titles without noisy prefixes:
Sessions flicker online/inactiveCLI: doctor fails when daemon is stoppedP0: ... (priority belongs in the project/labels, not the title)[Bug][iOS][P0] ...Add an issue/PR to the org project (Project v2):
yarn ghops project item-add 1 --owner happier-dev --url https://github.com/happier-dev/happier/issues/123
List project fields/items (JSON):
yarn ghops project field-list 1 --owner happier-dev --format json
yarn ghops project item-list 1 --owner happier-dev --format json
Author, update, validate, and publish-ready Happier release-note story decks. Use when creating curated release notes, analyzing commits/diffs/tags to discover user-facing changes, brainstorming detailed and short release notes, adding story-deck cards, adding release-note images/videos/posters, validating translation keys and asset references, preparing happier-assets upload inputs, or updating onboarding showcase story content.
Promote a Happier release only after validation and human review approval. Runs release dry-run first, requires explicit human approval for external side effects, then executes preview or production promotion through the repo release orchestrator.
Review a completed Happier release-validation worktree before any preview promotion. Audits validation fixes, diffs, evidence, lane completion, unresolved risks, and dry-run output. Read-only by default and never releases.
Run a local-first Happier release validation cycle for a candidate version before preview promotion. Creates a validation worktree and ignored tracking workspace, orchestrates parallel checks, deep manual QA on Lima/macOS/Windows, root-cause fixes, evidence capture, independent reviews, and a final dry-run. This skill never promotes or releases.
Diagnose a problem with a Happier session, the daemon, a provider (Claude/Codex/OpenCode), auth, or connectivity. Pulls the correct logs, finds a true root cause from evidence only, presents findings, and optionally uploads a private diagnostics bundle to Happier developers and/or files a sanitized public GitHub issue (the two are complementary). Use when the user reports a bug, says Happier is broken/stuck/misbehaving, asks to debug/diagnose/triage/troubleshoot Happier, or shares a Happier session ID and asks what went wrong.
Repo-specific TDD and test-validation workflow for Happier changes, with lane selection, fixture policy, and anti-flake guardrails.