Skip to content

feat: add ops-* skill family for managing work in a GitHub repo#26

Draft
stuffbucket wants to merge 1 commit into
mainfrom
feat/ops-skills
Draft

feat: add ops-* skill family for managing work in a GitHub repo#26
stuffbucket wants to merge 1 commit into
mainfrom
feat/ops-skills

Conversation

@stuffbucket

Copy link
Copy Markdown
Owner

What

Adds a new ops-* skill family for managing a body of work in a GitHub repo, following the repo's *-ops best practices. The family encodes a repeatable method: investigate → decompose → hygiene → automate.

Skill Role
ops-workflow Umbrella / semantic index. A dispatcher that routes you to the next ops-* sub-skill to load via the skill-router — it names the skill and the order, it does not perform the steps itself.
ops-investigate Step 1 — read-only scout-then-fan-out investigation with file:path:line-cited findings, plus cross-source verification and a provenance block (first-party vs. inferred).
ops-issue-decomposition Step 2 — turn findings into focused child issues under one tracking epic, with fixed body templates (assets/) and explicit dependency/conflict sequencing.
ops-github-hygiene Step 3 — the gate before any outward GitHub action: gh identity guard (scripts/gh-identity-guard.sh), label routing (needs-bot vs needs-triage), Conventional-Commit titling, commit-message hygiene.
ops-automation Step 4 — build deterministic, no-LLM ops automation (drift watchers / scheduled jobs) that files idempotent labelled issues instead of opening PRs, keeps ops tooling out of product CI, and never puts product secrets in CI. Includes parallel-agent git/worktree hygiene.

Each skill cross-references its siblings by name (loaded on demand via the skill-router) and defers generic git mechanics to the existing git-workflow-skill rather than duplicating it.

Why

Distilled from a real session that decomposed a multi-workstream investigation into a tracking epic plus child issues. The ops-issue-decomposition templates mirror the shapes proven on those issues. The goal is to make that "investigate, verify against authoritative sources, decompose, sequence, ship cleanly" method reusable.

Validation

npm run ci passes locally: lint (markdownlint + eslint + schema), validate (all skills), check:versions, test (145 structure + 6 MCP-launch), and check:llms / check:readme (regenerated README.md and llms.txt are up to date). Frontmatter uses only the allowed closed key set; each name matches its directory; bodies are well under the 500-line limit.

Type of change

  • New skill(s)

Skills are auto-discovered — no manual marketplace registration. Opened as a draft for review.

Adds ops-workflow (semantic index/dispatcher), ops-investigate, ops-issue-decomposition, ops-github-hygiene, and ops-automation. Encodes an investigate -> decompose -> hygiene -> automate method with fixed child-issue/epic templates, a gh identity guard, and deterministic issue-only automation guidance. Regenerates README.md and llms.txt.
@github-actions

Copy link
Copy Markdown
Contributor

✅ Skill Validation Report

New skill(s): ops-automation, ops-github-hygiene, ops-investigate, ops-issue-decomposition, ops-workflow

Validation

