← 返回 Skills 市场
nerasse

Forgejo Workflow

作者 nerasse · GitHub ↗ · v0.1.1 · MIT-0
cross-platform ✓ 安全检测通过
171
总下载
1
收藏
0
当前安装
2
版本数
在 OpenClaw 中安装
/install forgejo-fj-api
功能描述
Forgejo via fj and REST API for repos, issues, PRs, wiki, CI, and reviews.
使用说明 (SKILL.md)

Use the fj CLI and the Forgejo REST API to interact with Forgejo repositories, issues, pull requests, wiki pages, CI, and code review workflows.

Overview

Use this skill when:

  • Creating, listing, viewing, editing, or closing issues
  • Creating, checking out, merging, or reviewing pull requests
  • Managing repositories, forks, releases, labels, and milestones
  • Reading or writing wiki pages
  • Inspecting Forgejo Actions or CI status
  • Performing a structured code review on a Forgejo pull request

Do not use this skill when:

  • Working on local-only git operations such as commit, rebase, stash, push, or branch cleanup
  • Working with GitHub or GitLab instead of Forgejo
  • Performing Forgejo server administration that requires the forgejo server CLI

This skill targets one active Forgejo instance at a time.

Prefer fj for supported operations, use the REST API for feature gaps, and use local git only for review and diff workflows.

Prerequisites

Required binaries:

  • fj
  • curl
  • jq
  • git

Create an application token from:

$FORGEJO_URL/user/settings/applications

Request only the scopes needed for the task. Common patterns for this skill are:

  • read:repository or write:repository for repositories, pull requests, wiki, and releases
  • read:issue or write:issue for issues, labels, and milestones
  • read:notification or write:notification for notifications
  • read:organization or write:organization for org labels and teams
  • read:user or write:user only if user-level endpoints are needed

FORGEJO_URL must be the Forgejo base URL such as https://\x3Cyour-forgejo-host>, not an /api/v1 endpoint.

FORGEJO_URL is the target Forgejo instance URL, not this skill repository URL.

Required environment

Variable Required Example Purpose
FORGEJO_URL Yes https://\x3Cyour-forgejo-host> Base URL of the target Forgejo instance for this skill's REST and instance-selection workflow
FORGEJO_TOKEN Yes forgejo_pat_... Application token used by this skill's REST examples and recommended for fj setup

Authenticate fj with the same token when the target host is already inferable from the current repository context:

fj auth add-key \x3Cusername>

If the current directory is not a Forgejo repository, or if you need to target a different instance explicitly, pass the host:

fj --host \x3Cforgejo-host> auth add-key \x3Cusername>

The examples in this skill use the same token for REST API calls:

curl -sS \
  -H "Authorization: token $FORGEJO_TOKEN" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json" \
  "$FORGEJO_URL/api/v1/..."

If FORGEJO_URL or FORGEJO_TOKEN is missing, stop and ask the user to provide the missing value instead of guessing.

REST-ready requires FORGEJO_URL and FORGEJO_TOKEN. fj-ready also requires fj auth for the target host.

Readiness check

Before doing Forgejo work, verify the required tools, env, and auth state.

Check binaries:

command -v fj curl jq git

Check required env vars:

test -n "$FORGEJO_URL" && test -n "$FORGEJO_TOKEN"

Check fj auth for the target host:

fj auth list

If any readiness check fails, stop and ask for the missing install, env value, or fj auth setup before proceeding.

Repository resolution

Resolve the target repository in this order:

  1. Explicit repository selection when the command supports it, such as --repo owner/repo
  2. The current repository context as resolved from the available git remotes
  3. Ask the user for owner/repo

Do not guess the repository from issue or pull request numbers alone.

For many issue and pull-request commands outside a local clone, explicit target selection is done with embedded forms such as owner/repo#42 rather than a separate --repo flag.

forgejo-cli does not hardcode origin here. In practice it can resolve from a sole remote, the current branch upstream remote, an explicit --remote, or a remote matching --host.

Use FORGEJO_URL as the source of truth for REST calls. Use fj --host when the current repository context does not already point at the target instance. fj itself does not read FORGEJO_URL.

Tool priority

  1. fj CLI for all supported Forgejo operations
  2. curl plus jq for Forgejo API gaps
  3. git for diff, log, merge-base, and blame during code review

