Skip to content

Latest commit

 

History

History
103 lines (79 loc) · 5.19 KB

File metadata and controls

103 lines (79 loc) · 5.19 KB

bob-cli - Agent Instructions

IMPORTANT: You should not modify any of these memory files without approval from the user. However, when the user explicitly asks you to update a SASE memory file, that request already carries the required approval for the full workflow: make the requested edit to the canonical note under sase/memory/, then you MUST run sase memory init to regenerate AGENTS.md, the provider instruction shims, and the memory README. Do NOT ask for separate permission to initialize sase memory in that case.

1. Tier 1 (short-term) Memory

The following memories contain core (always loaded) context:

1.1 SASE = Structured Agentic Software Engineering (sase)

1.1.1 Ephemeral bob-cli_<N> Workspace Directories

SASE runs agents (like you) from ephemeral workspace directories, which are full clones of the bob-cli repo. These directories are named bob-cli_<N> where <N> is some integer. You need to be mindful not to run commands outside of these workspace directories, since they have their own isolated virtual environments.

IMPORTANT: Do NOT mention your workspace directory (or any sibling workspace directory) in any plan files that you generate using your /sase_plan skill. The agent(s) that implement the plan might not run in the same workspace directory as you!

1.1.2 Repositories

Configured linked and sidecar repositories for this context:

  • bob-plugins: Source-of-truth monorepo for Bryan's custom Bob Obsidian plugins, deployed to the vault via bob plugins sync. You should NOT edit these plugins directly in the ~/bob/ directory, as they will be overwritten on the next sync. Instead, make changes to this linked repo and, when done, run the bob plugins sync command to deploy them to the ~/bob/ directory.
  • bob-mac-capture: Native macOS menu-bar frontend for Bob capture. It delegates capture grammar, completion, live preview, and vault mutation to bob-cli's versioned bob subprocess/JSON interfaces, so coordinate capture-contract changes across both repositories.
  • bob-cli--research: Durable SASE research reports and generated media.

When you need to read or modify files in any repository other than your own workspace checkout, agents MUST use your /sase_repo skill first. This includes configured linked repos and sidecars, another SASE project's repo, and any GitHub repo not linked to the current project. Open different-project and unlinked GitHub repos as external repos through the skill. Use the path it prints as the only path for reads and writes.

This rule applies regardless of transport. Fetching a repository's files or history over the web — github.com file/blob/raw URLs, raw.githubusercontent.com, repo tarballs, or GitHub-API/gh file-content reads — counts as reading that repo: open it with /sase_repo (unlinked GitHub repos open as external repos, e.g. gh:<owner>/<repo>) and read the local checkout instead. Web tools remain appropriate only for content a checkout does not contain, such as blog posts, docs sites, and GitHub issue/PR discussions.

IMPORTANT REMINDER: Do NOT locate, clone, or web-fetch another repo's contents any other way than by using /sase_repo!

1.1.3 File Discovered Work As Task Beads

Unless your prompt explicitly forbids creating beads (epic phase workers, for example, must record PROPOSED FOLLOW-UP: notes on their own bead instead), you can and SHOULD capture discovered follow-up work as sase task beads:

  • A linter or test is flaky or failing and you did not cause it: file a task bead instead of ignoring the failure.
  • A sase memory file or skill contains out-of-date information that should be updated: file a task bead proposing the update.
  • A tool, command, or script this project is responsible for has a bug or a clear, objective improvement that would help future agents: file a task bead to fix or improve it.

Before creating any task bead, you MUST use /sase_new_task. That skill checks every task status for semantic duplicates, checks in-progress epics for a credible causal link, and records the issue in the right place. Only a genuinely new task becomes an open draft, and every new task requires an intentional --size. Ready task beads are proposed to the project owner, who either launches an agent to work them or closes them with a reason.

2. Tier 2 (long-term) Memory

The below files contain detailed reference material. When working in their domain, you MUST use your /sase_memory_read skill to review their contents. Do not read canonical memory files directly.

sase/memory/cli_rules.md
Read anytime new CLI subcommands or options are added.

sase/memory/glossary.md
Read this note before relying on any of these SASE glossary terms and aliases:

  • Pomodoro
  • Schedule Log
  • Task Link (aka task block link)

Read it with sase memory read glossary.md whenever one of those terms or aliases appears in a prompt, bead, plan, or code comment and you are not certain what it means in SASE.

sase/memory/sase_beads.md
Read before creating, updating, closing, or querying sase beads — bead types and tiers, the status lifecycle agents must never hand-edit, task-bead triage, phase-bead description prefixes, and non-cascading close, resolution, and note semantics.