nealcaren/social-data-analysis/project-scaffold

Claude Code and agent skill by nealcaren/social-data-analysis

Trust tier 3
  • community
Source check pending

Checking that the SKILL.md file is still in the repository.

Initialize research project structure with standardized directories and metadata files. Creates project.yaml (configuration) and progress.yaml (state tracking) that other skills use for canonical paths and workflow coordination. Supports qualitative, quantitative, and mixed methods projects. Use when starting a new project or adopting an existing one.

Install

npx vskill@latest install nealcaren/social-data-analysis/project-scaffold

SKILL.md

Project Scaffold

Initialize and manage research project structure. Creates standardized directories and metadata files that enable seamless handoffs between skills.

Why This Exists

Without scaffolding, every skill asks "Where are your data?" and "Where should I save this?" Project scaffold solves this by:

  1. Creating canonical paths that all skills respect
  2. Tracking project state so coordinator knows what's done
  3. Enabling prerequisite checking ("Can't write findings until analysis is done")
  4. Providing audit trail for reproducibility

Project Types

Scaffold supports three project types with different structures:

TypeUse WhenKey Directories
qualitativeInterview research, ethnography, content analysistranscripts, codebook, memos
quantitativeSurvey, experiments, secondary data analysisraw_data, scripts, models, figures
mixedCombining qual + quant methodsBoth sets of directories

Two Modes

Mode 1: New Project

Creates full directory structure and blank metadata files.

/project-scaffold
Title: Why Activists Leave Social Movements
Type: qualitative
Mode 2: Adopt Existing Project

Maps existing directories to canonical paths without moving files.

/project-scaffold adopt
My data is in analysis/
My literature is in lit-review/pdfs/

Workflow

Step 1: Gather Project Info

Ask for:

  • Project title (required)
  • Project type: qualitative, quantitative, or mixed (required)
  • Research question (recommended)
  • Mode: new or adopt
Step 1b: Initialize Git

After gathering project info, ensure the project directory is a git repository:

  1. If not already a git repo, run git init
  2. After creating the directory structure (Step 2), make an initial commit: git add -A && git commit -m "project-scaffold: Initial project structure"

All downstream skills use git for version tracking. Do not create version-suffixed copies of files (e.g., -v2, -final, -working). The git history serves as the version trail.

Step 2: Create/Map Structure
Qualitative Projects
project-name/
├── data/
│ ├── raw/ # Original transcripts, fieldnotes
│ └── clean/ # Processed/anonymized versions
├── analysis/
│ ├── codes/ # Codebook, code definitions
│ ├── memos/ # Analytical memos
│ └── outputs/ # Quote database, matrices
├── library/
│ ├── pdfs/ # PDF and EPUB files
│ └── markdown/ # Converted markdown versions
├── literature/
│ ├── database/ # lit-search outputs
│ ├── notes/ # reading-agent outputs
│ └── synthesis/ # lit-synthesis outputs
├── drafts/
│ ├── sections/ # Individual section drafts
│ └── submission/ # Submission-ready manuscripts
├── submissions/ # Final manuscripts
├── references.bib # Canonical bibliography (used by all skills)
├── project.yaml # Project configuration
├── progress.yaml # State tracking
└── README.md # Project overview
Quantitative Projects
project-name/
├── data/
│ ├── raw/ # Original datasets
│ ├── processed/ # Cleaned/transformed data
│ └── codebooks/ # Variable documentation
├── scripts/
│ ├── cleaning/ # Data preparation scripts
│ ├── analysis/ # Statistical analysis scripts
│ └── visualization/ # Figure generation scripts
├── models/ # Saved model objects, outputs
├── figures/ # Generated plots and visualizations
├── tables/ # Generated tables
├── library/
│ ├── pdfs/ # PDF and EPUB files
│ └── markdown/ # Converted markdown versions
├── literature/
│ ├── database/
│ ├── notes/
│ └── synthesis/
├── drafts/
│ ├── sections/
│ └── revisions/
├── submissions/
├── references.bib
├── project.yaml
├── progress.yaml
└── README.md
Mixed Methods Projects
project-name/
├── data/
│ ├── qualitative/
│ │ ├── raw/ # Transcripts, fieldnotes
│ │ └── clean/
│ └── quantitative/
│ ├── raw/ # Datasets
│ ├── processed/
│ └── codebooks/
├── analysis/
│ ├── qualitative/
│ │ ├── codes/
│ │ ├── memos/
│ │ └── outputs/
│ └── quantitative/
│ ├── scripts/
│ ├── models/
│ └── outputs/
├── figures/
├── tables/
├── library/
│ ├── pdfs/ # PDF and EPUB files
│ └── markdown/ # Converted markdown versions
├── literature/
│ ├── database/
│ ├── notes/
│ └── synthesis/
├── drafts/
│ ├── sections/
│ └── revisions/
├── submissions/
├── references.bib
├── project.yaml
├── progress.yaml
└── README.md
Step 3: Write Metadata Files

