Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
jwynia avatar

Gitea Workflow

  • 391 installs
  • 133 repo stars
  • Updated February 24, 2026
  • jwynia/agent-skills

gitea-workflow is an agent skill that runs Gitea-centric git workflows including branches, issues, pull requests, merges, and release tagging for developers who manage code on self-hosted Gitea repos without GitHub-centr

About

gitea-workflow is an agent skill from jwynia/agent-skills for self-hosted Gitea repositories. The skill guides branch creation, issue management, pull request workflows, merges, and release tagging through Gitea-native commands and APIs instead of defaulting to GitHub CLI patterns. Developers reach for gitea-workflow when their org runs Gitea on-premises or self-hosted and coding agents need correct issue, PR, and release workflows without assuming github.com remotes or gh CLI conventions.

  • Self-hosted Gitea PR flow
  • Branch and merge conventions
  • Issue-linked commits
  • Release tagging patterns
  • Forge-specific git ops

Gitea Workflow by the numbers

  • 391 all-time installs (skills.sh)
  • +3 installs in the week ending Aug 2, 2026 (Skillselion tracking)
  • Ranked #119 of 733 Git & Pull Requests skills by installs in the Skillselion catalog
  • Data as of Aug 5, 2026 (Skillselion catalog sync)
npx skills add https://github.com/jwynia/agent-skills --skill gitea-workflow

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs391
repo stars133
Last updatedFebruary 24, 2026
Repositoryjwynia/agent-skills

How do you run pull request workflows on Gitea?

Run Gitea-centric git workflows: branches, issues, pull requests, merges, and release tagging on self-hosted repos without switching to GitHub-centric habits.

Who is it for?

Developers using self-hosted Gitea who need branch, issue, PR, merge, and release-tag workflows without GitHub CLI assumptions.

Skip if: Teams on GitHub, GitLab, or Bitbucket with no Gitea instance should skip gitea-workflow.

When should I use this skill?

A developer works on a self-hosted Gitea repo and needs branches, issues, pull requests, merges, or release tags via Gitea workflows.

What you get

Created branches and issues, opened and merged Gitea pull requests, and tagged release versions on self-hosted repositories.

  • Gitea pull requests
  • Tagged releases
  • Managed issues and branches

Files

SKILL.mdMarkdownGitHub ↗

Gitea Workflow Orchestrator

A skill that guides agents through structured agile development workflows for Gitea repositories by intelligently invoking commands in sequence. Uses checkpoint-based flow control to auto-progress between steps while pausing at key decision points.

When to Use This Skill

Use this skill when:

  • Working with a Gitea-hosted repository
  • Starting work for the day ("run morning standup", "start my day")
  • Working on a task ("implement next task", "continue working")
  • Completing a development cycle ("finish this task", "prepare PR")
  • Running sprint ceremonies ("start sprint", "end sprint", "retrospective")
  • Resuming interrupted work ("what's next", "where was I")

Do NOT use this skill when:

  • Working with GitHub repositories (use agile-workflow instead)
  • Running a single specific command (use that command directly)
  • Just checking status (use /status directly)
  • Only doing code review without full cycle (use /review-code directly)
  • Researching or planning without implementation

Prerequisites

