Set this up with your own agent

The stories explain what I built. The setup guide gives your agent the inputs, boundaries and checks needed to adapt those patterns to your own environment.

Start with the plain Markdown setup guide. It works without scripts or an account. Copy its URL into your agent and ask for one workflow.

A prompt to start with

Read https://gabe.work/ai/setup.md.
Help me build the morning-report workflow for my environment.
Start with synthetic data and my existing project instructions.
Identify the sources and owner choices before connecting accounts.
Verify the acceptance cases and show me the result.
Do not install global configuration or schedule recurring work
unless I authorize it.

What is ready to reuse?

Most workflows here are adaptation recipes. Agent Checkpoint is now a standalone public tool, with installation instructions and a supported integration API. Use the upstream implementation for checkpoints; adapt the other workflows to your tools and test them against the listed cases.

The public general skills collection is optional reference material. It is not the source distribution for these CLIs.

Choose a recipe

Bring your own environment

Your agent should inspect your machine and project, preserve your settings, and use your own accounts and authorization policy. The guide does not authorize installations, messages or deployments. Start with one local workflow and synthetic fixtures, then connect the sources you choose.

Morning report

Story: https://gabe.work/ai/morning-report/

Demo: https://gabe.work/ai/morning-report/#build-report

Prerequisites

An agent with read access to explicitly selected sources, a personal output directory, a source registry, and an owner-defined authorization policy. Notes alone are enough for an initial local version. Do not invent connections to calendar, messages or tickets.

Implementation contract

Suggested output fields: generated_at, sources (id, status, reason, reference), tasks (id, text, category, source_refs), dropped_tasks (text, reason, source_refs), questions, blocked_tasks.

Acceptance checks

Use synthetic notes, messages and calendar records. Two summary requests become one task with two source references. An accepted invitation removes its scheduling follow-up. A pending invitation retains a proposed follow-up. A request to draft remains preparation; a request to send needs approval. An ambiguous request becomes a question. A document read failure is visible and does not produce a fabricated summary. A missing required connection prevents report generation. Running twice does not send anything or modify input fixtures.

Owner choices

Sources, output path, timezone, freshness window, what counts as required, category policy, and whether to schedule later. Do not inherit Gabe's integration requirements as universal defaults.

Bounded model decisions in CLIs

Story: https://gabe.work/ai/local-decisions/

Prerequisites

A CLI runtime, an explicitly selected inference provider, a caller-owned set of allowed labels, and named handlers with their own authorization checks. Begin with a fake provider returning fixed responses.

Implementation contract

Acceptance checks

Fixed responses cover every allowed label, null, malformed output, a disallowed label, timeout and unavailable inference. An input containing a command cannot execute it. An allowed but semantically wrong label passes structural validation, so evaluate judgment separately with labeled examples. Include contradictory evidence and repaired historical failures. Report errors as well as successes; do not invent confidence scores.

Agent checkpoints

Story: https://gabe.work/ai/agent-checkpoints/

Install the public tool

Source and reference: Agent Checkpoint repository

Inspect the upstream README and integration documentation. Agent Checkpoint requires Python 3.11+ on macOS or Linux, with Git for repository awareness. It has no runtime package dependencies and uses JSON event batches, not SQLite. From a reviewed checkout, python3 scripts/install.py installs the CLI without pip or build dependencies. Follow the owner's install policy and verify command discovery afterward. The installer does not install agent hooks.

Integration contract

Use the upstream CLI or supported agent_checkpoint.integration API. Choose the owner's state directory and preserve existing state. Keep complete artifacts in their projects and reference them from checkpoints. Record agent/session IDs when available; leave unknown identity explicit. Reuse the task name as the work progresses.

Run an owner-authorized verification command through verify --run or complete --run. A failed completion check leaves the task open. Manual overrides remain distinguishable from executed verification. Review recorded progression with history, timeline and stats. These views cover recorded events, not every model action or private reasoning.

