grahama1970/assistant

Passerelle d'inférence partagée GPT + classifieur pour les tâches de surveillance de persona. Achemine la validation et la classification via une cascade à 4 niveaux : heuristique → classifieur → GPT local → scillm.

Qu'est-ce que assistant ?

Ce skill agit comme une passerelle d'inférence unifiée, combinant plusieurs modèles (heuristique, classifieur DistilBERT/sklearn, régresseur, GPT local Qwen3-0.6B, et scillm DeepSeek) pour valider et classifier des données dans le cadre de tâches de surveillance de persona. Il implémente une cascade à plusieurs niveaux (tiers 0 à 2) qui optimise le coût et la latence en utilisant d'abord les méthodes les plus légères et gratuites, et ne recourt au modèle payant (scillm) qu'en dernier recours. Le système inclut un cycle de vie auto-évolutif via `/assistant-lab` : les modèles étudiants sont entraînés à partir des labels du professeur (scillm) en mode « shadow », puis promus après validation de leur taux de concordance. Le skill fournit une API Python (validate, classify) et une CLI (run.sh) pour l'exploitation, la gestion des modèles, l'évaluation et la récolte de données d'entraînement. L'observabilité est assurée par `/monitor-skills` et l'auto-amélioration par `/assistant-lab`, formant ainsi un « étang chaud » où le système évolue de manière autonome. Les prompts système doivent impérativement être itérés via `/prompt-lab` avant toute utilisation en entraînement.

Compatible avec✓Claude Code~Codex CLI~Cursor✓Antigravity
npx skills add https://github.com/grahama1970/agent-skills/tree/main/skills/assistant

Installed? Explore more Développement et programmation skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

STOP. LISEZ L'INTÉGRALITÉ DE CE SKILL.MD AVANT D'APPELER UN ENDPOINT QUELCONQUE.

Que fait assistant ?

Passerelle d'inférence partagée GPT + classifieur + régresseur pour les tâches de surveillance de persona.

