Meta Ads Audit
3.7kAuditoría de salud de cuenta de Meta Ads (Facebook + Instagram) y configuración del contexto de negocio.
- Costo de contexto al activarse
- 274 tok
- Tamaño del paquete
- 1 archivo
- Última actualización
- anteayer
Actualiza el plugin NotFair a la última versión: actualiza el repo del marketplace, instala la nueva versión en la caché y actualiza installed_plugins.json.
bashreadaskuserquestionen todo el repo
0–100, la ruta de este skill
último commit aquí
últimos 90 días
82 tok en reposo
7 KB
Funciona con cualquier agente que lea SKILL.md
npx -y skills add nowork-studio/notfair-plugin --skill notfair-upgrade-skill --agent claude-codeSe instala solo en este repositorio.
Este skill runs shell commands, reads environment config.
Di cualquiera de estas frases y el agente debería cargar este skill.
Upgrade the NotFair plugin to the latest version and show what's new.
| What | Path |
|---|---|
| Marketplace repo | ~/.claude/plugins/marketplaces/nowork-studio/ |
| Plugin cache | ~/.claude/plugins/cache/nowork-studio/notfair/<version>/ |
| Installed plugins | ~/.claude/plugins/installed_plugins.json |
| Update state | ~/.toprank/ (intentionally preserved — see CHANGELOG 0.24.0) |
This section is used when a skill preamble outputs UPGRADE_AVAILABLE.
Log "Upgrading NotFair v{old} → v{new}..." and proceed to Step 2.
First check for dev symlink (see "Dev symlink detection" section). If detected, stop — do not upgrade.
# Find the currently installed plugin path
INSTALLED_DIR=$(ls -d ~/.claude/plugins/cache/nowork-studio/notfair/*/ 2>/dev/null | grep -v '.bak' | head -1)
if [ -z "$INSTALLED_DIR" ]; then
echo "ERROR: NotFair plugin not found in cache"; exit 1
fi
MARKETPLACE_DIR="$HOME/.claude/plugins/marketplaces/nowork-studio"
if [ ! -d "$MARKETPLACE_DIR/.git" ]; then
echo "ERROR: marketplace repo not found at $MARKETPLACE_DIR"; exit 1
fi
echo "Current install: $INSTALLED_DIR"
echo "Marketplace repo: $MARKETPLACE_DIR"
OLD_VERSION=$(cat "$INSTALLED_DIR/VERSION" 2>/dev/null | tr -d '[:space:]' || echo "unknown")
cd "$MARKETPLACE_DIR"
git fetch origin
git reset --hard origin/main
NEW_VERSION=$(cat VERSION | tr -d '[:space:]')
GIT_SHA=$(git rev-parse HEAD)
# Create new versioned cache directory
NEW_CACHE_DIR="$HOME/.claude/plugins/cache/nowork-studio/notfair/$NEW_VERSION"
if [ -d "$NEW_CACHE_DIR" ]; then
rm -rf "$NEW_CACHE_DIR"
fi
mkdir -p "$NEW_CACHE_DIR"
# Copy plugin files (exclude .git to save space)
rsync -a --exclude='.git' "$MARKETPLACE_DIR/" "$NEW_CACHE_DIR/"
If the copy fails, warn: "Upgrade failed — the old version is still active. Run /notfair:upgrade manually." and stop.
Read ~/.claude/plugins/installed_plugins.json, then update the notfair@nowork-studio entry:
python3 -c "
import json, os
from datetime import datetime, timezone
path = os.path.expanduser('~/.claude/plugins/installed_plugins.json')
with open(path) as f:
data = json.load(f)
data['plugins']['notfair@nowork-studio'] = [{
'scope': 'user',
'installPath': os.path.expanduser('~/.claude/plugins/cache/nowork-studio/notfair/$NEW_VERSION'),
'version': '$NEW_VERSION',
'installedAt': data['plugins'].get('notfair@nowork-studio', [{}])[0].get('installedAt', datetime.now(timezone.utc).isoformat()),
'lastUpdated': datetime.now(timezone.utc).isoformat(),
'gitCommitSha': '$GIT_SHA'
}]
with open(path, 'w') as f:
json.dump(data, f, indent=4)
print('Updated installed_plugins.json: notfair@nowork-studio -> v$NEW_VERSION')
"
Remove old versioned cache directories (keep only the new one). Never remove a dev symlink:
for dir in ~/.claude/plugins/cache/nowork-studio/notfair/*/; do
ver=$(basename "$dir")
if [ "$ver" != "$NEW_VERSION" ] && [ "$ver" != "dev" ]; then
rm -rf "$dir"
echo "Removed old cache: $ver"
fi
done
mkdir -p ~/.toprank
echo "$OLD_VERSION" > ~/.toprank/just-upgraded-from
rm -f ~/.toprank/last-update-check
rm -f ~/.toprank/update-snoozed
Read $NEW_CACHE_DIR/CHANGELOG.md. Find all version entries between the old version and the new version. Summarize as 3-7 bullets grouped by theme — focus on user-facing changes, skip internal refactors.
Format:
NotFair v{new} — upgraded from v{old}!
What's new:
- [bullet 1]
- [bullet 2]
- ...
The new version will be fully active on your next Claude Code session.
After showing What's New, continue with whatever skill the user originally invoked.
Before upgrading, check if the installed cache directory is a symlink named dev:
CACHE_DIR=$(ls -d ~/.claude/plugins/cache/nowork-studio/notfair/*/ 2>/dev/null | head -1)
if [ -L "${CACHE_DIR%/}" ] && [ "$(basename "$CACHE_DIR")" = "dev" ]; then
echo "DEV_SYMLINK"
fi
If DEV_SYMLINK: tell the user "NotFair is installed as a dev symlink — it always points to your local source (v$(cat "$CACHE_DIR/VERSION" 2>/dev/null | tr -d '[:space:]')). No upgrade needed." and stop. Do not proceed with Steps 2–8.
When invoked directly as /notfair:upgrade:
Check for dev symlink (see "Dev symlink detection" above). If detected, stop.
Force a fresh update check (bypass cache and snooze):
_UPD_BIN=$(ls ~/.claude/plugins/cache/nowork-studio/notfair/*/bin/notfair-update-check 2>/dev/null | head -1)
[ -n "$_UPD_BIN" ] && _UPD=$("$_UPD_BIN" --force 2>/dev/null || true) || _UPD=""
echo "$_UPD"
If UPGRADE_AVAILABLE <old> <new>: follow Steps 2–8 above.
If no UPGRADE_AVAILABLE output: tell the user "You're already on the latest version (v{LOCAL})."
Reproducido de nowork-studio/notfair-plugin bajo licencia MIT. Leer esta página en markdown.
2 archivos en el paquete. Solo se lee SKILL.md al activarse — las referencias se cargan si el skill decide que las necesita.
Requiere el repositorio de marketplace clonado con git en ~/.claude/plugins/marketplaces/nowork-studio y acceso a Bash/Python3.
Necesita en el PATH:gitpython3
Variables de entorno:CACHE_DIRGIT_SHAINSTALLED_DIRMARKETPLACE_DIRNEW_CACHE_DIRNEW_VERSIONOLD_VERSION
Este repo incluye 45 skills. Si instalas uno, normalmente ya tienes los demás. Ver el pack notfair-plugin entero y su comando de instalación
Auditoría de salud de cuenta de Meta Ads (Facebook + Instagram) y configuración del contexto de negocio.
Auditoría del estado de la cuenta de Google Ads y configuración del contexto de negocio, para auditorías de salud de cuenta y onboarding en NotFair.
Genera y prueba A/B el copy de anuncios de Google Ads: titulares, descripciones, variantes y componentes RSA (Responsive Search Ad).
Planea, valida y publica de forma segura assets de Google Ads: sitelinks, callouts, structured snippets, image assets y briefs de assets para Performance Max.
Coordina trabajo de medios pagados seguro y basado en evidencia en Google Ads, Meta Ads, X Ads, LinkedIn Ads, TikTok, Amazon y ChatGPT Ads, enrutando a la skill correcta de NotFair.
Planifica y prepara una nueva campaña de paid-media o test cross-channel antes de gastar presupuesto, en cualquier plataforma soportada.