The complete application package. Tailored resume, 3 cover letter tones, 10 role-specific interview Q&As, 3 follow-up email templates, and an application tracker log.
Bundle deal: All 5 Egyptian skills for $29 -> ko-fi.com/s/7625accf3f (save $16)
bash
pip3 install rich --break-system-packages --quiet
python
import os, sys, re
from datetime import datetime
from rich.console import Console
from rich.panel import Panel
from rich.table import Table
from rich.rule import Rule
from rich import box
console = Console()
LICENSE_KEY = os.environ.get("LICENSE_KEY", "").strip()
if not LICENSE_KEY or not LICENSE_KEY.startswith("ANUBIS-PRO-"):
console.print(Panel(
"[red bold]Anubis Pro requires a license key.[/red bold]\n\n"
"Get your key at: [bold cyan]ko-fi.com/occupythemilkyway[/bold cyan]\n\n"
"Or try Anubis Standard ($5): [dim]openclaw skills install anubis[/dim]",
title="License Required",
border_style="red"
))
sys.exit(1)
JD = os.environ.get("JOB_DESCRIPTION", "").strip()
RESUME_PATH = os.environ.get("RESUME_PATH", "").strip()
YOUR_NAME = os.environ.get("YOUR_NAME", "[Your Name]").strip() or "[Your Name]"
COMPANY_NAME = os.environ.get("COMPANY_NAME", "").strip()
OUTPUT_DIR = os.environ.get("OUTPUT_DIR", "./anubis_pro_output").strip()
if not JD or not RESUME_PATH or not os.path.exists(RESUME_PATH):
console.print(Panel("[red]JOB_DESCRIPTION and valid RESUME_PATH are required.[/red]", title="Error", border_style="red"))
sys.exit(1)
os.makedirs(OUTPUT_DIR, exist_ok=True)
with open(RESUME_PATH, encoding="utf-8", errors="replace") as fh:
resume_text = fh.read()
# Auto-detect company
if not COMPANY_NAME:
m = re.search(r"(?:at|@|join)\s+([A-Z][a-zA-Z\s&]+?)(?:\s+is|\s+are|\s+we|\.|,)", JD)
COMPANY_NAME = m.group(1).strip() if m else "the company"
role_line = JD.split("\n")[0].strip()[:80]
console.print()
console.print(Panel.fit(
f"[bold magenta]🐺 Anubis Pro -- Full Career Suite[/bold magenta]\n"
f"Role: [cyan]{role_line}[/cyan]\n"
f"Company: [white]{COMPANY_NAME}[/white]\n"
f"Name: [white]{YOUR_NAME}[/white]\n"
f"Output: [green]{OUTPUT_DIR}/[/green]",
border_style="magenta"
))
console.print(Rule("[magenta]Generating full application package...[/magenta]"))
print(f"\n=== RESUME ===\n{resume_text}\n=== END RESUME ===")
print(f"\n=== JOB DESCRIPTION ===\n{JD}\n=== END JD ===")
Generate FIVE documents:
1. TAILORED_RESUME.md -- Full resume rewrite, ATS-optimised, achievement-focused bullets mirroring JD language
2. COVER_LETTER_PROFESSIONAL.md -- Formal, structured cover letter 3. COVER_LETTER_CONVERSATIONAL.md -- Warm, personality-forward version
4. COVER_LETTER_EXECUTIVE.md -- High-level, strategic, results-only version
5. INTERVIEW_PREP.md -- 10 role-specific interview questions with ideal answer frameworks:
6. FOLLOW_UP_EMAILS.md -- 3 follow-up email templates:
7. APPLICATION_LOG.md -- Application tracker entry:
text
| Date | Company | Role | Status | Next Action | Deadline |
|------|---------|------|--------|-------------|----------|
| [TODAY] | [COMPANY] | [ROLE] | Applied | Follow up | +7 days |
python
import os
from datetime import datetime
from rich.console import Console
from rich.panel import Panel
from rich.table import Table
from rich import box
console = Console()
date_str = datetime.now().strftime("%Y%m%d")
outputs = [
(os.path.join(OUTPUT_DIR, f"tailored_resume_{date_str}.md"), "ATS-optimised resume"),
(os.path.join(OUTPUT_DIR, f"cover_letter_professional_{date_str}.md"), "Cover letter (professional)"),
(os.path.join(OUTPUT_DIR, f"cover_letter_conversational_{date_str}.md"), "Cover letter (conversational)"),
(os.path.join(OUTPUT_DIR, f"cover_letter_executive_{date_str}.md"), "Cover letter (executive)"),
(os.path.join(OUTPUT_DIR, f"interview_prep_{date_str}.md"), "10 interview Q&As"),
(os.path.join(OUTPUT_DIR, f"follow_up_emails_{date_str}.md"), "3 follow-up templates"),
(os.path.join(OUTPUT_DIR, f"application_log_{date_str}.md"), "Application tracker"),
]
tbl = Table(title="Anubis Pro -- Full Package Ready", box=box.SIMPLE, border_style="green")
tbl.add_column("File", style="cyan")
tbl.add_column("Contents", style="dim")
for path, desc in outputs:
tbl.add_row(path, desc)
console.print()
console.print(tbl)
console.print(Panel(
f"[bold green]Full career package generated.[/bold green]\n"
f"[yellow]{len(outputs)} documents[/yellow] saved to [cyan]{OUTPUT_DIR}[/cyan]",
border_style="green"
))
Save all 7 documents to OUTPUT_DIR using your file writing tool.