Windsurf¶
Windsurf is learnship's native platform. It gets the richest experience including real @skill-name invocation and the full impeccable suite as native slash commands.
Install¶
Installs to ~/.windsurf/workflows/ and ~/.windsurf/skills/.
Invoke commands¶
All learnship workflows are available as slash commands directly:
/ls
/new-project
/discuss-phase 1
/plan-phase 1
/execute-phase 1
/verify-work 1
/quick "fix the search bug"
/help
/review # v2.0: multi-persona code review
/ship # v2.0: test → commit → push → PR
/compound # v2.0: capture solved problem as knowledge
/challenge # v2.0: stress-test scope
/ideate # v2.0: codebase-grounded idea generation
Native skills¶
On Windsurf, skills are first-class: Cascade dispatches to them directly:
@agentic-learning learn React hooks
@agentic-learning quiz authentication patterns
@agentic-learning reflect
No prefix needed, no "use the skill" phrasing required. Just invoke.
Capabilities¶
| Feature | Status |
|---|---|
| Slash commands | ✅ Native |
@agentic-learning skill | ✅ Native @invoke |
impeccable skill suite | ✅ Native /commands |
| Parallel subagents | ❌ Not supported (no Task()) |
| Wave execution | Sequential only |
| Agent personas | ✅ 17 model_decision rules |
| Interactive questions | ✅ ask_user_question |
Agent personas via model_decision rules¶
Windsurf doesn't support Task() subagent spawning, but it has its own native mechanism for persona adoption: model_decision rules.
When learnship installs on Windsurf, install.js generates 17 rule files in .windsurf/rules/:
.windsurf/rules/
├── learnship-researcher.md
├── learnship-project-researcher.md
├── learnship-planner.md
├── learnship-executor.md
├── learnship-verifier.md
├── learnship-debugger.md
├── learnship-roadmapper.md
└── ... (17 total)
Each rule has trigger: model_decision frontmatter:
---
trigger: model_decision
description: "Adopt this rule when acting as the learnship researcher persona — when investigating a domain..."
---
How it works: Cascade always sees the rule descriptions in its system prompt. When a workflow says "You are now the learnship researcher", Cascade recognizes the match and reads the full rule automatically — adopting the persona's philosophy, tool strategy, confidence levels, and output format.
This is reinforced by inline <persona_context> blocks in every workflow that uses a persona:
<persona_context>
You are now the **learnship researcher**. Your training data is stale — verify before asserting.
Use search_web for ecosystem discovery, read_url_content for official docs.
Tag confidence: HIGH/MEDIUM/LOW.
</persona_context>
The combination of model_decision rules + inline persona instructions gives Windsurf the same persona adoption quality as Claude Code's Task() subagents — just through a different mechanism.
Sequential execution
Windsurf always runs plans sequentially (no parallel waves). All context engineering, planning, verification, and learning features are fully available. The agent personas ensure the same quality of work whether running in parallel on Claude Code or sequentially on Windsurf.
Tips for Cascade¶
- Fresh context windows matter. learnship is designed around fresh context. Start each major workflow (plan-phase, execute-phase) in a new Cascade conversation for best results.
AGENTS.mdis auto-loaded. Cascade readsAGENTS.mdfrom your project root as a rule: you never need to paste context manually.- Agent personas activate automatically. When a workflow references a persona, Cascade reads the matching
model_decisionrule from.windsurf/rules/— no manual invocation needed. - Skills activate at checkpoints. When
learning_mode: "auto", Cascade will offer@agentic-learningactions at the end of each workflow step. - Use
/lsto orient. If Cascade seems unsure what to do, run/ls: it reads all state files and gives a clear next step.