Project Hub - Skills in Detail
Reference of all Project Hub skills: invocation, arguments and actual behavior for getting started, projects, contacts, notes, communication, knowledge, reports and handovers.
Project Hub - Skills in Detail
All skills are invoked as /project-hub:<skill-name>. The plugin contains 21 skills for everyday use. In addition there are three test skills that exist only for automated testing (see below).
Most skills work with the active project. If none is loaded, they point you to /project-hub:resume.
Overview
| Skill | Argument | Purpose |
|---|---|---|
setup |
– | First-time setup and repair |
configure |
– | Change settings in config.yaml |
help |
– | Show all skills and project types |
session-start |
optional project name | Guided session start with setup check |
resume |
project name | Load a project and restore context |
dashboard |
– | Overview of all projects |
status |
– | Show and change project status |
next-step |
– | Recommend open tasks and the next step |
new-project |
project name | Create a project, interactively or from a template |
get-template |
project type | Output a fillable project template |
type-creator |
– | Create a custom project type |
add-contact |
– | Add a contact |
add-note |
note type | Record a note |
edit-note |
note ID | Edit a note |
meeting-prep |
meeting title | Prepare an agenda |
search |
search term | Search notes and contacts |
summarize |
note ID or pasted text | Create a summary |
compose |
email, slack, teams, export, import |
Draft a message, export or import a project |
knowledge |
subcommand | Manage knowledge documents |
report |
full, summary, all-projects |
Generate an HTML report |
vacation-handover |
start and end date | Generate a vacation handover document |
Getting started and navigation
setup
Sets the plugin up. The steps are described under Installation.
configure
Shows the values from config.yaml, asks what to change and writes the file. See Configuration. Under "Manage project types" you list and delete custom project types or start type-creator.
help
Shows a skill overview, the active project and the available project types, with custom types marked "custom".
session-start
Guided start of a working session:
- Checks the venv,
config.yamland the Python packages. If anything is missing, the skill stops and points tosetup. - With a project name as argument it loads that project. Without an argument it shows the list of active projects, and for an unknown name the list of all projects, plus "Create new project".
- Loads contacts, the last five notes and, except for type
generic, the knowledge documents. - Sets the project as active and shows a header with hints, such as missing contacts, open action items, go-live in less than 14 days or no activity for seven days.
resume
Loads a project by name or slug, otherwise from a numbered list. It then loads in parallel:
- project-specific contacts, split into internal and external
- shared contacts from all projects (completely, across several pages)
- the project's notes (50 per page, with a pointer to
searchif there are more) - for types other than
generic, all knowledge documents of the type, which then serve as context
It then sets the project as active and shows type, status, phase, go-live, description, contacts, recent notes and the docs folder.
dashboard
Lists all projects grouped by status (active, paused, completed, cancelled, other) with type, phase, go-live and last activity. The active project is marked "aktiv". Linked projects appear as a "Relationen" line. With exactly one project, the skill shows its key data directly.
status
Shows project data, internal, external and shared contacts, the latest notes and the documents. You can then change phase, go-live, status (active, paused, completed, cancelled), description, and products and market.
next-step
Evaluates open action items, go-live date, recent notes and contact history:
- Action items count as open as long as their content contains no completion marker (a word such as "erledigt", "done" or "fertig", or a fully checked checklist). Age sets the priority: older than 7 days high, 3 to 7 days medium, younger low.
- A go-live within 7 days counts as critical, within 14 days as high, within 30 days as medium.
- The output ends with exactly one recommended next step and the matching skill.
Projects
new-project
First asks whether you want to paste a filled-in template, give a file path or create interactively. Interactively, you pick the type from the list of built-in and custom types and answer the fields one by one. Depending on the type, market, products and phase (merchant-onboarding), a client name (consulting, stored as an external contact) or event date and location (event) are added. The new project becomes active and its docs folder is created. If the slug already exists, the skill names the existing project.
get-template
Outputs the fillable template of a project type as a Markdown block, so you can fill it in outside the chat and import it with new-project. For types without their own template you get the generic template with a notice.
type-creator
Wizard for custom project types: name, description, optional phases and typical contact roles, then a preview and creation under ~/.project-hub/project-types/<slug>/. The name becomes the slug. A type with the name of a built-in type overrides it.
Contacts and notes
add-contact
First asks for the name and uses it to search for duplicates across all projects, including shared contacts. It then asks for type (internal or external), role, and optionally email, phone, company and notes. Internal contacts can be saved as shared across projects, external ones never. The server blocks duplicates of shared contacts, details under MCP tools.
add-note
Saves a note in the active project. Note types:
| Type | Use |
|---|---|
note |
general note |
meeting-notes |
meeting minutes, optionally with an agenda |
email |
an email or email thread |
decision |
a documented decision |
action-item |
a task |
Without an argument the skill infers the type from pasted content when it is unambiguous (email headers, or an attendee list together with agenda framing) and asks otherwise. If the content is based on local files or a folder, the skill copies the originals as attachments in the same step. Afterwards you can attach further files. More in Technical details.
edit-note
Loads a note by ID or from a list and changes title, content, type or agenda, attaches files or removes attachments. The note must belong to the active project.
An edit updates the database only. The Markdown file written when the note was created stays as it was and, after a type change, remains in the old subfolder. Fields can be overwritten but not cleared.
meeting-prep
Prepares a meeting agenda:
- Asks for title and date, then whether the meeting is recurring or one-off and internal or external.
- For recurring meetings it offers open items from earlier meeting notes.
- You choose the depth: "Nur die dringlichsten Punkte" (urgent items only) or "Vollständiger Überblick" (full overview).
- For each item it records title, context, urgency and optional sources, and searches the project's notes for them. For external meetings it asks per source whether it is suitable for external attendees.
- It renders the agenda and, on request, saves it as a
meeting-notesnote. The agenda goes into both content and agenda field, sosummarizecan use it later for the comparison.
search
Searches notes (title and content) and contacts (name, role, email, company). With an active project the skill asks whether to search only there or in all projects. The contact search always includes shared contacts.
The search ignores case for ASCII letters only. Umlauts and other non-ASCII characters are compared exactly, so "Ärger" does not find "ärger". The characters
%and_in a search term act as wildcards, they are not escaped.
Communication
summarize
Summarizes a saved note (by ID) or pasted text as an email, meeting or general summary. For meeting notes with an agenda it adds an agenda comparison. On request the skill saves the result as a note of type note.
compose
Drafts email, Slack or Teams messages in project context. For merchant-onboarding projects it always asks whether the message goes to the external merchant or is internal, because tone and style differ. With the arguments export and import the skill hands projects over:
- Export: writes project, contacts, notes and links to a JSON file, by default to
~/.project-hub/exports/{slug}-{date}.json. Attachments are not included. - Import: reads such a file. If the slug already exists you choose
skip(default, aborts),renameoroverwrite.
overwritedeletes the existing project with its contacts and notes from the database and additionally removes the project's entire docs folder from disk. The notes' Markdown files and all attachment files are lost as well. The import then recreates the project without any files.
Knowledge, reports and handovers
knowledge
Manages the knowledge documents of the project type under ~/.project-hub/knowledge/<type>/:
| Subcommand | Effect |
|---|---|
(none) or list [type] |
List topics |
show <topic> |
Show a document |
update <topic> |
Merge new content into a document or edit it directly |
export <topic> |
Output a Confluence-ready Markdown block |
delete <topic> |
Delete a document after confirmation |
sync [--force] |
Compare the plugin's bundled templates with the installed documents |
sync always shows first what is new or changed and only overwrites files after you confirm.
report
Generates a self-contained HTML report and opens it in the browser:
| Argument | Content |
|---|---|
full (default) |
Header, contacts, charts, all action items and the complete note timeline |
summary |
Header, all action items and the last five activities |
all-projects (also all) |
Table of all projects with status and type charts |
The report lists all notes of type action-item under "Offene Aufgaben" (open tasks), regardless of whether they are done. Unlike next-step, the report has no completion filter.
By default the report is written to ~/.project-hub/reports/. For a PDF, print it from the browser. Labels in the report are in German.
vacation-handover
Generates a handover document for all open projects of the active project type:
- The skill needs the project type's
vacation-handoverknowledge document. If it is missing, the skill aborts with instructions. A template is bundled only formerchant-onboarding. - Start and end date come from the argument or are asked for.
- It loads all projects of the type except completed and cancelled ones, and each project's contacts and notes.
- It fills the template from project data, notes and contacts (to-dos, meetings, deliverables, risks, Teams link, JIRA ticket and contacts by role).
- On request it exports a Confluence block or saves the document as a note in the active project.
The author name in the document is hard-coded in the skill and does not come from the configuration.
Test skills
create-testdata, reset-testdata and delete-testdata are infrastructure for automated skill tests. They are meant for machine invocation, are never triggered from normal conversation and work only with records whose name starts with zz-sandbox-.
Linking projects
There is no dedicated skill for project links. You ask Claude to call the tools tool_link_project and tool_unlink_project. Dashboard and report show the links. See MCP tools.