Buildable tools and devices: what they do, what you need, how to build or use them, and a worked example. The interactive ones open a tool.

Open the free tool →

An instrument

The Instrument Workshop

Combines a Grimoire aspect, a machine pattern and an instrument form into a buildable brief.

Open the tool

What it is

To turn 'I want to make something for this planet' into a specific instrument with parts, a build order and a test.

At a glance

Inputs
A Grimoire aspect; a technical pattern; an instrument form; a seed.
Outputs
A one-page brief: name, purpose, parts, build order, test, variation and a record field.

How to use it

  1. Choose an aspect, or let the workshop draw one.
  2. Choose a technical pattern — a cron job, a queue, a hash, a canvas.
  3. Choose a form — a sigil engine, a servitor, an oracle, a ward.
  4. Generate the brief and read it as a set of constraints, not a prophecy.
  5. Build the smallest version in one sitting; use the test to see whether it does anything.
  6. Record the build, the test and the next change in the ledger.

What you need

  • A code editor
  • A terminal
  • A browser
  • A ledger file

A worked example

Aspect: Saturn. Pattern: scheduled job. Form: ward. The brief: 'A Saturday-night permission gate that reviews the week's exceptions and closes the open loops.' Parts: a cron entry, a JSON list of exceptions, a closing message, a log. Test: run it for two Saturdays and count the loops it closed.

Variations

  • Use a tarot card as the aspect and let its number set the number of parts.
  • Build the same brief twice, once as a browser tool and once as a shell script, and compare which you actually use.
  • Make the brief a group exercise: each person builds one part and the group tests the whole.
Code sketch

This is a sketch, not a runnable program. It names the shape of the automation; the definitions are yours.

const brief = (aspect, pattern, form, seed) => ({
  name: `${aspect.name} ${form.name}`,
  purpose: `${form.description} for ${aspect.name.toLowerCase()}, built as ${pattern.name.toLowerCase()}.`,
  parts: [pattern.build, `a ${aspect.name.toLowerCase()} mark`, 'a log', 'a close'],
  test: 'one week, one record, one change',
  seed,
});

Related entries

One of 110 entries in the Technomancy workshop. How a working is built Is it wrong somewhere?

Mentioned by 22

Every entry that names The Instrument Workshop, grouped by section.

▤ Glossary 3

✧ Practices 2

⌘ Protocols 1

❖ Workings 1

⌁ Currents 1

More in Instruments

The entries either side of this one in the same section.

All of Instruments →

New entries, when they land

Occasional notes when a section of the grimoire is added or revised. No account, no tracking across sites, and one line to leave.

Grimoire updates only. Nothing is shared. Every note has an unsubscribe link.