name: basic-program description: Execute bespoke Commodore BASIC v2 programs through c64bridge.
Intent
Use this skill when the user needs a custom BASIC program rather than a one-call demo.
Inputs
- Desired behavior, inputs, and expected output.
- Target backend or backend preference.
- Whether current machine state must be preserved.
Execution
- If the request is only a hello-world, greeting, or smoke test, delegate to
.github/skills/hello-world/SKILL.mdinstead of generating bespoke BASIC. - Clarify missing requirements before generating code when the request is not already specific enough to execute.
- Consult
c64://basic/specandc64://guide/bootstraponly when syntax or workflow constraints matter. - Generate uppercase, line-numbered BASIC.
- For VICE-backed local runs, assume the user should see a real visible emulator window unless CI or the lack of a framebuffer/display session forces headless operation.
- When running visible VICE BASIC manually, do not immediately follow the run with
read_screenorwait_for_textunless the user explicitly asks for machine verification after the visible output has rendered. - Use
c64_ragwithop: "basic"only when targeted BASIC examples are needed.
Validation
- For normal non-visual runs, call
c64_memorywithop: "read_screen"after execution. - For visible VICE runs, prefer user-visible confirmation first and only do monitor-based reads after the screen has clearly rendered or when the user asks for explicit verification.
- Use
c64_memorywithop: "read"around the BASIC program area only when tokenization or memory placement needs verification. - Summarize expected versus observed output.
Safety
- Confirm before reset, reboot, or other disruptive recovery actions.
- Preserve existing machine state when the user requests it.
Escalation
- Switch to
.github/skills/assembly-program/SKILL.mdwhen performance, raster timing, or direct register control becomes the primary need.