Skip to content
Skills Library
Programming · Automation

git-workflow

/git-workflow

Sets up and changes this team's git workflow rules in .paqad/configs/git-workflow/ (ticket sources and key patterns, branch types and naming, base branches, commit message format, PR title, body, labels and reviewers, ticket status moves, and how strictly agents and people are held to them) through scripts that read git and gh, propose with evidence, validate and write, and it records every answer as a decision. Use when create documentation reaches its git workflow step, when a new project needs its starter rules, and whenever someone asks to change how branches, commits, PRs or tickets work,

Repository
paqad-ai ↗
Licence
MIT
Last repository change
12.11.2026

Assessment and security

100/ 100Class: good
Format25 / 25
Frontmatter with name and description, valid name, description up to 1,024 characters, name matching the folder.
Discoverability25 / 25
Description explains when to use the skill, has a reasonable length and uses third person.
Content35 / 35
At least 150 words and at most 500 lines, headings, step lists, examples or code.
Hygiene15 / 15
No placeholders such as TODO, no Windows paths, with a licence.
Riskno signals detected in the scan
Files in this package
14
Scripts
4
HTML comments
0
URLs in SKILL.md
0
Deprecation

No signals detected. Repository changed on 12.11.2026, without references to retired models or APIs.

Licence

MIT, open: use and modify while retaining author attribution.

What to check before installing
  • 4 scripts in this package. Review them before installing, as Claude may execute them.

Scripts: scripts/apply.mjs, scripts/change.mjs, scripts/check.mjs, scripts/propose.mjs

What it does and when to use it

Sets up and changes this team's git workflow rules in .paqad/configs/git-workflow/ (ticket sources and key patterns, branch types and naming, base branches, commit message format, PR title, body, labels and reviewers, ticket status moves, and how strictly agents and people are held to them) through scripts that read git and gh, propose with evidence, validate and write, and it records every answer as a decision. Use when create documentation reaches its git workflow step, when a new project needs its starter rules, and whenever someone asks to change how branches, commits, PRs or tickets work,

Original author description

Sets up and changes this team's git workflow rules in .paqad/configs/git-workflow/ (ticket sources and key patterns, branch types and naming, base branches, commit message format, PR title, body, labels and reviewers, ticket status moves, and how strictly agents and people are held to them) through scripts that read git and gh, propose with evidence, validate and write, and it records every answer as a decision. Use when create documentation reaches its git workflow step, when a new project needs its starter rules, and whenever someone asks to change how branches, commits, PRs or tickets work,

How it works

  1. Rules
  2. What It Does
  3. Use This When
  4. Inputs
  5. Procedure
  6. Output Contract
  7. Escalate / Stop Conditions
  8. Gotchas
  9. Resources
Original SKILL.md headings · 105 lines, 989 words
SKILL.md preview
---
name: git-workflow
description: Sets up and changes this team's git workflow rules in .paqad/configs/git-workflow/ (ticket sources and key patterns, branch types and naming, base branches, commit message format, PR title, body, labels and reviewers, ticket status moves, and how strictly agents and people are held to them) through scripts that read git and gh, propose with evidence, validate and write, and it records every answer as a decision. Use when create documentation reaches its git workflow step, when a new project needs its starter rules, and whenever someone asks to change how branches, commits, PRs or tickets work, even if they don't mention the config. It is the only way these files change.
metadata:
  model_tier: medium
  cacheable: 'false'
  output_format: markdown
  max_lines: '300'
  paqad-meta: skill.meta.yaml
---

## Rules

- Change .paqad/configs/git-workflow/ only through this skill's scripts. Never edit those files with Edit, Write or a shell command: paqad blocks direct edits, and a change that skips the scripts is never checked or recorded.
- Base every proposal on what the scripts found. When history is mixed, ask the team; don't pick for them. When something can't be read, say it's unknown, never that it doesn't exist.
- Record every answer as a decision, so the team can see later why each rule exists.

## What It Does

