.agents/skills/gh-issue-writer/SKILL.md
Create and publish GitHub issues with full project board integration. Use when the user wants to create a feature request (feat:), bug report (bug:), or any tracked issue from a PR or description. Handles issue creation, project board association, status setting, and development branch checkout. Also use when the user says "create an issue", "write an issue for this PR", "track this work", or provides a PR URL to turn into an issue.
npx skillsauth add microboxlabs/modulariot gh-issue-writerInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Create GitHub issues with project board integration and development branch setup.
gh issue createDetermine issue type from prefix or context:
feat: → label enhancementbug: → label buggh pr view <url> --json title,body,labels and derive type + descriptionExtract a concise title and body from the user input or PR.
Load config and publish:
source .env.local
gh issue create \
--repo "$GH_ISSUE_REPO" \
--title "<title>" \
--body "<body>" \
--label "<labels>"
Capture the issue number from the output.
source .env.local
ITEM_ID=$(gh project item-add "$GH_PROJECT_NUMBER" \
--owner "$GH_PROJECT_OWNER" \
--url "https://github.com/$GH_ISSUE_REPO/issues/<ISSUE_NUMBER>" \
--format json | jq -r '.id')
source .env.local
# If files are already modified locally → "In Progress"
gh project item-edit \
--project-id "$GH_PROJECT_ID" \
--id "$ITEM_ID" \
--field-id "$GH_STATUS_FIELD_ID" \
--single-select-option-id "$GH_STATUS_IN_PROGRESS"
# Otherwise → "Ready for Development"
gh project item-edit \
--project-id "$GH_PROJECT_ID" \
--id "$ITEM_ID" \
--field-id "$GH_STATUS_FIELD_ID" \
--single-select-option-id "$GH_STATUS_READY_FOR_DEV"
source .env.local
gh issue develop <ISSUE_NUMBER> \
--repo "$GH_ISSUE_REPO" \
--branch-repo "$GH_ISSUE_REPO" \
--base trunk \
--name "based/<ISSUE_NUMBER>-<short-name>" \
--checkout
Branch naming: based/<issue-number>-<3-4-word-slug>
If --checkout fails due to local changes:
git fetch origin && git checkout "based/<ISSUE_NUMBER>-<short-name>"
All values are read from .env.local (not committed to git):
| Variable | Example | Purpose |
|---|---|---|
| GH_PROJECT_OWNER | microboxlabs | Org or user |
| GH_ISSUE_REPO | microboxlabs/modulariot | Target repo |
| GH_PROJECT_NUMBER | 4 | Project board number |
| GH_PROJECT_ID | PVT_... | Project node ID |
| GH_STATUS_FIELD_ID | PVTSSF_... | Status field ID |
| GH_STATUS_BACKLOG | option ID | Backlog status |
| GH_STATUS_READY_FOR_DEV | option ID | Ready for Dev status |
| GH_STATUS_IN_PROGRESS | option ID | In Progress status |
| GH_STATUS_IN_REVIEW | option ID | In Review status |
| GH_STATUS_DONE | option ID | Done status |
To discover these values:
source .env.local
gh project list --owner "$GH_PROJECT_OWNER" --format json | jq '.projects[] | select(.number == <N>)'
gh project field-list <N> --owner "$GH_PROJECT_OWNER" --format json
tools
Query and manage ModularIoT Calendar services via the miot CLI. List calendars, check slot availability, create bookings, manage time windows, and run slot managers. Use when the user asks about schedules, appointments, bookings, availability, calendar configuration, time slots, capacity, or calendar services in their ModularIoT organization.
tools
Propagate OpenAPI spec changes through all three layers: (1) the hand-authored TypeScript client package — types, resource methods, tests, version bump; (2) the CLI package — commands, flags, table columns, tests, version bump; (3) the agent skill — SKILL.md workflows, business rules, and reference.md sections. Use when the user says the openapi.json has changed and needs to be reflected end-to-end. Triggers on phrases like "update the client from the new openapi", "sync the client with the API spec", "implement the api changes in the client", "the openapi.json changed, update the client package", "propagate the API changes", or "update all layers from the spec".
tools
Guide for creating effective skills. This skill should be used when users want to create a new skill (or update an existing skill) that extends Claude's capabilities with specialized knowledge, workflows, or tool integrations.
tools
Tag and release a monorepo package following the project's scoped-tag convention. Use when the user wants to publish a new version of a package, create a release tag, or bump a package version.