Claude Code sets plugin-root bin/ in $PATH, so there wbso
works directly. Otherwise you resolve the self-contained scripts/wbso next to this
skill as $WBSO_CLI:
WBSO_CLI="$(
command -v wbso 2>/dev/null ||
{ [ -n "${CLAUDE_PLUGIN_ROOT:-}" ] && [ -x "${CLAUDE_PLUGIN_ROOT}/bin/wbso" ] && printf '%s\n' "${CLAUDE_PLUGIN_ROOT}/bin/wbso"; } ||
find \
"$PWD" \
"$HOME/.claude/skills" \
"$PWD/.claude/skills" \
"$HOME/.cursor/skills" \
"$PWD/.cursor/skills" \
"$HOME/.agents/skills" \
"$PWD/.agents/skills" \
"$HOME/.codex/skills" \
"$HOME/.codex/plugins/cache/wbso-ai/wbso" \
"$HOME/.codex/plugins/cache" \
-path '*/scripts/wbso' -type f 2>/dev/null |
sort -V | tail -1
)"
test -n "$WBSO_CLI" || { echo "WBSO CLI niet gevonden"; exit 127; }
"$WBSO_CLI" whoami
Output consists of one header line and (optionally) a list of active projects:
<Naam> <<email>> · <Bedrijf>
Actieve projecten:
- <project title> (<quota> uur) [<slug>]
- ...
With not_logged_in (a single line) → report back:
"You are not logged in. Use the wbso-auth skill to log in or the wbso skill to create a new account."
Otherwise report the user as a story — show name with email between
< >, company name, and the projects without slugs:
"You are logged in as Jankees <jankees@wbso.ai> at WBSO.ai."
"You have these N projects:"
"- Automatic git commit WBSO scoring agent (250 hours)" "- ..."
Slugs not show to the user — those are only for internal API calls.