/cursor-workflows
Run Cursor-workflow gather/recon via AutoCursor primitives. Triggers: cursor-workflow, autocursor gather, cursor gather.
$ golems-cli skills install cursor-workflowsUpdated 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 headlesscursor-agent -p --force --approve-mcps --output-format json <prompt>.model=Nonemeans Cursor auto model; never pass--modelunless explicitly set. Withschema, 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 returnNone.MAX_CHILDRENcaps local concurrency.pipeline(items, *stages)flows each item through stages independently. A failed item becomesNone.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:
- run parallel gatherers over the initial files or topics;
- synthesize stable findings and derive follow-up questions;
- run red-team / contradiction / missing-surface passes from those findings;
- 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.
Full SKILL.md source — includes LLM directives, anti-patterns, and technical instructions stripped from the Overview tab.
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 headlesscursor-agent -p --force --approve-mcps --output-format json <prompt>.model=Nonemeans Cursor auto model; never pass--modelunless explicitly set. Withschema, 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 returnNone.MAX_CHILDRENcaps local concurrency.pipeline(items, *stages)flows each item through stages independently. A failed item becomesNone.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:
- run parallel gatherers over the initial files or topics;
- synthesize stable findings and derive follow-up questions;
- run red-team / contradiction / missing-surface passes from those findings;
- 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.
Quick-Deep-Research
research/research.py is the subscription-only research workflow from SPEC §8: cursor-native web search (NO exa, NO paid API) builds a web graph of sources, entities, and claims; cross-reference/verify flags conflicts instead of silently merging them; synthesis emits a cited report. Treat it as a cheaper, thorough+fast alternative to Gemini Deep Research, not as SOTA deep research.
All reasoning and search in these workflows must stay behind the NO-API law: use the cursor-agent subscription path only, with no Anthropic/OpenAI/Gemini/Exa keys or paid external APIs. See docs/plan/cursor-workflows-harness/SPEC.md §8 for the full mandate.
Example
from lib.autocursor import agent, parallel
schema = {
"type": "object",
"required": ["file", "findings"],
"properties": {
"file": {"type": "string"},
"findings": {"type": "array"},
},
}
results = parallel([
lambda path=path: agent(f"Inspect {path} for TODOs and risks", schema=schema, label=path)
for path in ["README.md", "AGENTS.md"]
])Run the fuller example with:
python3 skills/golem-powers/cursor-workflows/scripts/example-gather.py README.md AGENTS.mdChangelog entries are derived from eval runs and skill version updates. Full cascading changelog (Phase 4D) coming soon.
- +Initial release to Golems skill library