AgentStack
Browse Sign in
Browse Why AgentStack Sell Docs
Sign in
SKILL verified MIT Self-run

Journey Substrate

skill-butterbase-ai-butterbase-skills-journey-substrate · by butterbase-ai

Use as the optional substrate-linking stage of the Butterbase journey, after deploy and before submit. Asks whether to connect the deployed app to the owner's substrate (so functions get ctx.substrate). Skipped by default in hackathon mode.

No reviews yet
0 installs
11 views
0.0% view→install

Install

$ agentstack add skill-butterbase-ai-butterbase-skills-journey-substrate

✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access Used
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

View the full security report →

Verified badge

Passed review? Show it. Paste this badge into your README, it links to the public security report.

AgentStack Verified badge Links to your public security report.
[![AgentStack Verified](https://agentstack.voostack.com/badges/verified.svg)](https://agentstack.voostack.com/security/report/skill-butterbase-ai-butterbase-skills-journey-substrate)

Reliability & compatibility

Security review passed
0 installs to date
no reviews yet
1mo ago

Declared compatibility

Claude CodeClaude Desktop

Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.

Preview Execution monitoring

We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.

How agent discovery & health will work →
Are you the author of Journey Substrate? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

Journey Substrate Stage (optional)

Connect the deployed app to the owner's substrate so functions get ctx.substrate injected at cold start. Skip if the user has no AI-agent / memory use case.

When to use

Invoke automatically when the journey orchestrator's cursor reaches substrate. The row is optional in the checklist; skip silently if the user declines.

Procedure

  1. Refresh docs. Call butterbase_docs with topic: "substrate". If the plan mentions AI memory / agent state / cross-session knowledge, also WebFetch https://docs.butterbase.ai/substrate. Skip if docs/butterbase/03b-docs-cache.md already covers substrate.
  1. Confirm. Ask the user:

> "Connect ` to your substrate? This lets the app's functions read/write your agent memory via ctx.substrate`. You can disable later. (yes / skip)"

Default: skip.

  1. On skip: mark the row - [x] substrate (skipped — no agent memory needed) in docs/butterbase/00-state.md. Write docs/butterbase/04b-substrate.md with one line: Skipped on . Return.
  1. On yes:

a. If platform_users.substrate_provisioned_at is NULL for the caller, call POST /v1/me/substrate/provision first (or invoke whatever MCP wrapper exists — check butterbase_docs topic substrate). b. Link the app. Use whichever surface you have:

  • MCP: manage_app with { action: "link_substrate", app_id: "" }.
  • CLI: butterbase apps link-substrate .
  • REST (curl): POST /v1/me/apps//substrate-link with empty body and Authorization: Bearer for the app owner. The route enforces caller == app owner and sets apps.substrate_user_id to the caller's id.

c. Verify: manage_app with { action: "get_config", app_id: "" } and assert substrate_user_id is non-null. d. Smoke: invoke any HTTP function the app already has and check ctx.substrate is defined (if the function logs it). If no function exists yet, skip the smoke and note in the artifact.

  1. Write artifact. docs/butterbase/04b-substrate.md:

```markdown --- linkedat: appid: substrateuserid: ---

# Substrate Linkage

  • App linked at
  • Substrate user ID:
  • Smoke:

```

  1. Update state. Tick the substrate row in 00-state.md.

Anti-patterns

  • ❌ Auto-linking without asking. Substrate is a privacy-sensitive surface.
  • ❌ Linking before the app has any function deployed. Wait until journey-functions has run.
  • ❌ Forgetting to handle the "substrate not yet provisioned" case. Lazy provisioning is by design.

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet, be the first.

Versions

  • v0.1.0 Imported from the upstream source.