Przejdź do treści
Biblioteka skilli
Programowanie · Automatyzacja

task

/task

Prowadzi zgłoszenie Jira od specyfikacji po merge request, z bramkami zatwierdzenia, przeglądem w innym modelu i weryfikacją.

Licencja
MIT
Ostatnia zmiana repozytorium
03.11.2026

Ocena i bezpieczeństwo

100/ 100Klasa: dobry
Format25 / 25
Frontmatter z nazwą i opisem, poprawna nazwa, opis do 1024 znaków, nazwa zgodna z folderem.
Odkrywalność25 / 25
Opis mówi, kiedy użyć skilla, ma sensowną długość i jest w 3. osobie.
Treść35 / 35
Co najmniej 150 słów i do 500 linii, nagłówki, listy kroków, przykłady albo kod.
Higiena15 / 15
Bez zaślepek typu TODO, bez ścieżek Windows, z licencją.
Ryzykobrak sygnałów w skanie
Pliki w paczce
1
Skrypty
0
Komentarze HTML
0
Adresy URL w SKILL.md
0
Przestarzałość

Brak sygnałów. Repozytorium zmienione 03.11.2026, bez odwołań do wycofanych modeli i API.

Licencja

MIT, otwarta: można używać i zmieniać, z zachowaniem informacji o autorze.

Co robi i kiedy

Prowadzi zgłoszenie Jira od specyfikacji po merge request, z bramkami zatwierdzenia, przeglądem w innym modelu i weryfikacją.

Oryginalny opis (EN)

End-to-end delivery pipeline driven by a Jira issue key. Use when the user runs `/delivery:task <KEY>` or asks to take an issue from Jira to a merge request. Orchestrates other skills with three human gates — read the issue into a spec file → plan (GATE: approval) → implement → tests → cross-model review loop with Codex → polish → commit (GATE: one question «Open the MR?») → docs → push / MR → verify a bot's AI review of the MR and fix only confirmed findings → retrospective (GATE: «Run a retro?»).

Jak działa

  1. Preconditions (check first, stop clearly on failure)
  2. Step 1 — Read the issue
  3. Step 2 — Plan ⛔ GATE 1
  4. Step 3 — Implement
  5. Step 4 — Tests
  6. Step 5 — Cross-model review
  7. Step 6 — Review ↔ fix loop
  8. Step 7 — Polish
  9. Step 8 — Commit ⛔ GATE 2
  10. Step 9 — Docs
Sekcje z nagłówków SKILL.md, w oryginale · 171 linii, 1 592 słów
Podgląd SKILL.md
---
name: task
description: End-to-end delivery pipeline driven by a Jira issue key. Use when the user runs `/delivery:task <KEY>` or asks to take an issue from Jira to a merge request. Orchestrates other skills with three human gates — read the issue into a spec file → plan (GATE: approval) → implement → tests → cross-model review loop with Codex → polish → commit (GATE: one question «Open the MR?») → docs → push / MR → verify a bot's AI review of the MR and fix only confirmed findings → retrospective (GATE: «Run a retro?»).
---

# task — from Jira issue to merge request

A thin ORCHESTRATOR. Each stage is done by another skill or agent of this plugin; this
file only orders them and holds the human gates. Invoked as `/delivery:task <KEY>`.

Project settings come from `<git root>/.claude/delivery.json` (see the plugin's
`docs/configuration.md`); project rules from the project's `CLAUDE.md` and Claude's
memory for the project. Where this file says «the base», it means the branch printed by
`python3 <plugin root>/lib/delivery.py base`. `<plugin root>` is two levels above this
skill's base directory, which Claude Code shows when the skill loads.

## Preconditions (check first, stop clearly on failure)

1. We are inside a git repository (`git rev-parse --show-toplevel` succeeds).
2. A key was given (in the command or in the current branch name).
3. Never go past a stage whose dependency is missing (Jira access for step 1, Codex for
   step 5 — those skills check it themselves).

## Step 1 — Read the issue

Run the **`ticket-reader`** agent of this plugin (Agent tool, `subagent_type:
"delivery:ticket-reader"`) with `<KEY>` and anything the user wrote alongside the
command. It follows the `jira-reader` skill, writes `<git root>/.tracker/<KEY>.md` and
returns the path, the open questions and anything it could not read.

It is an agent so that the raw thread, Confluence pages and attachments stay in its
context: this session implements from the file. Wait for its result — nothing below
starts without the file. If it wrote nothing (wrong key, no access), say so and stop.

## Step 2 — Plan  ⛔ GATE 1

