natsukium/dotfiles/fj
Claude Code and agent skill by natsukium/dotfiles
- community
Checking that the SKILL.md file is still in the repository.
Forgejo CLI for issues, pull requests, repositories, releases, Actions, organizations, and users on git.natsukium.com. Use whenever a request references git.natsukium.com or a Git remote hosted there; this is the Forgejo counterpart to the gh skill.
Install
npx vskill@latest install natsukium/dotfiles/fjSKILL.md
fj - Forgejo CLI
Use fj for Forgejo-specific operations on git.natsukium.com. Use git for local commits, branches, and pushes.
Select the host and repository explicitly
Inside a checkout, fj infers the host and repository from the Git remote. Elsewhere, or to act on another repository, pass the host and repository explicitly:
Repository syntax depends on the command:
- Collection and create commands for issues and PRs accept
--repo owner/repo. - Commands acting on an existing issue accept a positional qualified reference such as
'owner/repo#42'. - Most commands acting on an existing PR accept the same qualified form.
pr assignandpr unassigntake it through--prinstead. - Repository commands generally take
owner/repoas a positional argument. Releases, tags, Actions, and wikis expose their own global--repo; check the relevant--helpbefore composing less common commands. - Convert a URL such as
https://git.natsukium.com/owner/repo/issues/42or/pulls/42to'owner/repo#42'.
-R resolves the named remote and takes precedence over -H. If a command still dials manyara.tail4108.ts.net, the key store lacks its alias to git.natsukium.com; retry with -H https://git.natsukium.com and an explicit repository.
Authentication
fj auth list should include git.natsukium.com. Never print or place an access token directly in a recorded command. Where home-manager renders the key store from sops, it is read-only and login, add-token, and logout fail; ask the user to rotate the token in sops instead.
Issues
Pull requests
Inspect the PR and its diff before merging, and use the merge method requested by the user or repository policy. pr checkout is an exception to qualified references: it accepts a numeric ID and must run in the corresponding local Git repository.
Attaching images
fj cannot upload attachments, and the API takes them only on an existing issue or PR. Create the PR first, upload with ./scripts/attach, then put the printed links into the body:
The script reads the token fj auth stored, so do not read fj's key store yourself. For other API calls fj lacks, use curl: Python urllib gets 403 from this API (its User-Agent is blocked).
Other operations
Waiting for CI
fj has no command that waits for Actions or prints job logs. Use ./scripts/ci-wait, which polls the REST API for every run on one commit and, once all have finished, prints each run and the log tail of each failed job:
It exits 0 when every run passed, 1 when one failed or was cancelled, 2 when no run appeared for the commit, and 124 at --timeout with runs still going; call it again then. Pass a --timeout below the caller's own command limit, or run it as a background command where the agent is notified when one ends. Set FORGEJO_TOKEN for a private repository.
For anything the script does not cover, the REST API under /api/v1/repos/owner/repo/actions/ needs no token on a public repository:
runs?head_sha=<sha>returns{"workflow_runs": [...]};runs/<id>/jobsreturns a
bare array; jobs/<job-id>/logs returns plain text.
- The
#Nthatfj actions tasksprints is the run number, not the runidthese
endpoints take.
- There is no rerun endpoint; rerun from the web UI or push a new commit.
Important differences from gh
--repois not universal; use the command-specific forms above rather than translating aghcommand mechanically.issue create,issue comment,pr create, andpr commentsupport--body-file. Issue and PR body edits do not, so pass file contents as the positional body argument.- Bare issue or PR numbers are safe only when checkout inference is intentional and verified.
- In
fj0.6.0,pr statuscan panic while formatting Forgejo check data (Unknown variable: $created_at); usepr viewand the Forgejo web UI if that occurs. - Quote qualified references containing
#. issue createprints the new number wrapped in Unicode bidi isolates (#385); strip non-digits before reusing it.- Use
gh, notfj, forgithub.comremotes and URLs. If unsure, inspectgit remote -vfirst.
Security
- Security scanPassed, 95 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingmodules/features/coding-agents/common/skills/fj/SKILL.md
Popularity
- Repository stars
- 106
- 7-day trend score
- 28
Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/natsukium/dotfiles/fj)