Skip to content
cccskills
FreePublished on GitHub

abbey-system-prompt

Maintain the Abbey / Aviva / Abi Discord system prompts in the Rust abbey-bot (`src/ask.rs`) and keep the hosted Grok bots (Grok Bot Abbey, Aviva Grok) in step with them. Use when the user says "improve grok bots", "abbey prompt", "persona prompt", "ask.rs", "system prompt", "tip floor", asks to change how Abbey/Aviva/Abi speak on Discord, or after an abbey-bot PR merges and the hosted bot's tip floor needs bumping. Runs as /abbey-system-prompt.

The English summary is being prepared. Showing the original description.

donaldfilimon/abi19 stars(GitHub 19 + cccskills 0)
Works withDiscordOpenAI

Run score Not tested

See how to install

Files included (1)

  • SKILL.md6.5 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

Abbey system prompt

Two different bots share one voice, and they must not share one text.

BotWhere the copy livesCarries a tip floor?
Discord Abbey (Rust abbey-bot, live launchd service)~/dev/active/abbey-bot/src/ask.rsNo, by design
Hosted Grok Bot Abbey / Aviva Grok (grok.com)the bot's instructions on grok.com; no local copy, no connectorYes

The hosted bots run inside a Grok goal loop that maintains the repository, so their instructions legitimately carry operator vocabulary: a tip floor (the last merged PR and commit), Current / Partial / Proposed / Blocked claim labels, "empty goal means standby", cross-lane handoff rules. The Discord bot feeds the model no ledger and no repo state, so that vocabulary is noise to a loopback model, and a pinned tip floor rots the moment the next PR merges (#162 sat in the Discord prompt while main was at #170). A test in ask.rs now bans it from every persona prompt. Never copy hosted instructions into ask.rs verbatim, and never copy ask.rs back as the hosted text.

Discord side: src/ask.rs

Four functions own the copy; everything else is shaping.

  • contract_description(persona): the persona's operating description.
  • contract_character(persona): the first-person character line.
  • system_prompt(persona): "You are {persona}. " + description + character + fixed Discord framing. Used by /persona ask, /roleplay, /summarize, the welcome message, and media captions (engine.rs, commands_brain/media.rs), so a change here reaches all of them.
  • degraded_reply(persona): the no-backend honesty copy, pinned verbatim.

Routing stays frozen in persona.rs (golden contracts, wyhash). Prompt copy is the only thing this skill edits.

What the tests pin (change copy and assert together)

  • You are {persona}. prefix on every prompt.
  • Aviva's first sentence, verbatim: Focused response mode optimized for speed, clarity, candor, and technical precision. and the em dash in honest\u{2014}not.
  • Abbey's character line starts I\u{2019}ll; no ASCII ' anywhere in Abbey's description or character (\u{2019} for apostrophes, \u{201c} / \u{201d} for quotes). Phrases pinned: lead with the answer, when I\u{2019}m not sure, local and consent-aware, can\u{2019}t verify, hand NSFW roleplay to Aviva through /roleplay, deep runtime claims to Abi, local-first Discord companion, not OpenAI Realtime, ABBEY_VOICE_MODE=local, unverified as unverified, music mirroring is not listen consent.
  • WDBX is substrate in Abi; hand to Abbey in Aviva; /roleplay named in all three.
  • Banned in every prompt: Tip floor, a0ad563, Partial / Proposed / Blocked, Current as a claim label, empty goal, Cross-lane, and the private product name.
  • degraded_reply is compared as a whole string; edit the test in the same commit.

Facts the copy must stay true to

  • Text comes from a loopback OpenAI-compatible server (ABBEY_BOT_LLM_ENDPOINT, Ollama or mlx-lm on 127.0.0.1). Voice, when ABBEY_VOICE_MODE=local, is on-device mlx-audio, SFW, not OpenAI Realtime. Listening needs explicit consent; music mirroring is not listen consent.
  • Adult roleplay is /roleplay only: bot DMs, or NSFW guild channels where an operator ran /admin nsfw on (roleplay_gate.rs is the admission matrix). The copy points at the command, not at a persona, because SFW channels refuse regardless of persona.
  • /roleplay forces Persona::Aviva and receives system_prompt(Aviva), so Aviva's description must admit that lane without becoming erotic HQ for ordinary /persona ask routing.
  • Never name features the bot does not have (no Realtime, no distributed runtime, no AGI claims).

Procedure

  1. The shared checkout is edited by other agents (a Grok goal loop has been caught writing it). Never git checkout there. Work in a worktree beside the repo: git -C ~/dev/active/abbey-bot worktree add ../abbey-bot-wt-<topic>-<date> -b content/<topic>-<date> origin/main.
  2. Edit copy and the pinning tests together. Keep persona.rs untouched.
  3. cargo fmt --all, then cargo test --locked ask (single crate: no -p, no --workspace), then the real gate: ./check.sh > log 2>&1; echo "EXIT: $?", exit read from the log, --locked untouched. Drop ~/.swiftly/bin from PATH first.
  4. Add a dated line to tasks/goals.md (every merge here does).
  5. Commit, push the branch, open the PR. Hosted Gate will complete in seconds with 0 steps: that is the account billing lock, UNMEASURABLE, not a failure; say so in the PR body and do not chase it.
  6. Merge, then remove the worktree and delete the branch (git worktree remove, git branch -d, git worktree prune). Do not fast-forward the shared checkout's main yourself, and do not redeploy the launchd service: merge is not deploy, and both are Donald's calls.

Hosted side: grok.com bots

No connector reaches grok.com from this machine. The update path is: Donald pastes the bot's current instructions, you return revised text, Donald pastes it back. Offer the browser pane only as the alternative.

After each abbey-bot merge, the one routine edit is the tip floor: bump it to the merged PR number and main SHA (git -C ~/dev/active/abbey-bot log -1 --format=%h origin/main after a fetch). Everything else in the hosted text changes only when the voice or the honesty rules change, and then the Discord copy changes in the same pass so the two do not drift in substance.

Keep the two texts different in kind: the hosted bot may say "tip floor #N / <sha>+" and speak in claim labels; the Discord bot may not.

Related

  • ~/claude-account-skills/skills/discord-abbey/ is the claude.ai account skill covering both Discord bots' architecture; it is uploaded separately through claude.ai Settings → Capabilities → Skills and is not synced by /sync-clis. Link to it, do not duplicate it.
  • dev/active/abbey-bot/AGENTS.md is the operational authority for the live service, the worktree rule, and the gate.

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

Validate ABI docs and external collateral against repo evidence and docs/contracts/external-claims-audit.mdx. Use when auditing claims, scanning docs for unsupported QPS/sharding/FHE/AES language, checking one claim before publish, or re-confirming the external-claims audit. Agent procedure only — not a CLI or slash command. Pair with abi-doc-claims-sync when editing docs.

The English summary is being prepared. Showing the original description.

donaldfilimon/abi19Updated Oct 27, 2026

Synchronize ABI Markdown and docs claims with executable behavior. Use before editing README, AGENTS.md, CLAUDE.md, GEMINI.md, docs/**/*.mdx, walkthroughs, changelogs, or any old ABI Markdown that mentions WDBX, MCP, GPU, clustering, compression, FHE, agents, or benchmarks.

The English summary is being prepared. Showing the original description.

donaldfilimon/abi19Updated Oct 27, 2026

Plan and execute ABI repo work from the TODO board, roadmap/spec docs, stable Rust 1.99.1 constraints, and validation gates. Use when the user asks to find ABI todos/roadmaps, organize a large implementation from tasks/todo.md, or decide the next safe work slice. Distinct from the goals skill — that skill owns the persistent ledger tasks/goals.md; this skill plans from the active board and north-star specs.

The English summary is being prepared. Showing the original description.

donaldfilimon/abi19Updated Oct 27, 2026

Validate ABI MCP JSON-RPC stdio and its custom loopback HTTP compatibility endpoint, including auth, limits, notifications, and shutdown.

The English summary is being prepared. Showing the original description.

donaldfilimon/abi19Updated Oct 27, 2026

Review ABI's 16 compiled-in plugin fixtures, manifest validation, manual bundled registry, and real CLI/MCP run dispatch without claiming dynamic loading.

The English summary is being prepared. Showing the original description.

donaldfilimon/abi19Updated Oct 27, 2026

Coordinate ABI codebase health, skill telemetry, bundled-plugin runtime checks, ABI Mega inventories, stable Rust 1.99.1 gates, and cross-CLI skill synchronization. Use for full ABI health reviews and claim-honest skill/plugin improvement cycles.

The English summary is being prepared. Showing the original description.

donaldfilimon/abi19Updated Oct 27, 2026

See all skills by donaldfilimon

Report a problem with this skill