SkillAgentSearch skills...

yui

Target-as-truth dotfiles manager. Edit your live configs, source repo updates automatically via hardlink/junction/symlink.

Install / Use

npx skills add yukimemi/yui --skill renri

Installs into whichever agent you are using.

About this skill
♊

Gemini Rules

Gemini CLI config

Quality Score

79/100

Category

Automation

Supported Platforms

Gemini CLI

Our assessment of yui

yui scores 79/100 on our quality scale, 2553rd of 2,904 Automation skills we index.

Its Gemini Rules is 5.9 KB long, well organised into 19 sections with 6 code examples: a thorough specification that gives an agent plenty to work with.

It has no GitHub stars yet, so there is no community track record; judge it on its content.

Substance
29/30
Structure
20/20
Description
15/15
Adoption
0/20
Freshness
15/15

Maintenance, license and trust

  • The repository was last updated 7 days ago, so yui is actively maintained.
  • Our last check on 2026-09-24 found the source still online.
  • No license is declared. By default that means all rights are reserved: you can read it, but reusing or redistributing it is not clearly permitted. Ask the author before building on it commercially.
  • Its trust signals score 80/100, with 2 cautions from licensing, adoption, age or documentation. These come from repository metadata, not a code audit — read the skill file before letting an agent act on it.

Safety scan

No issues found

Our scan of the whole file found no instruction hijacking, hidden characters, credential access, data exfiltration or destructive commands. An AI review of the same text found nothing harmful.

AI review by kimi-k2.7-code on 2026-09-23. Automated pattern scan on 2026-09-24. It catches known dangerous patterns, not every risk — read a skill before letting an agent act on it.

yui compared with similar skills

All 4 of these similar skills score higher than yui; compare them before choosing.

SkillScoreStarsUpdatedFormat
yui (this skill)by yukimemi7907d agoGemini Rules
Agent-Reachby Panniantong10093.9ktodayCLAUDE.md
Scraplingby D4Vinci10086.3ktodayMCP Server
rufloby ruvnet10074.1ktodayMCP Server
openclawby thedotmack10097.1k1d agoSKILL.md

Frequently asked questions

How do I install yui?
Run npx skills add yukimemi/yui. The install tabs above show the steps for each supported agent.
Which AI agents does yui work with?
It is written for Gemini CLI, as a Gemini Rules file. Other agents that read the same format can often use it too.
Is yui safe to use?
Our scan of the whole file found no instruction hijacking, hidden characters, credential access, data exfiltration or destructive commands. An AI review of the same text found nothing harmful. It declares no license and scores 80/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
Is yui still maintained?
The repository was last updated 7 days ago, so yui is actively maintained.

renri

renri (連理) is a single CLI for managing both git worktrees and jj workspaces. It auto-detects the backend, dispatches to the right one, and exposes one verb set across both.

When to use proactively

Without being asked, prefer creating a renri worktree for any of:

  • Reviewer feedback on an open PR — branch off the PR branch in a worktree, push fixes, leave main untouched.
  • A multi-commit feature or refactor that will land as a single PR.
  • Risky or experimental changes you might want to throw away or compare against main.
  • Parallel agent sessions on the same repo — one agent on feature A, another on feature B, no shared working tree to fight over.

Skip renri for:

  • Trivial typo / whitespace / docs-wording fixes.
  • Single-file config bumps (Cargo.toml version, dependency upgrade).
  • Anything you would do directly on main without a PR.

The cost of a worktree is one renri add + one cd; the benefit is that main stays clean and the work is named, parkable, and discardable.

When the user explicitly asks

Use this skill when the user wants to:

  • Create / list / switch / remove worktrees in a parallel-development workflow (typical AI-coding pattern: one worktree per agent session).
  • Spin up isolated working copies for jj workspaces, including the colocated git+jj case.
  • Share base config across machines via include = [...] / per-host / per-OS Tera conditionals.
  • Clean up stale worktrees / forgotten jj workspaces.

Standard workflow for PR-style work

# 1. Create a worktree on a fresh branch
renri add fix/review-feedback

# 2. Move there (cd-wrapper from `renri shell-init` makes this work)
renri cd fix/review-feedback