Read `.tracker/<KEY>.md` and present, in one message:
- the distilled task: essence, acceptance criteria from «Spec from Jira», open
  questions (the agent's and any you found while planning);
- a concrete implementation **plan**;
- **«Deviations from the spec»** — a separate section, never folded into the plan:
  every point where the plan does not do, or does otherwise, what «Spec from Jira»
  requires (including an open question you would answer that way). Per point: the spec
  quote, what you propose instead and why, and a question about that point alone.
  None → «No deviations from the spec».
- **Prior art first.** Before asking about behaviour (who may do X, what is required,
  what happens on edit or payment), find how the closest existing feature in this
  codebase does it and take that as the default. Ask only where the spec contradicts
  it, framed as «Spec: … / Existing behaviour: … / Question», in one numbered list —
  the people answering only see numbered questions.
- **Entry point** — for every piece of new logic name what calls it in production: a
  route, a background job, a CLI command, an event handler. If nothing does, add a
  caller to the plan by default, even when the spec is silent. If the spec hands the
  caller to another issue, check in Jira that it is a real issue with an assignee; if
  not, recommend building the caller here. Either way it is a separate point under
  «Deviations». Code reachable only from tests is an unfinished task.

Then **STOP** and wait. No code before the user approves. A deviation is approved only
by an answer that names it (its number or content); a general «yes» approves the plan,
not the deviations — ask about them again. Until approved, the plan follows the spec.

Record the answers in `.tracker/<KEY>.md` — the reviewer and the verifier read it:
- write only to «Decided in discussion» and «Open questions»; «Essence» and «Spec from
  Jira» are never edited, even when a decision changes what gets built;
- move answered questions from «Open questions» to «Decided in discussion»;
- a deviation is recorded as
  `DEVIATION FROM SPEC (<date>): <what we skip or do otherwise>. Spec: «<quote>». User's answer: «<verbatim>»`.
  Without a verbatim answer it stays in «Open questions»;
- the same holds for deviations that come up later (review loop, step 10).

## Step 3 — Implement

After approval, implement autonomously, following the project's `CLAUDE.md` and the
project rules in memory.

## Step 4 — Tests

Run the relevant tests with the project's test command (`tests.command` in
`delivery.json`, otherwise what `CLAUDE.md` says). Start with the touched files, widen
when sensible. On failure fix and rerun until green. Report failures with the real output.

## Step 5 — Cross-model review

Run the **`cross-review`** skill: Codex reviews the diff against the base, read-only.
What may go into its prompt is defined there — never put decisions into it or call them
agreed.

## Step 6 — Review ↔ fix loop

For each finding:
- fix the **unambiguous** ones autonomously;
- one that changes behaviour, or where the right approach is genuinely unclear → ask
  the user first;
- a **deviation from the spec** without verbatim consent in `.tracker/<KEY>.md` is not
  yours to settle — neither fix it nor explain it away with a session decision: ask as
  in step 2, then follow the spec or record the deviation with the verbatim answer.

After fixing, go back to step 5. Leave the loop when Codex is clean (no findings except
deviations with verbatim consent) or the user says «done». **At most 3 Codex rounds**:
after the third, stop and give the user what is left.

## Step 7 — Polish

Run the **`polish`** skill: comments, test tiers, the project rules from memory that this
diff touches, migration conflicts with the current base. Its edits are part of the diff
shown at the commit gate.

## Step 8 — Commit  ⛔ GATE 2

- Make sure the branch is a feature branch, not the base or a protected one.
- Commit message in English in the repo's style (`commit.format` in `delivery.json`, or
  what `git log` shows), with a body: what changed and why. GitLab takes the MR
  description from it, so it follows the rules of the `gitlab-mr` skill.
- Show `git diff --stat` and the message, then ask ONE question — **«Open the MR?»** —
  with the answers spelled out:
  - **yes** → commit, step 9, then the `gitlab-mr` skill. Its script pushes together with
    the MR options, so do NOT `git push` first: the branch would be up to date and
    GitLab would not create the MR;
  - **commit and push** → commit, step 9, `git push -u origin <branch>`, no MR;
  - **commit only** → commit, step 9, nothing is pushed;
  - **no** → nothing is committed; wait.
- That answer covers the code commit, the docs commit and the push — do not ask again
  (the `recreate` case of `gitlab-mr` still needs its own yes). Never force-push.

## Step 9 — Docs

Only when `docs_check` is set in `delivery.json`. Run it after the code commit:
- success → no docs needed; one line and on to the push;
- it lists sections whose docs are stale → update each (with the project's docs skill if
  it has one), commit only the docs as `<KEY>: docs: <sections>`, rerun the check;
- the check itself is broken → show the output and stop before the push.

## Step 10 — The bot's AI review of the MR

