mcpField
F
feature-flags-python

feature-flags-python

github.com/posthogDevelopment7695 installsUpdated today
Repository

About feature-flags-python

A skill for adding PostHog feature flags to Python applications, with SDK guidance and best practices. It covers server-side evaluation, exception capture, privacy handling, and flushing events before exit.

Key features

  1. 01Feature flag implementation guidance
  2. 02Boolean flags by default
  3. 03Server-side evaluation guidance
  4. 04Automatic exception capture
  5. 05PII-safe event handling
  6. 06Flush events on exit

Use cases

  1. 01Checking feature flags in Python logic
  2. 02Evaluating flags to reduce UI flicker
  3. 03Configuring exception and event capture
  4. 04Setting person properties and events safely

MCP support

The skill recommends checking for a connected PostHog MCP server and, if available, using its tools to create, list, update, or delete PostHog feature flags.

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/posthog/skills --skill feature-flags-python

After installing, type/feature-flags-pythonin Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

references/
adding-feature-flag-code.md
best-practices.md
python.md

Details

From the project README

PostHog feature flags for Python

This skill helps you add PostHog feature flags to Python applications.

Reference files

  • references/python.md - Python feature flags installation - docs
  • references/adding-feature-flag-code.md - Adding feature flag code - docs
  • references/best-practices.md - Feature flag best practices - docs

Consult the documentation for API details and framework-specific patterns.

Key principles

  • Environment variables: Always use environment variables for PostHog keys. Never hardcode them.
  • Minimal changes: Add feature flag code alongside existing logic. Don't replace or restructure existing code.
  • Boolean flags first: Default to boolean flag checks unless the user specifically asks for multivariate flags.
  • Server-side when possible: Prefer server-side flag evaluation to avoid UI flicker.

PostHog MCP tools

Check if a PostHog MCP server is connected. If available, look for tools related to feature flag management (creating, listing, updating, deleting flags). Use these tools to manage flags directly in PostHog rather than requiring the user to do it manually in the dashboard.

Framework guidelines

  • Remember that source code is available in the venv/site-packages directory
  • posthog is the Python SDK package name
  • Install dependencies with pip install posthog or pip install -r requirements.txt and do NOT use unquoted version specifiers like >= directly in shell commands
  • In CLIs and scripts: MUST call posthog.shutdown() before exit or all events are lost
  • Always use the Posthog() class constructor (instance-based API) instead of module-level posthog.api_key config
  • Always include enable_exception_autocapture=True in the Posthog() constructor to automatically track exceptions
  • NEVER send PII in capture() event properties — no emails, full names, phone numbers, physical addresses, IP addresses, or user-generated content
  • PII belongs in identify() person properties, NOT in capture() event properties. Safe event properties are metadata like message_length, form_type, boolean flags.
  • Register posthog_client.shutdown with atexit.register() to ensure all events are flushed on exit
  • The Python SDK has NO identify() method — use posthog_client.set(distinct_id=user_id, properties={...}) to set person properties, or use identify_context(user_id) within a context

Comments

Markdown supported