diff --git a/skills/productivity/project-tracking/SKILL.md b/skills/productivity/project-tracking/SKILL.md new file mode 100644 index 0000000..fb04538 --- /dev/null +++ b/skills/productivity/project-tracking/SKILL.md @@ -0,0 +1,102 @@ +--- +name: project-tracking +description: "SaaS project tracking: Airtable (spreadsheets+databases), Linear (issues+projects), and Notion (pages+databases). REST API integration via curl/Python." +version: 1.0.0 +author: Hermes Agent +license: MIT +metadata: + hermes: + tags: [airtable, linear, notion, project-management, task-tracking, saas, rest-api] + related_skills: [google-workspace, teams-meeting-pipeline] +--- + +# Project Tracking + +Three SaaS platforms for tracking projects, tasks, and data. Each has a REST API for programmatic access. + +## Choosing a Platform + +| Need | Platform | Strength | +|------|----------|----------| +| Spreadsheet-like data management | **Airtable** | Relational databases, views, forms | +| Software issue tracking | **Linear** | Fast, keyboard-driven, GraphQL API | +| Knowledge base + databases | **Notion** | Pages, wikis, databases, rich content | +| Forms and data collection | **Airtable** | Built-in forms with submissions | +| Engineering workflows | **Linear** | Sprints, cycles, project boards | + +## Section 1: Airtable — Spreadsheets + Databases + +REST API for Airtable bases, tables, records. CRUD operations, filtering, sorting, upserts. + +**When to use:** Managing structured data, forms, project trackers, inventory, CRM-style workflows. + +**Authentication:** Personal access token or OAuth. Pass as `Authorization: Bearer ` header. + +**Quick start:** +```bash +# List records +curl -s "https://api.airtable.com/v0/$BASE_ID/$TABLE_NAME" \ + -H "Authorization: Bearer $AIRTABLE_TOKEN" | jq + +# Create record +curl -s -X POST "https://api.airtable.com/v0/$BASE_ID/$TABLE_NAME" \ + -H "Authorization: Bearer $AIRTABLE_TOKEN" \ + -H "Content-Type: application/json" \ + -d '{"fields": {"Name": "New Task", "Status": "Todo"}}' +``` + +**Key features:** upsert (create-or-update via `performUpsert`), formula filtering, webhooks, synced tables. + +**See:** `references/airtable.md` for full API reference with filtering, upserts, and batch operations. + +## Section 2: Linear — Issues + Projects + +GraphQL API for Linear issues, projects, teams, and workflows. + +**When to use:** Software project management, issue tracking, sprint planning, engineering workflows. + +**Authentication:** API key passed as `Authorization: ` header. + +**Quick start:** +```bash +# List issues +curl -s -X POST "https://api.linear.app/graphql" \ + -H "Authorization: $LINEAR_API_KEY" \ + -H "Content-Type: application/json" \ + -d '{"query": "{ issues { nodes { id title state { name } assignee { name } } } }"}' | jq + +# Create issue +curl -s -X POST "https://api.linear.app/graphql" \ + -H "Authorization: $LINEAR_API_KEY" \ + -H "Content-Type: application/json" \ + -d '{"query": "mutation { issueCreate(input: {title: \"Bug fix\", teamId: \"$TEAM_ID\"}) { success issue { id } } }"}' +``` + +**Key features:** GraphQL API, teams/cycles/projects, labels/states, comments, webhooks, Zapier integration. + +**See:** `references/linear.md` for full GraphQL schema and workflow patterns. + +## Section 3: Notion — Pages + Databases + +Notion API + `ntn` CLI for pages, databases, markdown, and Workers. + +**When to use:** Knowledge bases, wikis, documentation, meeting notes, databases with rich content. + +**Authentication:** Integration token via `NOTION_TOKEN` env var or `ntn` CLI config. + +**Quick start:** +```bash +# Using ntn CLI +ntn search "meeting notes" +ntn page create --parent --title "New Page" --body "Content here" + +# Using API directly +curl -s "https://api.notion.com/v1/databases/$DB_ID/query" \ + -H "Authorization: Bearer $NOTION_TOKEN" \ + -H "Notion-Version: 2022-06-28" \ + -d '{}' | jq +``` + +**Key features:** Rich text blocks, database queries with filters/sorts, page hierarchies, `ntn` CLI for quick operations, Workers for automation. + +**See:** `references/notion.md` for full API reference, `ntn` CLI guide, and Workers setup.