agentsclimarketplace

Setup

Skill franzos/claude-plugins/plugins/forseti/skills/setup

Claude Code plugin marketplace: a set of domain experts (subagents) grouped into installable plugins.

Install
npx -y skills add franzos/claude-plugins --skill setup

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

2 things to look at

  • 29 days oldThe repository was created 29 days ago. New is not bad, but a brand new repository carrying a familiar-sounding name is the shape a typosquat arrives in, and there has been no time for anyone else to find a problem with it.
  • 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

Use to set up a new Forseti deployment (the web UI and OIDC front-end for the Ory Kratos + Hydra stack), with or without Docker. Brings up the Ory stack and Postgres, generates secure Kratos/Hydra/Forseti config with fresh secrets, wires the mandatory keys (audit webhook token, cookie secret, admin allowlist, service URLs), seeds an admin, and verifies the instance boots and the login flow works. Triggers: installing Forseti, first-time setup, standing up the Ory stack, getting Forseti running.

SKILL.md

5.5 KB, ~1.3k tokens by cl100k_base, as published. Nobody here has run it

Setting up Forseti

Forseti is a single Rust binary that fronts Ory Kratos (identity) and Ory Hydra (OAuth2/OIDC) and turns them into a drop-in OIDC provider plus an admin console. A full deployment is: Forseti + Kratos + Hydra + Postgres, and a mail provider. Do not hardcode the schema from memory: the operator guide and the shipped example configs are the source of truth. Read them from the deployment you are working on.

Work through these in order. Confirm the choice at each fork with the user rather than guessing.

1. Locate the deployment and pick a shape

Find what you are working with: a repo checkout (docs/operator-guide.md, config.example.toml, infra/), a release tarball, or a container image (ghcr.io/franzos/forseti). Then pick the runtime shape and confirm it:

  • Docker playground stack (fastest): infra/docker-compose.yml brings up Postgres, Kratos (+migrate), Hydra (+migrate), and a mail sink; Forseti itself runs on the host and Kratos reaches it via host.docker.internal:8081. Driven by the Makefile (make stack-up, stack-up-saml).
  • Native: prebuilt tarball (cp config.example.toml config.toml, edit, ./forseti; runtime dep libpq5), a Cargo build (make build/make run), or a Guix build against manifest.scm. Kratos, Hydra, and Postgres are provided separately.

Read the prerequisites and topology sections of docs/operator-guide.md before proceeding, and docs/operator-guide-proxy.md if this sits behind a reverse proxy.

2. Provision the toolchain (native builds only)

If building from source, get a toolchain without touching the host: invoke the provision-environment skill (prefer the project manifest.scm via guix shell). Skip for tarball or container installs.

3. Bring up the dependencies

Stand up Postgres, Kratos, and Hydra. With the playground: make stack-up (init DB + migrations are wired in). Otherwise deploy Kratos and Hydra yourself and point them at Postgres. Generate their config securely rather than copying dev files verbatim:

  • Prefer forseti config-init to emit Kratos/Hydra config with fresh CSPRNG secrets.
  • If starting from infra/kratos/kratos.yml and infra/hydra/hydra.yml, rotate every placeholder: Hydra secrets.system and the pairwise salt; Kratos secrets.cookie and secrets.cipher (exactly 32 chars). Never reuse a value from an example or playground config; treat every secret, audit token, and OAuth client_secret in them as a placeholder to replace.
  • All Kratos flow ui_urls and Hydra login/consent/logout URLs must point at the Forseti instance.

4. Write Forseti's config

Copy config.example.toml to config.toml (path overridable via $FORSETI_CONFIG_PATH; every key also has a FORSETI_-prefixed env override). Set at minimum:

  • [kratos] / [hydra]public_url + admin_url for each.
  • [self] — Forseti's external url and public bind (default :3000).
  • [security].cookie_secret — set a stable ≥32-byte secret. If empty, Forseti uses an ephemeral per-boot key and cookies churn on every restart (and break multi-instance).
  • [audit].webhook_tokenmandatory; Forseti refuses to boot if empty. It must match the bearer token in every web_hook in kratos.yml.
  • [internal].bind — keep on loopback (default 127.0.0.1:8081). It carries the audit receiver and the POSIX resolver; never expose it publicly.
  • [admin].allowed_emails — the operator allowlist. Empty means the admin surface is closed; set the intended operators.
  • [database].urlsqlite://./forseti.db for single-instance, or postgres://… for HA.
  • [email] — provider (lettermint/postmark/sendgrid/smtp) and credentials for Forseti's own mailer.
  • [brand]name, support_email, and the operator_trust_anchor anti-phishing string.

The Ed25519 webhook signing key (data/webhook-signing-key.pem) is auto-generated 0600 on first boot if absent.

5. Seed an admin and boot

Seed the first admin identity (make seed-admin / infra/seed-admin.sh). Then start Forseti (make run or ./forseti).

6. Verify before declaring done

  • Lint the Ory config: forseti config-check (add --strict).
  • Confirm the instance is healthy at /admin/status (it warns on SQLite-with-multi-instance and other footguns).
  • Exercise the actual login flow in a browser: a Kratos self-service login through Forseti, and one OAuth authorize round-trip if a downstream client exists. Do not report setup as working without loading it.

7. TLS and reverse proxy

Terminate TLS at a reverse proxy and pass X-Forwarded-Proto: https and X-Forwarded-Host, or Ory emits http:// URLs and non-Secure cookies. Only set [proxy].trust_forwarded_for = true behind a proxy that strips inbound forwarded-for headers. See docs/operator-guide-proxy.md for path-prefix vs subdomain vs port topologies.

When the deployment goal is more specific than a fresh install (add a login provider, enable Linux login, register a client), hand off to the forseti:reconfigure skill.

What ships with it

Read from the repository

Just SKILL.md. No reference files, no scripts.

Keep looking

Skills are one crate of 327,069. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.