Skip to content

feat: promptable config — detect missing keys and collect values conversationally #7

Open

Description

@sentry-junior

Summary

Today, junior config is set only via explicit jr-rpc config set commands. Config values should also be settable through natural-language prompting — similar to how Claude Code uses CLAUDE.md to establish per-project behavior — so any capability that needs configurable input can acquire it conversationally.

Current Behavior

  • Config is set exclusively via jr-rpc config set <key> <value> shell commands.
  • Skills and tools that need config values (e.g. github.repo) require the user to have already set them manually.
  • No mechanism exists to detect missing config and prompt the user to supply it mid-conversation.

Gap / Opportunity

  • Users shouldn't need to know which config keys exist before using a skill; the assistant should detect the gap and ask.
  • Conversational config sets a lower barrier to entry and matches how people naturally interact with Slack bots.
  • Aligns with the Claude Code model: behavior is shaped by prompts/files, not just CLI flags.

Prior Art

  • Claude Code CLAUDE.md — repo-level markdown file that shapes model behavior for a project; effectively "promptable config" at file scope. No direct URL available; described in Claude Code docs at code.claude.com/docs/en/settings.
  • Slack bot onboarding flows — common pattern where bots ask setup questions inline and persist answers, rather than requiring upfront CLI config.

Options

  • Option A — Inline prompt on missing config: when a skill detects a required config key is absent, pause and ask the user for the value, then set it via jr-rpc config set and continue. Minimal surface change; works for any skill.
  • Option B — Natural-language config parsing: allow freeform statements like "use getsentry/sentry for all issues" to be parsed and persisted as config, even without an explicit command invocation. Higher complexity; requires intent classification.

Recommended Direction

Start with Option A: required-key detection + inline prompt + auto-persist. This covers the core gap with low risk and makes Option B a natural follow-on once the persist path is proven.

Acceptance Criteria

  • When a skill requires a config key that is not set, junior prompts the user for the value inline.
  • User-supplied value is persisted via jr-rpc config set and the skill resumes without re-invocation.
  • Works for any config key, not just github.repo.
  • Natural-language phrasing ("use repo X") is recognized and stored as config without requiring /config set.

Risks

  • Prompting mid-skill adds a turn of latency; mitigation: only block on truly required keys, not optional ones.
  • Misclassifying a statement as a config intent could silently overwrite existing config; mitigation: confirm before persisting on ambiguous input.

Sources

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions