https://github.com/deevus/tea-skills
Agent skills for Gitea/Forgejo issue, pull request, milestone, and label workflows using the tea CLI
https://github.com/deevus/tea-skills
agent-skills claude-code cli forgejo gitea tea
Last synced: 12 days ago
JSON representation
Agent skills for Gitea/Forgejo issue, pull request, milestone, and label workflows using the tea CLI
- Host: GitHub
- URL: https://github.com/deevus/tea-skills
- Owner: deevus
- License: mit
- Created: 2026-05-16T04:46:04.000Z (about 1 month ago)
- Default Branch: main
- Last Pushed: 2026-05-30T01:21:47.000Z (19 days ago)
- Last Synced: 2026-05-30T03:07:49.879Z (19 days ago)
- Topics: agent-skills, claude-code, cli, forgejo, gitea, tea
- Language: Python
- Size: 361 KB
- Stars: 2
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Agents: AGENTS.md
Awesome Lists containing this project
README
# tea-skills
Agent skills for Gitea/Forgejo workflows using the [tea CLI](https://gitea.com/gitea/tea).
`tea-skills` helps coding agents list and create issues, manage pull requests, work with milestones and labels, and use a few bundled actions for Gitea/Forgejo API features that `tea` does not expose cleanly. The skills are packaged as a Claude Code plugin and as standard `SKILL.md` files that should work with any agent CLI that supports agent skills.
## Prerequisites
- [tea CLI](https://gitea.com/gitea/tea) installed and available on `PATH`
- A configured tea login:
```bash
tea login add
tea login list
```
- Python 3.10 or newer for bundled actions
- Git, with the target Gitea/Forgejo repository checked out locally
## Installation
### Claude Code plugin
Claude Code installs plugins from marketplaces. Add the GitHub repository as a marketplace, then install the `tea` plugin from it:
```text
/plugin marketplace add deevus/tea-skills
/plugin install tea@tea-skills
```
For non-interactive setup, use the equivalent CLI commands:
```bash
claude plugin marketplace add deevus/tea-skills
claude plugin install tea@tea-skills
```
### Other agents with `npx skills`
Install all focused skills into the shared Agent Skills directory:
From GitHub:
```bash
npx skills add deevus/tea-skills --skill '*' --agent universal
```
`--agent universal` is intentional: it targets `~/.agents/skills`, which Pi and many other agents scan. Each skill installs as a top-level sibling such as `~/.agents/skills/issue-dependencies`.
Skills that need bundled actions include an `actions/` resource directory, so commands such as `actions/issues/dependency-add.py` resolve relative to the active skill directory after installation.
Compatibility depends on the agent's skill support. Claude Code plugin hooks are Claude-specific, but the skill instructions themselves are plain `SKILL.md` files.
## Verify setup
From a Gitea/Forgejo repository where you want the agent to work, confirm tea can see your server and repository:
```bash
tea login list
tea issues list -o simple
```
If you installed with `npx skills`, you can also ask it to list installed skills:
```bash
npx skills list
```
Then try a small prompt in your agent:
> List the open issues in this repository.
## Troubleshooting
- **`tea` is missing or not on `PATH`:** install the [tea CLI](https://gitea.com/gitea/tea), restart your shell or agent session, then confirm `tea --version` works from the target repository.
- **No tea login is configured:** run `tea login add`, then `tea login list`. Bundled actions read the same tea authentication configuration.
- **Bundled actions fail with Python errors:** confirm `python3 --version` reports Python 3.10 or newer. The bundled actions are Python scripts and use the `python3` found on `PATH`.
- **A skill does not work as expected:** please create an issue with the prompt you used, the command or error the agent reported, and your agent/tea-skills installation method.
For more detail, see [`actions/README.md`](actions/README.md) and [`CONTRIBUTING.md`](CONTRIBUTING.md).
## Example prompts
- "List open issues and summarize the top three that look ready to work on."
- "Create an issue for the failing login redirect and label it as a bug."
- "Show pull requests that need review and summarize the current blockers."
- "Create a WIP pull request from my current branch."
- "Add this issue to the v1.0 milestone."
- "Find issues that are ready because their dependencies are closed."
## Supported workflows
`tea-skills` keeps `tea` as the primary workflow engine. Skills should use normal `tea` commands whenever `tea` supports the task, then fall back to bundled actions only for known Gitea/Forgejo API gaps.
Each skill is a focused, user-invokable `skills//SKILL.md` file. The current inventory is grouped by workflow domain:
| Domain | What users can ask an agent to do | Skills |
|---|---|---|
| Issues | List and inspect issues, create and edit issues, close or reopen issues, manage comments, manage dependencies, and moderate issues with pins, locks, and reactions. | `list-issues`, `create-issue`, `edit-issues`, `close-issues`, `issue-comments`, `issue-dependencies`, `issue-moderation` |
| Pull Requests | List and inspect PRs, create PRs, request or perform reviews, resolve review threads, merge PRs, configure merge behavior, and close or reopen PRs. | `list-pulls`, `create-pull`, `review-pull`, `merge-pull`, `close-pulls` |
| Milestones | List, create, edit, close, reopen, and delete milestones, plus move issues into or out of milestones. | `milestones`, `milestone-issues` |
| Labels | Manage repository labels, label schemes, bulk label operations, and organization-level labels. | `labels`, `label-schemes` |
## Bundled actions and trust model
Bundled actions are small Python executables shipped with this plugin. They supplement `tea`; they do not replace it. Use them for API-only operations that Gitea/Forgejo supports but `tea` does not expose cleanly, such as issue dependencies, issue moderation, pull-request auto-merge configuration, milestone edit gaps, and organization labels.
Actions run on your machine with your user privileges and read the authentication configured by `tea login`. Repository-scoped bundled actions use active-host-first discovery by default: they target the git remote whose host matches the active `tea` backend, and they fail clearly if that match is ambiguous. Agents should pass explicit `--login`, `--remote`, or `--repo` flags when you name a backend, remote, or repository, resolve the action path from the installed plugin, and keep the working directory in your target repository.
See [`actions/README.md`](actions/README.md) and the domain references for exact commands and arguments:
| Domain | Reference |
|---|---|
| Issues | [`actions/issues/README.md`](actions/issues/README.md) |
| Pull Requests | [`actions/pull-requests/README.md`](actions/pull-requests/README.md) |
| Milestones | [`actions/milestones/README.md`](actions/milestones/README.md) |
| Organization Labels | [`actions/org-labels/README.md`](actions/org-labels/README.md) |
## Contributing
Development and test details live in [`CONTRIBUTING.md`](CONTRIBUTING.md).
## License
MIT