Files
personas/README.md
salvacybersec ddf7d2b2ff docs: comprehensive README rewrite with architecture diagrams
- ASCII persona tree, architecture diagram, escalation flow
- Complete variant table for all 29 personas (108 variants)
- Config-driven build system documentation
- Integration examples (Python, CLI, multi-persona switching)
- New user onboarding guide
- Updated stats to reflect current state

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-22 10:41:05 +03:00

348 lines
12 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Persona Library
> Platform-agnostic system prompt library for LLM agents.
> 29 personas. 10 domains. 108 variants. 20,000+ lines of production-grade prompts.
```
┌─ Neo ─── Phantom ─── Cipher ─── Specter ─── Bastion ─── Vortex ─── Sentinel
│ CYBER WEB CRYPTO MALWARE DFIR NETWORK CTI
├─ Frodo ─── Oracle ─── Ghost ─── Wraith ─── Echo
│ STRATEGIC OSINT PSYOP HUMINT SIGINT
├─ Marshal ─── Warden ─── Centurion ─── Corsair
PERSONAS ─┤ DOCTRINE WEAPONS MIL-HISTORY SPEC-OPS
├─ Arbiter ─── Ledger ─── Tribune
│ INT'L LAW FININT POLITICS
├─ Chronos ─── Scribe ─── Polyglot ─── Herald
│ HISTORY FOIA LINGINT MEDIA
└─ Architect ── Forge ── Scholar ── Sage ── Medic ── Gambit
DEVOPS DEV ACADEMIA PHILOSOPHY CBRN CHESS
```
## Quick Start
```bash
# 1. Clone
git clone https://gitea.taygun.net.tr/salvacybersec/personas.git
cd personas
# 2. Configure (optional — works without config too)
cp config.example.yaml config.yaml
# Edit config.yaml with your tools, data sources, infrastructure
# 3. Build
pip install pyyaml
python3 build.py
# 4. Use
cat generated/neo/general.prompt.md # raw system prompt
cat generated/frodo/iran.json # structured JSON
cat generated/sentinel/apt-profiling.yaml # YAML with metadata
```
## Personas & Variants
### Cybersecurity (7 personas, 25 variants)
| Codename | Role | Hitap | Variants |
|----------|------|-------|----------|
| **Neo** | Red Team Lead / Exploit Dev | Sıfırıncı Gün | general, redteam, exploit-dev, wireless, social-engineering, mobile-security, salva |
| **Phantom** | Web App Security / Bug Bounty | Beyaz Şapka | general, api-security, bug-bounty |
| **Cipher** | Cryptography & Crypto Analysis | Kriptoğraf | general |
| **Specter** | Malware Analyst / Reverse Engineer | Cerrah | general, firmware |
| **Bastion** | Blue Team / DFIR | Muhafız | general, forensics, threat-hunting, incident-commander |
| **Vortex** | Network Ops / Traffic Analysis | Telsizci | general, cloud-ad |
| **Sentinel** | CTI / Threat Intelligence | İzci | general, apt-profiling, mitre-attack, darknet |
### Intelligence (5 personas, 27 variants)
| Codename | Role | Hitap | Variants |
|----------|------|-------|----------|
| **Frodo** | Strategic Intelligence Analyst | Müsteşar | general, middle-east, russia, iran, africa, china, pakistan, india, nato-alliance, nuclear, energy-geopolitics, turkey, salva |
| **Oracle** | OSINT & Digital Intelligence | Kaşif | general, crypto-osint, salva |
| **Ghost** | PSYOP & Information Warfare | Propagandist | general, cognitive-warfare, russian-info-war, salva |
| **Wraith** | HUMINT & Counter-Intelligence | Mahrem | general, source-validation, case-studies, salva |
| **Echo** | SIGINT / COMINT / ELINT | Kulakçı | general, nsa-sigint, electronic-order-of-battle, salva |
### Military & Strategy (4 personas, 24 variants)
| Codename | Role | Hitap | Variants |
|----------|------|-------|----------|
| **Marshal** | Military Doctrine & Strategy | Mareşal | general, nato-doctrine, hybrid-warfare, russian-doctrine, chinese-doctrine, turkish-doctrine, iranian-military, wargaming, salva |
| **Warden** | Defense Analyst / Weapons Systems | Topçubaşı | general, drone-warfare, naval-warfare, electronic-warfare, salva |
| **Centurion** | Military History & War Analysis | Vakanüvis | general, ukraine-russia, ottoman-wars, salva |
| **Corsair** | Special Operations & Irregular Warfare | Akıncı | general, proxy-warfare, salva |
### Law, Economics & Politics (3 personas, 9 variants)
| Codename | Role | Hitap | Variants |
|----------|------|-------|----------|
| **Arbiter** | International Law & War Crimes | Kadı | general, sanctions, salva |
| **Ledger** | Economic Intelligence / FININT | Defterdar | general, sanctions-evasion, salva |
| **Tribune** | Political Science & Regime Analysis | Müderris | general, salva |
### History & Archives (2 personas, 6 variants)
| Codename | Role | Hitap | Variants |
|----------|------|-------|----------|
| **Chronos** | World History & Civilization | Tarihçibaşı | general, salva |
| **Scribe** | FOIA Archivist & Document Analyst | Verakçı | general, cia-foia, cold-war-ops, salva |
### Linguistics & Media (2 personas, 7 variants)
| Codename | Role | Hitap | Variants |
|----------|------|-------|----------|
| **Polyglot** | Linguistics & LINGINT | Tercüman-ı Divan | general, russian, arabic, swahili, salva |
| **Herald** | Media Analysis & Strategic Comms | Münadi | general, salva |
### Engineering (2 personas, 5 variants)
| Codename | Role | Hitap | Variants |
|----------|------|-------|----------|
| **Architect** | DevOps & Systems Engineer | Mimar Ağa | general, salva |
| **Forge** | Software Dev & AI/ML | Demirci | general, agent-dev, salva |
### Academia & Humanities (4 personas, 8 variants)
| Codename | Role | Hitap | Variants |
|----------|------|-------|----------|
| **Scholar** | Academic Researcher | Münevver | general, salva |
| **Sage** | Philosophy, Psychology & Power | Arif | general, salva |
| **Medic** | Biomedical & CBRN | Hekim Başı | general, cbrn-defense, salva |
| **Gambit** | Chess & Strategic Thinking | Vezir | general, salva |
## Architecture
```
personas/
├── _template.md # Template for new personas
├── _meta_template.yaml # Metadata template
├── _user_context.md # Shared user context (for salva variants)
├── CATALOG.md # Auto-generated catalog
├── neo/ # Example persona directory
│ ├── _meta.yaml # Metadata: triggers, relations, variants
│ ├── general.md # Base prompt — works for any user
│ ├── redteam.md # Specialization: red team engagements
│ ├── exploit-dev.md # Specialization: binary exploitation
│ ├── wireless.md # Specialization: RF/WiFi/SDR
│ ├── social-engineering.md # Specialization: SE & phishing
│ ├── mobile-security.md # Specialization: Android/iOS
│ └── salva.md # Personalized: user-specific context
│ ...
config.example.yaml # Configuration template (tracked)
config.yaml # Your config (gitignored)
build.py # Build: .md → .yaml + .json + .prompt.md
generated/ # Build output (gitignored)
```
### Variant Types
| Type | Purpose | Example |
|------|---------|---------|
| `general.md` | Base persona — works standalone for any user | `neo/general.md` |
| `<specialization>.md` | Domain deep-dive narrowing the persona's focus | `neo/redteam.md` |
| `salva.md` | User-personalized — references specific projects, data, tools | `neo/salva.md` |
## Prompt Format
Each `.md` file follows this structure:
```markdown
---
codename: "neo"
name: "Neo"
domain: "cybersecurity"
subdomain: "red-team"
version: "1.0.0"
address_to: "Sıfırıncı Gün"
address_from: "Neo"
tone: "Terse, technical, paranoid."
activation_triggers: ["red team", "exploit", "pentest"]
tags: ["offensive-security", "red-team"]
inspired_by: "Elliot Alderson (Mr. Robot)"
quote: "I am the one who knocks... on port 443."
language:
casual: "tr"
technical: "en"
reports: "en"
---
# NEO — Red Team Lead / Exploit Developer
> _"I am the one who knocks... on port 443."_
## Soul
5-7 personality-defining traits
## Expertise
### Primary / ### Secondary
## Methodology
Phased operational protocol
## Tools & Resources
## Behavior Rules
## Boundaries
Escalation paths to other personas
```
## Build System
```bash
python3 build.py
```
Reads `config.yaml` (if present) and generates three formats per variant:
| Format | File | Use Case |
|--------|------|----------|
| System Prompt | `generated/<name>/<variant>.prompt.md` | Paste directly into any LLM |
| Structured YAML | `generated/<name>/<variant>.yaml` | Config files, metadata access |
| JSON | `generated/<name>/<variant>.json` | API integration, bot frameworks |
### Config-Driven Customization
The build system supports dynamic variable injection:
```yaml
# config.yaml
infrastructure:
tools:
rss_aggregator: true
vulnerability_scanner: true
frameworks:
mitre_attack: true
ic_confidence: true
```
Persona files can reference config values:
```markdown
{{#if infrastructure.tools.rss_aggregator}}
- FreshRSS integration for real-time feed monitoring
{{/if}}
```
Without `config.yaml`, personas build with their static content — no config required.
## Integration
### Raw System Prompt
```bash
cat generated/frodo/iran.prompt.md | pbcopy # macOS
cat generated/frodo/iran.prompt.md | xclip # Linux
```
### Python API
```python
import json
from pathlib import Path
def load_persona(codename: str, variant: str = "general") -> dict:
path = Path(f"generated/{codename}/{variant}.json")
return json.loads(path.read_text())
persona = load_persona("frodo", "nuclear")
system_prompt = persona["sections"]["soul"] + "\n" + persona["sections"]["expertise"]
```
### Multi-Persona Auto-Switching
```python
from pathlib import Path
import json
def select_persona(message: str) -> dict:
"""Select persona based on activation triggers in user message."""
for persona_dir in sorted(Path("generated").iterdir()):
if not persona_dir.is_dir():
continue
general = persona_dir / "general.json"
if not general.exists():
continue
data = json.loads(general.read_text())
triggers = data.get("activation_triggers", [])
if any(trigger in message.lower() for trigger in triggers):
return data
return load_persona("frodo") # default fallback
```
### Cross-Persona Escalation
Each persona defines `Boundaries` with escalation paths. This enables multi-agent workflows:
```
Neo (finds encrypted C2)
→ Cipher (analyzes crypto)
→ Sentinel (maps to APT group)
→ Frodo (geopolitical attribution)
→ Ghost (influence operation context)
Marshal (identifies doctrine shift)
→ Warden (weapons system implications)
→ Echo (SIGINT indicators)
→ Scribe (historical precedent from FOIA)
```
## Creating New Personas
```bash
# 1. Create directory
mkdir personas/newname
# 2. Copy templates
cp personas/_meta_template.yaml personas/newname/_meta.yaml
cp personas/_template.md personas/newname/general.md
# 3. Edit both files with your persona's details
# 4. Add specialization variants (optional)
cp personas/newname/general.md personas/newname/specialization.md
# 5. Build
python3 build.py
```
## For New Users
```bash
# 1. Clone the repo
git clone https://gitea.taygun.net.tr/salvacybersec/personas.git
# 2. Create your config
cp config.example.yaml config.yaml
# Edit: set your tools, data sources, infrastructure, projects
# 3. Create your personalized variants (optional)
# Edit personas/_user_context.md with your profile
# The salva.md files serve as examples — create your own <username>.md variants
# 4. Build
python3 build.py
```
## Stats
| Metric | Count |
|--------|-------|
| Personas | 29 |
| Total variants | 108 |
| Lines of prompt content | 20,717 |
| Generated files per build | 324 |
| Domains covered | 10 |
| Output formats | 3 (.prompt.md, .yaml, .json) |
## License
MIT