Skip to content
cccskills
FreePublished on GitHub

nauthilus-lua-policy

Use for Nauthilus Lua plugins, Lua callback tests, policy compiler and registry work, Lua environment and subject sources, Lua actions, hooks, backend scripts, policy facts, obligation targets, `server/lualib`, `server/lua-plugins.d`, `server/policy`, and JSON fixtures under `testdata/lua`.

The English summary is being prepared. Showing the original description.

See how to install

Files included (1)

  • SKILL.md2.5 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

Nauthilus Lua Policy

Expertise Lens

  • Work as a Lua extension-system and policy-engine specialist for authentication pipelines.
  • Optimize for hermetic Lua reproducers, policy-owned decisions, explicit scheduling, registered facts, reusable shared modules, and safe request-local context handling.
  • Treat missing policy fact registration, silent Lua errors, non-hermetic tests, duplicate plugin logic, and action/subject/environment phase confusion as design defects.

Sources To Read

  • AGENTS.md
  • POLICY.md
  • server/lua-plugins.d/README.md
  • relevant plugin README files under server/lua-plugins.d/*/README.md
  • testdata/lua/README.md
  • server/lualib/
  • server/policy/
  • server/testing/luatest/ when Go-hosted Lua tests are involved

Lua And Policy Rules

  • For Lua issues, create a Lua reproducer first, preferably JSON-driven with testdata/lua fixtures.
  • Keep environment sources in pre-auth signal collection, subject sources after backend facts, backends for credential/account lookup, actions as policy-selected obligations, and hooks for explicit lifecycle or HTTP hook points.
  • Policy remains the decision authority. Plugins emit facts, backend results, obligation results, and status details.
  • Register custom Lua-owned policy attributes before using them in policy rules.
  • Use shared Lua modules under share/ for repeated behavior.
  • Keep Lua comments and technical docs in English.
  • Avoid logging secrets or raw credentials from Lua or Go bridges.

Testing Workflow

  1. Build the smallest Lua fixture that reproduces the behavior.
  2. Use --test-lua, callback-specific JSON fixtures, or Go-hosted Lua tests depending on the code path.
  3. Preload all required modules; module names must match definitions.LuaMod... constants.
  4. Validate strict expected_calls when module interaction order matters.
  5. Keep useful fixtures as regression coverage.

Validation

  • Run focused Go tests with GOEXPERIMENT=runtimesecret.
  • Run ./scripts/run-lua-plugin-tests.sh when bundled Lua plugin behavior changes.
  • Run GOEXPERIMENT=runtimesecret make test and git diff --check.
  • Run make guardrails before commit or pull request.

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

Use for Nauthilus OpenAPI, generated management or IdP clients, route contract tests, gRPC protobuf generation, HTTP route registration, management API authentication, public discovery API, `server/openapi`, `server/router`, `server/grpcapi`, `server/grpcclient`, and API-boundary client work.

The English summary is being prepared. Showing the original description.

croessner/nauthilus6Updated Oct 12, 2026

Use for Nauthilus authentication and identity-provider work touching OIDC, OAuth2, SAML, MFA, TOTP, WebAuthn, recovery codes, LDAP-backed identity, browser login and consent flows, token/session/flow state, `private_key_jwt`, introspection, discovery metadata, endpoint-specific client authentication, and security-sensitive auth tests.

The English summary is being prepared. Showing the original description.

croessner/nauthilus6Updated Oct 12, 2026

Use for Nauthilus configuration loading, config schema and defaults, Viper-backed config formats, config dump behavior, vim syntax generation, template validation, prompt guideline sync, documentation under README/IDP/server docs, config converters, and generated documentation or syntax artifacts.

The English summary is being prepared. Showing the original description.

croessner/nauthilus6Updated Oct 12, 2026

Use for Nauthilus native Go plugin API design or implementation, `pluginapi/v1`, plugin loader, plugin registry, plugin runtime, reload integration, plugin config, extension-point parity with Lua, capability-based host services, lifecycle semantics, and the working draft under `server/docs/go_plugin_api_working_draft.md`.

The English summary is being prepared. Showing the original description.

croessner/nauthilus6Updated Oct 12, 2026

Use for Nauthilus Redis client, Redis Cluster/Sentinel/topology behavior, Redis-backed token/session/flow/cache/bruteforce state, Lua Redis scripts, `NOSCRIPT` recovery, script upload/retry behavior, redismock tests, local cache coordination, and fail-closed runtime state changes.

The English summary is being prepared. Showing the original description.

croessner/nauthilus6Updated Oct 12, 2026

Use for Nauthilus validation, guardrails, dependency patch refreshes, vendoring, generated-output checks, `make release-guardrails`, govulncheck-sensitive publishing, structured commits, branch/tag choreography, website-doc side effects, and final clean-state reporting.

The English summary is being prepared. Showing the original description.

croessner/nauthilus6Updated Oct 12, 2026

See all skills by croessner

Report a problem with this skill