Skip to main content
ClaudeWave
EN, English
Skill1.9k repo starsupdated 8mo ago

project

This Claude Code skill creates a project management system within an Obsidian vault that links projects to yearly goals and breaks them into actionable tasks. Use it to initialize new projects with structured context files, view a dashboard of active projects with their progress and next steps, and archive completed work while maintaining goal linkages throughout the vault.

Install in Claude Code
Copy
git clone --depth 1 https://github.com/ballred/obsidian-claude-pkm /tmp/project && cp -r /tmp/project/vault-template/.claude/skills/project ~/.claude/skills/project
Then start a new Claude Code session; the skill loads automatically.

SKILL.md

# 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
adoptSkill

Scaffold the PKM system onto an existing Obsidian vault. Scans your vault structure, maps folders interactively, and generates configuration — no template required.

check-linksSkill

Find broken wiki-links in the vault. Read-only analysis — scans for [[links]] and verifies target files exist. No writes, no dependencies.

dailySkill

Create 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-alignerSubagent

Analyze alignment between daily activities and long-term goals. Identify gaps, over/under-investment, and suggest rebalancing. Use for goal audits and priority checks.

goal-trackingSkill

Track 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.

inbox-processorSubagent

Process inbox items using GTD principles. Categorize, clarify, and organize captured notes into actionable items. Use for inbox zero and capture processing.

monthlySkill

Monthly 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.

note-organizerSubagent

Organize and restructure vault notes. Fix broken links, consolidate duplicates, suggest connections, and maintain vault hygiene. Use when managing vault organization or cleaning up notes.