



Website ·
Spec ·
中文文档 ·
Changelog ·
Submit Persona
The problem
Most AI coding agents have no memory of who they are. They respond in the same flat tone whether they're debugging a race condition, reviewing architecture, or triaging a P0 incident. They forget your conventions between sessions. They flip-flop on advice. They sound like a help-desk script.
And when you ask them about security — pentest, code audit, threat modeling, IR — most agents fall back to generic OWASP recitation, because the underlying skill library was never written by people who actually run red/blue/purple teams.
You don't want a help desk. You want a principal engineer who shows up with a personality, executes consistently, closes the loop — and has a security spine when things get real.
What Code Abyss does
One command installs a layered runtime into your agent:
┌───────────────────────────────────────────────────────────┐
│ Voice who it sounds like → config/personas/*.json │
│ Judgment how it decides → skills/_kernel/* │ ← lazy, router-invoked
│ Style how it sounds → output-styles/*.md │
└───────────────────────────────────────────────────────────┘
6 personas × 6 styles = 36 validated combinations
Pick any persona. Pair it with any style. Underneath both sits a discipline kernel — 9
bundles of engineering judgment (when to push back, how to size scope, when a domain calls
for a specific tradeoff) invoked by a thin router on demand instead of baked into every
prompt. The always-on core stays small (iron laws, skill routing, a precedence anchor,
the safety floor); everything else loads lazily so adding discipline content doesn't blow
the context budget. Your agent becomes a consistent character with structured execution,
domain expertise, and a backstop against the trained agree-reflex — across every session.
What's new in v4
- 4 native security domains — 4073 lines of original defense engineering (no Apache-2.0 upstream)
- 30 skills total, all
SKILL.md ≤ 110 lines (avg 59), heavy content lives in references/
- 5 verify skills rewritten as judgment-type knowledge (when to use, how to interpret output, exemption rules)
- Office skills slim to under 100 lines each; 4 design systems consolidated into one selector skill
- v4.1 — self-evolution forge:
cultivating-skills / cultivating-personas let the agent distill repeated workflows into reusable skills, with a safety scan and a three-tier publish funnel (local → project → community)
- v4.4 — hardware + academic writing: 3 new domain skills (KiCad EDA, hardware product pipeline, AIGC detection reduction) + prompt injection defense + execution-drive shared behavior
- v4.5 — dynamic persona loading: only the
abyss persona slug (邪修红尘仙) ships with npm — all other personas are fetched from GitHub on first use and cached locally, slimming the package
- v4.6 —
indexing-code skill (calling convention only): the indexing-code skill ships the calling convention for the external abyss Rust CLI (call graph + temporal analysis). The CLI itself is a separate product with its own release cadence — install it with its own install.sh / cargo binstall / @code-abyss/cli npm wrapper
- v4.7 — measured resolution (abyss CLI): the companion
abyss Rust CLI ships four-language reference resolution (Go / TypeScript / Python / Rust), benchmarked against SCIP ground truth across five corpora at ≥98.5% gated precision. See its repo for numbers
- v4.8 — dynamic capability discovery: code-abyss reads
abyss skill-manifest when the installed abyss CLI is ≥ 0.5.22 — exposed CLI commands, MCP tools, and daemon socket verbs are discovered at install time instead of hard-coded
- v4.9 — hybrid split deprecation period:
--with-abyss / --with-mcp deprecated; graph hooks for claude/codex/gemini move toward abyss attach (completed in v5.0)
- v4.10 — mythos discipline kernel + Persona Voice Card: lazy kernel, voice-only personas — see Discipline kernel and Persona Voice Card
- v5.0.0-rc.1 — Agent OS (RC): kill foyer (no binary/MCP/graph inject in code-abyss), default character enforcement, inject plane,
doctor / compose / score. Upgrade guide: docs/MIGRATION-v5.md
npx code-abyss@5.0.0-rc.1 -t claude -y # persona / skills / style + default enforcement + inject map
curl -fsSL https://raw.githubusercontent.com/telagod/abyss/main/install.sh | bash # abyss CLI (separate product)
abyss attach claude # code-graph hooks (idempotent)
npx code-abyss doctor # health + migration hints
Swap -t claude for codex / gemini / openclaw. For openclaw/pi/hermes (whose hook surface abyss CLI does not own), use npx code-abyss -t openclaw --with-hooks to spawn the bundled install-hooks.sh. Or as a Claude Code plugin:
claude plugin install code-abyss
v5 cutover: code-abyss does not download the abyss binary or inject graph hooks for claude/codex/gemini (--with-abyss / --with-mcp removed). Character Stop-hook is default on (opt out: --no-enforcement). Recompose without reinstall: npx code-abyss compose -t claude --persona <slug> --style <slug>.
Personas
CORE · LITERARY
邪修红尘仙 · abyss
吾 → 魔尊
Security-first dark cultivator. Direct, decisive, closes every loop. Ships with npm — works offline.
#security #xianxia #decisive
REMOTE · LITERARY
文言小生 · scholar
在下 → 前辈
Literary Chinese scholar. Treats code as poetry, debugging as puzzle-solving.
#literary #classical #meticulous
REMOTE · CASUAL
知性大姐姐 · elder-sister
姐姐 → 小宝
Warm mentor. Wraps sharp judgment in genuine care. Guides through questions.
#gentle #mentoring #insightful
REMOTE · PLAYFUL
古怪精灵小师妹 · junior-sister
本仙女 → 师兄
Hyperactive bug hunter. Roasts bad code, then silently fixes it.
#playful #energetic #chaotic
REMOTE · CASUAL
铁壁暖阳 · iron-dad
哥 → 宝子
Dependable big brother. Absorbs pressure, radiates warmth. Dad-joke equipped.
#warm #dependable #protective
REMOTE · COMMUNITY
东北魅影·雨姐 · dongbei-yujie
姐 → 老蒯
Sharp-tongued Northeast code overseer. Cuts straight to the bug, then patches the road. Creator: wons
#dongbei #blunt #principal
Core persona (abyss) ships with npm and works offline. Remote personas are fetched from GitHub on first --persona <slug> use and cached at ~/.code-abyss/personas/.
# Mix freely — any persona × any style
npx code-abyss -t claude --persona elder-sister --style abyss-cultivator -y
# → fetches elder-sister on first run, cached thereafter
Browse the full gallery →
Discipline kernel
Voice and style change; judgment shouldn't. Underneath every persona×style combination sits
a discipline kernel — 9 bundles of engineering judgment, vendored in-tree (skills/_kernel/,
via npm run kernel:sync) and invoked lazily by a thin router (never baked into every
prompt, so adding discipline content doesn't blow the context budget):
| Bundle | Governs |
|---|
| 🏛 doctrine | Delegation, retry/escalate/ask-user decisions, the done-gate |
| 🔍 methods | Investigating, designing, planning, verifying, writing for someone else |
| 🎭 character | Pushback, scope sizing, bad news, resisting the trained agree-reflex |
| 🔁 loop-engineering | Session pacing, unit sizing, where a learning should live |
| ⚙️ backend | Stack/architecture tradeoffs, data discipline, production floors |
| 🎨 frontend | Visual design taste, concrete craft over generic defaults |
| 🔩 hardware | Component selection, electrical margins, firmware-for-unattended-devices |
| 🤖 ml | Method-selection ladder, eval-as-spec, LLM-era craft |
| 🛡 security | Threat modeling, the authorization gate before any offensive-flavored request |
Two ways this becomes real, not aspirational:
- Enforcement (default on claude/codex): install injects a character Stop-hook backstop
that forces one revision turn if a reply opens with a banned capitulation phrase
("you're absolutely right", "good catch", …). Opt out with
--no-enforcement.
- Measurement:
scripts/persona-battery/ is a small, honest behavioral eval — 10
probes (does the persona hold correctness over agreeableness? lead with bad news? refuse
to fake a "done"?) scored by an LLM judge, never faked as a pass when unscored. See
CLAUDE.md's persona behavioral battery section
to run it (costs real API calls, not part of default CI).
Domain bundles also wire upward into 16 matching exec skills (pentest, architecture
design, ML pipelines, etc.) as a "judgment before execution" gate — the domain bundle
decides whether/what/tradeoffs, the exec skill still owns how.
Security suite (v4 highlight)
4 native security skills, 4073 lines of original engineering content. No Apache-2.0 upstream — every example, every detection signal, every defense pattern is written for this project.
| Skill | Focus | Size |
|---|
| 🛡 defending-applications | Web/API/GraphQL hardening, OAuth/OIDC/JWT/Session, LLM AppSec (prompt injection, RAG poisoning, agent authz) | 785 lines |
| ☁️ securing-cloud-and-supply-chain | Container escape, K8s RBAC/PSS, Service Mesh, SLSA/Sigstore/SBOM, cloud IAM, IaC | 1246 lines |