SKILL.md
Grounded Theory Guide
A skill for applying grounded theory methodology (GTM) to generate theory grounded in empirical data. Covers the three major schools (Glaser, Strauss/Corbin, Charmaz), coding procedures, theoretical sampling, memo writing, and criteria for evaluating grounded theories.
Three Schools of Grounded Theory
Comparing Approaches
| Aspect | Classic (Glaser) | Straussian (Strauss & Corbin) | Constructivist (Charmaz) |
|---|---|---|---|
| Ontology | Objective reality | Pragmatist | Relativist/constructivist |
| Literature review | Delay until theory emerges | Early but non-constraining | Early, reflexive engagement |
| Coding paradigm | Open, selective, theoretical | Open, axial, selective | Initial, focused, theoretical |
| Verification | Emergent fit | Systematic validation | Co-construction with participants |
| Core output | Substantive theory | Process model | Interpretive theory |
| Key text | Glaser (1978) | Strauss & Corbin (1998) | Charmaz (2014) |
Choosing an Approach
Use Classic GTM when:
- You want the theory to emerge with minimal preconception
- You are studying a process in a substantive area
Use Straussian GTM when:
- You need a structured, systematic coding procedure
- Your discipline values replicable analytical steps
Use Constructivist GTM when:
- You acknowledge the researcher's role in co-creating meaning
- You study experiences, identities, or social processes
- You work in health, education, or social science
The Coding Process
Three-Stage Coding
def grounded_theory_coding_stages() -> dict:
"""
Describe the three stages of grounded theory coding.
"""
return {
"stage_1_initial_coding": {
"also_called": "Open coding",
"description": (
"Examine data line by line or incident by incident. "
"Generate codes that stay close to the data. "
"Use gerunds (action words ending in -ing) to capture processes."
),
"example": {
"data": "I started looking for help online because the doctor "
"did not explain anything to me.",
"codes": [
"Seeking information online",
"Experiencing communication gap with provider",
"Taking initiative in own care"
]
},
"tips": [
"Code quickly -- do not overthink individual codes",
"Stay open; do not force data into preexisting categories",
"Code actions and processes, not topics",
"Write memos about ideas that arise during coding"
]
},
"stage_2_focused_coding": {
"also_called": "Axial coding (Strauss) or Focused coding (Charmaz)",
"description": (
"Select the most frequent and significant initial codes. "
"Use them to sort and synthesize larger amounts of data. "
"Identify relationships between categories."
),
"tasks": [
"Elevate initial codes to categories",
"Identify properties and dimensions of each category",
"Compare categories across cases",
"Begin developing a conceptual framework"
]
},
"stage_3_theoretical_coding": {
"also_called": "Selective coding",
"description": (
"Identify the core category that integrates all other "
"categories into a coherent theoretical framework. "
"Specify relationships between categories."
),
"output": "A substantive theory explaining the phenomenon"
}
}
