scratchpad
SkillFiles & storageLets your agent copy the code example nearest your cursor into a scratchpad TypeScript file.
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the scratchpad skill
About this capability
Extract the JSDoc example nearest the active source selection or cursor into ./scratchpad as a TypeScript file. Use when the user asks to dump, copy, open, or try a source example in scratchpad.
What this skill tells your AI
The instructions your AI receives, as published by mapletechlabs/maple in .context/effect/.agents/skills/scratchpad/SKILL.md and read by ahel’s review.
Use this skill to create a scratchpad TypeScript file from the JSDoc **Example**
nearest the user's active source cursor or selection.
Workflow
-
Determine the source path and line:
- Use the IDE active file and selection/cursor line when present.
- Use an explicit file and line when the user provides them.
- If no line or selection is available, ask for it.
-
Run:
node .agents/skills/scratchpad/scripts/extract-example.mjs <source-path> <line> -
If the script exits with code 2 because there is no obvious runner, ask the user whether to preserve the example exactly, name an Effect value to run, or cancel.
- To preserve exactly, rerun with
--mode preserve. - To run a specific Effect value, rerun with
--runner <identifier>.
- To preserve exactly, rerun with
-
Report the created path as a clickable file link. This is the deterministic way to open it in the code pane.
-
Do not run the scratchpad file unless the user explicitly asks.
Behavior
-
The script chooses the example whose
**Example**section contains the line; otherwise it chooses the first following example; otherwise the nearest previous example. -
Filenames are derived from the source file and example title, for example
scratchpad/Schedule-retrying-and-repeating-effects.ts. -
Existing files are not overwritten. The script appends a numeric suffix.
-
In auto mode, if a top-level
programbinding exists, the script appends:Effect.runPromise(program).then(console.log, console.error) -
If the example already contains an Effect runner, the script preserves it.
Signals
- GitHub stars
- 2k
- Forks
- 117
- Last commit
- Sep 2026
Advanced
- Catalog kind
- skill
- Gateway key
scratchpad- Source
- github.com/mapletechlabs/maple