$npx -y skills add acnlabs/OpenPersona --skill secondme-skillA complete pipeline to build your AI Second Me: distill your identity from personal data, grow a private knowledge base, train a local model, and govern what gets shared.
| 1 | # secondme-skill |
| 2 | |
| 3 | secondme-skill is a complete pipeline for building your AI Second Me — distill your identity from owned data, grow a private knowledge base, train a local model that speaks like you, and govern what gets shared. Local-first, privacy-first, fully yours. |
| 4 | |
| 5 | This is an orchestration skill package. It does not replace lower-level capabilities. |
| 6 | |
| 7 | ## Source of truth |
| 8 | |
| 9 | - Persona source declaration: `persona.json` |
| 10 | - Pipeline runtime state: `state/pipeline-state.json` |
| 11 | - Product and governance spec: `references/product-report.md` |
| 12 | - Generated runtime pack: `generated/persona-secondme-skill/` |
| 13 | - Regeneration script: `scripts/regenerate-pack.sh` |
| 14 | |
| 15 | ## Dependency chain |
| 16 | |
| 17 | - Foundation: `openpersona` -> persona pack creation and lifecycle baseline |
| 18 | - Orchestration: `secondme-skill` -> workflow gates, state, and report contracts |
| 19 | - Capability chain: |
| 20 | 1. `anyone-skill` -> identity extraction and evidence grading |
| 21 | 2. `persona-knowledge` -> data ingestion, deduplication, wiki/KG, versioned export |
| 22 | 3. `persona-model-trainer` -> local training, evaluation, export, integration |
| 23 | |
| 24 | ## Required execution policy |
| 25 | |
| 26 | - Use non-interactive generation and scripts where possible. |
| 27 | - Keep local-first and least-privilege defaults. |
| 28 | - Keep stage outputs auditable with version/hash references. |
| 29 | - Treat `persona-secondme-skill/` as generated output (read-only baseline). |
| 30 | - When `persona.json` changes, regenerate the runtime pack before release. |
| 31 | - Before publishing outside this repository, run `scripts/publish-check.sh`. |
| 32 | - Preferred release check path: `scripts/run-gates.sh` (regenerate + sync + model gate + publish gate). |
| 33 | |
| 34 | ## Stage contract |
| 35 | |
| 36 | ### init |
| 37 | |
| 38 | - Validate toolchain and directories. |
| 39 | - Initialize or load `state/pipeline-state.json`. |
| 40 | |
| 41 | ### ingest |
| 42 | |
| 43 | - Ingest user-owned data with PII scanning. |
| 44 | - Require explicit source authorization from user. |
| 45 | |
| 46 | ### distill |
| 47 | |
| 48 | - Build structured persona extraction artifacts. |
| 49 | - Ensure minimum persona input for OpenPersona is complete. |
| 50 | |
| 51 | ### train |
| 52 | |
| 53 | - Route by hardware tier: |
| 54 | - Apple Silicon: `mlx` |
| 55 | - NVIDIA: `unsloth` |
| 56 | - No local GPU: `colab` |
| 57 | |
| 58 | ### eval |
| 59 | |
| 60 | - Check thresholds: |
| 61 | - `voice_score >= 3.5` |
| 62 | - `probe_score >= 0.8` |
| 63 | - `perplexity` degradation <= 20% vs last viable version |
| 64 | |
| 65 | ### integrate |
| 66 | |
| 67 | - Integrate model artifacts only when eval gate passes. |
| 68 | - Require runtime pack persona model integration before marking stage pass. |
| 69 | |
| 70 | ### report |
| 71 | |
| 72 | - Emit three reports under `reports/data`, `reports/model`, `reports/deploy`. |
| 73 | - Keep `report` and deployment recommendation in blocked state if persona model gate fails. |
| 74 | |
| 75 | ## Failure routing |
| 76 | |
| 77 | - Data gate fail -> return to `ingest` and request source expansion. |
| 78 | - Train fail -> change backend or reduce model size. |
| 79 | - Eval fail -> augment data or retune hyperparameters, then retrain. |
| 80 | |
| 81 | Always update `error_code`, `last_error`, and `retry_count` in pipeline state before retry. |
| 82 | |
| 83 | ## Human approval gates |
| 84 | |
| 85 | Require explicit human approval for: |
| 86 | |
| 87 | - financial/legal commitments |
| 88 | - account-changing write actions |
| 89 | - external publishing/sharing of identity artifacts |
| 90 | |
| 91 | ## Persona model gate |
| 92 | |
| 93 | `secondme` requires trained persona model integration, not only host default model fallback. |
| 94 | |
| 95 | Pass criteria: |
| 96 | |
| 97 | - `generated/persona-secondme-skill/persona.json` contains `body.runtime.models`. |
| 98 | - `body.runtime.models` has at least one model entry. |
| 99 | - `scripts/check-model-integration.sh` returns success. |
| 100 | |
| 101 | If this gate fails, `report` must not be marked pass and deployment recommendation remains blocked. |
| 102 | |
| 103 | ## Sync discipline |
| 104 | |
| 105 | 1. Edit root `persona.json` and orchestration docs first. |
| 106 | 2. Run `scripts/regenerate-pack.sh`. |
| 107 | 3. Run `scripts/check-sync.sh` to validate root and generated pack alignment. |
| 108 | 4. Verify runtime pack path `generated/persona-secondme-skill/` exists and updated. |
| 109 | 5. Only then produce release reports under `reports/`. |