Forgejo
SkillFiles & storageForgejo REST API toolkit — manage issues, pull requests, wikis, and repos on a Forgejo server. Use when the agent needs to file an issue, open / review / merge a PR, read or write a wiki page, or look up repo / branch info. One standalone script per resource type. Reads credentials from environment, `~/.skillhone/settings.json`, or `_data/forgejo_config.txt`.
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the Forgejo skill
What this skill tells your AI
The instructions your AI receives, as published by tencent/skillhone in skills/forgejo/SKILL.md and read by ahel’s review.
Thin wrapper around the Forgejo REST API. Each resource lives in its own script so the agent can discover and invoke them individually. SkillHone depends on this as a VCS backend skill, but it stays independent so another backend such as GitLab or Gitea can provide the same workflow surface.
Scripts
| Script | Resource | Representative usage |
|---|---|---|
scripts/issue.py | Issues | python3 scripts/issue.py create --title "Bug" |
scripts/pr.py | Pull requests | python3 scripts/pr.py merge 1 |
scripts/wiki.py | Wiki pages | python3 scripts/wiki.py get --title "Analysis" |
scripts/repo.py | Repo metadata | python3 scripts/repo.py branches |
scripts/summary.py | Aggregate dashboard | python3 scripts/summary.py |
Every script supports --help. Run it before guessing flags.
Configuration
Resolved in this order (first match wins):
- Environment variables:
FORGEJO_URL,FORGEJO_TOKEN,FORGEJO_OWNER,FORGEJO_REPO ~/.skillhone/settings.json+~/.skillhone/identities.conf_data/forgejo_config.txtin the current working directory
If nothing is set, the script exits with a clear message naming the missing variable.
Usage By Resource
Issues
python3 scripts/issue.py list
python3 scripts/issue.py view <N>
python3 scripts/issue.py create --title "Fix: timeout" --body "## Problem\n..."
python3 scripts/issue.py close <N>
python3 scripts/issue.py comment <N> --body "Done"
Pull Requests
python3 scripts/pr.py list
python3 scripts/pr.py view <M>
python3 scripts/pr.py create --title "Fix timeout" --head fix/timeout --base main --body "Closes #1"
python3 scripts/pr.py review <M> --approve
python3 scripts/pr.py merge <M> --method merge
python3 scripts/pr.py comment <M> --body "LGTM"
Wiki
python3 scripts/wiki.py list
python3 scripts/wiki.py get --title "Iteration-1-Observation"
python3 scripts/wiki.py create --title "Page" --body "content"
python3 scripts/wiki.py edit --title "Page" --body "updated content"
Repo Metadata
python3 scripts/repo.py info
python3 scripts/repo.py branches
Combined Summary
python3 scripts/summary.py
# open issues + open PRs + latest observation wiki page
Invocation From Other Skills
Other skills living under ~/.skillhone/skills/ call these scripts via their
absolute path:
python3 ~/.skillhone/skills/forgejo/scripts/issue.py list
This keeps the VCS backend replaceable. A GitLab or Gitea skill can expose an equivalent command surface without changing SkillHone's optimization logic.
Gotchas
- Tokens with
@characters break git clone URL injection. Use a token without@or URL-encode it. merge --method squashis not supported by older Forgejo versions. If you hitUnknown method, fall back tomerge.- Wiki pages are stored as
.mdfiles in a separate git repo (<repo>.wiki.git).wiki.pyhides that, but if you need custom editing, clone the wiki repo directly.
Hard Rules
- Never print the Forgejo token to stdout/stderr logs. The scripts already redact; don't paste it into
--bodyfields. - Do not call Forgejo's REST API directly with
curlor handcrafted HTTP from SkillHone workflows. Use these backend scripts so credential loading, redaction, and backend replacement stay centralized. - Do not
cat_data/forgejo_config.txt,~/.skillhone/settings.json, oridentities.confto discover credentials. The scripts resolve credentials internally. - Do not push directly to
mainvia any of these scripts. PRs only. - When you get a 401/403, re-check the config resolution order above before changing the script.
Signals
- GitHub stars
- 149
- Forks
- 10
- Last commit
- Aug 2026
Advanced
- Catalog kind
- skill
- Gateway key
forgejo- Source
- github.com/tencent/skillhone