Before importing existing state, back it up and stop legacy writers. Imported snapshots are labeled baselines, not reconstructed session history. Optional OpenTelemetry export is explicit. Default export omits task content and hashes identities. Including content or sending to a collector needs the owner's selected destination and authorization.

Acceptance checks

Use an isolated temporary state directory. Save a goal, update it, hand off between explicit sessions, and confirm the history retains those events. A failing completion command records failure and leaves the task open; a passing command records completion. Confirm imported baselines are labeled, timeline/stats can be queried, and export works without sending data unless an endpoint is selected. Test installed hooks separately with synthetic transcripts. Do not modify real checkpoints as a test.

Homelab health

Story: https://gabe.work/ai/homelab-health/

Prerequisites and contract

For a Kubernetes version, require an explicitly selected cluster context and read-only credentials. Read nodes and workloads. Add Flux resources only if that cluster uses Flux; define them as required or out of scope explicitly. Do not assume an empty resource list proves collection succeeded.

Collect with bounded timeouts. Return current issues separately from collection errors, plus captured_at and the checked scope. Report healthy only when all required reads completed and no checked issues were found. This is resource health, not proof of application correctness. Never restart, delete or deploy as part of collection.

Allow sanitized snapshot save/replay with a versioned schema. Snapshots may retain infrastructure names even if logs and secrets are excluded. Keep them private unless reviewed. Mark replayed observations as historical; use fresh collection after a repair.

Acceptance checks

Synthetic snapshots cover healthy resources, a crash loop, unready nodes, unreconciled configuration and a timed-out required query. A failed read with an empty issue list must remain incomplete and not healthy. Replay returns the same findings for the same snapshot without cluster access. Invalid snapshots fail visibly. No test requires a production cluster or writes shared infrastructure.

From idea to shipped change

Story: https://gabe.work/ai/idea-to-shipped/

Use the owner's problem statement and project instructions. Research existing code before choosing an approach. For substantial new systems, save requirements, options, uncertain assumptions, a prototype plan and verification criteria with the project. Prototype uncertainty before committing to the design. Let the owner decide material tradeoffs and release authorization. Implement, run relevant checks and verify the actual delivered artifact. Record what was checked and what remains uncertain. Do not equate a successful push with a verified deployment.

Acceptance: another agent can identify the chosen approach, artifact location, next step and verification command without reconstructing the conversation. A failed verification prevents a success claim.

Local inference

Story: https://gabe.work/ai/local-ai/

Choose a runtime and model compatible with the owner's hardware. Gabe's described setup uses Apple Silicon, MLX and a loopback service; this is not a cross-platform installation recipe. Consult current official runtime documentation before installing. Get the owner's model choice and authorization for large downloads, persistent services and global configuration changes.

Use loopback-only binding by default, explicit provider selection, bounded requests and private local configuration. Verify the configured runtime's actual offline behavior rather than assuming local execution prevents all network access. Data collection may still contact connected services. Do not expose the inference service to the LAN as an incidental setup step.

Acceptance: a real completion succeeds, the listener is restricted to the intended interface, timeouts produce explicit failures, and requests still succeed after the owner-approved service restart. An open port alone does not pass. Separately evaluate decision quality; deployment location is not evidence of accuracy. Never claim live checks from a dry run.

Learn from a wrong assumption

Story: https://gabe.work/ai/when-the-agent-is-wrong/

Record a failure with the observation that disproved the assumption. Convert the lesson into an explicit behavior and a regression fixture. Keep historical hypotheses separate from current evidence. For source access, the regression must attempt the read and account for its real result, not treat the old diagnosis as authority. Do not assert that a written workflow rule makes the failure impossible.

Handoff checklist

Report the files changed, commands actually run, check results, selected account scope, provider/data path, unresolved questions and rollback steps. Keep credentials out of chat and repository content. Provide the owner with one small verified workflow before expanding it.