Only when an MR exists and `ai_review_bot` is set in `delivery.json`. A bot posts an AI
review of the pushed commit. Its findings come from another model, are unverified
hypotheses and are often wrong: verify every one, fix only the real ones.

1. **Wait for the review of HEAD** as a background command, so the session is notified:
   ```bash
   S=<gitlab-mr skill dir>/scripts/fetch_ai_review.sh
   for i in $(seq 1 20); do "$S" "<MR URL>" --sha "$(git rev-parse HEAD)"; rc=$?; [ "$rc" -eq 3 ] || exit "$rc"; sleep 60; done; exit 3
   ```
   Exit 0 prints the verdict and the `<findings>` block; exit 3 after ~20 min → the bot
   has not posted; tell the user and stop. Exit 1 is an error, not «not yet».
2. **Verify in a fresh context**: run the **`findings-verifier`** agent
   (`subagent_type: "delivery:findings-verifier"`) with the MR URL, the HEAD sha, `<KEY>`,
   `<plugin root>` and every decision the user made in this session that
   `.tracker/<KEY>.md` lacks. It
   does not see this conversation. It returns `ID | status | evidence | action`. It runs
   separately because this session wrote the code and should not judge findings against it.
3. **Report** its table as returned. If you disagree with a status, say so under it.
4. **Fix only `confirmed`** — minimal fix, step 4 tests, `polish` on the fix, step 9 if
   configured. `blocked`, or a fix that changes behaviour → ask first. A `confirmed`
   finding that turns out not real once you are in the code → stop and say so.
5. **Commit / push** as a new commit. The step 8 answer does not carry over: show the
   diff and ask «Commit and push?»; plain `git push`. Never force-push.
6. **Stop.** The fix commit is not re-reviewed by the bot.

Nothing is written to GitLab in this step: no replies, no resolving, no reactions.

## Step 11 — Retrospective  ⛔ GATE 3

Ask one question — **«Run a retro?»** — and stop. «yes» → run the **`retro`** skill on this
session: it proposes changes to memory, `CLAUDE.md`, skills or agents, and writes only what
the user approves. «no» → the pipeline ends.

## Notes

- Report outcomes faithfully at every stage. Do not claim done until the chosen commit /
  push / MR actually succeeded.
- This skill only orchestrates. Review rules live in the Codex `delivery-reviewer` skill,
  issue reading in `jira-reader` (run by `ticket-reader`), the Codex call in
  `cross-review`, the rules for judging bot findings in `findings-verifier`.

Wersje

RepozytoriumWynikLicencja
Ta strona · editorgit/agentic-delivery100MIT
SimHacker/moollm100MIT
mdiri-ai/SoduWork100MIT
codeaholicguy/ai-devkit100Apache-2.0
urikanonov/ai-marketplace100MIT
adivmaimon/Caddis100MIT
gridconsole/grid-plugins100MIT
CipherNovaa/agent-skills100MIT
foxrun-ai/foxrun100MIT

Migawka bazy z 13.11.2026 · wersja paczki 110b5acd652a (skrót SHA-256 całej paczki)

Pobrania w ostatnich 30 dniach: 0 · ranking

Zgłoś problem z tym skillem: szkodliwa treść, błędny opis albo prośba autora o usunięcie.

Podobne skille

  • 90gitlab-mr
    Otwiera merge request w GitLab dla bieżącej gałęzi przez opcje push, bez tworzenia wersji roboczej, i pobiera recenzję AI.
  • 100jira-issue-to-pr
    Konfiguruje automatyzację odpytującą Jira o zgłoszenia create-pr i tworzącą pull requesty w GitHubie, merge requesty w GitLabie lub pull requesty w Bitbucket.
  • 100ship
    Prowadzi pełną ścieżkę od specyfikacji do scalenia jednym poleceniem: specyfikacja, plan, budowa, przegląd i PR z auto-merge, z pauzami na bramkach człowieka.
  • 90review-pr
    Przegląda cudzy pull request lub merge request pod kątem formatu commitów, pipeline'ów, kontekstu Jira i kodu, a potem zatwierdza lub zostawia uwagi.
  • 90gh-issue-fix-flow
    Prowadzi naprawę zgłoszenia z GitHub od odczytu issue, przez poprawkę, budowanie i testy, po commit i wypchnięcie zmian.
  • 100working-on-an-issue
    Prowadzi zgłoszenie GitHub od zrozumienia przez plan i implementację do pull requesta, bez zatrzymywania się na bramkach zatwierdzenia.

Uwagi i zgłoszenia

Wiadomość trafi do Bartosza Sokolińskiego. Adres e-mail jest potrzebny tylko do odpowiedzi. Szczegóły w polityce prywatności.