Knowledge graph skills for the Alhazen scientific notebook framework (TypeDB-powered)
npx claudepluginhub sciknow-io/alhazen-skill-examplesTrack job applications, analyze positions, identify skill gaps, and plan your job search strategy. Requires Docker.
Share bugs, ideas, or general feedback.
Example skills for the Skillful Alhazen knowledge notebook framework — a TypeDB-powered scientific notebook for researchers building knowledge graphs from papers, notes, and domain data.
This repo serves two purposes:
skills-registry.yaml in a Skillful Alhazen project and make build-skills wires them in.| Skill | Plugin type | Description |
|---|---|---|
| jobhunt | self-contained | Track job applications, identify skill gaps, plan learning |
| alhazen-core | infrastructure | Starts TypeDB, loads base schema — required by multi-plugin installs |
| they-said-whaaa | standard | Credibility tracker — ingest YouTube + news, detect contradictions |
| scientific-literature | standard | Multi-source literature search (EPMC, PubMed, OpenAlex, bioRxiv) |
| alg-precision-therapeutics | standard | Rare disease mechanism investigation from a MONDO diagnosis |
| literature-trends | biomed | Trace hypothesis evolution across time windows in a literature cluster |
Requires Claude Code v1.0.33+. There are two plugin types with different install flows.
Self-contained plugins bundle everything they need — including the TypeDB init logic and base schema. TypeDB starts automatically on every session start via a SessionStart hook. No manual init required.
Currently available: jobhunt
/plugin marketplace add sciknow-io/alhazen-skill-examples
/plugin install jobhunt@alhazen-skills
That's it. On the next session start, the SessionStart hook runs:
uv run --project <plugin-root>/skills/jobhunt python <plugin-root>/skills/jobhunt/alhazen_core.py init
This starts the TypeDB Docker container (pulling the image if needed), creates the alhazen_notebook database, and loads both the base schema and jobhunt's domain schema. Subsequent session starts complete in under a second.
Expected output on first run:
{
"success": true,
"typedb": "running",
"database": "alhazen_notebook",
"database_created": true,
"schema": "loaded",
"extra_schema": "loaded",
"message": "Alhazen core ready. Base schema and skill schema loaded."
}
Then use the skill:
uv run --project <skill-path> python <skill-path>/jobhunt.py list-pipeline
Standard plugins depend on the alhazen-core infrastructure plugin. Install it first, then install domain skills individually.
Step 1 — Add the marketplace and install alhazen-core:
/plugin marketplace add sciknow-io/alhazen-skill-examples
/plugin install alhazen-core@alhazen-skills
Initialize the infrastructure (one-time):
/alhazen-core:init
Expected output:
{
"success": true,
"typedb": "running",
"database": "alhazen_notebook",
"schema": "loaded",
"message": "Alhazen core ready."
}
Step 2 — Use a domain skill:
# Replace <skill-path> with your plugin cache path
# e.g. ~/.claude/plugins/cache/they-said-whaaa/
uv run --project <skill-path> python <skill-path>/they_said_whaaa.py list-figures
The repo-level catalog is at .claude-plugin/marketplace.json.
Self-contained plugin bundle (plugins/<name>/):
plugins/<name>/
.claude-plugin/
plugin.json # Plugin metadata (no "requires": ["alhazen-core"])
hooks/
hooks.json # SessionStart hook: runs alhazen_core.py init
skills/<name>/
SKILL.md # Loaded at startup: triggers, quick start
USAGE.md # Full reference: commands, workflows, data model
<name>.py # CLI entry point
alhazen_core.py # Bundled copy of alhazen-core init logic
alhazen_notebook.tql # Bundled copy of the base schema
schema.tql # This skill's domain schema (auto-loaded by init)
pyproject.toml # uv dependency declaration
Standard skill (skills/<category>/<name>/):
skills/<category>/<name>/
.claude-plugin/
plugin.json # Includes "requires": {"plugins": ["alhazen-core"]}
SKILL.md / USAGE.md / skill.yaml
<name>.py / pyproject.toml / schema.tql
Add entries to skillful-alhazen/skills-registry.yaml: