Use for Beans issue tracker workflows in this workspace: planning and decomposing epics, listing issues, finding top-priority or stale work, starting work on a bean, creating/updating issues via extension commands or MCP tools, managing status/type/priority/parent/blocking relationships, and suggesting issue-related branch, commit, and PR workflows. Triggers on: "create a bean", "what should I work on", "plan this epic", "decompose this feature", "find stale issues", "set priority", "start work", "what beans are in progress", "commit this work".
This skill drives all Beans issue tracker operations in this workspace using the VS Code extension and MCP server as the primary interfaces. The CLI is a last-resort fallback only.
Always use the highest available interface. Never skip levels for convenience.
beans.*) — invoke via command palette or sidebar UI@beans chat participant — for guidance, summaries, and structured workflowsfeature/<bean-id>-<slug> or fix/<bean-id>-<slug>.branch: and pr: as soon as they exist; commit immediately.## Todo checklist; update and commit after every completed step.Always create or switch to the bean's branch before editing code or files.
Do not keep an internal agent todo list.
## Todo checklist in the bean body. The agent must update the bean ## Todo via MCP or extension commands and commit the bean to persist progress.Do not create or edit bean files by hand.
.md bean files directly to the repository.branch and pr (PR number). Adding other custom fields is forbidden.@beans /next (what should I work on?) or @beans /search <keywords> (does a bean already exist?). Use beans.search if you know what you are looking for.beans.create → fill title, type, priority, description.in-progress: beans.setStatus.feature/<bean-id>-<slug> and push it.branch: <name> to its frontmatter: beans.edit.chore(beans): start <bean-id> — set branch.## Todo checklist to the bean body on first edit.beans.edit to save, commit bean with related code.beans.create → beans.setParent to link them.Complete:
## Summary of Changes section to bean body via beans.edit.beans.setStatus → completed.chore(beans): complete <bean-id>.Scrap:
## Reasons for Scrapping section via beans.edit.beans.setStatus → scrapped.chore(beans): scrap <bean-id>.| Command | Purpose |
|---|---|
beans.create | Create a new bean |
beans.view | Open bean in Details sidebar panel |
beans.edit | Edit bean body/frontmatter in editor |
beans.delete | Delete a bean (only draft or scrapped) |
beans.setStatus | Change status (todo → in-progress → completed / scrapped) |
beans.setType | Change type (task / feature / bug / epic / milestone) |
beans.setPriority | Change priority (critical/high/normal/low/deferred) |
beans.setParent | Link a bean to a parent epic or milestone |
beans.removeParent | Remove parent link |
beans.editBlocking | Edit blocking/blocked-by relationships |
beans.reopenCompleted | Reopen a completed bean |
beans.reopenScrapped | Reopen a scrapped bean |
beans.copyId | Copy bean ID to clipboard |
| Command | Purpose |
|---|---|
beans.search | Full-text search across all beans |
beans.filter | Filter tree by status/type/priority/tag |
beans.sort | Change tree sort mode |
beans.refresh | Force reload from disk |
beans.searchView.filter | Filter search results |
beans.searchView.clear | Clear search filters and query |
beans.details.back | Navigate back in Details view browsing history |
| Command | Purpose |
|---|---|
beans.copilotStartWork | Open Copilot Chat with a bean workflow template |
beans.copilotStartWork templates: assess status, remaining steps, close/commit, export to GitHub issue, set in-progress, flesh out specs.
| Command | Purpose |
|---|---|
beans.init | Initialize Beans in an uninitialized workspace |
beans.openConfig | Open .beans.yml configuration file |
beans.openExtensionSettings | Open VS Code extension settings for Beans |
beans.showOutput | Show the Beans extension output/log channel |
beans.openUserGuide | Open user guide documentation |
beans.openAiFeaturesGuide | Open AI features documentation |
beans.openFirstMalformedBean | Navigate to first malformed bean file for correction |
@beans) guidance@beans is the human-facing conversational interface. Use it for orientation, guidance, and structured workflows — especially when you need to reason about what to work on next, confirm an epic plan before acting, or draft a commit message. It reads beans and returns natural-language responses; it does not mutate state. To create, edit, or change status, use extension commands or MCP tools.
When to reach for @beans:
/next or /priority to orient yourself/commit to draft a conventional commit message with the right bean reference/summary or /stale for a workspace health checkSlash commands:
| Command | When to use | What it returns |
|---|---|---|
/summary | Start of session or sprint; workspace health check | Count by status + list of up to 10 in-progress beans |
/priority | Before picking up new work; see what matters most | Up to 8 active beans sorted by status then priority |
/stale | Triage/cleanup; find forgotten work | Beans not updated in 21+ days, sorted oldest-first |
/next | Deciding what to start; replaces manually scanning the tree | Up to 8 todo/in-progress beans ranked by status + priority |
/create | When you want guided prompting for all fields before calling beans.create | Field checklist (title, type, priority, description, parent) |
/search <query> | Finding a bean by keyword before starting work or linking a parent | Up to 20 matching beans with id, title, status, type |
/commit | After completing a step; drafts a conventional commit referencing the most relevant bean(s) | Likely bean IDs in context + example commit subject line |
Follow-up suggestions — after any @beans response, VS Code surfaces quick-pick follow-ups for /summary, /priority, /stale, /create, and /commit. Use them to stay in flow without typing commands.
Use MCP tools when automation is needed outside the VS Code UI:
beans_query with operation: "llm_context" (or equivalent view/search/filter/sort tools) before mutating anything.delete and archive require explicit user confirmation.When the user asks to plan an epic or decompose a feature:
Ask (or confirm from context):
Use beans.create:
milestonetodoGroup proposed child issues by outcome phase. Present a compact checklist for user approval before creating anything:
- [ ] <title> — type=<task|feature|bug>, priority=<①–⑤>, depends_on=<bean-ids or none>
Child beans for an epic typically use task, feature, or bug types. epic and milestone are valid bean types in Beans, but reserve them for higher-level work or nested structures when the user explicitly asks for additional epics or milestones.
Example phases: Foundation, Implementation, Validation, Documentation, Deployment.
For each child issue include:
Do not create any beans until the user approves the plan. Present the issue map as a chat reply (this is an @beans conversation step, not a mutation). Ask for a quick pass:
For each approved child issue:
beans.create — set title, type, priority, and description.beans.setParent — link to the epic bean.beans.setStatus — set to todo (or in-progress for the first one the user wants to start immediately).Commit the epic bean and all child bean files together:
chore(beans): plan <epic-bean-id> — <N> child issues
Reply with:
Epic: <epic-id> <epic-title>
Created: <id> <title> [depends_on: <ids>]
<id> <title>
...
Start with: <id> <title> — <one-line reason why>
Use CLI only when extension, @beans, and MCP tools are all unavailable.
Hard constraints:
--json; never parse plain-text output.beans graphql.Allowed CLI command:
beans graphql --json "<query>" [--variables <json>] (strictly use the GraphQL API for all data operations)beans archive <id> — only with explicit user requestThe following baseline is derived from beans graphql --schema and provides comprehensive guidance for working with beans in this project.
""" A bean represents an issue/task in the beans tracker """ type Bean { """ Unique identifier (NanoID) """