Always prefer fj over raw API calls when both can do the job.

Unless noted otherwise, the examples below assume the host and repository are already resolved from repo context, --host, --repo, or an embedded target.

Repository operations

fj repo view owner/repo
fj repo create my-repo --private --description "..."
fj repo clone owner/repo
fj repo fork owner/repo
fj repo delete owner/repo
fj repo readme owner/repo
fj repo browse owner/repo
fj repo migrate \x3CURL> name --service forgejo --include wiki,releases,issues --token

When using --include values such as wiki, releases, or issues, specify a non-git migration service such as forgejo. The --token flag is interactive and should not be documented as --token \x3Cvalue>.

There is no generic fj repo list command in forgejo-cli. To list repositories, use user or organization commands such as:

fj user repos
fj user repos username
fj org repo list my-org

When not inside the target repository, prefer explicit repository selection when the command supports it:

fj \x3Ccommand> --repo owner/repo

For issue and pull-request commands that do not support --repo, use an embedded target such as owner/repo#42.

Issues

fj issue search
fj issue create "Bug: ..." --body "..."
fj issue view 42
fj issue edit 42 title "New title"
fj issue comment 42 "My comment"
fj issue close 42

If the repository uses issue templates, issue creation may require --template or --no-template.

Pull requests

fj pr search
fj pr create "feat: ..." --body "..."
fj pr create --agit "..."
fj pr view 55
fj pr checkout 55
fj pr status 55
fj pr merge 55 --method rebase --delete
fj pr close 55
fj pr comment 55 "LGTM"
fj pr edit 55 labels --add bug --rm wip

Some PR commands can infer the PR number from the current branch, but fj pr checkout still requires an explicit PR number.

fj pr create --agit is a specialized local-git workflow that pushes HEAD:refs/for/\x3Cbase> and may prompt to write git config.

Before checking out a pull request locally, inspect the current worktree:

git status --porcelain

If the worktree is dirty, warn the user before running fj pr checkout.

fj pr checkout will fail if there are uncommitted changes.

Releases

fj release list
fj release create 0.1.0 --tag 0.1.0

Organizations and teams

fj org list
fj org view my-org
fj org label list my-org
fj org label add my-org "bug" "#d73a4a"
fj org team list my-org
fj org team member add my-org devs username

Wiki

Read wiki pages with fj:

fj wiki --repo owner/repo view "Page Name"

List wiki pages with fj:

fj wiki --repo owner/repo contents

Use the REST API for wiki writes, updates, and deletes. See references/api-cheatsheet.md.

Labels and milestones

Use fj for organization labels. Repository labels are available under fj repo labels on current forgejo-cli source builds, but not in packaged v0.4.0 and v0.4.1 releases.

Use the REST API for milestones, and as the fallback whenever the local fj build does not expose the needed label operation. See references/api-cheatsheet.md.

CI and Forgejo Actions

Use fj for the quick status path:

fj --repo owner/repo actions tasks
fj pr status 55

Use the REST API when detailed run information is needed. See references/ci-actions.md.

Code review

When asked to review a pull request, follow references/code-review.md.

Short version:

  1. Inspect worktree state before checkout.
  2. Check out the pull request with fj pr checkout \x3Cnumber>.
  3. Determine the actual base branch from the pull request metadata.
  4. Compute the merge base against that base branch.
  5. Review the diff using the criteria in references/code-review.md.
  6. Post a comment with findings.
  7. Approve only if the user explicitly asks for approval.
  8. Merge only if the user explicitly asks for merge.

Keep approval and merge as separate actions.

Pagination

Many Forgejo API endpoints support ?page=\x3Cn>&limit=\x3Cn>.

When fetching large result sets, keep paging until the response shape or available pagination metadata indicates there are no more results.

Troubleshooting

