Source: https://github.com/aipoch/medical-research-skills
Research Authorship and Contributor Credit Generator
Quick Check
Use this command to verify that the packaged script entry point can be parsed before deeper execution.
python -m py_compile scripts/main.py
Audit-Ready Commands
Use these concrete commands for validation. They are intentionally self-contained and avoid placeholder paths.
python -m py_compile scripts/main.py
python scripts/main.py --help
When to Use
- Use this skill when the task needs Use when determining author order on research manuscripts, assigning CRediT contributor roles for transparency, documenting individual contributions to collaborative projects, or resolving authorship disputes in multi-institutional research. Generates fair and transparent authorship assignments following ICMJE guidelines and CRediT taxonomy. Helps research teams document contributions, resolve disputes, and ensure equitable credit distribution in academic publications.
- Use this skill for academic writing tasks that require explicit assumptions, bounded scope, and a reproducible output format.
- Use this skill when you need a documented fallback path for missing inputs, execution errors, or partial evidence.
Workflow
- Confirm the user objective, required inputs, and non-negotiable constraints before doing detailed work.
- Validate that the request matches the documented scope and stop early if the task would require unsupported assumptions.
- Use the packaged script path or the documented reasoning path with only the inputs that are actually available.
- Return a structured result that separates assumptions, deliverables, risks, and unresolved items.
- If execution fails or inputs are incomplete, switch to the fallback path and state exactly what blocked full completion.
When to Use This Skill
- determining author order on research manuscripts
- assigning CRediT contributor roles for transparency
- documenting individual contributions to collaborative projects
- resolving authorship disputes in multi-institutional research
- preparing contributor statements for journal submissions
- evaluating contribution equity in research teams
Quick Start
from scripts.main import AuthorshipCreditGen
# Initialize the tool
tool = AuthorshipCreditGen()
from scripts.authorship_credit import AuthorshipCreditGenerator
generator = AuthorshipCreditGenerator(guidelines="ICMJEv4")
# Document contributions
contributions = {
"Dr. Sarah Chen": [
"Conceptualization",
"Methodology",
"Writing - Original Draft",
"Supervision"
],
"Dr. Michael Roberts": [
"Data Curation",
"Formal Analysis",
"Writing - Review & Editing"
],
"Dr. Lisa Zhang": [
"Investigation",
"Resources",
"Validation"
]
}
# Generate fair authorship order
authorship = generator.determine_order(
contributions=contributions,
criteria=["intellectual_input", "execution", "writing", "supervision"],
weights={"intellectual_input": 0.4, "execution": 0.3, "writing": 0.2, "supervision": 0.1}
)
print(f"First author: {authorship.first_author}")
print(f"Corresponding: {authorship.corresponding_author}")
print(f"Author order: {authorship.ordered_list}")
# Generate CRediT statement
credit_statement = generator.generate_credit_statement(
contributions=contributions,
format="journal_submission"
)
# Check for disputes
dispute_check = generator.check_equity_issues(authorship)
if dispute_check.has_issues:
print(f"Recommendations: {dispute_check.recommendations}")
Core Capabilities
1. Generate Fair Authorship Orders
Analyze contributions using weighted criteria to determine equitable author ranking.
# Define weighted contribution criteria
weights = {
"conceptualization": 0.25,
"methodology_design": 0.20,
"data_collection": 0.15,
"analysis": 0.15,
"manuscript_writing": 0.15,
"supervision": 0.10
}
# Calculate contribution scores
scores = tool.calculate_contribution_scores(
contributions=team_contributions,
weights=weights
)
# Generate ordered author list
authorship_order = tool.generate_author_order(scores)
print(f"Recommended order: {authorship_order}")
2. Assign CRediT Roles
Map contributions to official CRediT (Contributor Roles Taxonomy) categories.
# Map contributions to CRediT roles
credit_roles = tool.assign_credit_roles(
contributions=contributions,
version="CRediT_2021"
)
# Generate CRediT statement for journal
statement = tool.generate_credit_statement(
roles=credit_roles,
format="JATS_XML"
)
# Validate role assignments
validation = tool.validate_credit_roles(credit_roles)
if validation.is_valid:
print("CRediT roles properly assigned")
3. Detect Contribution Inequities
Identify potential authorship disputes before submission.
# Analyze contribution distribution
equity_analysis = tool.analyze_equity(
contributions=contributions,
thresholds={"min_substantial": 0.15}
)
# Flag potential issues
if equity_analysis.has_inequities:
for issue in equity_analysis.issues:
print(f"Warning: {issue.description}")
print(f"Recommendation: {issue.recommendation}")
# Generate equity report
report = tool.generate_equity_report(equity_analysis)
4. Generate Journal-Ready Statements
Create formatted contributor statements for various journal requirements.
# Generate for Nature-style statement
nature_statement = tool.generate_contributor_statement(
style="Nature",
include_competing_interests=True
)
# Generate for Science-style statement
science_statement = tool.generate_contributor_statement(
style="Science",
include_author_contributions=True
)
# Export in multiple formats
tool.export_statement(
statement=nature_statement,
formats=["docx", "pdf", "txt"]
)
Command Line Usage
python scripts/main.py --contributions contributions.json --guidelines ICMJE --output authorship_order.json
Best Practices
- Discuss authorship expectations at project inception
- Document contributions continuously throughout project
- Review and agree on author order before submission
- Include non-author contributors in acknowledgments
Quality Checklist
Before using this skill, ensure you have:
After using this skill, verify:
References
references/guide.md - Comprehensive user guide
references/examples/ - Working code examples
references/api-docs/ - Complete API documentation
Skill ID: 766 | Version: 1.0 | License: MIT
Output Requirements
Every final response should make these items explicit when they are relevant:
- Objective or requested deliverable
- Inputs used and assumptions introduced
- Workflow or decision path
- Core result, recommendation, or artifact
- Constraints, risks, caveats, or validation needs
- Unresolved items and next-step checks
Error Handling
- If required inputs are missing, state exactly which fields are missing and request only the minimum additional information.
- If the task goes outside the documented scope, stop instead of guessing or silently widening the assignment.
- If
scripts/main.py fails, report the failure point, summarize what still can be completed safely, and provide a manual fallback.
- Do not fabricate files, citations, data, search results, or execution outcomes.
Input Validation
This skill accepts requests that match the documented purpose of authorship-credit-gen and include enough context to complete the workflow safely.
Do not continue the workflow when the request is out of scope, missing a critical input, or would require unsupported assumptions. Instead respond:
authorship-credit-gen only handles its documented workflow. Please provide the missing required inputs or switch to a more suitable skill.
References
- references/audit-reference.md - Supported scope, audit commands, and fallback boundaries
Response Template
Use the following fixed structure for non-trivial requests:
- Objective
- Inputs Received
- Assumptions
- Workflow
- Deliverable
- Risks and Limits
- Next Checks
If the request is simple, you may compress the structure, but still keep assumptions and limits explicit when they affect correctness.
When Not to Use
- Do not proceed when required input files, identifiers, parameters, or context are missing — ask the user to provide them first.
- Do not assume capabilities beyond this skill's declared scope when the user requests external operations or inferences.
- Do not proceed without user confirmation when overwriting existing results, executing high-cost batch operations, or expanding task scope.
Required Inputs
| Field |
Required |
Format/Source |
Example |
If Missing |
| User task description |
Yes |
Text |
Research question, writing goal, analysis objective |
Stop and ask user to provide |
| Primary input material |
Depends on task |
Text, file path, ID, table, or literature |
PMID, PDF, CSV, DOCX, keywords, etc. |
Specify which material type is missing |
| Output preference |
No |
Text |
Language, format, target journal, template |
Use skill default format |
Output Contract
- Primary output: Structured result or target file aligned with this skill's objective.
- Optional output: Intermediate check notes, issue list, supplementary suggestions, or generated file paths.
- Format requirement: Unless the user specifies otherwise, prefer stable, reviewable Markdown or JSON; if the skill's bundled script requires a fixed format, use that format.
- If partially complete: Must explicitly mark as PARTIAL and state which steps are completed and which remain.
Failure Handling
- Missing critical input: Explicitly state which fields, files, or identifiers are missing and pause.
- Script, template, or resource execution failure: Report the failing step, likely cause, and recovery suggestions — do not silently degrade.
- Partial completion only: Return the verified portion first, then list remaining blockers and suggested next steps.
User Checkpoints
- Before executing batch processing, overwriting files, long-running searches, or multi-stage generation, confirm scope and output format with the user.
- Before proceeding when a key judgment is ambiguous, evidence is insufficient, or the workflow is entering the next stage, confirm with the user.
Quick Validation
- Check that key scripts, templates, or reference file paths this skill depends on exist.
- Check that the final output contains the core fields, sections, or files specified for this task.
- Check that results clearly mark assumptions, limitations, and incomplete items.
1---2name: authorship-credit-gen3description: Use when determining author order on research manuscripts, assigning CRediT contributor roles for transparency, documenting individual contributions to collaborative projects, or resolving authorship disputes in multi-institutional research. Generates fair and transparent auth...4license: MIT5---6> **Source**: [https://github.com/aipoch/medical-research-skills](https://github.com/aipoch/medical-research-skills)
7
8# Research Authorship and Contributor Credit Generator
9
10## Quick Check
11
12Use this command to verify that the packaged script entry point can be parsed before deeper execution.
13
14```bash
15python -m py_compile scripts/main.py
16```
17
18## Audit-Ready Commands
19
20Use these concrete commands for validation. They are intentionally self-contained and avoid placeholder paths.
21
22```bash
23python -m py_compile scripts/main.py
24python scripts/main.py --help
25```
26
27## When to Use
28
29- Use this skill when the task needs Use when determining author order on research manuscripts, assigning CRediT contributor roles for transparency, documenting individual contributions to collaborative projects, or resolving authorship disputes in multi-institutional research. Generates fair and transparent authorship assignments following ICMJE guidelines and CRediT taxonomy. Helps research teams document contributions, resolve disputes, and ensure equitable credit distribution in academic publications.
30- Use this skill for academic writing tasks that require explicit assumptions, bounded scope, and a reproducible output format.
31- Use this skill when you need a documented fallback path for missing inputs, execution errors, or partial evidence.
32
33## Workflow
34
351. Confirm the user objective, required inputs, and non-negotiable constraints before doing detailed work.
362. Validate that the request matches the documented scope and stop early if the task would require unsupported assumptions.
373. Use the packaged script path or the documented reasoning path with only the inputs that are actually available.
384. Return a structured result that separates assumptions, deliverables, risks, and unresolved items.
395. If execution fails or inputs are incomplete, switch to the fallback path and state exactly what blocked full completion.
40
41## When to Use This Skill
42
43- determining author order on research manuscripts
44- assigning CRediT contributor roles for transparency
45- documenting individual contributions to collaborative projects
46- resolving authorship disputes in multi-institutional research
47- preparing contributor statements for journal submissions
48- evaluating contribution equity in research teams
49
50## Quick Start
51
52```python
53from scripts.main import AuthorshipCreditGen
54
55# Initialize the tool
56tool = AuthorshipCreditGen()
57
58from scripts.authorship_credit import AuthorshipCreditGenerator
59
60generator = AuthorshipCreditGenerator(guidelines="ICMJEv4")
61
62# Document contributions
63contributions = {
64 "Dr. Sarah Chen": [
65 "Conceptualization",
66 "Methodology",
67 "Writing - Original Draft",
68 "Supervision"
69 ],
70 "Dr. Michael Roberts": [
71 "Data Curation",
72 "Formal Analysis",
73 "Writing - Review & Editing"
74 ],
75 "Dr. Lisa Zhang": [
76 "Investigation",
77 "Resources",
78 "Validation"
79 ]
80}
81
82# Generate fair authorship order
83authorship = generator.determine_order(
84 contributions=contributions,
85 criteria=["intellectual_input", "execution", "writing", "supervision"],
86 weights={"intellectual_input": 0.4, "execution": 0.3, "writing": 0.2, "supervision": 0.1}
87)
88
89print(f"First author: {authorship.first_author}")
90print(f"Corresponding: {authorship.corresponding_author}")
91print(f"Author order: {authorship.ordered_list}")
92
93# Generate CRediT statement
94credit_statement = generator.generate_credit_statement(
95 contributions=contributions,
96 format="journal_submission"
97)
98
99# Check for disputes
100dispute_check = generator.check_equity_issues(authorship)
101if dispute_check.has_issues:
102 print(f"Recommendations: {dispute_check.recommendations}")
103```
104
105## Core Capabilities
106
107### 1. Generate Fair Authorship Orders
108
109Analyze contributions using weighted criteria to determine equitable author ranking.
110
111```python
112# Define weighted contribution criteria
113weights = {
114 "conceptualization": 0.25,
115 "methodology_design": 0.20,
116 "data_collection": 0.15,
117 "analysis": 0.15,
118 "manuscript_writing": 0.15,
119 "supervision": 0.10
120}
121
122# Calculate contribution scores
123scores = tool.calculate_contribution_scores(
124 contributions=team_contributions,
125 weights=weights
126)
127
128# Generate ordered author list
129authorship_order = tool.generate_author_order(scores)
130print(f"Recommended order: {authorship_order}")
131```
132
133### 2. Assign CRediT Roles
134
135Map contributions to official CRediT (Contributor Roles Taxonomy) categories.
136
137```python
138# Map contributions to CRediT roles
139credit_roles = tool.assign_credit_roles(
140 contributions=contributions,
141 version="CRediT_2021"
142)
143
144# Generate CRediT statement for journal
145statement = tool.generate_credit_statement(
146 roles=credit_roles,
147 format="JATS_XML"
148)
149
150# Validate role assignments
151validation = tool.validate_credit_roles(credit_roles)
152if validation.is_valid:
153 print("CRediT roles properly assigned")
154```
155
156### 3. Detect Contribution Inequities
157
158Identify potential authorship disputes before submission.
159
160```python
161# Analyze contribution distribution
162equity_analysis = tool.analyze_equity(
163 contributions=contributions,
164 thresholds={"min_substantial": 0.15}
165)
166
167# Flag potential issues
168if equity_analysis.has_inequities:
169 for issue in equity_analysis.issues:
170 print(f"Warning: {issue.description}")
171 print(f"Recommendation: {issue.recommendation}")
172
173# Generate equity report
174report = tool.generate_equity_report(equity_analysis)
175```
176
177### 4. Generate Journal-Ready Statements
178
179Create formatted contributor statements for various journal requirements.
180
181```python
182# Generate for Nature-style statement
183nature_statement = tool.generate_contributor_statement(
184 style="Nature",
185 include_competing_interests=True
186)
187
188# Generate for Science-style statement
189science_statement = tool.generate_contributor_statement(
190 style="Science",
191 include_author_contributions=True
192)
193
194# Export in multiple formats
195tool.export_statement(
196 statement=nature_statement,
197 formats=["docx", "pdf", "txt"]
198)
199```
200
201## Command Line Usage
202
203```text
204python scripts/main.py --contributions contributions.json --guidelines ICMJE --output authorship_order.json
205```
206
207## Best Practices
208
209- Discuss authorship expectations at project inception
210- Document contributions continuously throughout project
211- Review and agree on author order before submission
212- Include non-author contributors in acknowledgments
213
214## Quality Checklist
215
216Before using this skill, ensure you have:
217- [ ] Clear understanding of your objectives
218- [ ] Necessary input data prepared and validated
219- [ ] Output requirements defined
220- [ ] Reviewed relevant documentation
221
222After using this skill, verify:
223- [ ] Results meet your quality standards
224- [ ] Outputs are properly formatted
225- [ ] Any errors or warnings have been addressed
226- [ ] Results are documented appropriately
227
228## References
229
230- `references/guide.md` - Comprehensive user guide
231- `references/examples/` - Working code examples
232- `references/api-docs/` - Complete API documentation
233
234---
235
236**Skill ID**: 766 | **Version**: 1.0 | **License**: MIT
237
238## Output Requirements
239
240Every final response should make these items explicit when they are relevant:
241
242- Objective or requested deliverable
243- Inputs used and assumptions introduced
244- Workflow or decision path
245- Core result, recommendation, or artifact
246- Constraints, risks, caveats, or validation needs
247- Unresolved items and next-step checks
248
249## Error Handling
250
251- If required inputs are missing, state exactly which fields are missing and request only the minimum additional information.
252- If the task goes outside the documented scope, stop instead of guessing or silently widening the assignment.
253- If `scripts/main.py` fails, report the failure point, summarize what still can be completed safely, and provide a manual fallback.
254- Do not fabricate files, citations, data, search results, or execution outcomes.
255
256## Input Validation
257
258This skill accepts requests that match the documented purpose of `authorship-credit-gen` and include enough context to complete the workflow safely.
259
260Do not continue the workflow when the request is out of scope, missing a critical input, or would require unsupported assumptions. Instead respond:
261
262> `authorship-credit-gen` only handles its documented workflow. Please provide the missing required inputs or switch to a more suitable skill.
263
264
265## References
266
267- [references/audit-reference.md](references/audit-reference.md) - Supported scope, audit commands, and fallback boundaries
268
269## Response Template
270
271Use the following fixed structure for non-trivial requests:
272
2731. Objective
2742. Inputs Received
2753. Assumptions
2764. Workflow
2775. Deliverable
2786. Risks and Limits
2797. Next Checks
280
281If the request is simple, you may compress the structure, but still keep assumptions and limits explicit when they affect correctness.
282
283## When Not to Use
284
285- Do not proceed when required input files, identifiers, parameters, or context are missing — ask the user to provide them first.
286- Do not assume capabilities beyond this skill's declared scope when the user requests external operations or inferences.
287- Do not proceed without user confirmation when overwriting existing results, executing high-cost batch operations, or expanding task scope.
288
289## Required Inputs
290
291| Field | Required | Format/Source | Example | If Missing |
292|---|---|---|---|---|
293| User task description | Yes | Text | Research question, writing goal, analysis objective | Stop and ask user to provide |
294| Primary input material | Depends on task | Text, file path, ID, table, or literature | PMID, PDF, CSV, DOCX, keywords, etc. | Specify which material type is missing |
295| Output preference | No | Text | Language, format, target journal, template | Use skill default format |
296
297## Output Contract
298
299- Primary output: Structured result or target file aligned with this skill's objective.
300- Optional output: Intermediate check notes, issue list, supplementary suggestions, or generated file paths.
301- Format requirement: Unless the user specifies otherwise, prefer stable, reviewable Markdown or JSON; if the skill's bundled script requires a fixed format, use that format.
302- If partially complete: Must explicitly mark as PARTIAL and state which steps are completed and which remain.
303
304## Failure Handling
305
306- Missing critical input: Explicitly state which fields, files, or identifiers are missing and pause.
307- Script, template, or resource execution failure: Report the failing step, likely cause, and recovery suggestions — do not silently degrade.
308- Partial completion only: Return the verified portion first, then list remaining blockers and suggested next steps.
309
310## User Checkpoints
311
312- Before executing batch processing, overwriting files, long-running searches, or multi-stage generation, confirm scope and output format with the user.
313- Before proceeding when a key judgment is ambiguous, evidence is insufficient, or the workflow is entering the next stage, confirm with the user.
314
315## Quick Validation
316
317- Check that key scripts, templates, or reference file paths this skill depends on exist.
318- Check that the final output contains the core fields, sections, or files specified for this task.
319- Check that results clearly mark assumptions, limitations, and incomplete items.