Skip to content
Back to skills

Ftja Update

ASecurity

Update this FTJA folder to the latest published version (git pull, dependencies, restart the viewer) and tell the user what changed. Invoke when the user says "update FTJA", "get the latest version", or after /ftja-run or the viewer reported that an update is available.

  • 2 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added October 14, 2026
ai-agentspythongit

Security analysis

A96/100
  • mediumInstalls packages at runtime which could introduce malicious dependencies

Pro shows the line behind each finding and how to fix it

Scanned October 14, 2026

npx -y skills add TaegyuJEONG/ftja --skill ftja-update --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Ftja Update?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Ftja Update
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/taegyujeong-ftja-update/badge)](https://www.skillsdirectory.com/skills/taegyujeong-ftja-update)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: ftja-update
description: Update this FTJA folder to the latest published version (git pull, dependencies, restart the viewer) and tell the user what changed. Invoke when the user says "update FTJA", "get the latest version", or after /ftja-run or the viewer reported that an update is available.
---

# FTJA update

FTJA is installed by cloning its repository, so it only changes when the
user pulls. This skill does that pull safely. The user's own files
(`criteria.json`, `rubric.md`, `rubric-criteria.json`, `profile/`,
`seen.db`, digests, `.ftja-run/`) are ignored by git; an update never
touches them.

## 1. Where things stand

```
venv/bin/python -m ftja.version check --force
```

Note the installed version it prints. If it says `up to date`, tell the
user and stop.

Do not update while a run is in progress: `venv/bin/python -m ftja.lock
check .ftja.lock` — if it prints `locked`, tell the user to update after
the run finishes, and stop.

## 2. Make sure the pull can't lose anything

Run `git status --short` and `git branch --show-current`.

- **Tracked files modified** (lines starting with ` M` or `M`): the user,
  or an agent on their behalf, changed FTJA's own code or skills. Stop and
  show them the list. Offer two ways forward and let them choose: keep the
  changes aside and update (`git stash`, pull, then `git stash pop` — and
  if that conflicts, show the conflict rather than resolving it by
  guessing), or leave everything as it is. Never discard their changes.
- **Not on the default branch**: tell the user which branch they are on and
  ask before doing anything.
- Untracked files (`??`) are fine; leave them alone.

## 3. Pull

```
git pull --ff-only
```

`--ff-only` refuses rather than creating a merge when the local history
has diverged. If it refuses, report git's message and stop; do not rebase,
reset or force anything.

## 4. Dependencies and the viewer

```
venv/bin/pip install -q -r requirements.txt
```

The viewer keeps the old code in memory until it restarts. If something is
listening on port 8765 (`lsof -tiTCP:8765 -sTCP:LISTEN`), stop that process
and start it again from this folder (`venv/bin/python -m ftja.server`, in
the background), then check `http://127.0.0.1:8765/` answers.

## 5. Tell the user what changed

```
venv/bin/python -m ftja.version changes --since <the version from step 1>
```

Relay it in the user's language, leading with each version's "What changes
for you after updating" part — those are the things they will notice or
need to do. Finish with the version they are now on.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.