Symptom Likely cause Action
FORGEJO_URL is not set Required instance URL missing Export FORGEJO_URL before running fj or REST workflows
FORGEJO_TOKEN is not set Required application token missing Create a token in Forgejo and export FORGEJO_TOKEN
fj: command not found forgejo-cli is not installed Install fj with the supported metadata installer or another package source
curl: command not found or jq: command not found REST fallback tools are missing Install the missing system tools before using REST workflows
git: command not found Local review and diff workflows are unavailable Install git before using review flows
fj auth add-key fails fj needs both a username and a resolvable target host Run fj auth add-key \x3Cusername> in a configured repo or fj --host \x3Chost> auth add-key \x3Cusername>
fj is not authenticated for the target host REST may work, but CLI commands will fail Run fj auth list to inspect configured hosts, then add the key for the target host
repo not found Wrong owner or repo, wrong instance, or missing access Verify owner/repo, the target instance, and token permissions
cannot infer repository No local git remote and no explicit repo selection Ask the user for owner/repo, and include --host or a host-qualified target when needed
HTTP 401 or HTTP 403 Invalid token or insufficient scope Verify token validity, scopes, and repo permissions
HTTP 404 from the API Wrong path or endpoint unsupported on this Forgejo version Recheck the URL and confirm support in $FORGEJO_URL/api/swagger
fj lacks the requested operation CLI gap compared to Forgejo API Fall back to curl and jq using the REST API
安全使用建议
This skill is internally consistent, but note that FORGEJO_TOKEN is a powerful credential: only provide a token with the minimal scopes required and target the correct FORGEJO_URL. Install fj from a trusted Homebrew tap and verify the formula source if you have strict supply-chain concerns. Before installing, decide whether to use a short-lived or limited-scope application token (rather than a full admin token), and ensure you understand that the skill can read and modify repos, PRs, issues, wiki pages, and CI on the targeted Forgejo instance when invoked.
功能分析
Type: OpenClaw Skill Name: forgejo-fj-api Version: 0.1.1 The forgejo-fj-api skill bundle is a legitimate tool for managing Forgejo instances via the fj CLI and REST API. It includes comprehensive documentation (SKILL.md, README.md) and specialized references (api-cheatsheet.md, code-review.md) that guide the agent through repository management, PR reviews, and CI inspection. The skill correctly handles sensitive credentials (FORGEJO_TOKEN) by requiring explicit user configuration and provides clear readiness checks to ensure a secure and functional environment. No malicious patterns, such as data exfiltration or unauthorized execution, were detected.
能力标签
cryptocan-make-purchases
能力评估
Purpose & Capability
Name/description (Forgejo via fj and REST API) match the required binaries (fj, curl, jq, git), the declared env vars (FORGEJO_URL, FORGEJO_TOKEN), and the brew install of forgejo-cli. All requested items are expected for the stated functionality.
Instruction Scope
SKILL.md instructions consistently use fj and REST calls to $FORGEJO_URL with Authorization: token $FORGEJO_TOKEN. The runtime steps check only the declared binaries, env vars, and fj auth state; they do not instruct reading unrelated files or environment variables or sending data to unexpected external endpoints.
Install Mechanism
Install spec is a single brew formula (forgejo-cli) producing fj. Using Homebrew for a CLI is proportionate and low-risk compared with arbitrary downloads. No extract-from-URL or unknown host installs are present.
Credentials
Only FORGEJO_URL and FORGEJO_TOKEN are required and the skill names FORGEJO_TOKEN as the primary credential. These are proportionate to the skill's ability to call the Forgejo API and operate fj. No unrelated credentials or secret environment variables are requested.
Persistence & Privilege
The skill does not request always:true and does not declare system-wide config changes. Autonomous invocation is allowed by default (platform default) but is not combined with other red flags. The skill's scope is limited to interacting with the specified Forgejo instance and local git.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install forgejo-fj-api
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /forgejo-fj-api 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v0.1.1
Rename the published skill to Forgejo Workflow.
v0.1.0
Initial release
元数据
Slug forgejo-fj-api
版本 0.1.1
许可证 MIT-0
累计安装 0
当前安装数 0
历史版本数 2
常见问题

Forgejo Workflow 是什么?

Forgejo via fj and REST API for repos, issues, PRs, wiki, CI, and reviews. 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 171 次。

如何安装 Forgejo Workflow?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install forgejo-fj-api」即可一键安装,无需额外配置。

Forgejo Workflow 是免费的吗?

是的,Forgejo Workflow 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。

Forgejo Workflow 支持哪些平台?

Forgejo Workflow 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 Forgejo Workflow?

由 nerasse(@nerasse)开发并维护,当前版本 v0.1.1。

💬 留言讨论