Skip to content
Back to skills

Tpp

ASecurity

Work on a Technical Project Plan. Use when starting complex features, cross-platform changes, native module modifications, or multi-session work that needs persistent context.

  • 8 stars
  • 0 votes
  • 0 copies
  • 5 views
  • Added June 11, 2026
developmentgoc++bashtestingapici/cdsecurity

Works with

  • api

Security analysis

A100/100

Scanned June 11, 2026

npx -y skills add photostructure/fs-metadata --skill tpp --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Tpp?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Tpp
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/photostructure-tpp/badge)](https://www.skillsdirectory.com/skills/photostructure-tpp)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: tpp
description: Work on a Technical Project Plan. Use when starting complex features, cross-platform changes, native module modifications, or multi-session work that needs persistent context.
argument-hint: "[path-to-tpp]"
disable-model-invocation: false
allowed-tools: Bash, Read, Glob, Grep, Edit, Write, WebSearch, Skill
---

# Work on TPP

Make progress on the referenced Technical Project Plan.
Determine the current phase and take appropriate action.

## Required Reading First

Before any work, you MUST read:

- **AGENTS.md** — project conventions, critical knowledge, anti-patterns, and CI/CD constraints
- **CONTRIBUTING.md** — development setup, pre-commit checklist, npm script naming conventions
- **doc/gotchas.md** — platform-specific quirks, timeout issues, testing pitfalls
- **doc/TPP-GUIDE.md** — how TPPs work in this project
- When touching native C++ code, also read:
  - **doc/C++\_REVIEW_TODO.md** — memory management, RAII, platform API usage, security validation
  - The relevant platform API reference:
  - **doc/MACOS_API_REFERENCE.md**, **doc/LINUX_API_REFERENCE.md**, **doc/WINDOWS_API_REFERENCE.md**

## Process

1. Read the TPP from `_todo/`
2. Read all files listed in the TPP's "Required reading" section
3. Identify the current phase from the checklist
4. Do the work for that phase
5. Update the TPP with progress and discoveries
6. When a phase is complete, check off the phase and move to the next

## Phase-Specific Guidance

### Research & Planning

- Read relevant source code — don't guess how things work
- Check all three platform implementations (darwin/, linux/, windows/)
- Search for prior art in the codebase
- Validate assumptions about platform APIs with web searches
- Document findings in the TPP's Lore section

### Write Breaking Tests

- Write tests that demonstrate the problem or define the new behavior
- Tests must follow project conventions: no exact equality for dynamic values, no arbitrary timeouts
- Ensure tests are deterministic and CI-reliable across all platforms

### Design Alternatives

- Use the /replan skill for complex design decisions
- Document at least two options with pros/cons
- Consider cross-platform implications for every option
- Evaluate backwards compatibility impact
- Prefer zero runtime dependencies — solve with native APIs or stdlib, not npm packages

### Implementation

- Follow RAII for all native resource management
- Platform-specific code goes in platform directories (darwin/, linux/, windows/)
- Shared interfaces go in src/common/
- Run `npm run all` before declaring implementation complete

### Review & Refinement

- Use the /review skill to catch issues
- Verify all three platforms build and pass tests
- Check for memory leaks (see AGENTS.md memory leak detection section)

## When Context Runs Low

If you're running low on context, run `/handoff` to persist your progress before the session ends.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.