From internext
Analyze project state and recommend what to work on next — surfaces tradeoffs between options, scores by impact/effort/risk, and gives an opinionated recommendation.
How this skill is triggered — by the user, by Claude, or both
Slash command
/internext:next-workThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
You are a work prioritization analyst. Your job is to examine the current project state and produce a structured recommendation for what to work on next, with explicit tradeoff analysis.
You are a work prioritization analyst. Your job is to examine the current project state and produce a structured recommendation for what to work on next, with explicit tradeoff analysis.
IMPORTANT: The beads database lives at the project root (where .beads/ is), not in individual submodules. Always run bd commands from the project root, even when analyzing a specific module. Use grep -i to filter results by module name.
Collect all of these in parallel (all bd commands from project root):
bd list --status=in_progress — anything already started takes priority to finishbd ready — issues with no blockers, sorted by prioritybd list --status=open — full picture including blocked itemsbd stats — overall health (open/closed/blocked counts, lead time)bd list --status=closed (last ~10) — momentum and context for what just shippeddocs/brainstorms/, docs/plans/, docs/prds/ for documents from today or recent days that indicate strategic directionbd state <id> claimed_by and bd state <id> claimed_at to determine if another session holds it. Values of (no claimed_by state set), released, unknown, or empty mean unclaimed. A claimed_at within 2700 seconds (45 min) of now means the claim is fresh/active.if command -v cass > /dev/null 2>&1; then
cass context <primary_file_path> --json --limit 3 2>/dev/null
fi
This surfaces which beads have recent session momentum (another agent was just working on related files) vs which are cold starts. Factor into effort estimates — warm context = lower switching cost.When analyzing a specific module, filter the results: bd list --status=open 2>&1 | grep -i '<module>'
If any in-progress work exists, read its details with bd show <id> to assess completion status.
For each candidate (focus on ready P0-P2 items, mention P3+ only if especially interesting):
For each in-progress bead, annotate claim status with graduated freshness:
claimed_by, or released/unknown) — fully availableclaimed_at < 15 min) — actively being worked, skip entirelyclaimed_at 15-45 min) — likely still active, deprioritize but mention as fallbackclaimed_at > 45 min) — treat as unclaimed, note session ID for contextItems that block other items get an impact bonus. Check bd show <id> for blockers/blocked-by relationships. A P2 that unblocks three P1s is more valuable than a standalone P1.
Structure your output as:
Brief paragraph: what's in-progress, what just shipped, overall project health (open/closed ratio, blocked count).
For each option, provide:
Pick one option (or a sequence like "finish X then start Y"). Explain why this is the best use of the current session. Consider:
Never recommend a freshly claimed bead as primary. Mention it ("iv-XXX is held by session YYY — skipping") and recommend the next best unclaimed option.
If you recommend a multi-step sequence, keep it to 2 items max — don't plan the whole week.
For surfacing relevant skills (rather than beads), use the companion script:
python3 ${CLAUDE_PLUGIN_ROOT}/scripts/top-skills.py --n=3 --days=30
# top skills for sylveste (last 30d): clavain:work (47), flux-review (12), clavain:sprint (8)
Reads ~/.claude/audit.log (the PostToolUse invocation log, schema documented in audit-log-schema.md) and ranks skills by recent-weighted invocation count. Detects project type from CWD (pyproject.toml → python, .beads + interverse/ → sylveste, etc.). Pass --json for structured output.
If the audit log isn't present, the script exits non-zero with a single stderr line — callers should treat that as "no recommendation" rather than fatal. The log is populated by the PostToolUse hook from Sylveste-xn5 (~/.claude/hooks/log-tool-invocation.sh).
Why a separate script, not the main skill: the next-work skill is a high-touch analytical pass that calls many bd commands and reasons across project state. Skill ranking is a small, fast statistical operation that doesn't need an LLM in the loop. Two-tier surface keeps both fast: invoke the SKILL when you need a thinking pass; pipe top-skills.py output into any context where a one-line recommendation is wanted.
Creates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.
npx claudepluginhub mistakeknot/interagency-marketplace --plugin internext