project-tracking
Skill0 starsChanged 2 months agoMITView on GitHub
Track work projects in the Obsidian vault: create/update project notes, status, key decisions, blockers, meeting notes, docs, and stakeholder links. Use for project state and project conversations. NOT for: individual tasks (task-tracking), pre-project ideas (idea-pipeline), or evergreen reference (knowledge-base).
3 other projects use a version of this.
Adopted by
Most recently taken up by
- aymardkouakou/claude-gh-skillstheir own version, first seen Nov 8, 2026
- Lukk17/agent-standardstheir own version, first seen Nov 7, 2026
- sponge-b0b/Polaristheir own version, first seen Aug 3, 2026
Other versions3 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 3
- sponge-b0b/Polaris★ 4same name
- aymardkouakou/claude-gh-skills★ 1same name
- Lukk17/agent-standards★ 1same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository15 other files it gives its agents.
- daily-journalSkill
- goalsSkill
- idea-pipelineSkill
- knowledge-baseSkill
- meeting-notesSkill
- nightly-consolidationSkill
- people-notesSkill
- resurfacingSkill
- second-brainSkill
- shopping-listSkill
- skill-tuningSkill
- standupSkill
- task-trackingSkill
- vault-recallSkill
- weekly-reviewSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
20 rules. 0 are common, 9 are distinctive, and 11 are very specific to this project.
0
Common
Most of the 3 edited versions we read keep these.
9
Distinctive
This author's own choices. Worth a look.
11
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 80
When creating a project:
- Very specific: line 86
If the user also gives actionable work, route to task-tracking to add tasks to Tasks.md.
- Distinctive: line 88
When updating a project:
- Distinctive: line 90
Read the existing project note.
- Distinctive: line 105
Add dates using the local timezone.
- Very specific: line 108
If task state changes are implied but not explicit, mention the possible task update instead of changing Tasks.md silently.
- Distinctive: line 112
Treat the project note as the source of project state.
- Very specific: line 113
Treat Tasks.md as the source of task state.
- Very specific: line 115
Use ## Related Tasks in the project note to reference important tasks by exact task text.
- Very specific: line 116
Do not duplicate full task lists inside project files.
- Very specific: line 117
When a project is marked Done, do not automatically complete all related tasks unless the user explicitly asks.
- Very specific: line 118
When all related tasks are done, do not automatically mark the project Done unless the user explicitly asks.
- Distinctive: line 119
If project status and task status conflict, preserve both and call out the inconsistency.
- Very specific: line 128
Add a brief entry to the project note's ## Conversation Log pointing to the meeting note with a wikilink.
- Distinctive: line 135
Add a concise docs note to the project note when useful.
- Very specific: line 141
Add blockers and external dependencies to ## Waiting On with what, who (wikilinked), and since date.
- Very specific: line 142
If a waiting item should be tracked as work, route to task-tracking and use Waiting On Others.
- Distinctive: line 148
Do not invent project metadata.
- Distinctive: line 149
Do not create tasks without clear actionable wording.
- Very specific: line 150
Do not create a project from a vague idea unless the user asks to track it as a project.
“Common” is measured: kept by at least 6 in 10 of the 3 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Project Tracking
Manage project records in the user's Obsidian second brain. Use second-brain for shared vault conventions and task-tracking when task state must be created or changed.
Data Source
- Vault config (path, timezone): see
second-brain-> Vault. - Project note:
Projects/[Project Name]/[Project Name].md— named after the project so[[Project Name]]wikilinks resolve to it. Created withobsidian__note_create type="project"; the path is derived, never hand-constructed. - Central task file:
Tasks.md, written throughobsidian__task_addandobsidian__task_update. - Adding a table row or a line under a heading is
obsidian__section_append, which targets the named section rather than the end of the file. - A dated entry in the running
## Activity Logisobsidian__log_append, which writes the### YYYY-MM-DDheading itself and keeps the newest day at the top. That section is not aobsidian__section_appendtarget.
Project Note Template
---
type: project
status: Active
created: YYYY-MM-DD
started: YYYY-MM-DD
people: []
topics: []
---
# [Project Name]
**Description:** One-line description
## Stakeholders
- [[First Last]] — Role
- Org or team name — Role (plain text for orgs; wikilinks for people)
## Key Decisions
| Date | Decision | Reasoning |
|------|----------|-----------|
## Conversation Log
| Date | Who | Summary |
|------|-----|---------|
## Waiting On
| What | Who | Since |
|------|-----|-------|
## Related Tasks
- Task text (see [[Tasks]])
## Activity Log
### YYYY-MM-DD
- What happened, newest date first
## Related
- [[Knowledge note or other related note]] — why it is relatedStatus values: Active, On Hold, Blocked, Done, Archived. Status lives in frontmatter (status:), not in the body, so Bases and queries can read it. Archived is set by resurfacing, never inferred by this skill — see second-brain -> Frontmatter Standards.
people: holds quoted wikilinks to person notes: people: ["[[First Last]]"]. topics: holds plain topic strings: topics: [video, playback].
Workflow
When creating a project:
- Normalize the project name to Title Case unless the user gives exact casing.
obsidian__note_create type="project" name="[Project Name]"— the server creates the folder, the note, the frontmatter, and the standard sections. Pass known values throughfields, e.g.fields={"status":"Active","people":"Jane Doe, Sam Lee","description":"One line"};peoplebecomes quoted wikilinks.- If the user supplied a written brief — a spec, a plan, hardware or API details, a phased roadmap, anything with its own headings — the brief is the deliverable, not raw material for a summary. Create
obsidian__note_create type="doc" name="technical-brief" project="[Project Name]" body="<the full text>"first, before filling any section, and wikilink it from## Related. A doc note gets no section skeleton precisely so it can hold a document whole. Demote the brief's headings one level so the note keeps a single H1. - Fill the project note's sections with
obsidian__section_append. Use[[First Last]]wikilinks for every person named. The sections summarize and point at the doc; they never replace it. - If the user also gives actionable work, route to
task-trackingto add tasks toTasks.md.
When updating a project:
- Read the existing project note.
- Append to the relevant section with
obsidian__section_append, and keep thestatus,people, andtopicsproperties in sync withobsidian__note_set_field note="[Project Name]" field="status" value="On Hold". Stale frontmatter is not cosmetic:standuplists active projects withobsidian__vault_list type="project" status="Active", so a project leftActiveafter it stops is reported as live work every weekday until someone notices. Log what happened in the
## Activity Log:obsidian__log_append note="[Project Name]" section="Activity Log" content="Proposal sent; awaiting response"Pass the entry text only — no date prefix and no bullet marker. Never use
obsidian__section_appendon that section: it drops a bare line above every dated block, which is where the CLI-written entries of 2026-08-01 ended up.A project note written before the template carried
## Activity Logwill not have one, and the call fails naming the sections it does have. Addcreate_section=trueto that call and the heading is created in template position.If the call is refused as too similar to an entry already in that day's block, you already logged this — the error quotes the entry it collides with. Do not reword and retry; that is exactly how one turn wrote the same board purchase into a log three times.
allow_similar=trueis for a genuinely separate event that happens to read alike, not for getting past the message.To undo an entry this system wrote by mistake, use
obsidian__log_remove note="[Project Name]" section="Activity Log" date="YYYY-MM-DD" match="<text from the entry>". It is the only tool here that deletes, it touches one dated block, and it exists so that fixing a bad entry never means editing the file directly. Do not use it on entries the user wrote — if something is merely out of date, log a new entry saying so.- Add dates using the local timezone.
- Preserve existing tables and user wording where possible.
- Wikilink people in the
Whocolumns of Conversation Log and Waiting On. - If task state changes are implied but not explicit, mention the possible task update instead of changing
Tasks.mdsilently.
Project-Task Relationship
- Treat the project note as the source of project state.
- Treat
Tasks.mdas the source of task state. - Tasks link to the project with a
[[Project Name]]wikilink that exactly matches the project note name. - Use
## Related Tasksin the project note to reference important tasks by exact task text. - Do not duplicate full task lists inside project files; keep task state centralized in
Tasks.md. - When a project is marked
Done, do not automatically complete all related tasks unless the user explicitly asks. - When all related tasks are done, do not automatically mark the project
Doneunless the user explicitly asks. - If project status and task status conflict, preserve both and call out the inconsistency.
Meeting Notes and Docs
Both are created with obsidian__note_create, which derives the folder from the type and the project and writes the frontmatter. Never place these files by hand.
Meeting notes — obsidian__note_create type="meeting" name="YYYY-MM-DD BriefDescription" project="Project Name":
- Include attendees (as
[[First Last]]wikilinks), discussion points, decisions, and action items when available. - Add a brief entry to the project note's
## Conversation Logpointing to the meeting note with a wikilink. - Route action items to
task-trackingwhen they are concrete tasks.
Docs — obsidian__note_create type="doc" name="vendor-comparison" project="Project Name" — for drafts, research, and references:
- Name files descriptively:
draft-proposal,vendor-comparison. Generic names are refused, which is why the olderDocs/INDEX.mdfiles could never be linked to. - A doc gets no section skeleton; its shape is yours. Pass the opening prose as
bodyand fill the rest withobsidian__section_append. - Add a concise docs note to the project note when useful.
Conversations and Waiting Items
- Log project conversations in
## Conversation Logwith date, who (wikilinked), and summary. - For person-specific relationship context, also route to
people-notes. - Add blockers and external dependencies to
## Waiting Onwith what, who (wikilinked), and since date. - If a waiting item should be tracked as work, route to
task-trackingand useWaiting On Others.
Safety
- Never compress supplied material to make it fit a section. The project template has no section shaped like a spec, so a brief pushed into
## Key Decisionsarrives as a table row with the wrong number of cells and the server rejects it. That rejection means the content has no home yet — create the doc note. It does not mean write one summary line and drop the rest. On 2026-08-02 a full ESP32 hardware and API brief became a single decision row this way, and nothing else survived. - Detail is lost silently. A section that is merely thin looks the same as one the user never filled in, so there is no later signal that anything went missing — the check has to happen while the material is still in front of you.
- Do not invent project metadata.
- Do not create tasks without clear actionable wording.
- Do not create a project from a vague idea unless the user asks to track it as a project; otherwise capture it to
Inbox.mdor use the idea pipeline if appropriate.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

