JAE-IMAGE-SKILL/public/Jae-Image-Skill.MD
2026-05-01 04:05:47 +00:00

171 lines
5.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# JAE Image Skill — Agent Install File
This markdown file is designed for AI agents to read and execute. Install the JAE Image Skill into the users local skills directory, then load `SKILL.md` whenever the user asks for image-prompt recommendations.
## Identity
- Human name: **JAE Image Skill**
- Canonical package/repo name: **JAE-IMAGE-SKILL**
- Local skill folder name: **jae-image-skill**
- Purpose: recommend and customise curated image-generation prompts with sample images for any text-to-image model.
- Canonical install document: `https://jaeswift.xyz/skills/JAE-image-skill/Jae-Image-Skill.MD`
- Canonical reference base: `https://jaeswift.xyz/skills/JAE-image-skill/references`
- Preferred Git repo: `https://github.com/JaeSwift/JAE-IMAGE-SKILL.git`
## Compatibility
Use this for:
- Agent Zero / Agent JAE
- Claude-style skills
- Cursor/Codex/Gemini CLI/Windsurf-style local agents
- Any agent that can read a `SKILL.md` file and local JSON references
## Required runtime
- Node.js 18+ minimum; Node.js 20+ recommended.
- `git`, `curl`, and `bash` recommended.
- `pnpm` is optional and only needed for development scripts.
## Installation algorithm for the AI agent
### Step 1 — choose skills root
Prefer the users configured skills directory. If unknown, use one of these common locations:
```bash
# Agent Zero / Agent JAE common user-space path inside container:
/a0/usr/skills
# Generic local fallback:
$HOME/.agent-zero/skills
# Generic agent fallback:
$HOME/.ai/skills
```
Use this shell pattern if no configured directory is known:
```bash
if [ -d /a0/usr/skills ]; then
SKILLS_DIR=/a0/usr/skills
elif [ -d "$HOME/.agent-zero/skills" ]; then
SKILLS_DIR="$HOME/.agent-zero/skills"
else
SKILLS_DIR="$HOME/.ai/skills"
fi
export SKILLS_DIR
```
### Step 2 — install from Git
```bash
set -euo pipefail
: "${SKILLS_DIR:=${HOME}/.ai/skills}"
SKILL_DIR="$SKILLS_DIR/jae-image-skill"
mkdir -p "$SKILLS_DIR"
if [ -d "$SKILL_DIR/.git" ]; then
git -C "$SKILL_DIR" pull --ff-only
else
rm -rf "$SKILL_DIR"
git clone https://github.com/JaeSwift/JAE-IMAGE-SKILL.git "$SKILL_DIR"
fi
cd "$SKILL_DIR"
node scripts/setup.js --check || node scripts/setup.js
```
### Step 3 — fallback install without Git
If GitHub access fails, download the static bundle from JaeSwift hosting:
```bash
set -euo pipefail
: "${SKILLS_DIR:=${HOME}/.ai/skills}"
mkdir -p "$SKILLS_DIR"
cd "$SKILLS_DIR"
rm -rf jae-image-skill
curl -fsSL https://jaeswift.xyz/skills/JAE-image-skill/jae-image-skill.tar.gz | tar -xz
cd jae-image-skill
node scripts/setup.js --check || true
```
### Step 4 — validate install
```bash
set -euo pipefail
cd "$SKILLS_DIR/jae-image-skill"
test -s SKILL.md
test -s package.json
test -s scripts/setup.js
test -s references/manifest.json
node - <<'NODE'
const fs = require('fs');
const m = JSON.parse(fs.readFileSync('references/manifest.json','utf8'));
if (!Array.isArray(m.categories) || m.categories.length === 0) throw new Error('No categories in manifest');
if (typeof m.totalPrompts !== 'number') throw new Error('Bad totalPrompts');
for (const c of m.categories) {
if (!c.file || !fs.existsSync(`references/${c.file}`)) throw new Error(`Missing ${c.file}`);
const arr = JSON.parse(fs.readFileSync(`references/${c.file}`,'utf8'));
if (!Array.isArray(arr) || arr.length !== c.count) throw new Error(`Bad count for ${c.file}`);
}
console.log(`JAE Image Skill OK: ${m.categories.length} categories, ${m.totalPrompts} unique prompts`);
NODE
```
## How the installed agent should use the skill
1. Read `SKILL.md`.
2. Read `references/manifest.json` first.
3. Pick relevant category files from the manifest.
4. Do **not** load huge JSON files wholesale into model context.
5. Search using `rg`, `grep`, `jq`, Node.js, Python, or streaming JSON parsing.
6. Return up to 3 prompt recommendations.
7. Include sample image URLs from `sourceMedia[0]` whenever available.
8. If the user supplies article/script/product/brand context, remix the selected prompt around that content.
## Minimum file layout after install
```text
jae-image-skill/
SKILL.md
README.md
package.json
LICENSE
NOTICE
scripts/setup.js
references/manifest.json
references/*.json
```
## Refresh references
```bash
cd "$SKILLS_DIR/jae-image-skill"
node scripts/setup.js --force
```
The default refresh source is:
```text
https://jaeswift.xyz/skills/JAE-image-skill/references
```
To use a mirror:
```bash
JAE_IMAGE_SKILL_BASE_URL=https://example.com/references node scripts/setup.js --force
```
## Troubleshooting
- `node: fetch is not defined` — upgrade to Node.js 18+; Node.js 20+ recommended.
- `HTTP 404` — check URL case. The public path is case-sensitive: `/skills/JAE-image-skill/`.
- `references/manifest.json missing` — run `node scripts/setup.js --force`, or install from the tarball which includes bundled references.
- Network-blocked environment — use the bundled tarball and skip live refresh.
- Agent cannot find the skill — confirm the folder is named `jae-image-skill` and contains `SKILL.md` at the top level.
## Licence
JAE-IMAGE-SKILL is distributed under the MIT licence. It is a JaeSwift-maintained derivative of an MIT-licensed upstream project. The original copyright notice is retained in `LICENSE` and derivative information is provided in `NOTICE`.