From personal-corp-skills
Routes and creates GitHub issues by matching task descriptions to target repos from a routing config. Checks for duplicates and applies W-labels from weekly planning.
How this skill is triggered — by the user, by Claude, or both
Slash command
/personal-corp-skills:task-routingThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Route issues to the correct repo using the routing config from CLAUDE.md. Part of the Personal Corp framework: `project-init` → **`task-routing`** → `weekly-planning` / `weekly-retro`.
Route issues to the correct repo using the routing config from CLAUDE.md. Part of the Personal Corp framework: project-init → task-routing → weekly-planning / weekly-retro.
digraph routing {
"New task" -> "Read routing config from CLAUDE.md";
"Read routing config from CLAUDE.md" -> "Match keywords → target repo";
"Match keywords → target repo" -> "Check duplicates in target repo";
"Check duplicates in target repo" -> "Duplicate found?" [shape=diamond];
"Duplicate found?" -> "Update existing issue" [label="yes"];
"Duplicate found?" -> "Check W-label exists in target repo" [label="no"];
"Check W-label exists in target repo" -> "Create issue in target repo";
}
Find the ### Task Routing section in CLAUDE.md of the current project (or the HQ repo if running from there):
### Task Routing (which issues go where)
routing:
- pattern: "bot, broadcast, onboarding"
repo: owner/bot-repo
- pattern: "content, lessons"
repo: owner/content-repo
- pattern: "strategy, cross-cutting"
repo: owner/main-repo
This config is created by project-init. If it doesn't exist — STOP and tell the user to run project-init first.
Match the task description against routing patterns. Rules:
# Check target repo
gh issue list -R {target_repo} -s open --json number,title --jq '.[].title'
# Check unified project (if configured)
gh project item-list {project_id} --owner {owner} --format json | \
python3 -c "import json,sys; [print(i['title']) for i in json.load(sys.stdin)['items']]"
If a similar issue exists → update it instead of creating a duplicate.
W-labels (W13, W14...) are created by weekly-planning, not manually.
# Check if current week label exists in target repo
gh label list -R {target_repo} | grep "W[0-9]"
weekly-planning run.gh issue create -R {target_repo} \
-t "prefix: title" \
-l "{w_label_if_exists}" \
--body "..."
Issue title prefixes follow conventional commits:
ops: — operational taskfeat: — new featurefix: — bug fixcontent: — content creationresearch: — research taskmenti: — mentoring related| You're about to... | Instead... |
|---|---|
| Create issue in current repo without checking routing | Read CLAUDE.md routing config first |
| Add W-label that doesn't exist in target repo | Skip label — weekly-planning will add it |
| Add to Project #4 because "it's the main one" | Check which project the target repo uses. Or let GitHub auto-add handle it |
| Create issue without checking duplicates | Search target repo AND unified project |
| Guess the target repo | Ask the user if no pattern matches |
| Create retro:W{NN} label | Only weekly-retro creates these |
| Mistake | Fix |
|---|---|
| Issue about bot created in school-brain | Check routing: "bot" → hsl-mozg |
| W14 label created manually | W-labels come from weekly-planning only |
| Duplicate issue across repos | Search unified project before creating |
| No routing config found | Run project-init first |
| Added to wrong GitHub Project | Let GitHub auto-add handle project assignment |
# 1. Read routing from CLAUDE.md
# routing says: "bot, broadcast" → owner/hsl-mozg
# 2. User says: "создай задачу — рассылка по alumni"
# Keywords: "рассылка" matches "broadcast" → target = owner/hsl-mozg
# 3. Check duplicates
gh issue list -R owner/hsl-mozg -s open --json title --jq '.[].title' | grep -i alumni
# 4. Check W-label
gh label list -R owner/hsl-mozg | grep "W13"
# Found → use it
# 5. Create
gh issue create -R owner/hsl-mozg -t "ops: рассылка по alumni" -l "W13"
npx claudepluginhub serejaris/personal-corp-skills --plugin personal-corp-skillsSyncs session work into GitHub issues and queries track status across repos. Two modes: write (end-of-session sync with issue updates, epics, labels, Project placement) and read (status lookup).
Detects task references from GitHub issue URLs, Google Docs, local files, or action phrases with #NNN (EN/RU) and routes to task-router skill for classification and implementation.
Manages full GitHub issue lifecycle: create with conventional commit titles, sub-issues, cross-repo links, edit/view/list, dump trees to markdown/YAML, push from files, comment/label/close.