flonat-research 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude/agents/domain-reviewer.md +336 -0
- package/.claude/agents/fixer.md +226 -0
- package/.claude/agents/paper-critic.md +370 -0
- package/.claude/agents/peer-reviewer.md +289 -0
- package/.claude/agents/proposal-reviewer.md +215 -0
- package/.claude/agents/referee2-reviewer.md +367 -0
- package/.claude/agents/references/journal-referee-profiles.md +354 -0
- package/.claude/agents/references/paper-critic/council-personas.md +77 -0
- package/.claude/agents/references/paper-critic/council-prompts.md +198 -0
- package/.claude/agents/references/peer-reviewer/report-template.md +199 -0
- package/.claude/agents/references/peer-reviewer/sa-prompts.md +260 -0
- package/.claude/agents/references/peer-reviewer/security-scan.md +188 -0
- package/.claude/agents/references/proposal-reviewer/report-template.md +144 -0
- package/.claude/agents/references/proposal-reviewer/sa-prompts.md +149 -0
- package/.claude/agents/references/referee-config.md +114 -0
- package/.claude/agents/references/referee2-reviewer/audit-checklists.md +287 -0
- package/.claude/agents/references/referee2-reviewer/report-template.md +334 -0
- package/.claude/rules/design-before-results.md +52 -0
- package/.claude/rules/ignore-agents-md.md +17 -0
- package/.claude/rules/ignore-gemini-md.md +17 -0
- package/.claude/rules/lean-claude-md.md +45 -0
- package/.claude/rules/learn-tags.md +99 -0
- package/.claude/rules/overleaf-separation.md +67 -0
- package/.claude/rules/plan-first.md +175 -0
- package/.claude/rules/read-docs-first.md +50 -0
- package/.claude/rules/scope-discipline.md +28 -0
- package/.claude/settings.json +125 -0
- package/.context/current-focus.md +33 -0
- package/.context/preferences/priorities.md +36 -0
- package/.context/preferences/task-naming.md +28 -0
- package/.context/profile.md +29 -0
- package/.context/projects/_index.md +41 -0
- package/.context/projects/papers/nudge-exp.md +22 -0
- package/.context/projects/papers/uncertainty.md +31 -0
- package/.context/resources/claude-scientific-writer-review.md +48 -0
- package/.context/resources/cunningham-multi-analyst-agents.md +104 -0
- package/.context/resources/cunningham-multilang-code-audit.md +62 -0
- package/.context/resources/google-ai-co-scientist-review.md +72 -0
- package/.context/resources/karpathy-llm-council-review.md +58 -0
- package/.context/resources/multi-coder-reliability-protocol.md +175 -0
- package/.context/resources/pedro-santanna-takeaways.md +96 -0
- package/.context/resources/venue-rankings/abs_ajg_2024.csv +1823 -0
- package/.context/resources/venue-rankings/abs_ajg_2024_econ.csv +356 -0
- package/.context/resources/venue-rankings/cabs_4_4star_theory.csv +40 -0
- package/.context/resources/venue-rankings/core_2026.csv +801 -0
- package/.context/resources/venue-rankings.md +147 -0
- package/.context/workflows/README.md +69 -0
- package/.context/workflows/daily-review.md +91 -0
- package/.context/workflows/meeting-actions.md +108 -0
- package/.context/workflows/replication-protocol.md +155 -0
- package/.context/workflows/weekly-review.md +113 -0
- package/.mcp-server-biblio/formatters.py +158 -0
- package/.mcp-server-biblio/pyproject.toml +11 -0
- package/.mcp-server-biblio/server.py +678 -0
- package/.mcp-server-biblio/sources/__init__.py +14 -0
- package/.mcp-server-biblio/sources/base.py +73 -0
- package/.mcp-server-biblio/sources/formatters.py +83 -0
- package/.mcp-server-biblio/sources/models.py +22 -0
- package/.mcp-server-biblio/sources/multi_source.py +243 -0
- package/.mcp-server-biblio/sources/openalex_source.py +183 -0
- package/.mcp-server-biblio/sources/scopus_source.py +309 -0
- package/.mcp-server-biblio/sources/wos_source.py +508 -0
- package/.mcp-server-biblio/uv.lock +896 -0
- package/.scripts/README.md +161 -0
- package/.scripts/ai_pattern_density.py +446 -0
- package/.scripts/conf +445 -0
- package/.scripts/config.py +122 -0
- package/.scripts/count_inventory.py +275 -0
- package/.scripts/daily_digest.py +288 -0
- package/.scripts/done +177 -0
- package/.scripts/extract_meeting_actions.py +223 -0
- package/.scripts/focus +176 -0
- package/.scripts/generate-codex-agents-md.py +217 -0
- package/.scripts/inbox +194 -0
- package/.scripts/notion_helpers.py +325 -0
- package/.scripts/openalex/query_helpers.py +306 -0
- package/.scripts/papers +227 -0
- package/.scripts/query +223 -0
- package/.scripts/session-history.py +201 -0
- package/.scripts/skill-health.py +516 -0
- package/.scripts/skill-log-miner.py +273 -0
- package/.scripts/sync-to-codex.sh +252 -0
- package/.scripts/task +213 -0
- package/.scripts/tasks +190 -0
- package/.scripts/week +206 -0
- package/CLAUDE.md +197 -0
- package/LICENSE +21 -0
- package/MEMORY.md +38 -0
- package/README.md +269 -0
- package/docs/agents.md +44 -0
- package/docs/bibliography-setup.md +55 -0
- package/docs/council-mode.md +36 -0
- package/docs/getting-started.md +245 -0
- package/docs/hooks.md +38 -0
- package/docs/mcp-servers.md +82 -0
- package/docs/notion-setup.md +109 -0
- package/docs/rules.md +33 -0
- package/docs/scripts.md +303 -0
- package/docs/setup-overview/setup-overview.pdf +0 -0
- package/docs/skills.md +70 -0
- package/docs/system.md +159 -0
- package/hooks/block-destructive-git.sh +66 -0
- package/hooks/context-monitor.py +114 -0
- package/hooks/postcompact-restore.py +157 -0
- package/hooks/precompact-autosave.py +181 -0
- package/hooks/promise-checker.sh +124 -0
- package/hooks/protect-source-files.sh +81 -0
- package/hooks/resume-context-loader.sh +53 -0
- package/hooks/startup-context-loader.sh +102 -0
- package/package.json +51 -0
- package/packages/cli-council/.github/workflows/claude-code-review.yml +44 -0
- package/packages/cli-council/.github/workflows/claude.yml +50 -0
- package/packages/cli-council/README.md +100 -0
- package/packages/cli-council/pyproject.toml +43 -0
- package/packages/cli-council/src/cli_council/__init__.py +19 -0
- package/packages/cli-council/src/cli_council/__main__.py +185 -0
- package/packages/cli-council/src/cli_council/backends/__init__.py +8 -0
- package/packages/cli-council/src/cli_council/backends/base.py +81 -0
- package/packages/cli-council/src/cli_council/backends/claude.py +25 -0
- package/packages/cli-council/src/cli_council/backends/codex.py +27 -0
- package/packages/cli-council/src/cli_council/backends/gemini.py +26 -0
- package/packages/cli-council/src/cli_council/checkpoint.py +212 -0
- package/packages/cli-council/src/cli_council/config.py +51 -0
- package/packages/cli-council/src/cli_council/council.py +391 -0
- package/packages/cli-council/src/cli_council/models.py +46 -0
- package/packages/llm-council/.github/workflows/claude-code-review.yml +44 -0
- package/packages/llm-council/.github/workflows/claude.yml +50 -0
- package/packages/llm-council/README.md +453 -0
- package/packages/llm-council/pyproject.toml +42 -0
- package/packages/llm-council/src/llm_council/__init__.py +23 -0
- package/packages/llm-council/src/llm_council/__main__.py +259 -0
- package/packages/llm-council/src/llm_council/checkpoint.py +193 -0
- package/packages/llm-council/src/llm_council/client.py +253 -0
- package/packages/llm-council/src/llm_council/config.py +232 -0
- package/packages/llm-council/src/llm_council/council.py +482 -0
- package/packages/llm-council/src/llm_council/models.py +46 -0
- package/packages/mcp-bibliography/MEMORY.md +31 -0
- package/packages/mcp-bibliography/_app.py +226 -0
- package/packages/mcp-bibliography/formatters.py +158 -0
- package/packages/mcp-bibliography/log/2026-03-13-2100.md +35 -0
- package/packages/mcp-bibliography/pyproject.toml +15 -0
- package/packages/mcp-bibliography/run.sh +20 -0
- package/packages/mcp-bibliography/scholarly_formatters.py +83 -0
- package/packages/mcp-bibliography/server.py +1857 -0
- package/packages/mcp-bibliography/tools/__init__.py +28 -0
- package/packages/mcp-bibliography/tools/_registry.py +19 -0
- package/packages/mcp-bibliography/tools/altmetric.py +107 -0
- package/packages/mcp-bibliography/tools/core.py +92 -0
- package/packages/mcp-bibliography/tools/dblp.py +52 -0
- package/packages/mcp-bibliography/tools/openalex.py +296 -0
- package/packages/mcp-bibliography/tools/opencitations.py +102 -0
- package/packages/mcp-bibliography/tools/openreview.py +179 -0
- package/packages/mcp-bibliography/tools/orcid.py +131 -0
- package/packages/mcp-bibliography/tools/scholarly.py +575 -0
- package/packages/mcp-bibliography/tools/unpaywall.py +63 -0
- package/packages/mcp-bibliography/tools/zenodo.py +123 -0
- package/packages/mcp-bibliography/uv.lock +711 -0
- package/scripts/setup.sh +143 -0
- package/skills/beamer-deck/SKILL.md +199 -0
- package/skills/beamer-deck/references/quality-rubric.md +54 -0
- package/skills/beamer-deck/references/review-prompts.md +106 -0
- package/skills/bib-validate/SKILL.md +261 -0
- package/skills/bib-validate/references/council-mode.md +34 -0
- package/skills/bib-validate/references/deep-verify.md +79 -0
- package/skills/bib-validate/references/fix-mode.md +36 -0
- package/skills/bib-validate/references/openalex-verification.md +45 -0
- package/skills/bib-validate/references/preprint-check.md +31 -0
- package/skills/bib-validate/references/ref-manager-crossref.md +41 -0
- package/skills/bib-validate/references/report-template.md +82 -0
- package/skills/code-archaeology/SKILL.md +141 -0
- package/skills/code-review/SKILL.md +265 -0
- package/skills/code-review/references/quality-rubric.md +67 -0
- package/skills/consolidate-memory/SKILL.md +208 -0
- package/skills/context-status/SKILL.md +126 -0
- package/skills/creation-guard/SKILL.md +230 -0
- package/skills/devils-advocate/SKILL.md +130 -0
- package/skills/devils-advocate/references/competing-hypotheses.md +83 -0
- package/skills/init-project/SKILL.md +115 -0
- package/skills/init-project-course/references/memory-and-settings.md +92 -0
- package/skills/init-project-course/references/organise-templates.md +94 -0
- package/skills/init-project-course/skill.md +147 -0
- package/skills/init-project-light/skill.md +139 -0
- package/skills/init-project-research/SKILL.md +368 -0
- package/skills/init-project-research/references/atlas-pipeline-sync.md +70 -0
- package/skills/init-project-research/references/atlas-schema.md +81 -0
- package/skills/init-project-research/references/confirmation-report.md +39 -0
- package/skills/init-project-research/references/domain-profile-template.md +104 -0
- package/skills/init-project-research/references/interview-round3.md +34 -0
- package/skills/init-project-research/references/literature-discovery.md +43 -0
- package/skills/init-project-research/references/scaffold-details.md +197 -0
- package/skills/init-project-research/templates/field-calibration.md +60 -0
- package/skills/init-project-research/templates/pipeline-manifest.md +63 -0
- package/skills/init-project-research/templates/run-all.sh +116 -0
- package/skills/init-project-research/templates/seed-files.md +337 -0
- package/skills/insights-deck/SKILL.md +151 -0
- package/skills/interview-me/SKILL.md +157 -0
- package/skills/latex/SKILL.md +141 -0
- package/skills/latex/references/latex-configs.md +183 -0
- package/skills/latex-autofix/SKILL.md +230 -0
- package/skills/latex-autofix/references/known-errors.md +183 -0
- package/skills/latex-autofix/references/quality-rubric.md +50 -0
- package/skills/latex-health-check/SKILL.md +161 -0
- package/skills/learn/SKILL.md +220 -0
- package/skills/learn/scripts/validate_skill.py +265 -0
- package/skills/lessons-learned/SKILL.md +201 -0
- package/skills/literature/SKILL.md +335 -0
- package/skills/literature/references/agent-templates.md +393 -0
- package/skills/literature/references/bibliometric-apis.md +44 -0
- package/skills/literature/references/cli-council-search.md +79 -0
- package/skills/literature/references/openalex-api-guide.md +371 -0
- package/skills/literature/references/openalex-common-queries.md +381 -0
- package/skills/literature/references/openalex-workflows.md +248 -0
- package/skills/literature/references/reference-manager-sync.md +36 -0
- package/skills/literature/references/scopus-api-guide.md +208 -0
- package/skills/literature/references/wos-api-guide.md +308 -0
- package/skills/multi-perspective/SKILL.md +311 -0
- package/skills/multi-perspective/references/computational-many-analysts.md +77 -0
- package/skills/pipeline-manifest/SKILL.md +226 -0
- package/skills/pre-submission-report/SKILL.md +153 -0
- package/skills/process-reviews/SKILL.md +244 -0
- package/skills/process-reviews/references/rr-routing.md +101 -0
- package/skills/project-deck/SKILL.md +87 -0
- package/skills/project-safety/SKILL.md +135 -0
- package/skills/proofread/SKILL.md +254 -0
- package/skills/proofread/references/quality-rubric.md +104 -0
- package/skills/python-env/SKILL.md +57 -0
- package/skills/quarto-deck/SKILL.md +226 -0
- package/skills/quarto-deck/references/markdown-format.md +143 -0
- package/skills/quarto-deck/references/quality-rubric.md +54 -0
- package/skills/save-context/SKILL.md +174 -0
- package/skills/session-log/SKILL.md +98 -0
- package/skills/shared/concept-validation-gate.md +161 -0
- package/skills/shared/council-protocol.md +265 -0
- package/skills/shared/distribution-diagnostics.md +164 -0
- package/skills/shared/engagement-stratified-sampling.md +218 -0
- package/skills/shared/escalation-protocol.md +74 -0
- package/skills/shared/external-audit-protocol.md +205 -0
- package/skills/shared/intercoder-reliability.md +256 -0
- package/skills/shared/mcp-degradation.md +81 -0
- package/skills/shared/method-probing-questions.md +163 -0
- package/skills/shared/multi-language-conventions.md +143 -0
- package/skills/shared/paid-api-safety.md +174 -0
- package/skills/shared/palettes.md +90 -0
- package/skills/shared/progressive-disclosure.md +92 -0
- package/skills/shared/project-documentation-content.md +443 -0
- package/skills/shared/project-documentation-format.md +281 -0
- package/skills/shared/project-documentation.md +100 -0
- package/skills/shared/publication-output.md +138 -0
- package/skills/shared/quality-scoring.md +70 -0
- package/skills/shared/reference-resolution.md +77 -0
- package/skills/shared/research-quality-rubric.md +165 -0
- package/skills/shared/rhetoric-principles.md +54 -0
- package/skills/shared/skill-design-patterns.md +272 -0
- package/skills/shared/skill-index.md +240 -0
- package/skills/shared/system-documentation.md +334 -0
- package/skills/shared/tikz-rules.md +402 -0
- package/skills/shared/validation-tiers.md +121 -0
- package/skills/shared/venue-guides/README.md +46 -0
- package/skills/shared/venue-guides/cell_press_style.md +483 -0
- package/skills/shared/venue-guides/conferences_formatting.md +564 -0
- package/skills/shared/venue-guides/cs_conference_style.md +463 -0
- package/skills/shared/venue-guides/examples/cell_summary_example.md +247 -0
- package/skills/shared/venue-guides/examples/medical_structured_abstract.md +313 -0
- package/skills/shared/venue-guides/examples/nature_abstract_examples.md +213 -0
- package/skills/shared/venue-guides/examples/neurips_introduction_example.md +245 -0
- package/skills/shared/venue-guides/journals_formatting.md +486 -0
- package/skills/shared/venue-guides/medical_journal_styles.md +535 -0
- package/skills/shared/venue-guides/ml_conference_style.md +556 -0
- package/skills/shared/venue-guides/nature_science_style.md +405 -0
- package/skills/shared/venue-guides/reviewer_expectations.md +417 -0
- package/skills/shared/venue-guides/venue_writing_styles.md +321 -0
- package/skills/split-pdf/SKILL.md +172 -0
- package/skills/split-pdf/methodology.md +48 -0
- package/skills/sync-notion/SKILL.md +93 -0
- package/skills/system-audit/SKILL.md +157 -0
- package/skills/system-audit/references/sub-agent-prompts.md +294 -0
- package/skills/task-management/SKILL.md +131 -0
- package/skills/update-focus/SKILL.md +204 -0
- package/skills/update-project-doc/SKILL.md +194 -0
- package/skills/validate-bib/SKILL.md +242 -0
- package/skills/validate-bib/references/council-mode.md +34 -0
- package/skills/validate-bib/references/deep-verify.md +71 -0
- package/skills/validate-bib/references/openalex-verification.md +45 -0
- package/skills/validate-bib/references/preprint-check.md +31 -0
- package/skills/validate-bib/references/report-template.md +62 -0
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: project-safety
|
|
3
|
+
description: "Use when you need to set up safety rules and folder structures for a research project."
|
|
4
|
+
argument-hint: [project-path]
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Project Safety Skill
|
|
8
|
+
|
|
9
|
+
**CRITICAL RULE: Never delete data or code files. Never.** Use legacy/ folder for originals. Copy, don't move.
|
|
10
|
+
|
|
11
|
+
> Establish safety rules and structures before Claude makes changes to research projects.
|
|
12
|
+
|
|
13
|
+
## Purpose
|
|
14
|
+
|
|
15
|
+
Based on Scott Cunningham's workflow: prevent accidental data loss by establishing rules and using legacy folders before Claude reorganizes or modifies project files.
|
|
16
|
+
|
|
17
|
+
## When to Use
|
|
18
|
+
|
|
19
|
+
- Starting a new research project folder
|
|
20
|
+
- Before asking Claude to reorganize files
|
|
21
|
+
- When Claude will be running code or modifying data
|
|
22
|
+
- Setting up a project for collaborative work
|
|
23
|
+
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
## Safety Rules Template
|
|
27
|
+
|
|
28
|
+
Add this to any project's CLAUDE.md file:
|
|
29
|
+
|
|
30
|
+
```markdown
|
|
31
|
+
## Safety Rules
|
|
32
|
+
|
|
33
|
+
1. **Never delete data files** — No .csv, .dta, .xlsx, .parquet, or any data format
|
|
34
|
+
2. **Never delete code files** — No .py, .R, .do, .tex, .md or scripts
|
|
35
|
+
3. **Use legacy/ folder** — If reorganizing, move originals to legacy/ first
|
|
36
|
+
4. **Copy from legacy, don't move** — Always preserve the original
|
|
37
|
+
|
|
38
|
+
### If you need to reorganize:
|
|
39
|
+
1. Create a legacy/ folder if it doesn't exist
|
|
40
|
+
2. Move ALL original files into legacy/
|
|
41
|
+
3. Copy (not move) needed files into new structure
|
|
42
|
+
4. Never modify anything in legacy/
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
---
|
|
46
|
+
|
|
47
|
+
## Directory Structure
|
|
48
|
+
|
|
49
|
+
After safety setup:
|
|
50
|
+
|
|
51
|
+
```
|
|
52
|
+
project/
|
|
53
|
+
├── CLAUDE.md ← Safety rules + project context
|
|
54
|
+
├── README.md ← Project documentation
|
|
55
|
+
├── legacy/ ← PROTECTED: original files
|
|
56
|
+
│ └── [all originals]
|
|
57
|
+
├── code/
|
|
58
|
+
│ ├── R/
|
|
59
|
+
│ ├── python/
|
|
60
|
+
│ └── stata/
|
|
61
|
+
├── data/
|
|
62
|
+
│ ├── raw/ ← Copied from legacy, never modified
|
|
63
|
+
│ └── processed/
|
|
64
|
+
├── output/
|
|
65
|
+
│ ├── figures/
|
|
66
|
+
│ └── tables/
|
|
67
|
+
├── docs/
|
|
68
|
+
│ └── manuscript/
|
|
69
|
+
└── log/ ← Progress logs
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
---
|
|
73
|
+
|
|
74
|
+
## Dry Run Pattern
|
|
75
|
+
|
|
76
|
+
Before Claude executes potentially destructive operations, ask for a preview:
|
|
77
|
+
|
|
78
|
+
> "Tell me what commands you would run to reorganize this folder, but don't execute them yet."
|
|
79
|
+
|
|
80
|
+
> "Show me what files would be affected by this change before you make it."
|
|
81
|
+
|
|
82
|
+
> "Walk me through your plan for cleaning this data before you run any code."
|
|
83
|
+
|
|
84
|
+
**When to use dry runs:**
|
|
85
|
+
- File operations (move, delete, rename)
|
|
86
|
+
- Git operations (reset, clean, force push)
|
|
87
|
+
- Database operations
|
|
88
|
+
- Batch processing
|
|
89
|
+
- Any operation affecting multiple files
|
|
90
|
+
|
|
91
|
+
**After reviewing:**
|
|
92
|
+
- If correct: "Go ahead"
|
|
93
|
+
- If wrong: "Wait — don't do X, instead Y"
|
|
94
|
+
|
|
95
|
+
---
|
|
96
|
+
|
|
97
|
+
## Workflow
|
|
98
|
+
|
|
99
|
+
1. **Create CLAUDE.md** with safety rules
|
|
100
|
+
2. **Create legacy/ folder**
|
|
101
|
+
3. **Move all originals to legacy/**
|
|
102
|
+
4. **Copy needed files** into new structure
|
|
103
|
+
5. **Verify** legacy/ contains everything
|
|
104
|
+
6. **Proceed** with project work
|
|
105
|
+
|
|
106
|
+
---
|
|
107
|
+
|
|
108
|
+
## Prompt Template
|
|
109
|
+
|
|
110
|
+
```
|
|
111
|
+
I'm starting work on [PROJECT]. Before we do anything:
|
|
112
|
+
|
|
113
|
+
1. Create a CLAUDE.md with safety rules (never delete data/code, use legacy folder)
|
|
114
|
+
2. Create a legacy/ folder
|
|
115
|
+
3. Move all existing files into legacy/
|
|
116
|
+
4. Show me the proposed new directory structure before creating it
|
|
117
|
+
|
|
118
|
+
Do a dry run first — tell me what you would do before doing it.
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
---
|
|
122
|
+
|
|
123
|
+
## Why This Matters
|
|
124
|
+
|
|
125
|
+
- Claude operates at speed — mistakes happen fast
|
|
126
|
+
- You can't always verify what Claude will do before it does it
|
|
127
|
+
- Version control (git, Dropbox) helps but prevention is better
|
|
128
|
+
- The legacy/ folder is your safety net
|
|
129
|
+
- Dry runs give you a chance to catch mistakes
|
|
130
|
+
|
|
131
|
+
---
|
|
132
|
+
|
|
133
|
+
## Example Use
|
|
134
|
+
|
|
135
|
+
"Set up my new Carbon Markets project with proper safety rules. Create the CLAUDE.md, legacy folder, and recommended directory structure. Show me your plan before executing."
|
|
@@ -0,0 +1,254 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: proofread
|
|
3
|
+
description: "Use when you need academic proofreading of a LaTeX paper (11 check categories)."
|
|
4
|
+
allowed-tools: Read, Glob, Grep
|
|
5
|
+
argument-hint: [project-path or tex-file]
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Academic Proofreading
|
|
9
|
+
|
|
10
|
+
**Report-only skill.** Never edit source files — produce `PROOFREAD-REPORT.md` only.
|
|
11
|
+
|
|
12
|
+
## When to Use
|
|
13
|
+
|
|
14
|
+
- Before sending a draft to supervisors
|
|
15
|
+
- Before submission to a journal/conference
|
|
16
|
+
- After major revisions to check consistency
|
|
17
|
+
- When you want a fresh-eyes check on writing quality
|
|
18
|
+
|
|
19
|
+
## When NOT to Use
|
|
20
|
+
|
|
21
|
+
- **Formal audits** — use the Referee 2 agent for systematic verification
|
|
22
|
+
- **Argument quality** — use `/devils-advocate` for logical scrutiny
|
|
23
|
+
- **Citation completeness** — use `/bib-validate` for bibliography cross-referencing (though this skill flags obvious citation format issues)
|
|
24
|
+
|
|
25
|
+
## Workflow
|
|
26
|
+
|
|
27
|
+
1. **Locate files**: Find all `.tex` files in the project (and `.log` files for LaTeX diagnostics)
|
|
28
|
+
2. **Read the document**: Read all `.tex` source files in order
|
|
29
|
+
3. **Run 11 check categories** (below)
|
|
30
|
+
4. **Produce report**: Write `YYYY-MM-DD_PROOFREAD-REPORT.md` in `reviews/proofread/` under the project directory (create the directory if it does not exist). Do NOT overwrite previous reports — each review is dated.
|
|
31
|
+
|
|
32
|
+
## Check Categories
|
|
33
|
+
|
|
34
|
+
### 1. Grammar & Spelling
|
|
35
|
+
|
|
36
|
+
- Spelling errors (including technical terms)
|
|
37
|
+
- Subject-verb agreement
|
|
38
|
+
- Sentence fragments or run-ons
|
|
39
|
+
- Misused words (e.g., "effect" vs "affect", "which" vs "that")
|
|
40
|
+
- American English is the default for all papers and conference articles. Flag any British English spellings (e.g., -ise, -our, -re, analyse, scepticism).
|
|
41
|
+
|
|
42
|
+
### 2. Notation Consistency
|
|
43
|
+
|
|
44
|
+
- Variable notation used consistently throughout (e.g., always `$x_i$` or always `$x_{i}$`, not both)
|
|
45
|
+
- Subscript/superscript style (e.g., `$\beta_1$` vs `$\beta_{OLS}$`)
|
|
46
|
+
- Matrix/vector formatting conventions (bold, uppercase, etc.)
|
|
47
|
+
- Consistent use of `\mathbb`, `\mathcal`, `\mathbf` for sets, operators, vectors
|
|
48
|
+
- Equation numbering: all referenced equations numbered, unreferenced ones unnumbered
|
|
49
|
+
|
|
50
|
+
### 3. Citation Format
|
|
51
|
+
|
|
52
|
+
- Consistent use of `\citet` (textual) vs `\citep` (parenthetical)
|
|
53
|
+
- No raw `\cite{}` when `\citet`/`\citep` is available
|
|
54
|
+
- Author name spelling matches between text mentions and citation keys
|
|
55
|
+
- Multiple citations in chronological or alphabetical order (check which convention)
|
|
56
|
+
- No "As shown by (Author, Year)" — should be "As shown by \citet{key}"
|
|
57
|
+
|
|
58
|
+
### 4. Academic Tone
|
|
59
|
+
|
|
60
|
+
- No informal contractions (don't, can't, won't → do not, cannot, will not)
|
|
61
|
+
- No first-person overuse (some "we" is fine; excessive "I think" is not)
|
|
62
|
+
- No casual hedging ("pretty much", "kind of", "a lot")
|
|
63
|
+
- Appropriate use of hedging language ("suggests" vs "proves")
|
|
64
|
+
- No exclamation marks in body text
|
|
65
|
+
- Consistent tense (present for established facts, past for specific studies)
|
|
66
|
+
|
|
67
|
+
### 5. LaTeX-Specific Issues
|
|
68
|
+
|
|
69
|
+
- **Overfull hbox**: Check `.log` file for `Overfull \hbox` warnings — report line numbers and severity (badness)
|
|
70
|
+
- **Equation overflow**: Long equations that exceed column/page width
|
|
71
|
+
- **Float placement**: Check for `[h!]` or `[H]` overuse; prefer `[tbp]`
|
|
72
|
+
- **Missing labels**: Figures/tables/equations referenced but without `\label{}`
|
|
73
|
+
- **Orphan/widow lines**: Check for `\\` abuse that creates bad page breaks
|
|
74
|
+
- **Unresolved references**: `??` in output indicating broken `\ref{}` or `\cite{}`
|
|
75
|
+
|
|
76
|
+
### 6. Citation Voice Balance
|
|
77
|
+
|
|
78
|
+
Check the ratio of in-line (`\citet`) to parenthetical (`\citep`) citations:
|
|
79
|
+
|
|
80
|
+
- **Count in-line vs parenthetical citations** across the full document
|
|
81
|
+
- **Flag if ratio exceeds 1:1** (in-line should be the minority) — Major
|
|
82
|
+
- **Flag runs of 3+ consecutive in-line citations** in a paragraph or section — Major
|
|
83
|
+
- **Flag paragraphs that open with an in-line citation** when the author's identity isn't the point — Minor
|
|
84
|
+
- **Flag "As shown by \citet{}" patterns** where parenthetical would be more natural — Minor
|
|
85
|
+
- **Report the overall ratio** (e.g., "42 parenthetical, 28 in-line — ratio 1.5:1")
|
|
86
|
+
|
|
87
|
+
See `docs/conventions.md` § Citation Voice Balance for the full convention.
|
|
88
|
+
|
|
89
|
+
### 7. TikZ Diagram Review
|
|
90
|
+
|
|
91
|
+
If the document contains TikZ code (`\begin{tikzpicture}` or `\tikz`):
|
|
92
|
+
|
|
93
|
+
- **Label positioning**: Labels not overlapping nodes or edges
|
|
94
|
+
- **Geometric accuracy**: Coordinates and angles consistent with intended layout
|
|
95
|
+
- **Visual semantics**: Arrow styles match meaning (solid = direct, dashed = indirect, etc.)
|
|
96
|
+
- **Spacing**: Nodes not too cramped or too spread out
|
|
97
|
+
- **Consistency**: Style matches across all diagrams in the document
|
|
98
|
+
- **Standalone compilability**: Each diagram should compile independently
|
|
99
|
+
|
|
100
|
+
For detailed spatial verification (Bezier depth calculations, gap minimums, shape boundary clearance), see [`../shared/tikz-rules.md`](../shared/tikz-rules.md).
|
|
101
|
+
|
|
102
|
+
### 8. Numeric Text↔Table Cross-Check
|
|
103
|
+
|
|
104
|
+
Cross-check every number mentioned in the prose against the corresponding table or figure. Flag ANY discrepancy, no matter how small.
|
|
105
|
+
|
|
106
|
+
- **Coefficient claims**: "a 3.2 percentage point increase" in text vs coefficient of 0.031 in the table — flag the mismatch
|
|
107
|
+
- **Sample sizes**: "N = 1,247" in text vs N row in table — must match exactly
|
|
108
|
+
- **Significance claims**: "statistically significant at the 5% level" in text vs the actual stars/p-value in the table
|
|
109
|
+
- **Summary statistics**: means, medians, standard deviations mentioned in prose must match the descriptive statistics table
|
|
110
|
+
- **Figure references**: claims about trends or magnitudes must be consistent with what the figure shows
|
|
111
|
+
- **Table/figure existence**: every table/figure referenced in text must exist; every table/figure in the document must be referenced in text
|
|
112
|
+
- **N consistency**: the number of observations should be consistent across related specifications unless there's an explained reason for differences
|
|
113
|
+
|
|
114
|
+
### 9. Causal Language Audit
|
|
115
|
+
|
|
116
|
+
Audit causal claims against the stated identification strategy. The strength of causal language must match the strength of the research design.
|
|
117
|
+
|
|
118
|
+
- **Flag "X causes Y"** or "the causal effect of X" when the identification strategy is observational (OLS with controls, correlational) — should be "is associated with" or "predicts"
|
|
119
|
+
- **Flag "proves"** — almost never appropriate; use "provides evidence consistent with"
|
|
120
|
+
- **Match language to design**:
|
|
121
|
+
- DiD/RDD/IV → "we estimate the causal effect" is acceptable with qualifiers
|
|
122
|
+
- OLS with controls → "we find a relationship" or "our estimates suggest"
|
|
123
|
+
- Correlational → never use causal language
|
|
124
|
+
- **Flag "significant" ambiguity** — must always be clear whether "statistically significant" or "economically meaningful/large"
|
|
125
|
+
- **Flag coefficient descriptions without units or scale** — "a coefficient of 0.031" means nothing without knowing the units of X and Y
|
|
126
|
+
- **Flag correlation/causation conflation** — any statement that slides from an association to a causal claim without an identification argument
|
|
127
|
+
|
|
128
|
+
### 10. Equation Completeness
|
|
129
|
+
|
|
130
|
+
Verify that mathematical notation is complete and internally consistent.
|
|
131
|
+
|
|
132
|
+
- **Every variable in an equation must be defined** in the text (either before or immediately after the equation)
|
|
133
|
+
- **Error terms**: properly specified (ε_it vs u_i vs e_ij) and consistent with the econometric framework described
|
|
134
|
+
- **Equation numbering**: sequential, and all cross-references to equations are correct
|
|
135
|
+
- **Subscript/index structure must match the level of observation** — e.g., if the text describes individual-level variation, the equation should have individual subscripts, not county-level
|
|
136
|
+
- **Summation/expectation indices**: verify bounds match the described sample
|
|
137
|
+
- **Consistent notation across equations**: don't switch between β and b for the same coefficient, or between X_i and x_i
|
|
138
|
+
|
|
139
|
+
### 11. Preprint Staleness
|
|
140
|
+
|
|
141
|
+
For every citation that looks like a preprint or working paper, check whether a peer-reviewed version has since been published. Flag stale preprints as Major issues.
|
|
142
|
+
|
|
143
|
+
- **Detection signals**: URL contains `arxiv.org`, `ssrn.com`, `nber.org`; journal field says "Working Paper", "mimeo"; entry type is `@techreport` or `@unpublished`
|
|
144
|
+
- **Action**: note the stale citation and suggest the published venue/year
|
|
145
|
+
- **This is a lighter version of `/bib-validate`'s preprint check** — only flag obvious cases visible from the `.bib` or `\bibitem` entries. For thorough preprint checking, recommend running `/bib-validate` separately.
|
|
146
|
+
|
|
147
|
+
## Severity Levels
|
|
148
|
+
|
|
149
|
+
| Level | Definition | Example |
|
|
150
|
+
|-------|-----------|---------|
|
|
151
|
+
| **Critical** | Will be noticed by reviewers, may cause rejection | Broken references, major grammar errors, inconsistent core notation, text↔table number mismatch, causal overclaiming with weak design |
|
|
152
|
+
| **Major** | Noticeable quality issue | Inconsistent citation style, tone issues, overfull hbox > 10pt, undefined variable in equation, stale preprint, ambiguous "significant" |
|
|
153
|
+
| **Minor** | Polish issue | Occasional British/American mix, minor spacing, missing equation number for referenced equation |
|
|
154
|
+
|
|
155
|
+
## Quality Scoring
|
|
156
|
+
|
|
157
|
+
Apply numeric quality scoring using the shared framework and skill-specific rubric:
|
|
158
|
+
|
|
159
|
+
- **Framework:** [`../shared/quality-scoring.md`](../shared/quality-scoring.md) — severity tiers, thresholds, verdict rules
|
|
160
|
+
- **Rubric:** [`references/quality-rubric.md`](references/quality-rubric.md) — issue-to-deduction mappings for this skill
|
|
161
|
+
|
|
162
|
+
Start at 100, deduct per issue found, apply verdict. Insert the Score Block into the report after the summary table.
|
|
163
|
+
|
|
164
|
+
## Report Format
|
|
165
|
+
|
|
166
|
+
```markdown
|
|
167
|
+
# Proofread Report
|
|
168
|
+
|
|
169
|
+
**Document:** [filename]
|
|
170
|
+
**Date:** YYYY-MM-DD
|
|
171
|
+
**Pages:** [approximate]
|
|
172
|
+
|
|
173
|
+
## Summary
|
|
174
|
+
|
|
175
|
+
| Category | Critical | Major | Minor |
|
|
176
|
+
|----------|----------|-------|-------|
|
|
177
|
+
| Grammar & spelling | 0 | 0 | 0 |
|
|
178
|
+
| Notation consistency | 0 | 0 | 0 |
|
|
179
|
+
| Citation format | 0 | 0 | 0 |
|
|
180
|
+
| Academic tone | 0 | 0 | 0 |
|
|
181
|
+
| LaTeX-specific | 0 | 0 | 0 |
|
|
182
|
+
| Citation voice balance | 0 | 0 | 0 |
|
|
183
|
+
| TikZ diagrams | 0 | 0 | 0 |
|
|
184
|
+
| Numeric cross-check | 0 | 0 | 0 |
|
|
185
|
+
| Causal language | 0 | 0 | 0 |
|
|
186
|
+
| Equation completeness | 0 | 0 | 0 |
|
|
187
|
+
| Preprint staleness | 0 | 0 | 0 |
|
|
188
|
+
| **Total** | **0** | **0** | **0** |
|
|
189
|
+
|
|
190
|
+
## Critical Issues
|
|
191
|
+
|
|
192
|
+
[List each with file, line/section, and specific issue]
|
|
193
|
+
|
|
194
|
+
## Major Issues
|
|
195
|
+
|
|
196
|
+
[List each with file, line/section, and specific issue]
|
|
197
|
+
|
|
198
|
+
## Minor Issues
|
|
199
|
+
|
|
200
|
+
[List each with file, line/section, and specific issue]
|
|
201
|
+
|
|
202
|
+
## Quality Score
|
|
203
|
+
|
|
204
|
+
| Metric | Value |
|
|
205
|
+
|--------|-------|
|
|
206
|
+
| **Score** | XX / 100 |
|
|
207
|
+
| **Verdict** | Ship / Ship with notes / Revise / Revise (major) / Blocked |
|
|
208
|
+
|
|
209
|
+
### Deductions
|
|
210
|
+
|
|
211
|
+
| # | Issue | Tier | Deduction | Category |
|
|
212
|
+
|---|-------|------|-----------|----------|
|
|
213
|
+
| 1 | [description] | [tier] | -X | [category] |
|
|
214
|
+
| | **Total deductions** | | **-XX** | |
|
|
215
|
+
|
|
216
|
+
## Recommendations
|
|
217
|
+
|
|
218
|
+
[Optional: overall observations about the writing — prioritise fixes by deduction size]
|
|
219
|
+
```
|
|
220
|
+
|
|
221
|
+
## Council Mode (Optional)
|
|
222
|
+
|
|
223
|
+
For high-stakes pre-submission checks, run proofreading in council mode to get independent assessments from multiple LLM providers. Council mode surfaces formatting issues that any single model might miss.
|
|
224
|
+
|
|
225
|
+
**Trigger:** "Council proofread my paper" or "thorough proofread"
|
|
226
|
+
|
|
227
|
+
**How it works:**
|
|
228
|
+
1. The main session reads the document and constructs the proofreading prompt
|
|
229
|
+
2. The prompt is sent to 3 different models via `cli-council` (or `llm-council` for API mode)
|
|
230
|
+
3. Each model independently runs the 7 check categories
|
|
231
|
+
4. Cross-review identifies agreements and disputes
|
|
232
|
+
5. Chairman synthesis produces a single `PROOFREAD-REPORT.md` with council notes
|
|
233
|
+
|
|
234
|
+
**Invocation (CLI backend — free with existing subscriptions):**
|
|
235
|
+
```bash
|
|
236
|
+
cd packages/cli-council
|
|
237
|
+
uv run python -m cli_council \
|
|
238
|
+
--prompt-file /tmp/proofread-prompt.txt \
|
|
239
|
+
--context-file /tmp/paper-content.txt \
|
|
240
|
+
--output-md /tmp/proofread-council.md \
|
|
241
|
+
--chairman claude \
|
|
242
|
+
--timeout 180
|
|
243
|
+
```
|
|
244
|
+
|
|
245
|
+
See `skills/shared/council-protocol.md` for the full orchestration protocol.
|
|
246
|
+
|
|
247
|
+
**Value:** Diminishing returns for pure formatting — council mode is most valuable when combined with citation voice balance and notation consistency checks, where different models have genuinely different pattern recognition.
|
|
248
|
+
|
|
249
|
+
## Cross-References
|
|
250
|
+
|
|
251
|
+
- **`/bib-validate`** — For thorough bibliography cross-referencing
|
|
252
|
+
- **`/latex-autofix`** — For compilation and error resolution (run before proofreading to ensure the document compiles cleanly)
|
|
253
|
+
- **Referee 2 agent** — For formal code + paper auditing
|
|
254
|
+
- **`/devils-advocate`** — For argument quality and logical scrutiny
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
# Quality Rubric: Proofread
|
|
2
|
+
|
|
3
|
+
> Scoring rubric for `/proofread`. Uses the shared framework in [`../../shared/quality-scoring.md`](../../shared/quality-scoring.md).
|
|
4
|
+
|
|
5
|
+
## Deduction Table
|
|
6
|
+
|
|
7
|
+
### Blocker (-100)
|
|
8
|
+
|
|
9
|
+
| Issue | Deduction | Notes |
|
|
10
|
+
|-------|-----------|-------|
|
|
11
|
+
| Broken `\ref{}` producing `??` in output | -100 | Document has unresolved references — not submission-ready |
|
|
12
|
+
| Broken `\cite{}` producing `??` or `[?]` | -100 | Missing bibliography entries — not submission-ready |
|
|
13
|
+
|
|
14
|
+
### Critical (-15 to -25)
|
|
15
|
+
|
|
16
|
+
| Issue | Deduction | Notes |
|
|
17
|
+
|-------|-----------|-------|
|
|
18
|
+
| Inconsistent core notation (e.g., `$x_i$` vs `$x_{i}$` for the same variable) | -15 | Per notation inconsistency pattern |
|
|
19
|
+
| Wrong citation command (`\cite` instead of `\citet`/`\citep` throughout) | -15 | Per systematic misuse pattern |
|
|
20
|
+
| Major grammar error (subject-verb disagreement, dangling modifier) | -15 | Per instance in body text |
|
|
21
|
+
| Major grammar error in abstract or introduction | -15 | Higher visibility = higher cost |
|
|
22
|
+
|
|
23
|
+
### Major (-5 to -14)
|
|
24
|
+
|
|
25
|
+
| Issue | Deduction | Notes |
|
|
26
|
+
|-------|-----------|-------|
|
|
27
|
+
| Informal contraction in body text (don't, can't) | -5 | Per unique contraction |
|
|
28
|
+
| Overfull hbox > 10pt | -5 | Per instance |
|
|
29
|
+
| Inconsistent citation ordering (mixed chronological/alphabetical) | -5 | Once for the pattern |
|
|
30
|
+
| British/American English mixing (systematic) | -5 | Once for the pattern |
|
|
31
|
+
| Equation referenced but unnumbered | -5 | Per instance |
|
|
32
|
+
| "As shown by (Author, Year)" instead of `\citet{}` | -5 | Per instance |
|
|
33
|
+
|
|
34
|
+
### Minor (-1 to -4)
|
|
35
|
+
|
|
36
|
+
| Issue | Deduction | Notes |
|
|
37
|
+
|-------|-----------|-------|
|
|
38
|
+
| Academic tone slip (casual hedging, exclamation mark) | -3 | Per instance |
|
|
39
|
+
| Overfull hbox 1-10pt | -2 | Per instance |
|
|
40
|
+
| Minor spelling error (non-technical) | -1 | Per instance |
|
|
41
|
+
| Inconsistent tense (isolated, not systematic) | -2 | Per instance |
|
|
42
|
+
| Minor spacing or formatting inconsistency | -1 | Per instance |
|
|
43
|
+
| Paragraph opens with in-line citation unnecessarily | -2 | Per instance |
|
|
44
|
+
| "As shown by \citet{}" where parenthetical fits better | -2 | Per instance |
|
|
45
|
+
|
|
46
|
+
### Citation Voice Balance (-5 to -10)
|
|
47
|
+
|
|
48
|
+
| Issue | Deduction | Notes |
|
|
49
|
+
|-------|-----------|-------|
|
|
50
|
+
| In-line:parenthetical ratio exceeds 1:1 | -10 | Once for the document — systematic overuse |
|
|
51
|
+
| Run of 3+ consecutive in-line citations | -5 | Per run (paragraph or section) |
|
|
52
|
+
|
|
53
|
+
### Numeric Cross-Check (-5 to -25)
|
|
54
|
+
|
|
55
|
+
| Issue | Deduction | Notes |
|
|
56
|
+
|-------|-----------|-------|
|
|
57
|
+
| Text claims a number that contradicts its own table | -25 | Critical — per instance. Embarrassing if caught by a reviewer. |
|
|
58
|
+
| Significance claim in text doesn't match stars/p-value in table | -15 | Critical — misleading |
|
|
59
|
+
| Sample size (N) inconsistency between text and table | -15 | Critical — per instance |
|
|
60
|
+
| N inconsistency across related table specifications (unexplained) | -5 | Major — per table pair |
|
|
61
|
+
| Table/figure referenced in text but doesn't exist | -15 | Critical — broken reference |
|
|
62
|
+
| Table/figure exists but never referenced in text | -5 | Major — orphaned exhibit |
|
|
63
|
+
|
|
64
|
+
### Causal Language (-5 to -25)
|
|
65
|
+
|
|
66
|
+
| Issue | Deduction | Notes |
|
|
67
|
+
|-------|-----------|-------|
|
|
68
|
+
| Causal claim ("causes", "the effect of") with no identification strategy | -25 | Critical — reviewer will attack this |
|
|
69
|
+
| Causal claim that exceeds the stated identification strategy's strength | -15 | Critical — overclaiming |
|
|
70
|
+
| Ambiguous "significant" (could be statistical or substantive) | -5 | Major — per instance |
|
|
71
|
+
| Coefficient described without units or scale | -5 | Major — per instance |
|
|
72
|
+
| Correlation/causation conflation (sliding from association to causal claim) | -15 | Critical |
|
|
73
|
+
|
|
74
|
+
### Equation Completeness (-5 to -15)
|
|
75
|
+
|
|
76
|
+
| Issue | Deduction | Notes |
|
|
77
|
+
|-------|-----------|-------|
|
|
78
|
+
| Variable in equation undefined in surrounding text | -5 | Major — per variable |
|
|
79
|
+
| Subscript/index level doesn't match described observation unit | -15 | Critical — conceptual error |
|
|
80
|
+
| Inconsistent notation across equations (same concept, different symbol) | -15 | Critical — same as Check 2 but across equations |
|
|
81
|
+
| Error term specification inconsistent with described model | -5 | Major |
|
|
82
|
+
| Equation cross-reference points to wrong equation | -15 | Critical |
|
|
83
|
+
|
|
84
|
+
### Preprint Staleness (-5)
|
|
85
|
+
|
|
86
|
+
| Issue | Deduction | Notes |
|
|
87
|
+
|-------|-----------|-------|
|
|
88
|
+
| Preprint cited when published version exists | -5 | Major — per instance. Suggest running `/bib-validate` for thorough check. |
|
|
89
|
+
|
|
90
|
+
## Category Mapping
|
|
91
|
+
|
|
92
|
+
| Rubric category | SKILL.md check category |
|
|
93
|
+
|----------------|------------------------|
|
|
94
|
+
| Grammar & spelling | Check 1 |
|
|
95
|
+
| Notation consistency | Check 2 |
|
|
96
|
+
| Citation format | Check 3 |
|
|
97
|
+
| Academic tone | Check 4 |
|
|
98
|
+
| LaTeX-specific | Check 5 |
|
|
99
|
+
| Citation voice balance | Check 6 |
|
|
100
|
+
| TikZ diagrams | Check 7 |
|
|
101
|
+
| Numeric cross-check | Check 8 |
|
|
102
|
+
| Causal language | Check 9 |
|
|
103
|
+
| Equation completeness | Check 10 |
|
|
104
|
+
| Preprint staleness | Check 11 |
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: python-env
|
|
3
|
+
description: "Use when you need Python environment management with uv (install, create venv, manage deps)."
|
|
4
|
+
allowed-tools: Bash(uv*), Bash(python*), Bash(mkdir*), Bash(ls*)
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Python Environment Management
|
|
8
|
+
|
|
9
|
+
**CRITICAL RULE: Never use `pip` directly. Always use `uv`.** This applies to all Python package management.
|
|
10
|
+
|
|
11
|
+
## Golden Rule
|
|
12
|
+
|
|
13
|
+
**ALWAYS use `uv` for Python package and environment management. Never use `pip` directly.**
|
|
14
|
+
|
|
15
|
+
## Commands
|
|
16
|
+
|
|
17
|
+
| Task | Command |
|
|
18
|
+
|------|---------|
|
|
19
|
+
| Create venv | `uv venv` |
|
|
20
|
+
| Install package | `uv pip install <package>` |
|
|
21
|
+
| Install from requirements | `uv pip install -r requirements.txt` |
|
|
22
|
+
| Run script in project | `uv run python script.py` |
|
|
23
|
+
| Run with dependencies | `uv run --with pandas python script.py` |
|
|
24
|
+
| Install CLI tool globally | `uv tool install <tool>` |
|
|
25
|
+
| Sync project deps | `uv sync` |
|
|
26
|
+
| Add dependency | `uv add <package>` |
|
|
27
|
+
|
|
28
|
+
## Project Setup
|
|
29
|
+
|
|
30
|
+
For new projects:
|
|
31
|
+
```bash
|
|
32
|
+
uv init
|
|
33
|
+
uv add <dependencies>
|
|
34
|
+
uv sync
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
For existing projects with `pyproject.toml`:
|
|
38
|
+
```bash
|
|
39
|
+
uv sync
|
|
40
|
+
uv run python main.py
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
## Rules
|
|
44
|
+
|
|
45
|
+
1. **Never use `pip install`** — always `uv pip install` or `uv add`
|
|
46
|
+
2. **Never install globally** — use `uv tool install` for CLI tools
|
|
47
|
+
3. **Always work in a venv** — created by `uv venv` or `uv sync`
|
|
48
|
+
4. **Use `uv run`** — to execute scripts within the project environment
|
|
49
|
+
|
|
50
|
+
## This Project
|
|
51
|
+
|
|
52
|
+
The Task Management system uses uv:
|
|
53
|
+
```bash
|
|
54
|
+
cd "Task Management"
|
|
55
|
+
uv sync # Install dependencies
|
|
56
|
+
uv run python .scripts/tasks # Run CLI tools
|
|
57
|
+
```
|