Create project.yaml with user input. Schema varies by project type.

Create progress.yaml with type-appropriate phases.

Step 4: Create README

Generate project README with overview and current status.

Step 5: Report

Show user what was created and next steps.


Progress Tracking by Type

Qualitative Phases
yaml
status:
# Literature
lit_search: not_started
lit_synthesis: not_started
# Analysis
immersion: not_started
coding: not_started
interpretation: not_started
synthesis: not_started
# Writing
theory_draft: not_started
methods_draft: not_started
findings_draft: not_started
bookends_draft: not_started
# Quality
verification: not_started
revision: not_started
Quantitative Phases
yaml
status:
# Literature
lit_search: not_started
lit_synthesis: not_started
# Data
data_acquisition: not_started
data_cleaning: not_started
# Analysis
eda: not_started # Exploratory data analysis
modeling: not_started
robustness: not_started # Sensitivity analyses
# Outputs
visualization: not_started
tables: not_started
# Writing
theory_draft: not_started
methods_draft: not_started
results_draft: not_started
bookends_draft: not_started
# Quality
replication_check: not_started
revision: not_started
Mixed Methods Phases
yaml
status:
# Literature
lit_search: not_started
lit_synthesis: not_started
# Qualitative strand
qual_immersion: not_started
qual_coding: not_started
qual_interpretation: not_started
# Quantitative strand
quant_data_prep: not_started
quant_eda: not_started
quant_modeling: not_started
# Integration
integration: not_started # Combining qual + quant
# Writing
theory_draft: not_started
methods_draft: not_started
findings_draft: not_started
bookends_draft: not_started
# Quality
verification: not_started
revision: not_started

Progress Dashboard

When invoked with status argument, generate a dashboard:

/project-scaffold status

Dashboard output (qualitative example):

markdown
# Project: Why Activists Leave Social Movements
**Type:** Qualitative | **Phase:** Analysis
## Artifacts Found
-[x] Transcripts: 24 files in data/raw/
-[x] Codebook: analysis/codes/codebook.md
-[x] Quote database: analysis/outputs/quote-database.md
-[ ] Theory draft: not found
-[ ] Methods draft: not found
## Status
| Phase | Status |
|-------|--------|
| Literature Search | done |
| Literature Synthesis | done |
| Coding | done |
| Interpretation | in_progress |
| Theory Draft | not_started |
## Suggested Next Steps
1.Complete interpretation - you have codes but no analytical memos
2.Write up the theoretical framing from the lit-synthesis outputs
## Quality Checks Pending
-[ ] Quote verification
-[ ] Bibliography completeness

Dashboard output (quantitative example):

markdown
# Project: Income Inequality and Health Outcomes
**Type:** Quantitative | **Phase:** Analysis
## Artifacts Found
-[x] Raw data: data/raw/nhis_2020.dta
-[x] Cleaned data: data/processed/analysis_sample.csv
-[x] Cleaning script: scripts/cleaning/01_prep_data.R
-[x] Analysis script: scripts/analysis/02_main_models.R
-[ ] Figures: 0 files in figures/
-[ ] Tables: 0 files in tables/
## Status
| Phase | Status |
|-------|--------|
| Data Acquisition | done |
| Data Cleaning | done |
| EDA | done |
| Modeling | in_progress |
| Robustness | not_started |
| Visualization | not_started |
## Suggested Next Steps
1.Complete main models
2.Run robustness checks
3.Generate figures and tables
## Quality Checks Pending
-[ ] Replication check
-[ ] Code review