One skill is in charge of `.paqad/configs/git-workflow/`, the six files that hold this
team's rules for tickets, branches, commits, pull requests and how strictly they're
checked (`tickets.yaml`, `branches.yaml`, `commits.yaml`, `pull-requests.yaml`,
`enforcement.yaml`, `design-sign-off.yaml`). It handles three cases:

- **first setup** from the repo's history, during `create documentation`
- **a new project** with no history
- **any later change** the team asks for

The scripts read git and `gh`, propose with evidence, validate and write. Your job is
only to ask the team and explain.

## Use This When

- `create documentation` reaches its git workflow step (first setup).
- The repo has no remote, fewer than 20 main-line commits, or no branches besides the
  base (the scripts report `mode: new-project`).
- Someone asks to change how branches are named, where changes start, how commits or
  PR titles are written, which labels or reviewers a PR gets, which tickets a change
  links, how ticket statuses move, or how strictly any of that is checked. This applies
  whatever workflow the request routed to, and even when the request doesn't mention
  the config.

## Inputs

- `project_root` (path, optional): defaults to cwd.
- `flow` (string, optional): `first-setup`, `new-project` or `change`. Picked from the
  request when not given.

## Procedure

Every script prints JSON on stdout, never prompts, and exits 0 on success, 1 on invalid
input or config, and 2 when git or `gh` failed.

### First setup

- [ ] 1. Run `scripts/check.mjs`. If it reports errors or `changed_outside`, show them and stop until the team says how to handle them.
- [ ] 2. Run `scripts/propose.mjs`. If `mode` is `new-project`, switch to the new-project procedure.
- [ ] 3. Show the team a short summary: one line for each evidence item that decided a value, plus every `unknown` line.
- [ ] 4. Ask every `choice` in one round with your host's question tool. Use up to 4 questions per call, back to back. Put the recommended option first, and put the evidence counts and examples in each option's preview.
- [ ] 5. For each answered choice, record a decision:
  - `paqad-ai decision create --category workflow-or-tool --title "<question>" --context "<evidence lines>" --option <id>=<label> ... --recommendation <recommended>`
  - then `paqad-ai decision resolve <id> <chosen> "<the team's reason>"`
- [ ] 6. Write the answers to a temporary `answers.json` outside the repo, starting from `assets/answers.template.json`. Run `scripts/apply.mjs <answers.json> --overwrite --dry-run` and show the diff. Then run it again without `--dry-run`.
- [ ] 7. Report using `assets/final-message.txt`: the files written, each choice and its answer, anything `not confirmed`, and the `unknown` lines. The files and the resolved decisions ship with the documentation change.

### New project

The same steps 1 to 7. `propose` returns the starter questions from
`references/questions.md` as its choices, and the package defaults as its files. Never
propose a long-lived `develop` branch for a new project.

### Change

- [ ] 1. Run `scripts/check.mjs`. The same rule as step 1 above applies.
- [ ] 2. Turn the request into `change.json` edits, starting from `assets/change.template.json`. Use only settings listed in `references/settings.md`. If the request is unclear, ask one question first.
- [ ] 3. Run `scripts/change.mjs --plan <change.json>`. Explain the diff in plain words, for example: "Hotfix branches will start from main and use ServiceNow tickets."
- [ ] 4. Ask the team to confirm with your host's question tool. Record the answer as a decision, as in step 5 above.
- [ ] 5. Run `scripts/change.mjs --apply <change.json>`.
- [ ] 6. Ship it like any change, so the team reviews it as a PR: `paqad-ai deliver` on its own branch, with the resolved decision committed. Use the branch type `chore` if the team has one; otherwise its `default_type`.

In `change.json`, `value: null` removes a branch type or a ticket source. It is an error
for any other key, because settings are never removed.

## Output Contract

- The six files under `.paqad/configs/git-workflow/`, valid, written only by the
  scripts, and stamped in `.paqad/configs/git-workflow/.last-applied.json`.
- One resolved decision per answered choice.
- A final message in the shape of `assets/final-message.txt`.

## Escalate / Stop Conditions

