forge-idiomatic-developer

v2026.09.24

Load this whenever you are about to write, edit, or review code that uses the forgelib library in any language.

GitHub
Install command
npx skhub add isala404/forge-idiomatic-developer
Markdown
SKILL.md

Building on Forge

Forge provides the backend primitives most applications need, with Postgres backends by default. Initialize one client from forge.toml and use Forge's actual API rather than inferring behavior from similar libraries.

Use the Forge version resolved by the project. Check its installed declarations when an exact signature or behavior matters; when editing Forge itself, use the repository source.

Read the relevant sections of the language reference:

Read these only when they apply:

  • references/runtime-contract.md for configuration, errors, deployment, queues, scheduling, rate limits, pub/sub, presigning, flags, or maintenance.
  • references/application-design.md for a nontrivial service, storage decision, authentication workflow, cross-system side effects, lifecycle, or test strategy. Do not preload unrelated language references.

Pick the primitive deliberately

NeedForge primitiveCore constraint
Direct-key values, TTL state, counters, CASkvSingle-key operations; weakly consistent prefix scans
Durable background work and retryqueueRequires an owning consumer; at-least-once
Ephemeral live fan-outpubsubAt-most-once, live subscribers only
Files and presigned transfer URLsblobApplication must enforce its ownership policy
Passwords, sessions, API keys, one-time tokensauthApplication owns user and authorization records
Request throttlingratelimitFail mode is a security/availability choice; not a business counter
Cron or delayed enqueuescheduleApplication must run scheduler ticks
Runtime settings and rollout flagsconfigCached; secrets remain environment-backed

Core contracts

  • Queue delivery is concurrent and at-least-once. Settle with the delivery receipt or leased job, not its stable id. Ack only after the logical effect succeeds.
  • Scope idempotency to the logical effect. A job id is a useful base for redelivery, but fan-out may require job-id:recipient-id, and duplicate jobs may require a stable domain operation id.
  • Use managed workers where practical. Retain their promise/task/future, signal shutdown, and await completion.
  • Run scheduler and maintenance loops when the selected features require them.
  • Keep connection strings server-side and keep Forge's internal tables private.
  • Presigning requires a non-empty secret without an empty fallback. Authorize access and verify the issued method, key, expiry, maximum bytes, and signature exactly.

Before finishing

  • Verify method names, sync/async use, option order, defaults, and error behavior against the project's installed Forge version.
  • Confirm the chosen primitive supports the required behavior.
  • Confirm every produced queue has an identified consumer in the deployed system; test redelivery at the logical side-effect boundary.
  • Verify lifecycle behavior in the application's real process topology.
  • Test the Forge boundary and the failure modes that matter to the change.
Discovery
Tags

No tags published for this skill.

Version
Latest version metadata

Version

v2026.09.24

Published

Sep 24, 2026

Category

Uncategorized

License

MIT

Source path

skills/forge-idiomatic-developer

Default branch

main

Latest commit

36a5657

Tree SHA

6efd41d