Asana sync: GitHub issues to R & S Requests Tracking
Fae's Asana sync. Sync labelled GitHub issues (sylvie-project, sylvie-pa-support, rufus-planning) onto the "R & S Requests Tracking" Asana board. Use when Fae asks to sync, update, or add Sylvie's or Rufus's requests/planning tasks to Asana.
Asana sync: GitHub issues to R & S Requests Tracking
Turns labelled GitHub issues into tasks on one Asana board, keeps them up to date, and never creates duplicates. Always show a preview and wait for approval before changing Asana.
Fixed settings
Asana project: R & S Requests Tracking, GID 1219257299026809
https://app.asana.com/1/1215954541549154/project/1219257299026809/list/1219261737371397
| Section | GID |
|---|---|
| Sylvie's Requests | 1219257299026815 |
| LI Planning | 1219265746127853 |
| Rufus' Requests | 1219257299026814 (empty for now; use only if Fae asks) |
People (Asana GIDs): Fae R 1218453629691232 (fae@lifeitself.org), Asdra Santana de Andrade 1218453171120969, Uriel Lane 1215959734644710 (board owner).
Voice dictation often turns "Asdra" into "Azure" or "Astra". Treat all three as Asdra.
GitHub to Asana people: Fae-Rinaldo = Fae R, asdrasantana = Asdra.
Priority field: custom field 1219257299026818 (multi-select). Options: High 1219257299026819, Medium 1219257299026820, Low 1219257299026821.
Labels, repos and sections
| Label | Repo | Asana section |
|---|---|---|
sylvie-project | life-itself/onboarding | Sylvie's Requests |
sylvie-pa-support | life-itself/onboarding | Sylvie's Requests |
rufus-planning | life-itself/planning | LI Planning |
If a repo isn't attached to the session, attach it read-only with add_repo. You only need the issues, so don't clone it. Labels are lowercase with hyphens. If a label search returns nothing, check the exact spelling before assuming there are no issues.
If Fae names a different label, section or priority, use hers for that run and say so. These tables are only the defaults.
Procedure
- Read. List open issues for each label (
list_issues,labels=[...], state OPEN). Also fetch issues that were closed since the last sync, so their tasks can be completed. For long output, save it to a file and summarise with a script. - Find existing tasks. Get all tasks on the board with
get_tasks(project1219257299026809, include notes). Each synced task has aGitHub issue: <url>line in its notes. Match issues to tasks on that URL. Don't match on title. - Work out the changes for each issue:
- No matching task: create.
- Matching task whose assignee, follower, priority, due date, completion or summary differs from the issue: update.
- Issue closed as completed: mark the task complete.
- Otherwise: leave alone.
- Preview. Show one table: issue, action (create / update / complete / skip), section, assignee, follower, priority, due date. Flag anything odd. Wait for approval. Fae has said she checks before bulk writes.
- Apply with
create_tasksandupdate_tasks(up to 50 per call). - Verify with
get_tasks, then report what was created and changed. Mention any task on the board with no GitHub issue behind it; don't delete it.
Field rules
- Title: the issue title, unchanged.
- Notes: a 1-3 sentence plain summary, then
GitHub issue: <url>andLabel: <label>. Keep notes brief. Don't copy checklists or long bodies. - Assignee: Fae R by default for every task, whatever the GitHub assignee says. Exception: if the issue has no assignee in GitHub and Fae says so, leave it blank. The "Decide the renamed identity of the Over the Mountains podcast" task (planning#7) was deliberately left with no assignee and no followers.
- Second person: Asana allows one assignee. If GitHub also lists
asdrasantana, add Asdra as a follower. Fae confirmed this setup for now; revisit if she changes it. - Priority: only from a top-level line in the issue such as
Priority: High(also accept Medium / Low). If absent, leave blank. Set it through the Priority custom field. - Due date: only from a top-level line such as
Due: 2026-10-20. If absent, leave blank. Never turn a deadline inside a checklist item into the task's due date. - Sub-issues: if an issue is a sub-issue of another labelled issue, create its task as a subtask of the parent's task (
parent). If the parent isn't on the board, create the parent first. - Checklist items inside an issue stay in GitHub. They are not turned into Asana subtasks.
- Sensitive issues (for example passport, ESTA, email management) do belong on this shared board, but keep their notes general. Never copy passwords, ID or passport numbers, personal addresses or private contact details into Asana.
Don'ts
- Don't create a task whose GitHub issue URL is already in a task's notes.
- Don't change or delete tasks that have no GitHub link, unless Fae asks.
- Don't post comments to GitHub or change GitHub issues; this sync only reads GitHub.
- Don't send anything to anyone.
Known state (as of 2026-10-07)
First sync created 21 Sylvie tasks and 7 planning tasks. rufus-planning issues 22-26 (Sylvie inbox pilot) were intentionally not added; skip them unless Fae asks. On the board there is a placeholder "Sample Request" and one task with a blank name, neither created by this sync; leave them for Fae to delete.