Integration with Other Skills

research-coordinator

On session start:

  1. Check for project.yaml - if missing, invoke project-scaffold
  2. Read progress.yaml and generate dashboard
  3. Route to appropriate skills based on project type
All other skills

Skills read project.yaml for paths:

python
import yaml
with open("project.yaml") as f:
config = yaml.safe_load(f)
project_type = config["type"]
if project_type == "qualitative":
data_path = config["paths"]["transcripts"]
elif project_type == "quantitative":
data_path = config["paths"]["raw_data"]
# Access library paths (same for all project types)
bib_path = config["library"]["references_bib"]
pdf_dir = config["library"]["pdfs"]
md_dir = config["library"]["markdown"]

Skills update progress.yaml when done:

python
progress["status"]["coding"] = "done"
progress["artifacts"]["codebook"] = "analysis/codes/codebook.md"
progress["last_updated"] = datetime.now().isoformat()

Commands

CommandWhat It Does
/project-scaffoldCreate new project structure
/project-scaffold adoptMap existing project to schema
/project-scaffold statusGenerate progress dashboard
/project-scaffold updateRescan filesystem and update progress.yaml

Filesystem Scanning by Type

Qualitative Artifacts
ArtifactDetection
Transcripts*.txt, *.md, *.docx in paths.transcripts
Codebookcodebook.md or codebook.yaml in paths.codebook
Quote databasequote-database.md or quotes.json in paths.quotes
Memos*.md files in paths.memos
Quantitative Artifacts
ArtifactDetection
Raw data*.csv, *.dta, *.sav, *.xlsx in paths.raw_data
Processed data*.csv, *.parquet, *.rds in paths.processed
Scripts*.R, *.py, *.do in paths.scripts
Models*.rds, *.pkl, *.joblib in paths.models
Figures*.png, *.pdf, *.svg in paths.figures
Tables*.tex, *.html, *.csv in paths.tables

Schema Versioning

Include schema version for forward compatibility:

yaml
# project.yaml
schema_version: 1
type: qualitative # or quantitative, mixed

If skills encounter newer schema, warn but continue.


Starting the Scaffold

When user invokes:

  1. Check if project.yaml exists
  • If yes and no adopt/status flag: "Project already scaffolded. Use /project-scaffold status for dashboard or /project-scaffold adopt to remap paths."
  1. Ask project type:

> "What kind of project is this? > 1. Qualitative - Interviews, ethnography, content analysis > 2. Quantitative - Survey, experiments, secondary data > 3. Mixed methods - Combining qual + quant approaches"

  1. Ask for basics:

> "Project title?" > "Research question (one sentence)?" > "Target journals? (optional)"

  1. For adopt mode, ask path questions based on type.
  1. Create structure and files
  1. Report:

> "Project scaffolded as [type]. Created: > - [N] directories > - project.yaml (edit to add details) > - progress.yaml (auto-managed by skills) > - README.md > > Next steps for [type] project: [type-specific guidance]"

Security

  • Security scanPassed, 90 of 100Pattern checks on the skill's files.
  • Model reviewPassed

Quality evaluation

  • Task evaluationNot runNo evaluation yet. Run one in Skill Studio.

Source

Popularity

7-day trend score
0

Not refreshed yet.

Works with

Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.

  • Claude Code
  • Cursor
  • GitHub Copilot
  • Windsurf
  • Codex
  • Gemini CLI
  • Cline
  • Amp
  • Roo Code
  • Goose
  • Continue
  • Kilo Code
  • Junie
  • Trae
  • OpenHands
  • Qwen Code
  • AI Agent
  • Tabnine Chat
  • Sourcegraph Cody
  • Amazon Q
  • Firebase Genkit
  • Sweep
  • Devin
  • Phind
  • Mentat
  • Claude Desktop
  • Aider
  • GPT Pilot
  • Plandex
  • bolt.new
  • v0
  • Replit Agent
  • Anse
  • TypingMind
  • BetterChatGPT
  • LibreChat
  • Warp AI
  • Pieces
  • Fig AI
Embed badge
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/nealcaren/social-data-analysis/project-scaffold/badge)](https://verified-skill.com/skills/nealcaren/social-data-analysis/project-scaffold)

Something wrong with this skill or its page? Tell us.