Contribute Skill

SKILL.md

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:

  1. Identify the knowledge source — Where does this domain knowledge come from? (paper, personal expertise, current session)
  2. 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?"
  3. Outline the expected skill structure — What sections and parameters will the skill contain?
  4. Note potential gaps — What information might be missing or need verification?
  5. 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:

  1. Direct submission via gh CLI (Recommended)

    • Requires gh CLI installed and authenticated
    • Run gh auth status to check
    • Install from https://cli.github.com/ and run gh auth login
  2. Manual submission via web browser

    • No gh CLI required
    • Opens GitHub Issues page in browser
    • User copies and pastes the generated content

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):

  1. Purpose — What domain knowledge this skill encodes

  2. When to Use This Skill — Trigger conditions

  3. 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`.
    
  4. 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).
    
  5. 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

  1. Save the SKILL.md locally to the current directory as skill-name-here.md

  2. Prepare the issue body and save it as skill-name-here-issue.md

  3. 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"
  1. 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.

Weekly Installs
0
GitHub Stars
10
First Seen
Jan 1, 1970