Before using this skill:

  • Git repository initialized with worktree support
  • Gitea Tea CLI installed and authenticated (tea login)
  • Context network with backlog structure at context-network/backlog/
  • Task status files at context-network/backlog/by-status/*.md
  • GITEA_URL environment variable set (or configured in tea)
  • GITEA_TOKEN environment variable set for API scripts

Workflow Types Overview

WORKFLOW TYPES
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

TASK CYCLE (Primary)     DAILY                SPRINT
──────────────────────   ──────────────────   ──────────────────
sync                     Morning:             Start:
  ↓                        sync --last 1d       sync --all
next → [CHECKPOINT]        status --brief       groom --all
  ↓                        groom --ready        plan sprint-goals
implement                                       status
  ↓                      Evening:
[CHECKPOINT]               checklist          End:
  ↓                        discovery            sync --sprint
review-code                sync --last 1d       retrospective
review-tests                                    audit --sprint
  ↓                                             maintenance --deep
[CHECKPOINT]
  ↓
apply-recommendations (if issues)
  ↓
pr-prep → [CHECKPOINT]
  ↓
pr-complete
  ↓
update-backlog & status
  ↓
END
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

State Detection

The skill determines current workflow state automatically. No manual tracking needed.

Detection Signals

SignalHow to CheckIndicates
Worktree existsgit worktree listTask in progress
Task branch activegit branch --show-current matches task/*Active implementation
Uncommitted changesgit status --porcelainActive coding
PR existstea pulls list --state openIn review
PR mergedtea pulls + check stateReady for cleanup

State Matrix

STATE DETECTION LOGIC
─────────────────────────────────────────────────────────────
Check                           → State           → Next Step
─────────────────────────────────────────────────────────────
No worktree, no in-progress     → IDLE            → sync, next
Worktree exists, uncommitted    → IMPLEMENTING    → continue implement
Worktree exists, all committed  → READY_REVIEW    → review-code
PR open, CI pending             → AWAITING_CI     → wait or address
PR open, CI pass                → READY_MERGE     → pr-complete
PR merged, worktree exists      → CLEANUP         → pr-complete
─────────────────────────────────────────────────────────────

For detailed detection algorithms, see references/state-detection.md.

Invocation Patterns

# Auto-detect state and continue from where you are
/gitea-workflow

# Start specific workflow phase
/gitea-workflow --phase task-cycle
/gitea-workflow --phase daily-morning
/gitea-workflow --phase daily-evening
/gitea-workflow --phase sprint-start
/gitea-workflow --phase sprint-end

# Resume work on specific task
/gitea-workflow --task TASK-123

# Preview what would happen without executing
/gitea-workflow --dry-run

Task Cycle Phase

The primary workflow for completing a single task from selection to merge.

Step 1: Sync Reality

Ensure context network matches actual project state.

Run: sync --last 1d --dry-run
Purpose: Detect drift between documented and actual state
Output: Sync report showing completions, partial work, divergences

Step 2: Select Task

Identify the next task to work on.

Run: next
Purpose: Find highest priority ready task
Output: Task ID, title, branch name suggestion

CHECKPOINT: TASK_SELECTED

  • Pause to confirm task selection
  • User can accept or choose different task
  • On accept: continue to implementation

Step 3: Implement

Test-driven development in isolated worktree.

Run: implement [TASK-ID]
Purpose: Create worktree, write tests first, implement, verify
Output: Working implementation with passing tests

CHECKPOINT: IMPL_COMPLETE

  • Pause after implementation completes
  • Show test results and coverage
  • On success: continue to review

Step 4: Review

Quality validation of implementation.

Run: review-code --uncommitted
Run: review-tests --uncommitted
Purpose: Identify quality issues, security concerns, test gaps
Output: Review reports with issues and recommendations

CHECKPOINT: REVIEWS_DONE

  • Display combined review results
  • If critical issues: must address before continuing
  • If no issues: auto-continue to PR prep
  • User decides: apply recommendations now or defer

Step 5: Apply Recommendations (Conditional)

Address review findings intelligently.

Run: apply-recommendations [review-output]
Purpose: Apply quick fixes now, defer complex changes to tasks
Output: Applied fixes + created follow-up tasks

Step 6: Prepare PR

Create pull request with full documentation.

Run: pr-prep
Purpose: Validate, document, and create PR
Output: PR created with description, tests verified

CHECKPOINT: PR_CREATED

  • Display PR URL and CI status
  • Wait for CI checks to complete (verify manually or via API script)
  • On CI pass + approval: continue to merge
  • On CI fail: stop, address issues

Step 7: Complete PR

Merge and cleanup.

Run: pr-complete [PR-NUMBER]
Purpose: Merge PR, delete branch, remove worktree, update status
Output: Task marked complete, cleanup done

Step 8: Update Backlog and Project Status

Persist progress to source-of-truth documentation.

Run: Part of pr-complete (Phase 6)
Purpose: Update epic file (task → complete), unblock dependents, update project status
Output: Backlog and project status reflect actual progress

Why this step matters: Without it, completed tasks remain marked "ready" in backlog files and project status stays stale. Internal tracking files are session-scoped; the backlog and status files are the persistent source of truth.

For detailed task-cycle instructions, see references/phases/task-cycle.md.

Daily Phase

Quick sequences for start and end of workday.

Morning Standup (~5 min)

Run sequence:
1. sync --last 1d --dry-run   # What actually happened yesterday
2. status --brief --sprint    # Current sprint health
3. groom --ready-only         # What's ready to work on

Output: Clear picture of today's priorities

Evening Wrap-up (~10 min)

Run sequence:
1. checklist                  # Ensure nothing lost
2. discovery                  # Capture learnings
3. sync --last 1d            # Update task statuses

Output: Knowledge preserved, state synchronized

For detailed daily instructions, see references/phases/daily.md.

Sprint Phase

Ceremonies for sprint boundaries.

Sprint Start (~60 min)

Run sequence:
1. sync --all                 # Full reality alignment
2. groom --all               # Comprehensive grooming
3. plan sprint-goals         # Architecture and goals
4. status --detailed         # Baseline metrics

Output: Sprint plan with groomed, ready backlog

Sprint End (~90 min)

Run sequence:
1. sync --sprint             # Final sprint sync
2. retrospective             # Capture learnings
3. audit --scope sprint      # Quality review
4. status --metrics          # Sprint metrics
5. maintenance --deep        # Context network cleanup

Output: Sprint closed, learnings captured, ready for next

For detailed sprint instructions, see references/phases/sprint.md.

Checkpoint Handling

Checkpoints are pauses for human decision-making.

Checkpoint Behavior

At each checkpoint: 1. Summarize what just completed 2. Show key results and any issues 3. Present next steps 4. Wait for user input

Checkpoint Responses

ResponseAction
"continue" / "proceed" / "yes"Move to next step
"stop" / "pause"Save state, exit workflow
"back"Re-run previous step
"skip"Skip current step (use cautiously)
Custom inputMay adjust next step parameters

Auto-Continue Conditions

Some checkpoints can auto-continue when conditions are met:

CheckpointAuto-Continue If
IMPL_COMPLETEAll tests pass, build succeeds
REVIEWS_DONENo critical or high severity issues
PR_CREATEDCI passes (verified via API), required approvals obtained

For detailed checkpoint handling, see references/checkpoint-handling.md.

Command Reference

Each workflow step uses embedded command instructions:

CommandReferencePurpose
syncreferences/commands/sync.mdReality synchronization
groomreferences/commands/groom.mdTask refinement
nextreferences/commands/next.mdTask selection
implementreferences/commands/implement.mdTDD implementation
review-codereferences/commands/review-code.mdCode quality review
review-testsreferences/commands/review-tests.mdTest quality review
apply-recommendationsreferences/commands/apply-recommendations.mdTriage and apply fixes
pr-prepreferences/commands/pr-prep.mdPR creation
pr-completereferences/commands/pr-complete.mdPR merge and cleanup
discoveryreferences/commands/discovery.mdLearning capture
retrospectivereferences/commands/retrospective.mdPost-work analysis
maintenancereferences/commands/maintenance.mdContext network cleanup

Example: Complete Task Cycle

Scenario: Start of day, implement next available task

Invocation:

/gitea-workflow --phase task-cycle

Flow:

Agent: Detecting current state...
       No worktree found, checking ready tasks...

Agent: Running sync --last 1d --dry-run
       [Sync output: 0 tasks completed but undocumented]

Agent: Running next
       Found: TASK-042 - Add user preferences endpoint
       Priority: High | Size: Small | Branch: task/TASK-042-preferences

       ╔═══════════════════════════════════════════╗
       ║  CHECKPOINT: Task Selection               ║
       ╠═══════════════════════════════════════════╣
       ║  Selected: TASK-042                       ║
       ║  Proceed with implementation?             ║
       ║                                           ║
       ║  [continue] [stop] [other task]           ║
       ╚═══════════════════════════════════════════╝

User: continue

Agent: Creating worktree at .worktrees/TASK-042/
       Running implement TASK-042
       [Implementation proceeds with TDD...]

       Tests: 12 passing
       Coverage: 87%
       Build: Success

       ╔═══════════════════════════════════════════╗
       ║  CHECKPOINT: Implementation Complete      ║
       ╠═══════════════════════════════════════════╣
       ║  All tests passing, ready for review      ║
       ║  Proceed to code review?                  ║
       ║                                           ║
       ║  [continue] [stop]                        ║
       ╚═══════════════════════════════════════════╝

[Flow continues through review, PR, merge...]

Gitea-Specific Notes

CI Status Checking

Gitea uses external CI systems (Drone, Woodpecker, Jenkins, etc.). To check CI status:

1. Via API Script: Use scripts/gitea-ci-status.sh to query commit statuses 2. Manual Verification: Check your CI dashboard directly 3. PR Mergeability: Check if PR shows as mergeable in Gitea UI

Tea CLI Command Reference

OperationTea CLI Command
List open PRstea pulls list --state open
Create PRtea pulls create --title "..." --description "..." --base main --head branch
View PRtea pulls
Merge PR (squash)tea pulls merge --style squash
Merge PR (merge)tea pulls merge --style merge
Merge PR (rebase)tea pulls merge --style rebase
Approve PRtea pulls approve
List issuestea issues list

API Scripts

For operations not available in the tea CLI, use the provided API scripts:

  • scripts/gitea-ci-status.sh - Check CI status via Gitea API
  • scripts/gitea-pr-checks.sh - Get PR review/approval status

Limitations

  • Requires context network with specific backlog structure
  • Gitea-centric (uses tea CLI for PR operations)
  • Single-task focus (parallel task work not orchestrated)
  • Manual CI verification may be needed (Gitea uses external CI)
  • Some features depend on Gitea version and configuration

Related Skills

  • skill-maker - Create new skills following agentskills.io spec
  • research-workflow - For research tasks before implementation
  • gitea-coordinator - For multi-task orchestration with Gitea

Related skills

How it compares

Pick gitea-workflow over generic git skills when the remote is a self-hosted Gitea server—not GitHub or GitLab.

FAQ

What git hosting does gitea-workflow target?

gitea-workflow targets self-hosted Gitea instances. The skill covers branches, issues, pull requests, merges, and release tagging using Gitea-native patterns instead of GitHub-centric gh CLI habits.

Can gitea-workflow replace GitHub workflows?

gitea-workflow replaces GitHub-assumed commands when the remote is a Gitea server. Developers on github.com remotes should use GitHub-oriented skills; gitea-workflow maps agent steps to Gitea issue and PR APIs.

Git & Pull Requestsgitdevopsintegrations

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.