Agent Skill · Pixee

pixee-preferences

Read and write Pixee organization preferences from files or stdin with optimistic concurrency handled by the CLI.

Provider: Pixee Path in repo: SKILL.md

Skill body

pixee organization preferences

PREREQUISITES: Read ../pixee-shared/SKILL.md for global flags, exit codes, and error handling, and ../pixee-auth/SKILL.md if authentication needs to be configured.

Organization preferences are a freeform markdown blob (≤10,000 characters) that the Pixee platform applies to every analysis run for the organization. The content shapes both triage (is a given finding a real risk for this org?) and remediation (how should the fix look in this codebase?), and is stored as a single document with audit metadata: content, updated_at, updated_by, org_id. The MVP hardcodes org_id to default-organization; an --org-id flag is planned once the platform supports multi-org.

pixee organization preferences get

pixee organization preferences get [--content-only]

pixee organization preferences set

pixee organization preferences set (--from-file <path> | --content <string>)

Precedence and scope

Pixee resolves preferences per-analysis with strict fallback, no merging:

  1. If the repository has PIXEE.md at its root (even if empty), it is used exclusively.
  2. Else if organization preferences exist with non-empty content, they are used.
  3. Else the analysis runs without preference guidance.

An empty PIXEE.md is a deliberate opt-out: a repo with one is treated as having preferences, which silently shadows org preferences for that repo. Agents working in a specific repo should check for PIXEE.md before assuming org preferences will apply.

Humans can author preferences in the Pixee web app under an organization’s Settings → Preferences; the CLI and the web UI write the same resource.

Writing effective preferences

Preferences come in three flavors:

For worked examples of each flavor, see references/preferences-authoring.md. Treat those examples as starting points and adapt them to the org’s stack, tone, and compliance posture.

Examples

# Print the body verbatim, suitable for piping into an editor or less
pixee organization preferences get --content-only

# Pretty-print the record as JSON, then pull a single field with jq
pixee organization preferences get --json | jq -r '.updated_by'

# Walk to the canonical resource via HAL (do not hardcode the path)
href=$(pixee organization preferences get --json | jq -r '._links.self.href')
pixee api "$href"

# Author offline and push from a file
pixee organization preferences set --from-file ./pixee-preferences.md

# Compose inline from a heredoc for a quick one-off
pixee organization preferences set --content "$(cat <<'EOF'
# Risk Guidance

## SQL Injection
Prefer Spring NamedParameterJdbcTemplate with :namedParameters.
EOF
)"

# Round-trip through stdin (byte-identical when the transform is a no-op)
pixee organization preferences get --content-only \
  | sed 's/old-vendor/new-vendor/g' \
  | pixee organization preferences set --from-file -

# Retry the set on concurrent-modification conflicts
until pixee organization preferences set --from-file ./pixee-preferences.md; do
  echo "retrying"
  sleep 1
done

Best practices

Skill frontmatter

metadata: {"version" => "1.0.0", "openclaw" => {"category" => "developer-tools", "requires" => {"bins" => ["pixee"]}, "cliHelp" => "pixee organization preferences --help"}}