Skill flagged — suspicious patterns detected

ClawHub Security flagged this skill as suspicious. Review the scan results before using.

Post-doc Fellowship Matcher

v1.0.0

Filter and match postdoctoral fellowship opportunities based on applicant nationality, years since PhD, and research field from a curated database.

0· 90·0 current·0 all-time
byAIpoch@aipoch-ai

Install

OpenClaw Prompt Flow

Install with OpenClaw

Best for remote or guided setup. Copy the exact prompt, then paste it into OpenClaw for aipoch-ai/postdoc-fellowship-matcher.

Previewing Install & Setup.
Prompt PreviewInstall & Setup
Install the skill "Post-doc Fellowship Matcher" (aipoch-ai/postdoc-fellowship-matcher) from ClawHub.
Skill page: https://clawhub.ai/aipoch-ai/postdoc-fellowship-matcher
Keep the work scoped to this skill only.
After install, inspect the skill metadata and help me finish setup.
Use only the metadata you can verify from ClawHub; do not invent missing requirements.
Ask before making any broader environment changes.

Command Line

CLI Commands

Use the direct CLI path if you want to install manually and keep every step visible.

OpenClaw CLI

Bare skill slug

openclaw skills install postdoc-fellowship-matcher

ClawHub CLI

Package manager switcher

npx clawhub@latest install postdoc-fellowship-matcher
Security Scan
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Suspicious
high confidence
!
Purpose & Capability
The skill claims to normalize free-text research fields and return ranked matches from a curated database (SKILL.md + references/fellowships.md). The included script (scripts/main.py) accepts a field parameter but does not use it for filtering or normalization; it only filters by nationality and years. The SKILL.md and references list more fellowships and different eligibility rules (e.g., Marie Curie, Schmidt Science Fellows, and specific eligibility text) than the small FELLOWSHIPS list embedded in the code. These mismatches mean the implemented capability is materially weaker than advertised.
!
Instruction Scope
Runtime instructions are narrowly scoped and safe to run (compile and run the script), and SKILL.md points to references/fellowships.md as the database. However, the instructions imply behavior (field normalization, using the full database, match rationale) that the code does not implement. The mismatch between documented workflow and actual runtime behavior is the main scope concern.
Install Mechanism
No install spec or external downloads; the skill is instruction-only with a small local Python script and local reference file. No third-party packages or network installs are requested.
Credentials
The skill requests no environment variables, no credentials, and references only local files. There is no indication of unnecessary credential or environment access.
Persistence & Privilege
The skill does not request persistent/always-on presence, does not modify other skills or agent-wide settings, and uses only local files. No elevated privileges are requested.
What to consider before installing
This skill is not malicious, but it is inconsistent: SKILL.md promises field normalization and a richer curated database, while scripts/main.py ignores the 'field' parameter and uses a small hard-coded fellowship list with different eligibility details. Before installing or relying on results, consider: (1) Do not use this output as authoritative — verify eligibility and deadlines on official sites. (2) If you expect field-based matching, inspect or update scripts/main.py to implement normalization and to load references/fellowships.md (or confirm why it was omitted). (3) Note small inconsistencies in eligibility (e.g., NIH years and NSF nationality differ between code and references); ask the author for clarification or fix the code. If you lack the ability to review/patch the code, treat outputs as a very rough filter only.

Like a lobster shell, security has layers — review code before you run it.

latestvk97e0trn383fh3x9m62njxnyfs83wnwn
90downloads
0stars
1versions
Updated 4w ago
v1.0.0
MIT-0

Postdoc Fellowship Matcher

Filter postdoctoral fellowships based on applicant nationality, years since PhD, and research area.

Quick Check

python -m py_compile scripts/main.py
python scripts/main.py --help

When to Use

  • Use this skill when a postdoc applicant needs to identify eligible fellowships based on their nationality, career stage, and research field.
  • Use this skill when comparing fellowship requirements and deadlines across multiple programs.
  • Do not use this skill to draft fellowship applications, write personal statements, or guarantee eligibility determinations.

Workflow

  1. Confirm the applicant's nationality, years since PhD completion, and research field.
  2. Validate that the request is for fellowship matching, not application writing or eligibility certification.
  3. Filter the fellowship database against the provided criteria.
  4. Return a ranked list of eligible fellowships with deadlines, requirements, and notes.
  5. If inputs are incomplete, state which fields are missing and request only the minimum additional information.

Usage

python scripts/main.py --nationality US --years 1 --field "immunology"
python scripts/main.py --nationality CN --years 3 --field "structural biology" --name "Dr. Zhang"

Parameters

ParameterTypeRequiredDescription
--nationalitystringYesApplicant nationality (e.g., US, CN, DE)
--yearsintegerYesYears since PhD completion
--fieldstringYesResearch field (e.g., immunology, neuroscience)
--namestringNoApplicant name (for report header)

Fellowship Database

Includes: NIH F32 · NSF Postdoctoral Fellowships · HFSP Fellowship · EMBO Fellowship · Marie Curie Fellowships · Schmidt Science Fellows

→ Full fellowship details: references/fellowships.md

Field Input Normalization

The --field parameter accepts free-text research field names. Common aliases are normalized automatically:

InputNormalized To
structural biostructural biology
cell biocell biology
neuroneuroscience
immunoimmunology

If your field is not recognized, the skill will return the closest matches and ask you to confirm.

Output

  • Eligible fellowships list with match rationale
  • Deadlines and key requirements per fellowship
  • Notes on eligibility caveats and verification steps

Scope Boundaries

  • Fellowship data reflects the built-in database; verify current deadlines and requirements on official program websites before applying.
  • This skill does not access live fellowship databases or real-time deadline updates.
  • Eligibility output is a filter result, not a legal or official determination.

Stress-Case Rules

For complex multi-constraint requests, always include these explicit blocks:

  1. Assumptions
  2. Filter Criteria Applied
  3. Matched Fellowships
  4. Caveats and Verification Steps
  5. Next 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 fellowship deadlines, eligibility rules, or success rate statistics.

Input Validation

This skill accepts: applicant nationality, years since PhD, and research field for fellowship eligibility filtering.

If the request does not involve fellowship matching — for example, asking to write a fellowship application, provide career counseling, or access live grant databases — do not proceed with the workflow. Instead respond:

"postdoc-fellowship-matcher is designed to filter fellowship opportunities based on applicant profile criteria. Your request appears to be outside this scope. For application writing support, consider using an academic writing skill or consulting your institution's postdoc office. Please provide nationality, years since PhD, and research field, or use a more appropriate tool."

Response Template

Use the following fixed structure for non-trivial requests:

  1. Objective
  2. Inputs Received
  3. Assumptions
  4. Workflow
  5. Deliverable
  6. Risks and Limits
  7. Next Checks

If the request is simple, you may compress the structure, but still keep assumptions and limits explicit when they affect correctness.

Comments

Loading comments...