Other

/cursor-workflows

Run Cursor-workflow gather/recon via AutoCursor primitives. Triggers: cursor-workflow, autocursor gather, cursor gather.

$ golems-cli skills install cursor-workflows

Updated 5 days ago

Use this skill when the request asks for a cursor-workflow, autocursor gather, or cursor gather: read-heavy reconnaissance that can run through headless cursor-agent instead of spending Claude orchestration tokens.

The implementation lives in lib/autocursor.py and is intentionally portable: no golems imports, no worktree mutation, and no v0 edit flows. Worktree isolation is deferred until mutating workflows exist.

Primitives

  • agent(prompt, *, schema=None, label=None, timeout=900, resume=None, model=None) runs one headless cursor-agent -p --force --approve-mcps --output-format json <prompt>. model=None means Cursor auto model; never pass --model unless explicitly set. With schema, AutoCursor appends a JSON instruction, validates harness-side, retries malformed output, and records raw NDJSON logs to disk.
  • parallel(thunks, *, concurrency=8) runs a ThreadPoolExecutor barrier. Failed thunks return None. MAX_CHILDREN caps local concurrency.
  • pipeline(items, *stages) flows each item through stages independently. A failed item becomes None.
  • phase(title) prints an observability marker.
  • loop_until_dry(round_fn, *, dry_rounds=2, max_rounds=10) keeps gathering until consecutive rounds add no new stable-keyed findings.

Inner-Loop Gather

For broad read-heavy recon, do not run one cursor-agent prompt and stop. Build an inner loop:

  1. run parallel gatherers over the initial files or topics;
  2. synthesize stable findings and derive follow-up questions;
  3. run red-team / contradiction / missing-surface passes from those findings;
  4. repeat with loop_until_dry() until consecutive rounds add no new stable-keyed findings or the max-round cap is reached.

Use this for cross-skill, workflow, policy, or architecture remediation where second-round drift is likely. Keep the workflow read-only; the lead applies patches and owns verification.

Analyze

analyze/analyze.py takes gathered findings, clusters/ranks/deduplicates them, then produces a structured synthesis through autocursor.agent(schema=...). This workflow is pure local analysis: no web, no search backend, and no external API.