# Growth engineering skill Human Guide

## What This Is For
A/B testing infrastructure, feature flags (LaunchDarkly, Unleash), experimentation platforms, PLG patterns, and funnel optimization. It gives the agent a clearer input/output frame for growth marketing: what context to ask for, what decisions to make, and what usable artifact to return.

Use this as a human-readable version of the Growth engineering skill agent skill. It is meant for marketers, operators, founders, and other non-coders who want the workflow without reading agent-specific implementation instructions.

## When To Use This
- Use this when you need a repeatable process for growth engineering skill.
- Use this when the task needs judgment, examples, constraints, or a clear output format rather than a one-off prompt.
- Use this when you want to hand an AI assistant enough context to produce a usable marketing artifact.

## When Not To Use This
- Do not use this when you only need a quick factual answer.
- Do not use this when the work depends on private data you cannot share with the assistant.
- Do not use this as a replacement for legal, compliance, financial, or medical review.

## What You Need Before Starting
- The goal or business outcome you want.
- The audience, customer segment, or market context.
- Any source material the assistant should respect, such as notes, briefs, examples, URLs, or brand guidance.
- Constraints such as tone, length, channel, deadline, region, or approval requirements.
- A clear definition of what a good final answer should look like.

## Step-By-Step Workflow
1. State the job clearly: "Use the Growth engineering skill guide to help me with..."
2. Add context: audience, goal, offer, channel, source material, and constraints.
3. Ask the assistant to identify missing inputs before producing the final output.
4. Have the assistant follow the skill-specific guidance below.
5. Review the result against the final checklist and ask for revisions where needed.

## Skill-Specific Guidance
- Short-lived flags: Remove after experiment concludes (< 2 weeks)
- Long-lived flags: Ops toggles for gradual rollouts, kill switches
- Never nest feature flags (creates exponential complexity)
- Clean up stale flags monthly
- Log flag evaluations for debugging
- Minimum sample size: Calculate before starting (use Evan Miller calculator)
- Don't peek: Set duration upfront, don't stop early on promising results
- Sequential testing: Use if you must check early (adjusts p-values)
- Minimum detectable effect: Define what improvement matters (e.g., 5% lift)
- Reduce friction: Minimize form fields, enable social login
- Social proof: Show user counts, testimonials, logos
- Urgency: Trial countdown, limited-time offers (use sparingly)

## Decision Points And Nuance
The original skill emphasizes: Feature Flag Systems, Implementation Pattern, Feature Flag Best Practices, A/B Testing Infrastructure, Experiment Design, Statistical Significance, Product-Led Growth Patterns, Activation Metrics, Viral Loops, Conversion Optimization.

Use these questions to steer the work:
- What is the intended audience or buyer?
- What source material must be preserved?
- What should the assistant optimize for: clarity, persuasion, accuracy, speed, creativity, or conversion?
- What examples represent the desired quality bar?
- What should the assistant avoid?

## Common Mistakes
- Never nest feature flags (creates exponential complexity)
- weight: number; // 0-100, must sum to 100
- Don't peek: Set duration upfront, don't stop early on promising results
- Sequential testing: Use if you must check early (adjusts p-values)
- | Setup | Profile complete | Fills required fields |
- **Respect user privacy**: Always implement consent before tracking. Anonymize where possible. Never track PII in event properties without consent.
- **Never roll your own crypto** - Use established libraries for password hashing (bcrypt, argon2), JWT signing, and OAuth flows. Custom auth code is the #1 source of security vulnerabilities in web applications.
- **Tokens are credentials** - Access tokens, refresh tokens, and session cookies must be stored securely (httpOnly cookies, encrypted storage), transmitted over HTTPS only, and rotated regularly.

## Copy-And-Paste Prompt
```text
Use the Growth engineering skill human guide.

My goal:
[Describe the business outcome]

Audience:
[Describe who this is for]

Context and source material:
[Paste notes, examples, links, or existing copy]

Constraints:
[Tone, length, channel, timeline, must-include items, must-avoid items]

Before producing the final output, ask me for any missing information that would materially improve the result.
```

## Final Checklist
- [ ] The output matches the original goal.
- [ ] The audience and context are reflected in the answer.
- [ ] Important constraints and source material were preserved.
- [ ] The assistant made the relevant decisions explicit.
- [ ] The final artifact is ready to use, review, or hand to the next person.

## Source
This guide was generated from the travisjneuman/.claude skill entry for `growth-engineering`.

## Source Skill Notes
These notes preserve the nuance from the original skill. Use them as supporting reference when the workflow above feels too generic.

# Growth Engineering Skill

Infrastructure and patterns for product-led growth, experimentation, and conversion optimization.

---

## Feature Flag Systems

### Implementation Pattern

```typescript
// lib/feature-flags.ts
import { PostHog } from 'posthog-node';

const posthog = new PostHog(process.env.POSTHOG_API_KEY!);

interface FeatureFlags {
  'new-onboarding-flow': boolean;
  'pricing-experiment': 'control' | 'variant-a' | 'variant-b';
  'ai-suggestions': boolean;
}

export async function getFlag<K extends keyof FeatureFlags>(
  key: K,
  userId: string,
): Promise<FeatureFlags[K]> {
  const value = await posthog.getFeatureFlag(key, userId);
  return value as FeatureFlags[K];
}

// Usage in component
const showNewOnboarding = await getFlag('new-onboarding-flow', user.id);
```

### Feature Flag Best Practices

- Short-lived flags: Remove after experiment concludes (< 2 weeks)
- Long-lived flags: Ops toggles for gradual rollouts, kill switches
- Never nest feature flags (creates exponential complexity)
- Clean up stale flags monthly
- Log flag evaluations for debugging

---

## A/B Testing Infrastructure

### Experiment Design

```typescript
// lib/experiments.ts
interface Experiment {
  id: string;
  name: string;
  variants: {
    id: string;
    weight: number; // 0-100, must sum to 100
  }[];
  targetAudience: {
    percentage: number; // % of users included
    filters?: Record<string, unknown>;
  };
  primaryMetric: string;
  secondaryMetrics: string[];
  minimumSampleSize: number;
  startDate: Date;
  endDate?: Date;
}

// Track experiment exposure
function trackExposure(experimentId: string, variantId: string, userId: string) {
  analytics.capture({
    event: '$experiment_started',
    distinctId: userId,
    properties: {
      $experiment_id: experimentId,
      $variant_id: variantId,
    },
  });
}
```
