Arquitecto de Soluciones Principal y Consultor Tecnológico de Andru.ia. Diagnostica y traza la hoja de ruta óptima para proyectos de IA en español.
日本語の概要は準備中です。原文の説明を表示しています。
Install and use the official AI Headshot Generator package, pinned by digest, for paid hosted work on the Beatra service.
インストールする前に、エージェントに与えられる指示の中身を確認できます。
Turn a casual selfie into a professional headshot with a new background, business attire, and studio lighting for resumes, company websites, career profiles, and social media, from inside Claude Code, Codex, or OpenClaw. The work is produced on the hosted, paid Beatra service
(mcp.beatra.ai).
This catalog entry is a reviewed pointer, not the executable package. It contains no client code and performs no Beatra operation by itself. The package it points to bundles three standard-library Python scripts that make network calls, store a credential, and can replace their own files. Read Install and Security & Safety Notes before activating it.
| Pinned identity | Value |
|---|---|
| Package | ai-headshot-studio 0.1.7 |
| Archive | https://cdn.beatra.ai/agent-packages/ai-headshot-studio/v0.1.7/ai-headshot-studio-skill-0.1.7.zip |
| Archive SHA-256 | a781be7a811bc5b0e74ba5205e25d01a349c1d3d8eaf261cd653ee1d619b8ab3 |
| Source tree | beatra-ai/ai-headshot-generator-skill@a8818c3 (full SHA a8818c3568f5c3fe3c0ef65d68498c1ce2e81b3a) |
| License | MIT No Attribution (MIT-0) |
The archive holds regular files only (no symlinks, no executable bits, no binaries). Confirm that with the inspect commands below. Every file must be byte-identical to the source tree at the pinned commit.
Explain that this downloads an external package from cdn.beatra.ai, then ask
for approval. Only after approval:
umask 077
review_dir="$(mktemp -d)"
cd "$review_dir" || exit 1
curl -fsSLO "https://cdn.beatra.ai/agent-packages/ai-headshot-studio/v0.1.7/ai-headshot-studio-skill-0.1.7.zip"
printf '%s %s\n' \
'a781be7a811bc5b0e74ba5205e25d01a349c1d3d8eaf261cd653ee1d619b8ab3' \
'ai-headshot-studio-skill-0.1.7.zip' | shasum -a 256 -c -
Stop if the check does not print OK. The expected digest comes from this
catalog entry, not from a file on the same CDN.
unzip -l ai-headshot-studio-skill-0.1.7.zip
unzip -q ai-headshot-studio-skill-0.1.7.zip
find ai-headshot-studio -type l -print # expect no output
find ai-headshot-studio -type f -perm -111 -print # expect no output
grep -n '"auto_update": True' ai-headshot-studio/scripts/mcp_client.py
Optionally confirm byte identity with the public source tree (a second, independent host):
git clone --quiet --filter=blob:none --no-checkout https://github.com/beatra-ai/ai-headshot-generator-skill.git src
git -C src checkout --quiet a8818c3568f5c3fe3c0ef65d68498c1ce2e81b3a -- skills/ai-headshot-studio
(cd ai-headshot-studio && find . -type f | LC_ALL=C sort | xargs shasum -a 256) > archive.sha
(cd src/skills/ai-headshot-studio && find . -type f | LC_ALL=C sort | xargs shasum -a 256) > tree.sha
cmp archive.sha tree.sha && echo IDENTICAL
Report to the user what the review found: SKILL.md, manifest.json, the
bundled Markdown references, and scripts/authorize.py,
scripts/mcp_client.py, scripts/uninstall.py (Python 3.10+, standard
library only, no dependency installation, no lifecycle hooks). Summarize the
network, credential, local-state, telemetry, and self-update behavior listed
under Security & Safety Notes.
Ask for a second, separate approval, because this changes agent configuration. Then copy the reviewed tree to the host's skills directory (Claude Code shown; use the equivalent path for other hosts) and immediately turn off silent self-update for that exact path:
dest="$HOME/.claude/skills/ai-headshot-studio"
test ! -e "$dest" || { echo "destination exists; stop and ask the user"; exit 1; }
cp -R ai-headshot-studio "$dest"
python3 "$dest/scripts/mcp_client.py" update --auto off
The last command must print
Automatic Beatra package updates are disabled. It writes only
~/.beatra/updates/<id>/state.json and makes no network request. Run it
before authorize.py, verify, tools, upload, or call: in this
pinned version self-update is on by default. The setting is keyed to the
resolved install path, so repeat it after moving or re-copying the directory.
Authorization opens a browser sign-in and stores a bearer token. Ask first.
python3 "$dest/scripts/authorize.py"
Start a new agent session if the host discovers skills only at startup.
SKILL.md and its references; they define the
routes, payload shapes, and review loop.beatra.models.list, task list) to
read current model cards and credit estimates.client_request_id and poll the returned task.billing.net_charged_credits, review the
result with the user, and ask again before any further paid stage.python3 "$HOME/.claude/skills/ai-headshot-studio/scripts/mcp_client.py" verify
After the user approved the cost card for this exact payload, submit once with
a stable request id using the tool name from the installed SKILL.md. If the
response is lost, retry only with the same client_request_id and identical
arguments; never submit a replacement while the task is running.
This entry does not endorse the package's silent self-update. Keep
update --auto off in place and do not run update --auto on or a bare
update without explicit approval.
To move to a newer version, repeat Steps 1 to 3 for that version in a new
review directory, verify its digest against the matching tree in beatra-ai/ai-headshot-generator-skill
(a version not listed in this entry has not been reviewed here), show the
user the file-level changes against the installed copy, and replace the
directory only after approval. update --check reports the available version
from beatra.ai without changing files.
dest="$HOME/.claude/skills/ai-headshot-studio"
python3 "$dest/scripts/uninstall.py" --dry-run
python3 "$dest/scripts/uninstall.py"
Read the JSON decision. disconnected means this was the last Beatra skill on
the device: the token was revoked (when revoked is true) and the files
credentials.json, installation.json, host.json, skills.json,
registrations.json, pending_authorization.json, and .authorize.lock under
~/.beatra were removed. keep_connection means
another Beatra skill still uses the shared token, which stays. Then, after
confirming the path with the user, delete $dest.
uninstall.py does not remove ~/.beatra/updates/. When the decision is
disconnected and no other Beatra skill is installed, remove that directory
too; otherwise leave it. A token that could not be revoked expires after 15
days idle and can be revoked at once in the Beatra Console under Agents.
~/.beatra/credentials.json.risk: critical is deliberate.
api.beatra.ai; every tool call and upload
goes to mcp.beatra.ai. With self-update left on, the client also fetches
https://beatra.ai/skills/ai-headshot-studio/install.json and archives from
cdn.beatra.ai.verify,
tools, upload, or call, the client checks for a newer release at most
once every 24 hours and, if one exists, replaces package-owned files without
per-update preview or approval. It pins host and path, verifies checksums
from Beatra's own discovery document and CDN, and rolls back on failure, but
those digests are not independently anchored. This entry therefore requires
update --auto off before first use, as in Step 3.authorize.py runs an OAuth device flow, opens the browser,
and stores one bearer token in ~/.beatra/credentials.json (directory
0700, file 0600). The token never goes into argv, environment variables,
or output. It carries full Beatra scope, including wallet:spend, has a
sliding 15-day idle lifetime, and is shared by every Beatra skill on the
device. While the user has not yet selected Allow, the pending device code
is kept in ~/.beatra/pending_authorization.json (same 0600 protection) so
a rerun finishes the same approval instead of opening a new one; it is
deleted once the token is saved or the approval lapses. When verify,
tools, upload, or call finds no working token, the client makes one
check of that saved approval and stores the token if the user has already
selected Allow; it never starts a new authorization or opens a browser.~/.beatra/ also holds installation.json (random
installation reference), host.json (agent platform and hostname),
skills.json (installed Beatra skill paths), registrations.json, and
updates/<id>/state.json plus update backups when updates run.claude-code, from environment variables). On first use the client makes a
non-billable beatra.installations.register call, and every tool call adds
source_package_slug and source_platform. There is no opt-out for these
fields.まだレビューはありません。使ってみた感想をお寄せください。
概要と使いどころ
Arquitecto de Soluciones Principal y Consultor Tecnológico de Andru.ia. Diagnostica y traza la hoja de ruta óptima para proyectos de IA en español.
日本語の概要は準備中です。原文の説明を表示しています。
Security audit, hardening, threat modeling (STRIDE/PASTA), Red/Blue Team, OWASP checks, code review, incident response, and infrastructure security for any project.
日本語の概要は準備中です。原文の説明を表示しています。
Ingeniero de Sistemas de Andru.ia. Diseña, redacta y despliega nuevas habilidades (skills) dentro del repositorio siguiendo el Estándar de Diamante.
日本語の概要は準備中です。原文の説明を表示しています。
Estratega de Inteligencia de Dominio de Andru.ia. Analiza el nicho específico de un proyecto para inyectar conocimientos, regulaciones y estándares únicos del sector. Actívalo tras definir el nicho.
日本語の概要は準備中です。原文の説明を表示しています。
AI-powered presentation generation via the 2slides API — create slides from text, match a reference image style, summarize documents into decks, add AI voice narration, and export pages/audio. Use for any "make slides", "create a deck", or "slides from this document" request.
日本語の概要は準備中です。原文の説明を表示しています。
360 feedback register: reviewer, subject, review cycle, visibility, due date and score, as CSV, SQL, JSON Schema or Notion on request. Use for 360 reviews or peer feedback cycles.
日本語の概要は準備中です。原文の説明を表示しています。