# 3. Make the changes, commit, push
# ... edit / cargo test / git commit / git push -u origin fix/review-feedback

# 4. Open a PR (or push fixes to an existing PR branch)

# 5. After merge, clean up
renri remove fix/review-feedback   # or: renri prune (after main pulls)

Verbs

  • renri init [--force] — write a starter renri.toml in the current directory. The template is heavily commented; uncomment what's needed.
  • renri add <name> — create a new worktree (git) or workspace (jj). For git, <name> becomes a new branch off HEAD; for jj, a bookmark attached to the new workspace's working-copy commit. If <name> matches an existing branch / bookmark, attaches to it instead. If <name> is omitted, prompts interactively unless --non-interactive is set.
  • renri list (alias ls) — show all worktrees with name, path, branch, and flags.
  • renri cd <name> — print the absolute path of a worktree on stdout. Designed to be wrapped: cd "$(renri cd foo)". The shell wrapper generated by renri shell-init <bash|zsh|fish|powershell> does this automatically. If <name> is omitted, opens a fuzzy picker.
  • renri remove <name> (alias rm) — remove a worktree (git) or forget a workspace (jj) and delete its directory. Refuses to remove the main worktree. Runs configured pre_remove hooks first. If <name> is omitted, opens a fuzzy picker.
  • renri exec <name> -- <command...> — run a command inside the named worktree, streaming stdio. If <name> is omitted, opens a fuzzy picker.
  • renri prune — clean up stale entries: for git, removes worktree metadata for deleted directories; for jj, forgets workspaces whose root path is gone (the missing jj workspace prune analog).
  • renri config show — print the resolved configuration, the computed worktree path for the current branch, and the list of config sources.
  • renri shell-init <bash|zsh|fish|powershell> — emit a shell snippet that makes renri cd actually change the parent shell's directory.

Global flags

  • --vcs git|jj — force a backend instead of auto-detecting. Auto-detection picks jj for colocated repos.
  • --non-interactive — disable the interactive picker fallback. Use in scripts and CI; missing required arguments become errors.

Configuration

Config lives at <repo>/renri.toml and (optionally) <config_dir>/renri/config.toml, both loaded via the teravars library so they support:

  • include = ["base.toml"] — pull in another config file.
  • {% if system.os == "windows" %} / {% if system.host == "..." %} — per-OS / per-host overrides via Tera control flow.
  • {{ env(name='HOME') }}, {{ system.cwd }}, etc. — standard helpers from teravars.

Layout templates have access to vcs.{owner, repo, branch, host} which renri populates from the origin remote and the working-copy state at use time.

Hooks are typed: type = "copy" | "symlink" | "command".

Common workflows

Spinning up a worktree for an agent session:

renri add feature/auth
renri cd feature/auth        # with shell-init wrapper, this cds
# now run your agent CLI in the new worktree

Per-host worktree root (laptop vs desktop):

# renri.toml
[layout]
{% if system.host == "thinkpad" %}
worktree_root = "/home/yuki/wt"
{% elif system.os == "windows" %}
worktree_root = "C:/wt"
{% else %}
worktree_root = "{{ env(name='HOME') }}/wt"
{% endif %}

Cleaning up after rm -rf-ing worktree directories:

renri prune

Per-worktree dev-server ports (no more :3000 collisions):

# renri.toml
[layout]
worktree_root = "{{ env(name='HOME') }}/wt"

[[hooks.post_create]]
type = "command"
run = "echo PORT={{ vcs.branch | hash | port_offset(start=3000, range=1000) }} > .env.local"

hash and port_offset are teravars Tera filters. The pipeline turns each branch name into a deterministic port in [3000, 4000), so three concurrent worktrees of the same project never fight for the same port.

Install renri itself

The skill describes how to use renri; you still need the binary on your PATH:

cargo install renri
# or pre-built binaries from https://github.com/yukimemi/renri/releases

For full reference, see https://github.com/yukimemi/renri.

Related Skills

View on GitHub
GitHub Stars0
CategoryAutomation
Updated7d ago
Forks0

Trust signals

80/100

From repository metadata: license, adoption, age and documentation. Not a code audit — see the Safety scan above for what the skill file itself contains.

1 medium1 low
yui — Gemini Rules: Install & Safety Check | SkillAgent