- the result is invalid
- the team declines
- a script exits 2 (git or `gh` failed): report the error and stop, don't guess

## Gotchas

- The scripts are thin wrappers around `paqad-ai git-workflow`. When `paqad-ai` isn't on the PATH they try `npx --no-install paqad-ai`, and they exit 2 if neither starts. Report that; don't fall back to editing the files.
- `check` reports a file someone edited by hand in `changed_outside`. Never accept it with `--accept` on your own; ask the team first, because accepting makes that edit the new baseline.
- `apply.mjs` refuses to replace existing files without `--overwrite`. Always look at the `--dry-run` diff first.
- A `null` value in `change.json` only removes a branch type or a ticket source. Any other key can't be removed, so change it to the value the team wants instead.

## Resources

- `scripts/check.mjs`: `paqad-ai git-workflow check [--accept]`
- `scripts/propose.mjs`: `paqad-ai git-workflow setup`
- `scripts/apply.mjs`: `paqad-ai git-workflow setup --apply <answers.json> [--overwrite] [--dry-run]`
- `scripts/change.mjs`: `paqad-ai git-workflow change --plan|--apply <change.json>`
- `references/settings.md`: every setting, with its file, key, type, default and meaning
- `references/signals.md`: what each history signal means, and the thresholds
- `references/questions.md`: the starter questions for a new project
- `references/summaries.md`: how to write a plain-language summary
- `assets/answers.template.json`, `assets/change.template.json`, `assets/final-message.txt`
Files in this package (14)
  • SKILL.md 7 KB
  • skill.meta.yaml 1 KB
  • agents/openai.yaml 1 KB
  • assets/answers.template.json 1 KB
  • assets/change.template.json 1 KB
  • assets/final-message.txt 1 KB
  • references/questions.md 2 KB
  • references/settings.md 14 KB
  • references/signals.md 3 KB
  • references/summaries.md 1 KB
  • scripts/apply.mjs 2 KB
  • scripts/change.mjs 2 KB
  • scripts/check.mjs 2 KB
  • scripts/propose.mjs 2 KB

Versions

RepositoryScoreLicence
This page · eliyce/paqad-ai100MIT
event4u-app/agent-config100MIT
lee-w/maigo100MIT
hakula139/plugins100MIT
ericrisco/rsc-harness100MIT
Sanit-mann/The-Insectoids100MIT
langfuse/langfuse100MIT
Muvon/octomind-tap100Apache-2.0
aws-solutions/konductor100Apache-2.0

Database snapshot: 13.11.2026 · package version 68ab0f95544a (SHA-256 digest of the entire package)

Downloads in the last 30 days: 0 · ranking

Report a problem with this skill: harmful content, incorrect descriptions or an author’s removal request.

Similar skills

  • 100git-flow
    Git branching, commit, and PR procedures. Use when creating branches, making commits, or opening pull requests. Enforces branch naming, commit message format, and PR rules.
  • 100git-practices
    Git conventions for branches, commits, and pull requests. Load this skill whenever creating branches, writing commit messages, or opening PRs. Trigger on any git workflow operation — commits, branches, pull requests, or merge operations.
  • 100git-commit
    Guide for creating git commits in this repository: conventional commit format, allowed types, and branch naming conventions. Use when staging changes and writing a commit message, creating a branch, or naming a branch. Trigger on: "commit", "create a commit", "git commit",…
  • 100git-commit-and-workflow
    Git commit, branch and pull request best practices using Conventional Commits. Use whenever creating commits, naming branches, preparing pull requests, writing commit messages, or when asked to commit, push, merge or release code.
  • 100checkout-branch
    Create and validate Git branch names following this codebase's Conventional Commits naming convention. Use this skill when creating branches, renaming branches, or when asked about branch naming rules and validation.
  • 96use-git-conventions
    Use when repository Git conventions are configured or when branches, commits, pull requests, or issues are created or validated.

Feedback and reports

Your message goes to Bartosz Sokoliński. An email address is needed only for a reply. See the privacy policy.