name: gh-issue-status-set description: >- Ustawia status issue w GitHub Projects v2 na podstawie brancha/issue i danych z GitHub. Dopytuje tylko, gdy brakuje kluczowych danych. shared_files: - _shared/references/runtime-collaboration-guidelines.md - _shared/scripts/env-load.sh - _shared/scripts/issue-branch.sh
$gh-issue-status-set
Reguły rozwiązywania ścieżek
- Stosuj globalny kontrakt ścieżek z root
AGENTS.md.
Priorytet zasad (globalny kontrakt)
- Instrukcje systemowe/developerskie środowiska
./AGENTS.mdi dokumenty zdocs_map- Bieżący
SKILL.md - Pliki wskazane w
shared_files
Cel
Ustawić status issue w GitHub Projects v2 na podstawie bieżącego brancha, numeru issue i danych z GitHub. Najpierw próbujemy ustalić wszystko automatycznie; dopytujemy tylko, gdy brakuje danych lub jest konflikt.
Kroki (domyślne)
- Dobierz status na podstawie kontekstu (patrz: „Dobór statusu”).
- Sprawdź autoryzację i uprawnienia:
gh auth status- Jeśli używasz
GH_TOKEN: upewnij się, że token ma scopeprojectiread:org(Projects v2 w org);gh auth refreshnie zadziała przy ustawionymGH_TOKEN. - Jeśli nie używasz
GH_TOKENi brakuje scopeprojectlubread:org:gh auth refresh -h github.com -s project,read:org
- Uruchom skrypt:
<skill_dir>/scripts/set-status.sh --status "<STATUS>"- Opcjonalnie:
--issue <ID>,--project-number <NUM>,--field <NAZWA>
- Jeśli skrypt zwraca błąd, zinterpretuj kod wyjścia i zawsze uruchom skrypt ponownie z uzupełnionymi danymi (bez ręcznego “rzeźbienia”).
Interpretacja kodów wyjścia i retry
3brak numeru issue: spróbuj ustalić issue przez MCP (mcp__github__search_issuesw repo, użyj słów z ostatniego subject). Jeśli 1 wynik → uruchom skrypt z--issue. Jeśli wiele/brak → dopytaj użytkownika.4issue nie jest w projekcie i brak--project-number: ustal projekt (MCP nie obsługuje Projects v2). Użyjgh project list --owner <OWNER>i jeśli jest jedna pozycja → wybierz ją, w przeciwnym razie dopytaj. Następnie uruchom skrypt z--project-number.5issue jest w wielu projektach: poproś użytkownika o numer projektu i uruchom skrypt z--project-number.6issue nie jest w wybranym projekcie i nie udało się dodać: dopytaj o właściwy numer projektu albo upewnij się, że issue istnieje w repo, po czym uruchom skrypt ponownie.7brak pola/opcji statusu: sprawdź polagh project field-list <OWNER>/<PROJECT_NUMBER>i uruchom skrypt z--field <NAZWA>oraz poprawnym--status, jeśli potrzeba. Gdy nadal niejasne → dopytaj użytkownika.8brak statusu: ustal oczekiwany status z kontekstu rozmowy albo dopytaj użytkownika i uruchom skrypt z--status.
Dobór statusu (proste mapowanie)
- Wystawiony PR / prośba o review →
In review - Start pracy / WIP / rozpoczęcie zadania →
In progress - Gotowe do podjęcia →
Ready - Zakończone →
Done - Jeśli niejednoznaczne → dopytaj użytkownika.
Heurystyka ustalania issue (w skrypcie)
Skrypt próbuje kolejno:
- Numer z bieżącego brancha przez wspólny helper
<skills_root>/_shared/scripts/issue-branch.sh(schematissue/<ID>-*lubissue-<ID>-*). - Numer z tytułu ostatniego commita (np.
#123w subject). - Wyszukanie po tytule: słowa kluczowe z subject (max 7 słów),
gh search issues ....- Gdy wynik jest jeden → używa go.
- Gdy jest wiele → wypisuje listę i kończy działanie.
Skrypt sam próbuje ustalić owner/repo, numer issue i projekt. Jeśli danych brakuje lub jest konflikt, wypisze komunikat, na podstawie którego dopytasz użytkownika.
Format odpowiedzi
- Wynik: status ustawiony / brak danych do ustalenia.
- Uwagi: czego brakuje lub co wymaga decyzji użytkownika.