project
$
npx mdskill add ballred/obsidian-claude-pkm/projectManage projects linked to goals with creation, tracking, and archiving
- Solves project lifecycle management between goals and daily tasks
- Uses file operations and task management tools for project structure
- Links projects to goals through reference files and metadata
- Delivers status dashboards and interactive project controls
SKILL.md
.github/skills/projectView on GitHub ↗
---
name: project
description: Create, track, and archive projects linked to goals. The bridge between goals and daily tasks. Use for project creation, status dashboards, and archiving completed work.
allowed-tools: Read, Write, Edit, Glob, Grep, Bash, TaskCreate, TaskUpdate, TaskList, TaskGet
model: sonnet
user-invocable: true
---
# Project Skill
Create, track, and archive projects that bridge the gap between goals and daily tasks.
## Usage
```
/project # Interactive: create new project or view status
/project new # Create a new project
/project status # Dashboard of all active projects
/project archive <name> # Archive a completed project
```
## Commands
### `/project` or `/project new`
Creates a new project folder with a CLAUDE.md context file, interactively linked to a goal.
**Steps:**
1. Read `Goals/1. Yearly Goals.md` to list available goals
2. Ask user which goal this project supports (or "none" for standalone)
3. Ask for project name
4. Create `Projects/<ProjectName>/CLAUDE.md` with structure below
5. If linked to a goal, add `[[Projects/<ProjectName>]]` reference in the yearly goals file
**Project CLAUDE.md Template:**
```markdown
# Project: <Name>
## Overview
[Brief description of what this project achieves]
## Goal Link
Supports: [[1. Yearly Goals#<Goal Name>]]
## Status
- **Phase:** Planning | Active | Review | Complete
- **Progress:** 0%
- **Started:** <date>
- **Target:** <date>
## Key Decisions
- [Decision 1] - [Date] - [Rationale]
## Next Actions
- [ ] [First concrete step]
- [ ] [Second step]
## Notes
[Running log of updates, blockers, learnings]
```
### `/project status`
Scans all `Projects/*/CLAUDE.md` files and displays a dashboard.
**Steps:**
1. Glob for `Projects/*/CLAUDE.md`
2. Read each file, extract: name, status/phase, progress%, goal linkage, next action
3. Display dashboard table
**Output Format:**
```markdown
## Project Dashboard
| Project | Phase | Progress | Goal | Next Action |
|---------|-------|----------|------|-------------|
| ProjectA | Active | 60% | [[Goal 1]] | Review PR |
| ProjectB | Planning | 10% | [[Goal 3]] | Draft spec |
### Summary
- Active projects: N
- Total progress (weighted): X%
- Projects without goal link: [list]
- Stalled projects (no update in 14+ days): [list]
```
### `/project archive <name>`
Moves a completed project to the archives.
**Steps:**
1. Verify `Projects/<name>/` exists
2. Confirm with user before archiving
3. Update project CLAUDE.md status to "Complete" and progress to 100%
4. Move folder: `mv Projects/<name> Archives/Projects/<name>`
5. Create `Archives/Projects/` directory if it doesn't exist
6. Update any goal references to note completion
7. Report what was archived
## Project Naming Conventions
- Use PascalCase for folder names: `Projects/LearnSpanish/`
- Keep names concise but descriptive
- Avoid special characters
## Cascade Integration
Projects are the critical middle layer:
```
Goals/1. Yearly Goals.md <- "What I want to achieve"
|
v
Projects/*/CLAUDE.md <- "How I'll achieve it" (THIS SKILL)
|
v
Daily Notes/*.md <- "What I'm doing today"
```
When creating tasks in daily notes, reference the project:
```markdown
- [ ] Draft API spec — [[Projects/MyApp/CLAUDE.md|MyApp]]
```
## Task-Based Progress Tracking
### New Project Tasks
```
TaskCreate:
subject: "Read yearly goals"
description: "Load goals for project linking"
activeForm: "Reading yearly goals..."
TaskCreate:
subject: "Create project structure"
description: "Create folder and CLAUDE.md for new project"
activeForm: "Creating project structure..."
TaskCreate:
subject: "Link project to goal"
description: "Add project reference to yearly goals file"
activeForm: "Linking project to goal..."
```
### Status Dashboard Tasks
```
TaskCreate:
subject: "Scan project files"
description: "Glob and read all Projects/*/CLAUDE.md files"
activeForm: "Scanning project files..."
TaskCreate:
subject: "Generate dashboard"
description: "Compile status dashboard from project data"
activeForm: "Generating project dashboard..."
```
Mark each task `in_progress` when starting, `completed` when done.
## Integration
Works with:
- `/daily` - Surface project next-actions in morning routine
- `/weekly` - Project status in weekly review
- `/goal-tracking` - Project progress feeds goal calculations
- `/onboard` - Discover and load project context
- `/push` - Commit project changes
More from ballred/obsidian-claude-pkm
- adoptScaffold the PKM system onto an existing Obsidian vault. Scans your vault structure, maps folders interactively, and generates configuration — no template required.
- check-linksFind broken wiki-links in the vault. Read-only analysis — scans for [[links]] and verifies target files exist. No writes, no dependencies.
- dailyCreate daily notes and manage morning, midday, and evening routines. Structure daily planning, task review, and end-of-day reflection. Use for daily productivity routines or when asked to create today's note.
- goal-trackingTrack progress toward 3-year, yearly, monthly, and weekly goals. Calculate completion percentages, surface stalled goals, connect daily tasks to objectives. Use for goal reviews and progress tracking.
- monthlyMonthly review and planning. Roll up weekly reviews, check quarterly milestones, set next month's focus. Use at end of month or start of new month.
- obsidian-vault-opsRead and write Obsidian vault files, manage wiki-links, process markdown with YAML frontmatter. Use when working with vault file operations, creating notes, or managing links.
- pushCommit and push vault changes to Git with smart commit messages. Auto-stages files, creates meaningful commits, and syncs with remote. Use after making vault changes or at end of day.
- searchSearch vault content by keyword using Grep. Zero dependencies — works in any vault without indexes or plugins. Groups results by directory for easy scanning.
- upgradeUpdate vault to the latest version of obsidian-claude-pkm. Creates backup, shows diffs, preserves your content. Use when a new version is available.
- weeklyFacilitate weekly review process with reflection, goal alignment, and planning. Create review notes, analyze past week, plan next week. Use on Sundays or whenever doing weekly planning.