> @stuffbucket/skills@0.2.18 validate
> python3 plugins/stuffbucket/skills/skill-creator/scripts/quick_validate.py --all plugins/stuffbucket/skills

  [PASS] azure-cli-setup: Skill is valid!
  [PASS] boundary: Skill is valid!
  [PASS] boundary-domain-closure: Skill is valid!
  [PASS] boundary-drift-detection: Skill is valid!
  [PASS] boundary-generation-control: Skill is valid!
  [PASS] boundary-noise-model: Skill is valid!
  [PASS] boundary-scope-escape: Skill is valid!
  [PASS] boundary-seed-encoding: Skill is valid!
  [PASS] code-analysis-skill: Skill is valid!
  [PASS] code-review-cycle: Skill is valid!
  [PASS] colima-docker-setup: Skill is valid!
  [PASS] design: Skill is valid!
  [PASS] design-adapt: Skill is valid!
  [PASS] design-animate: Skill is valid!
  [PASS] design-arrange: Skill is valid!
  [PASS] design-audit: Skill is valid!
  [PASS] design-bolder: Skill is valid!
  [PASS] design-check: Skill is valid!
  [PASS] design-clarify: Skill is valid!
  [PASS] design-colorize: Skill is valid!
  [PASS] design-context: Skill is valid!
  [PASS] design-critique: Skill is valid!
  [PASS] design-delight: Skill is valid!
  [PASS] design-distill: Skill is valid!
  [PASS] design-extract: Skill is valid!
  [PASS] design-frontend: Skill is valid!
  [PASS] design-harden: Skill is valid!
  [PASS] design-normalize: Skill is valid!
  [PASS] design-onboard: Skill is valid!
  [PASS] design-optimize: Skill is valid!
  [PASS] design-overdrive: Skill is valid!
  [PASS] design-polish: Skill is valid!
  [PASS] design-quieter: Skill is valid!
  [PASS] design-typeset: Skill is valid!
  [PASS] design-typography-rules: Skill is valid!
  [PASS] example-skill: Skill is valid!
  [PASS] figma-make-to-vite: Skill is valid!
  [PASS] file-management-skill: Skill is valid!
  [PASS] ghostty-config: Skill is valid!
  [PASS] git-workflow-skill: Skill is valid!
  [PASS] npm-trusted-publishing: Skill is valid!
  [PASS] ops-automation: Skill is valid!
  [PASS] ops-github-hygiene: Skill is valid!
  [PASS] ops-investigate: Skill is valid!
  [PASS] ops-issue-decomposition: Skill is valid!
  [PASS] ops-workflow: Skill is valid!
  [PASS] pages: Skill is valid!
  [PASS] pages-build-vite: Skill is valid!
  [PASS] pages-commit-vite: Skill is valid!
  [PASS] pages-prepare-vite: Skill is valid!
  [PASS] pages-publish-vite: Skill is valid!
  [PASS] pages-push-vite: Skill is valid!
  [PASS] react: Skill is valid!
  [PASS] react-best-practices: Skill is valid!
  [PASS] react-composition: Skill is valid!
  [PASS] skill-creator: Skill is valid!
  [PASS] skill-eval-loop: Skill is valid!
  [PASS] skill-router: Skill is valid!
  [PASS] tauri: Skill is valid!
  [PASS] tauri-architecture: Skill is valid!
  [PASS] tauri-architecture-ipc-internals: Skill is valid!
  [PASS] tauri-architecture-isolation-pattern: Skill is valid!
  [PASS] tauri-architecture-size-optimization: Skill is valid!
  [PASS] tauri-bundling: Skill is valid!
  [PASS] tauri-bundling-github-actions: Skill is valid!
  [PASS] tauri-bundling-linux-packaging: Skill is valid!
  [PASS] tauri-bundling-macos-signing: Skill is valid!
  [PASS] tauri-bundling-mobile-stores: Skill is valid!
  [PASS] tauri-bundling-windows-signing: Skill is valid!
  [PASS] tauri-commands: Skill is valid!
  [PASS] tauri-commands-async-patterns: Skill is valid!
  [PASS] tauri-commands-error-handling: Skill is valid!
  [PASS] tauri-commands-state-injection: Skill is valid!
  [PASS] tauri-debug-test: Skill is valid!
  [PASS] tauri-debug-test-devtools-production: Skill is valid!
  [PASS] tauri-debug-test-mock-ipc: Skill is valid!
  [PASS] tauri-debug-test-webdriver-e2e: Skill is valid!
  [PASS] tauri-events: Skill is valid!
  [PASS] tauri-events-channels-streaming: Skill is valid!
  [PASS] tauri-events-targeted-emit: Skill is valid!
  [PASS] tauri-plugin-dev: Skill is valid!
  [PASS] tauri-plugin-dev-guest-js: Skill is valid!
  [PASS] tauri-plugin-dev-mobile-bridges: Skill is valid!
  [PASS] tauri-plugin-dev-permissions-manifest: Skill is valid!
  [PASS] tauri-plugins: Skill is valid!
  [PASS] tauri-plugins-deep-link: Skill is valid!
  [PASS] tauri-plugins-dialog: Skill is valid!
  [PASS] tauri-plugins-fs: Skill is valid!
  [PASS] tauri-plugins-http: Skill is valid!
  [PASS] tauri-plugins-notification: Skill is valid!
  [PASS] tauri-plugins-shell: Skill is valid!
  [PASS] tauri-plugins-sql: Skill is valid!
  [PASS] tauri-plugins-store: Skill is valid!
  [PASS] tauri-security: Skill is valid!
  [PASS] tauri-security-asset-protocol: Skill is valid!
  [PASS] tauri-security-capabilities-authoring: Skill is valid!
  [PASS] tauri-security-csp: Skill is valid!
  [PASS] tauri-security-scopes: Skill is valid!
  [PASS] tauri-setup: Skill is valid!
  [PASS] tauri-setup-prerequisites: Skill is valid!
  [PASS] tauri-setup-scaffolding: Skill is valid!
  [PASS] tauri-setup-v1v2: Skill is valid!
  [PASS] tauri-setup-vite: Skill is valid!
  [PASS] tauri-sidecar: Skill is valid!
  [PASS] tauri-sidecar-lifecycle: Skill is valid!
  [PASS] tauri-sidecar-node-sidecar: Skill is valid!
  [PASS] tauri-sidecar-target-triples: Skill is valid!
  [PASS] tauri-tray-menu: Skill is valid!
  [PASS] tauri-tray-menu-bar-app: Skill is valid!
  [PASS] tauri-tray-menu-context-menus: Skill is valid!
  [PASS] tauri-tray-menu-dynamic-updates: Skill is valid!
  [PASS] tauri-updater: Skill is valid!
  [PASS] tauri-updater-github-releases: Skill is valid!
  [PASS] tauri-updater-install-flow: Skill is valid!
  [PASS] tauri-updater-signing-keys: Skill is valid!
  [PASS] tauri-windows: Skill is valid!
  [PASS] tauri-windows-custom-titlebar: Skill is valid!
  [PASS] tauri-windows-multi-window: Skill is valid!
  [PASS] tauri-windows-splashscreen: Skill is valid!
  [PASS] tauri-windows-transparency-vibrancy: Skill is valid!
  [PASS] testing-skill: Skill is valid!
  [PASS] update-skills: Skill is valid!

Validated 122 skill(s): all passed

Index build: ✅ passed

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant