Contribute Skill
Purpose
This meta-skill lets researchers contribute new domain knowledge skills to the repository without needing Git expertise. It generates a properly formatted SKILL.md from the user's domain knowledge and submits it as a GitHub Issue for maintainer review.
When to Use This Skill
Activate when the user:
- Says "contribute a skill", "把这个方法做成 skill", "submit a new skill"
- Wants to turn a discussion about methodology into a reusable skill
- Has domain expertise they want to encode as a structured skill
- Wants to contribute a skill from a paper they are reading
Research Planning Protocol
Before starting the contribution process, you MUST:
- Identify the knowledge source — Where does this domain knowledge come from? (paper, personal expertise, current session)
- Confirm domain specificity — Does this knowledge pass the litmus test: "Would a competent programmer who has never taken a cognitive science course get this wrong?"
- Outline the expected skill structure — What sections and parameters will the skill contain?
- Note potential gaps — What information might be missing or need verification?
- Present the contribution plan to the user and WAIT for confirmation before proceeding.
For detailed methodology guidance, see skills/research-literacy/SKILL.md.
⚠️ Verification Notice
This skill was generated by AI from academic literature. All parameters, thresholds, and citations require independent verification before use in research. If you find errors, please open an issue.
Prerequisites
This skill supports two submission methods:
-
Direct submission via
ghCLI (Recommended)- Requires
ghCLI installed and authenticated - Run
gh auth statusto check - Install from https://cli.github.com/ and run
gh auth login
- Requires
-
Manual submission via web browser
- No
ghCLI required - Opens GitHub Issues page in browser
- User copies and pastes the generated content
- No
The skill will check for gh availability and let the user choose their preferred method.
Interactive Flow
Step 1 — Source Confirmation
Q1: Where does this knowledge come from?
- A specific paper (provide DOI or title)
- Personal research experience
- Current session discussion
- Textbook or guidelines document
- Other (free text)
Q2: What is the skill about? (free text — brief description of the methodology)
Q3: Suggested skill name?
- Auto-suggest a kebab-case name based on the description
- Let the user confirm or modify
If the source is a paper with DOI/title, check whether the paper-to-skill meta-skill would be more appropriate. If the user has the full paper available, suggest: "Since you have the full paper, the paper-to-skill skill can do a more thorough extraction. Would you like to use that instead?"
Step 2 — Content Generation
Generate a SKILL.md following the project conventions. The generated skill MUST include:
YAML Frontmatter:
---
name: "[Human-Readable Skill Name]"
description: "[One-sentence summary]"
domain: "[subdomain]"
version: "1.0.0"
review_status: "ai-generated"
papers:
- "[Author, Year]"
dependencies:
required:
- research-literacy
---
Required Sections (in order):
-
Purpose — What domain knowledge this skill encodes
-
When to Use This Skill — Trigger conditions
-
Research Planning Protocol — Standard preamble (adapt from template):
## Research Planning Protocol Before executing the domain-specific steps below, you MUST: 1. **State the research question** — What specific question is this analysis/paradigm addressing? 2. **Justify the method choice** — Why is this approach appropriate? What alternatives were considered? 3. **Declare expected outcomes** — What results would support vs. refute the hypothesis? 4. **Note assumptions and limitations** — What does this method assume? Where could it mislead? 5. **Present the plan to the user and WAIT for confirmation** before proceeding. For detailed methodology guidance, see `skills/research-literacy/SKILL.md`. -
Verification Notice — Standard disclaimer:
## ⚠️ Verification Notice This skill was generated by AI from academic literature. All parameters, thresholds, and citations require independent verification before use in research. If you find errors, please [open an issue](https://github.com/HaoxuanLiTHUAI/awesome_cognitive_and_neuroscience_skills/issues). -
Domain-specific content — The actual skill logic with:
- Key parameters (every number cited with Author, Year — no page numbers)
- Decision logic
- Common pitfalls
- Step-by-step methodology
Content Quality Rules:
- Every numerical parameter must have a citation
(Author, Year) - No page numbers in citations (high hallucination risk)
- Skill must pass the litmus test: domain-specific, not general programming advice
- Under 500 lines total
- If content exceeds 500 lines, split into SKILL.md +
references/subdirectory
Step 3 — User Review and Submission Choice
Display the complete generated SKILL.md to the user.
First, check gh CLI availability:
gh auth status 2>&1
Then present submission options using AskUserQuestion:
If gh is available:
- Submit via gh CLI (Recommended) — Direct submission to GitHub Issues
- Open in browser — Manual submission via web interface
- Save locally only — Save the file without submitting
- Request modifications — Specify what to change
- Abort — Cancel without saving
If gh is NOT available:
- Open in browser — Manual submission via web interface
- Save locally only — Save the file without submitting
- Request modifications — Specify what to change
- Abort — Cancel without saving
You MUST wait for explicit user confirmation before proceeding to Step 4.
Step 4 — Submit to GitHub
Based on the user's choice in Step 3:
Option A: Submit via gh CLI
Create a GitHub Issue with the community-skill label:
gh issue create \
--repo "HaoxuanLiTHUAI/awesome_cognitive_and_neuroscience_skills" \
--title "[Community Skill] skill-name-here" \
--label "community-skill" \
--body "ISSUE_BODY_HERE"
Issue body format:
## Contributed Skill: `skill-name-here`
### Source
- **Knowledge source**: [paper / experience / session / other]
- **Key references**: [papers cited in the skill]
### Contributor Notes
> [Any additional context from the user about this skill]
### Generated SKILL.md
<details>
<summary>Click to expand full SKILL.md</summary>
[Full SKILL.md content here]
</details>
---
*Submitted via the `contribute-skill` meta-skill.*
On success, display the Issue URL to the user:
✅ Skill submitted successfully!
🔗 Issue URL: [URL]
The maintainers will review your contribution. Thank you!
On failure, fall back to Option B.
Option B: Open in Browser
-
Save the SKILL.md locally to the current directory as
skill-name-here.md -
Prepare the issue body and save it as
skill-name-here-issue.md -
Open the GitHub Issues page:
xdg-open "https://github.com/HaoxuanLiTHUAI/awesome_cognitive_and_neuroscience_skills/issues/new?labels=community-skill&title=%5BCommunity%20Skill%5D%20skill-name-here" 2>/dev/null || \
open "https://github.com/HaoxuanLiTHUAI/awesome_cognitive_and_neuroscience_skills/issues/new?labels=community-skill&title=%5BCommunity%20Skill%5D%20skill-name-here" 2>/dev/null || \
echo "Please open: https://github.com/HaoxuanLiTHUAI/awesome_cognitive_and_neuroscience_skills/issues/new?labels=community-skill"
- Inform the user:
✅ Files saved:
- skill-name-here.md (the skill)
- skill-name-here-issue.md (issue body to copy)
🌐 Opening GitHub Issues in your browser...
📋 Next steps:
1. Copy the content from skill-name-here-issue.md
2. Paste it into the issue body
3. Submit the issue
The maintainers will review your contribution. Thank you!
Option C: Save Locally Only
Save the SKILL.md to the current directory as skill-name-here.md:
✅ Skill saved to: skill-name-here.md
You can submit it later by:
1. Opening https://github.com/HaoxuanLiTHUAI/awesome_cognitive_and_neuroscience_skills/issues/new
2. Using the label "community-skill"
3. Copying the skill content into the issue
Litmus Test Enforcement
Before generating the skill, verify each piece of content against the litmus test:
"Would a competent programmer who has never taken a cognitive science course get this wrong?"
- If YES → Include it (this is domain knowledge)
- If NO → Exclude it (this is general knowledge)
Flag any borderline items to the user for their decision.