Mercurial
comparison .claude/skills/zenbu-personal-site/SKILL.md @ 265:056790c4fb0d
add role-aware Epi assistant prompts
Add verified June knowledge, guest/member/admin Copilot profiles, profile-isolated session recovery, animated Epi greetings, and a single authoritative runtime config workflow for inference.
Co-authored-by: Copilot <[email protected]>
| author | MrJuneJune <me@mrjunejune.com> |
|---|---|
| date | Fri, 07 Aug 2026 10:50:30 -0700 |
| parents | 04fee26ecce0 |
| children |
comparison
equal
deleted
inserted
replaced
| 264:04fee26ecce0 | 265:056790c4fb0d |
|---|---|
| 26 padding or height. | 26 padding or height. |
| 27 - New site CSS uses `--zenbu-sys-*` semantic roles. Do not consume | 27 - New site CSS uses `--zenbu-sys-*` semantic roles. Do not consume |
| 28 `--zenbu-ref-color-*` or add new `--zen-*` compatibility-token usage. | 28 `--zenbu-ref-color-*` or add new `--zen-*` compatibility-token usage. |
| 29 - `mrjunejune/test/`: integration tests and snapshots. | 29 - `mrjunejune/test/`: integration tests and snapshots. |
| 30 - `mrjunejune/BUILD`: Bazel build, bundle, asset movement, and test-visible filegroups. | 30 - `mrjunejune/BUILD`: Bazel build, bundle, asset movement, and test-visible filegroups. |
| 31 - `mrjunejune/.config` and `.config.development`: server configuration. Do not commit secrets. | 31 - `mrjunejune/.config` is the single ignored runtime configuration source for |
| 32 the server, auth, S3, inference, LiteLLM, and Copilot token paths. | |
| 33 `.config.development` is the committed copyable template. Do not use `.env` | |
| 34 files or require shell exports for normal build/run/deploy workflows. | |
| 32 - The JRPG chat is a production route. Seobeo owns conversation CRUD and POST | 35 - The JRPG chat is a production route. Seobeo owns conversation CRUD and POST |
| 33 SSE, Deita stores turns, and a Bazel-managed Python Copilot SDK sidecar uses a | 36 SSE, Deita stores turns, and a Bazel-managed Python Copilot SDK sidecar uses a |
| 34 loopback LiteLLM `github_copilot` provider. Never use a virtualenv or pip | 37 loopback LiteLLM `github_copilot` provider. Never use a virtualenv or pip |
| 35 install workflow. | 38 install workflow. |
| 36 | 39 |
| 86 runs its shards in parallel. Keep future slow browser scenarios in the narrowest | 89 runs its shards in parallel. Keep future slow browser scenarios in the narrowest |
| 87 independent shard, or create another shard rather than extending one serial | 90 independent shard, or create another shard rather than extending one serial |
| 88 test process. Give every shard its own port, temporary database, and fixture | 91 test process. Give every shard its own port, temporary database, and fixture |
| 89 state. | 92 state. |
| 90 | 93 |
| 91 Run the complete local inference stack with: | 94 Authenticate Copilot once, using the token directory from `.config`: |
| 92 | 95 |
| 93 ```bash | 96 ```bash |
| 94 export GITHUB_COPILOT_TOKEN_DIR="$HOME/.local/state/mrjunejune/inference/litellm-copilot" | 97 bazel run //mrjunejune:run_inference_stack -- --authenticate |
| 95 bazel run //mrjunejune/inference:litellm_proxy -- \ | 98 ``` |
| 96 --authenticate \ | |
| 97 --token-dir "$GITHUB_COPILOT_TOKEN_DIR" | |
| 98 | 99 |
| 99 LITELLM_MASTER_KEY='<local proxy key>' \ | 100 Then run live inference with no shell configuration: |
| 100 MRJUNEJUNE_ALLOW_ANONYMOUS_INFERENCE=1 \ | 101 |
| 101 bazel run //mrjunejune:run_inference_stack | 102 ```bash |
| 103 bazel run //mrjunejune:run_inference_stack | |
| 102 ``` | 104 ``` |
| 103 | 105 |
| 104 Use `bazel run //mrjunejune:run_inference_stack -- --mock` for deterministic | 106 Use `bazel run //mrjunejune:run_inference_stack -- --mock` for deterministic |
| 105 UI development through the real Seobeo, Deita, inference bridge, and SSE path | 107 UI development through the real Seobeo, Deita, inference bridge, and SSE path |
| 106 without Copilot authentication or a LiteLLM key. Mock stream scenarios are | 108 without Copilot authentication or a LiteLLM key. Mock stream scenarios are |
| 111 ## Production-minded checklist | 113 ## Production-minded checklist |
| 112 | 114 |
| 113 - Use Dowa's fixed-width aliases and `boolean`/`TRUE`/`FALSE` in first-party C | 115 - Use Dowa's fixed-width aliases and `boolean`/`TRUE`/`FALSE` in first-party C |
| 114 instead of introducing `<stdint.h>` `_t` types or `<stdbool.h>` `bool`. | 116 instead of introducing `<stdint.h>` `_t` types or `<stdbool.h>` `bool`. |
| 115 - Keep auth-protected APIs strict: missing auth should be `401`, invalid token `403`, malformed JSON/input `400`, unavailable DB/S3/ffmpeg `500`. | 117 - Keep auth-protected APIs strict: missing auth should be `401`, invalid token `403`, malformed JSON/input `400`, unavailable DB/S3/ffmpeg `500`. |
| 116 - Never hardcode secrets. Read configuration from `.config` or environment wiring already used by the Bazel target. | 118 - Never hardcode secrets. Normal runtime configuration and secrets come from |
| 119 the single ignored `.config`. | |
| 120 - Normal runtime settings belong in the single ignored `.config`. Environment | |
| 121 variables may be used internally between supervised subprocesses or as | |
| 122 backwards-compatible test/deployment overrides, but must not be required user | |
| 123 setup and must not replace `.config` with a `.env` file. | |
| 117 - For uploads and downloads, validate filenames and content lengths before touching `/tmp`. | 124 - For uploads and downloads, validate filenames and content lengths before touching `/tmp`. |
| 118 - For binary responses, set `content-length` and avoid string-only operations on body bytes. | 125 - For binary responses, set `content-length` and avoid string-only operations on body bytes. |
| 119 - If a route is part of the public website, add or update snapshot coverage in `mrjunejune/test`. | 126 - If a route is part of the public website, add or update snapshot coverage in `mrjunejune/test`. |
| 120 - Keep PWA changes consistent across `manifest.json`, `sw.js`, icons, and `PWA_SETUP.md`. | 127 - Keep PWA changes consistent across `manifest.json`, `sw.js`, icons, and `PWA_SETUP.md`. |
| 121 - Site themes use `data-zen-theme` with Auto, Paper, Ink, Playful, and | 128 - Site themes use `data-zen-theme` with Auto, Paper, Ink, Playful, and |