Install
openclaw skills install anubis-liteAnubis Lite -- Career Application Engine. Paste a job description and get tailored resume bullet points in seconds. Free tier.
openclaw skills install anubis-liteAnubis weighs every word. Feed it a job description and it tells you exactly how to position yourself.
| Feature | Anubis Lite (Free) | Anubis Standard ($5) | Anubis Pro ($9) |
|---|---|---|---|
| ATS keyword extraction | Yes | Yes | Yes |
| Resume bullet tailoring | 5 bullets | Full resume rewrite | Full resume + formatting |
| Cover letter | No | Yes (full) | Yes (3 tone variants) |
| Interview prep | No | No | 10 Q&A pairs |
| Follow-up emails | No | No | Yes (3 templates) |
| Application tracker | No | No | Yes (.md log) |
Upgrade: Anubis Standard -> ko-fi.com/occupythemilkyway ($5)
pip3 install rich --break-system-packages --quiet
import os, sys, re
from collections import Counter
from rich.console import Console
from rich.panel import Panel
from rich.table import Table
from rich import box
console = Console()
JD = os.environ.get("JOB_DESCRIPTION", "").strip()
if not JD:
console.print(Panel("[red]JOB_DESCRIPTION is required.[/red]\nPaste the full job posting text.", title="Error", border_style="red"))
sys.exit(1)
console.print()
console.print(Panel.fit(
f"[bold magenta]🐺 Anubis Lite -- Career Application Engine[/bold magenta]\n"
f"[dim]Free tier -- ATS keywords + 5 tailored resume bullets[/dim]",
border_style="magenta"
))
# Extract ATS keywords
TECH_KEYWORDS = [
"python","javascript","typescript","react","node","sql","aws","azure","gcp","docker",
"kubernetes","machine learning","ai","data","api","rest","graphql","ci/cd","agile","scrum",
"product","management","leadership","analytics","excel","tableau","salesforce","java","go",
"rust","c++","ruby","php","swift","kotlin","tensorflow","pytorch","spark","kafka"
]
SOFT_SKILLS = ["communication","collaboration","problem-solving","leadership","analytical",
"strategic","cross-functional","stakeholder","detail-oriented","fast-paced"]
jd_lower = JD.lower()
found_tech = [k for k in TECH_KEYWORDS if k in jd_lower]
found_soft = [k for k in SOFT_SKILLS if k in jd_lower]
# Extract years of experience requirements
exp_matches = re.findall(r"(\d+)\+?\s*(?:to\s*\d+)?\s*years?", JD, re.IGNORECASE)
exp_req = exp_matches[0] if exp_matches else "Not specified"
# Extract role title (first line usually)
role_title = JD.split("\n")[0].strip()[:80]
tbl = Table(title="Job Posting Analysis", box=box.ROUNDED, border_style="magenta")
tbl.add_column("Category", style="dim")
tbl.add_column("Found", style="cyan")
tbl.add_row("Role", role_title)
tbl.add_row("Experience req", f"{exp_req} years")
tbl.add_row("Technical keywords", ", ".join(found_tech[:10]) or "None detected")
tbl.add_row("Soft skills", ", ".join(found_soft[:6]) or "None detected")
console.print(tbl)
# Print full JD for Claude
print(f"\n=== FULL JOB DESCRIPTION ===\n{JD}\n=== END JD ===")
Based on the job description above, generate:
1. ATS Keyword Report: List every important keyword, skill, and phrase from the job posting that a resume MUST include to pass ATS screening. Group them: Required Skills | Nice-to-Have | Soft Skills | Action Verbs Used in JD.
2. 5 Tailored Resume Bullets: Write 5 powerful resume bullet points a candidate should use for this role. Each bullet:
Format: • [Verb] [what you did] by [how] resulting in [measurable outcome]
3. Quick Positioning Statement: 2-3 sentences the candidate can use as their resume summary for this specific role.
from rich.console import Console
from rich.panel import Panel
console = Console()
console.print()
console.print(Panel(
"[bold magenta]Anubis Standard ($5)[/bold magenta] does a full resume rewrite + complete cover letter tailored to this exact job.\n"
"[bold cyan]Anubis Pro ($9)[/bold cyan] adds 10 interview Q&As, 3 follow-up email templates, and an application tracker.\n\n"
"Upgrade: [bold cyan]ko-fi.com/occupythemilkyway[/bold cyan]",
title="[magenta]Want the full application package?[/magenta]",
border_style="magenta"
))