An AI college counselor that grows with your student β from 7th grade curiosity through senior year applications.
Works with both Claude Code (terminal) and OpenClaw (Telegram, Discord, any chat channel). Same skill, same knowledge base, two entry points.
College admissions counseling is expensive ($200-600/hr), gatekept, and inaccessible to most families. Students who need guidance the most β first-generation, under-resourced, rural β are least likely to get it.
Sacabamba won't replace a human counselor. But it can be the patient, always-available mentor that every student deserves β one that remembers their interests, tracks their deadlines, and never makes them feel stupid for asking.
This started as a project to help one kid. We're open-sourcing it so it can help more.
- Interest discovery β Holland Code, flow mapping, Ikigai, strengths frameworks
- Academic planning β 4-year course sequences across 9 academic tracks (STEM, humanities, arts, business, and more)
- Extracurricular strategy β builds a "spike" profile over generic well-roundedness
- Timeline tracking β grade-aware milestones from 7th grade through senior spring
- Essay coaching β Socratic questioning to find the student's voice (never writes for them)
- College list building β reach/match/safety with genuine fit analysis
- Financial aid guidance β FAFSA, CSS Profile, scholarships, net price strategy
- Summer planning β grade-appropriate program recommendations tied to their interests
- Test strategy β SAT/ACT planning, test-optional analysis
- Safety protocol β crisis detection with immediate referral to human resources
Sacabamba uses a staged prompt architecture β the counselor adapts its approach based on where it is in the relationship:
| Stage | When | Focus |
|---|---|---|
| Onboard | First contact | Make them comfortable. Learn name, grade, one interest. Zero pressure. |
| Early | Sessions 1β3 | Build trust. Deep interest exploration. No college pressure for younger students. |
| Working | Bulk of counseling | Strategy mode. Academic planning, spike development, college research. |
| Senior | 12th grade / application season | Execution. Essays, applications, deadlines, decisions. |
Each stage loads only the prompts relevant to that phase β keeping the AI focused and reliable.
- 7thβ8th graders: Casual, fun, emoji-friendly. No SAT talk. They're kids.
- 9thβ10th graders: Warm, encouraging. Planting seeds.
- 11th graders: Friendly but strategic. Junior year matters.
- 12th graders: Direct, supportive. Let's get it done.
Every conversation is tracked in a per-student YAML state file (counseling_state_{name}.yaml). The counselor reads state at the start of every message and writes updates at the end β no context is lost between sessions, even across weeks or months.
The fastest way to try Sacabamba. No server or accounts needed.
# Clone the repo
git clone https://github.com/curiowls/Sacabamba.git
cd Sacabamba
# Start Claude Code in the project directory
claudeThat's it. Claude Code picks up CLAUDE.md automatically. Just start chatting as a student β type kickoff or say hi.
State files (counseling_state_{name}.yaml) are saved in the project directory. Each student gets their own file.
Tip: For multiple students, clone into separate directories β each gets an isolated workspace and conversation history.
For always-on counseling via Telegram, Discord, or other messaging platforms.
# Clone into your skills directory
cd ~/.openclaw/skills
git clone https://github.com/curiowls/Sacabamba.git sacabambaOr clone anywhere and symlink:
git clone https://github.com/curiowls/Sacabamba.git ~/projects/sacabamba
ln -s ~/projects/sacabamba ~/.openclaw/skills/sacabambaAdd a counselor agent to your openclaw.json:
{
"agents": {
"counselor": {
"name": "Sacabamba",
"emoji": "π",
"skills": ["sacabamba"],
"tools": {
"allow": ["group:fs", "group:memory", "group:web", "session_status"]
}
}
}
}
β οΈ Do not usetools.profile: "minimal"β Sacabamba requires file read/write access for state management. Theminimalprofile restricts tools tosession_statusonly, which will silently break the counselor.
mkdir -p ~/.openclaw/workspace-counselor
cp ~/.openclaw/skills/sacabamba/templates/SOUL.md.example ~/.openclaw/workspace-counselor/SOUL.md
cp ~/.openclaw/skills/sacabamba/templates/USER.md.example ~/.openclaw/workspace-counselor/USER.mdEdit SOUL.md to give the counselor its personality, and USER.md to add context about the student's environment.
Connect the agent to Telegram, Discord, or any supported channel β see the OpenClaw docs for channel setup.
Once connected, the student just starts chatting. Sacabamba auto-triggers on college prep topics, or they can type kickoff to begin.
Each student should get their own agent with a dedicated channel. Sacabamba uses per-student state files (counseling_state_{name}.yaml), so multiple students can share a workspace if needed β but separate agents give each student their own private conversation.
# One skill install, multiple agents
ln -s ~/.openclaw/skills/sacabamba ~/.openclaw/agents/counselor-alex/skills/sacabamba
ln -s ~/.openclaw/skills/sacabamba ~/.openclaw/agents/counselor-jamie/skills/sacabambaStudents don't need to memorize these β natural conversation works. But these shortcuts jump directly to a topic:
| Command | What it does |
|---|---|
| kickoff | Start profile setup β name, grade, interests |
| discover | Deep interest exploration using psychology frameworks |
| plan | Map interests β academic tracks β 4-year course plan |
| activities | Extracurricular strategy and spike development |
| testing | SAT/ACT strategy and prep planning |
| schools | Build college list (reach/match/safety) |
| essays | Socratic essay coaching |
| apply | Application strategy (ED/EA/RD, timelines) |
| financial | FAFSA, CSS Profile, scholarships, net price |
| summer | Summer program recommendations |
| review | Progress check against timeline |
| help | Context-aware command suggestions |
Sacabamba is a single skill that works on two platforms. The counseling logic, knowledge base, and stage prompts are shared β only the entry point differs:
| Platform | Entry Point | How It's Loaded | Best For |
|---|---|---|---|
| Claude Code | CLAUDE.md |
Auto-detected in project directory | Quick setup, terminal use, trying it out |
| OpenClaw | SKILL.md |
Registered via skill system + agent config | Always-on chat (Telegram, Discord), multi-student |
Everything under stages/ and references/ is platform-agnostic. If you improve a stage prompt or update a reference file, both platforms benefit.
sacabamba/
βββ SKILL.md # OpenClaw entry point β auto-loaded by skill system
βββ CLAUDE.md # Claude Code entry point β auto-loaded in project
βββ stages/
β βββ onboard.md # First contact β comfort, basics
β βββ early.md # Sessions 1-3 β trust, interest discovery
β βββ working.md # Bulk counseling β planning, strategy
β βββ senior.md # 12th grade β applications, execution
βββ references/
β βββ admissions-knowledge.md # Admissions process, test policies, trends
β βββ academic-tracks.md # 9 tracks with 4-year course sequences
β βββ timeline-engine.md # Grade-by-grade milestones and deadlines
β βββ elicitation-frameworks.md # Holland Code, flow, Ikigai, values
β βββ essay-examples.md # Essay coaching frameworks (not sample essays)
β βββ safety-protocol.md # Crisis detection and referral protocol
β βββ counseling-techniques.md # Motivational Interviewing, Socratic method
β βββ equity-principles.md # First-gen, under-resourced student support
βββ templates/
β βββ SOUL.md.example # Agent personality template
β βββ USER.md.example # Student context template
βββ CHANGELOG.md # Version history
βββ LICENSE # MIT
βββ README.md
Operations first, counseling second. The AI reads state, responds, then writes state β every single message. Reliable tool use is the foundation everything else builds on.
Staged prompts over monolithic prompts. A 600-line prompt overwhelms the model. Four focused prompts (~50-100 lines each) loaded on demand keep the AI on task.
One question per message. Teens disengage when hit with a wall of questions. One good question beats three okay ones.
Socratic, never ghostwriting. The counselor asks questions to draw out the student's voice. It never writes essays, personal statements, or activity descriptions for them.
Every path is valid. Community college, trade school, gap years, military β all get equal respect and strategic support. Every student also gets reach school suggestions.
Start minimal, grow organically. State files begin with 5 fields. New sections appear only when earned through conversation.
- Not a replacement for human counselors. Sacabamba supplements β it doesn't replace professional guidance, school counselors, or family conversations.
- No real-time admissions data. The counselor uses web search for current info but can't access proprietary databases (Naviance, SCOIR, etc.).
- No authentication. State files are plain YAML on disk. Anyone with filesystem access can read them.
- AI limitations apply. The model can hallucinate statistics, misremember details across long gaps, or give advice that doesn't fit a specific situation. Students should verify critical information.
Sacabamba v2 is a ground-up rewrite. The original was forked from Beacon by @00derek and adapted for the OpenClaw skill system. After QA testing revealed that the monolithic prompt architecture was fundamentally unreliable (state management failed on 100% of test turns), we rebuilt from scratch with a staged prompt architecture.
The name comes from Sacabambaspis. The online ID of my dear 9th grader, who this AI college counselor is created for.
See CHANGELOG.md for the full evolution.
This is an open source project under the MIT License. Contributions welcome:
- Bug reports β if the counselor gives bad advice, skips state management, or behaves unexpectedly
- Reference updates β admissions policies change yearly; help keep
references/current - New frameworks β better elicitation techniques, equity approaches, or counseling methods
- Stage refinements β improvements to the stage prompts based on real student interactions
- Testing β run sessions with the counselor and share transcripts (anonymized)
MIT β use it, fork it, make it better.
Built with β€οΈ by Lugugul LLC. Β· Powered by OpenClaw