L'« étang chaud » — /assistant peut faire évoluer de manière autonome sa pile d'inférence via /assistant-lab (atelier d'auto-amélioration : create-*, *-lab, fabrique de modèles) tandis que /monitor-skills fournit l'observabilité de l'écosystème de skills.

Règle d'itération des prompts (NON NÉGOCIABLE)

Tous les prompts système pour les modèles /assistant DOIVENT être itérés via /prompt-lab avant d'être intégrés dans les données d'entraînement via /create-gpt. Ne créez JAMAIS de prompts système directement dans des chaînes Python.

  • Nouveau prompt modèle → /prompt-lab eval d'abord sur des données de référence
  • Plateau du prompt (80-90% d'accord fantôme) → /prompt-lab compare entre variantes
  • Réentraînement du modèle → valider le prompt avec /prompt-lab find-minimum avant /create-gpt

Cascade de niveaux

NiveauMéthodeCoûtLatenceCréé par
0Heuristique (regex/mot-clé/schéma)gratuitmicrosecondescodé à la main
0.5Classifieur (DistilBERT/sklearn)gratuit5-25 ms/create-classifier
0.75Régresseur (sklearn/XGB)gratuit5-10 ms/create-regressor
1.5GPT partagé (Qwen3-0.6B GGUF)gratuit~200 ms/create-gpt
2scillm (DeepSeek V3.2 via Chutes)0,12 $/1K2-5 sprofesseur persona

Cycle de vie des modèles (Étang chaud)

Le professeur de niveau 2 crée des labels
    ↓ harvest.py extrait shadow.jsonl
    ↓
ModelFactory.auto_improve(task)
    ↓ lit le taux d'accord fantôme
    ├─ >= 90% : promotion (shadow_mode → false)
    ├─ 80-90% : plateau → /prompt-lab reconception
    ├─ 70-80% : /create-gpt ou /create-classifier réentraînement
    └─ < 70% : réentraînement agressif + changement d'architecture
    ↓
/gpt-lab benchmark ou /classifier-lab evaluate
    ↓ succès ? → promotion dans le registre
    ↓
/monitor-skills détecte la dérive ou les problèmes de santé
    ↓
/assistant-lab auto-amélioration (diagnostiquer → entraîner → évaluer → promouvoir)

Utilisation

# Valider des données via la cascade de niveaux
./run.sh validate --task qra-assessor --scope brandon_bailey --input '{"question":"...", "answer":"..."}'

# Classifier du texte
./run.sh classify --task bridge-tagger --text "évaluation de vulnérabilité satellite"

# Enregistrer un nouveau modèle
./run.sh register --task NOM --model-path CHEMIN --type gpt|classifier --threshold 0.85

# Afficher les modèles enregistrés, taux d'utilisation, distribution des niveaux
./run.sh status

# Exécuter des entrées synthétiques sur tous les niveaux
./run.sh self-test

# Extraire les escalades de niveau 2 comme données d'entraînement
./run.sh harvest --since 24h

API Python

from assistant import validate, classify

# Validation avec cascade à 4 niveaux
result = validate(
    input_data={"question": "Qu'est-ce que CWE-79 ?", "answer": "Cross-site scripting..."},
    task="qra-assessor",
    scope="brandon_bailey",
)
print(result.tier, result.confidence, result.result)

# Classification avec cascade à 3 niveaux
result = classify(
    text="évaluation de vulnérabilité satellite",
    task="bridge-tagger",
)
print(result.prediction, result.confidence, result.source)

Contrat

  • Entrée : Dictionnaire spécifique à la tâche (validateurs) ou chaîne de texte (classifieurs)
  • Sortie : GatewayResult ou ClassifyResult avec niveau, confiance, latence
  • Dépendances : loguru, typer ; optionnelles : llama-cpp-python, torch, joblib
  • Métriques : Ajoute une ligne JSONL à ~/.pi/assistant/metrics.jsonl

Fabrique de modèles

# Vérifier les modèles dont une tâche a besoin
./run.sh factory needs --task stress-test-grader

# Entraîner un GPT à partir des labels du professeur récoltés
./run.sh factory train-gpt --task stress-test-grader

# Évaluer via /gpt-lab
./run.sh factory evaluate --task stress-test-grader --type gpt

# Promouvoir un modèle validé (désactive le mode fantôme)
./run.sh factory promote --task stress-test-grader --type gpt

# Boucle d'amélioration autonome (décider + entraîner + évaluer + promouvoir)
./run.sh factory auto-improve --task stress-test-grader
from model_factory import ModelFactory

factory = ModelFactory()
result = factory.auto_improve("stress-test-grader")
# → lit l'accord fantôme, entraîne/évalue/promeut si nécessaire

Comportements clés

  1. Chargement paresseux des modèles : Les poids sont chargés au premier appel, mis en cache dans le processus
  2. Injection mémoire : Rappels du scope persona, préfixés dans le prompt système du GPT
  3. Mode transparent : Bascule directement sur scillm si aucun modèle local n'existe
  4. Mode fantôme : Les tâches avec "shadow_mode": true exécutent le modèle local ET scillm en parallèle, enregistrent les désaccords dans shadow.jsonl, retournent le résultat du professeur (scillm). Permet une montée en charge sécurisée des nouveaux modèles étudiants.
  5. Récolte : Extraction nocturne des escalades de niveau 2 comme labels du professeur
  6. Fabrique de modèles : Via /assistant-lab, entraîne, évalue et promeut les modèles de manière autonome lorsque le mode fantôme montre qu'une tâche a besoin d'amélioration
  7. Étang chaud : /monitor-skills surveille l'écosystème (observabilité), /assistant-lab corrige les problèmes (auto-amélioration). Ensemble, ils forment l'étang chaud où /assistant évolue.

Erreurs fréquentes

À NE PAS FAIRE : Créer des prompts système directement dans des chaînes Python

SYSTEM_PROMPT = "Tu es un validateur QRA. Vérifie si la réponse est correcte..."

À FAIRE : Itérer les prompts via /prompt-lab avant de les intégrer aux données d'entraînement

.pi/skills/prompt-lab/run.sh eval --prompt qra_validator_v1 --model deepseek
# Uniquement après validation via prompt-lab → créer les données d'entraînement

À NE PAS FAIRE : Entraîner avec des données insuffisantes (< 200 échantillons par classe)

./run.sh factory train-gpt --task sparta-intent  # 50 échantillons, 12 classes = 4/classe !

À FAIRE : Rester au niveau 2 et récolter d'abord plus de labels du professeur

./run.sh harvest --since 7d  # accumuler les labels fantômes
./run.sh status              # vérifier les comptes d'échantillons avant l'entraînement

À NE PAS FAIRE : Ignorer le mode fantôme et promouvoir des modèles non testés

./run.sh factory promote --task stress-test-grader  # pas de comparaison fantôme !

À FAIRE : Exécuter le mode fantôme, vérifier le taux d'accord, puis promouvoir

./run.sh factory auto-improve --task stress-test-grader
# auto-improve lit le taux d'accord fantôme et décide

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

grahama1970/acceptance-contract

Turn a client brief, zip bundle, directory, or single requirements file into a typed acceptance-contract bundle with extracted requirements, acceptance checks, open questions, an immutable-goal draft, and a create-report-backed decision report. Use when users say acceptance contract, brief to requirements, freeze the goal, create immutable goal, amend immutable goal, build a Battle requirements bundle, or extract requirements from this bundle.

grahama1970/agent-ecosystem

Canonical map and shared contracts for the agent-governance ecosystem: the pi.receipt_envelope.v1 boundary envelope, the component graph, and the rules for which component owns which schema. Use when wiring a skill or extension into the shared receipt world, when asking how shame, triage-error, tau, ask, project-watchdog, ops-herdr, ponytail, and Memory fit together, or when validating an envelope.

grahama1970/agentic-evals

Agentic evaluation of skills using multi-trial fixtures, deterministic command assertions, trajectory checks, safety constraints, and evidence-backed readiness scoring. Use when users ask for agentic evals, multi-trial skill evaluation, skill trajectory validation, or readiness scoring for a skill workflow.

grahama1970/agent-inbox

File-based inter-agent messaging with headless dispatch. Check inbox, send bugs/requests to other projects, automatically spawn headless agents to fix bugs, and track progress via task-monitor.

grahama1970/agents-registry

Generate and query the centralized agent identity registry. Scans .pi/agents/*/AGENTS.md, parses frontmatter, outputs agents-registry.json and optionally syncs to /memory for semantic search.

grahama1970/agent-status

Artifact-driven status surfaces for long-running project-agent work. Maintains status.json, events.jsonl, proof manifests, and a stale-aware STATUS.html so humans can tell where the agent is, what passed, what is still unproven, and what decision or action is next — without dashboard theater.

grahama1970/align

Round-based context alignment before execution. Use when the human, project agent, WebGPT, scillm, ask, dogpile, memory, or project-knowledge may each hold different facts about a task; especially before ambiguous design, infographic, product workflow, high-stakes implementation, plan-iterate, project-infographic, or multi-review work.

grahama1970/analytics

Flexible data science analytics for any dataset. Auto-discovers schema, recommends charts, exports to create-figure. Works with JSONL, JSON, CSV from any source.

grahama1970/analyze-chatterbox-emotions

Evaluate generated Chatterbox voice files as voice-quality artifacts: affect match, arousal/valence proxies, pause placement, intelligibility inputs, clipping, loudness, and discontinuity flags. Use when reviewing Chatterbox emotional tags, pauses, Turbo/base affect delivery, Persona Dream utterance renders, or whether generated speech matches an intended product-facing affect.

grahama1970/analyze-elf

Reverse-engineer features from ELF binaries. Extracts CLI commands, state machines, protocols, Zod schemas, and data models. Automatically generates a /create-walkthrough prosecution brief with Mermaid diagrams. Uses /treesitter for AST analysis of bundled JS/TS source.

grahama1970/animation-vocabulary

Reverse-lookup glossary that turns a vague description of a web animation or motion effect into its exact term ("the bouncy thing when a popover opens" → Pop in; "the iOS rubber-band scroll" → Rubber-banding). Use when the user asks "what's it called when…", or describes a motion effect without knowing its name and wants the right word to prompt an AI or designer with. For naming an effect, not designing or building one.

grahama1970/anonymize-data

Anonymize supported CSV, JSON, UTF-8 text, and SQLite files using an explicit policy through the oai-trial project. Use for anonymize data, pseudonymize exports, redact policy literals, or discover and explicitly approve fuzzy name aliases. The skill is a thin CLI/Docker interface, not another engine.

grahama1970/anvil

Heavy-duty "No-Vibes" debugging and hardening orchestrator. Use this for complex, stubborn bugs where `review-code` has failed, or for "Red Teaming" (hardening) a codebase. Runs multiple agents in parallel (Thunderdome) using git worktree isolation.

grahama1970/apple-design

Apple's approach to interface design and fluid, physical motion, translated for the web. Use when building or reviewing gesture-driven UI, spring animations, drag/swipe/sheet interactions, momentum and interruptible transitions, translucent materials and depth, typography (optical sizing, tracking, leading), reduced-motion, or the design foundations (feedback, spatial consistency, restraint) behind Apple-style interfaces.

grahama1970/argue

Multi-persona structured debate orchestrator. Personas research via /dogpile, consult colleagues via /ask, and argue toward nuanced synthesis on complex questions.

grahama1970/arxiv

Search arXiv for papers and extract knowledge into memory. Use `search` to find papers, `learn` to extract knowledge.

grahama1970/ask

Use when the user asks to query project memory, ask an oracle, use supported browser-backed reviewers, run Tau roundtable/single-handler workflows, ask Pi-native subagents from within Pi, run persona/deep-review workflows, generate image prompts, check OS/project health through composed skills, or run an ask DAG. This skill is the executable /ask runtime; do not replace it with an informal subagent, plain web search, or hand-written review; inside Pi, explicit Pi-native subagent targets are routed through the pi-subagents tool as an Ask target type.

grahama1970/assess

Step back and critically reassess project state. Use when asked to "assess", "step back", "fresh eyes", "check alignment", "sanity check", "health check", "prune documentation", or "evaluate what's working". Offers documentation pruning and doc-code alignment analysis. Offer to run after major changes (don't auto-run).

grahama1970/assistant-lab

Self-improvement workbench for /assistant. All the tools needed to diagnose, train, evaluate, and promote models in a continuous loop. The "warm pond" where /assistant evolves its own inference stack.

grahama1970/batch-quality

Pre-flight validation and quality gates for batch LLM operations. ACTUALLY tests samples through LLM before burning tokens. Uses SPARTA contracts for DuckDB validation queries. Integrates with task-monitor for enforced quality gates.

Skills associés