A conversational interface for managing GitHub Projects with Taskmaster integration. Query project status, create issues, update tasks, and sync Taskmaster tasks to GitHub - all through natural language.
- Natural Language Queries: Ask "what's blocking?" or "what did I ship this week?"
- Cross-Project Awareness: Aggregate status across multiple projects
- Taskmaster Sync: Automatically sync Taskmaster tasks to GitHub Issues
- Project Board Integration: Issues are added to project boards with smart status detection
- PR Linking: Link PRs to issues with intelligent suggestions
curl -fsSL https://raw.githubusercontent.com/asachs01/github-projects-skill/main/install.sh | bashThis will:
- Clone the repo to
~/.claude/skills/github-projects-skill - Install dependencies and build
- Create a sample
config.yaml - Link the skill to Claude Code
git clone https://github.com/asachs01/github-projects-skill.git
cd github-projects-skill
npm install
npm run build-
Set up your GitHub token:
export GITHUB_TOKEN="ghp_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
Required token scopes:
repo,project,read:org -
Configure your projects (create
config.yaml):projects: - name: "MyProject" org: "my-username" project_number: 1 repo: "my-username/my-repo"
# Set required environment variables
export GITHUB_TOKEN="your-token"
export GITHUB_OWNER="your-username-or-org"
export GITHUB_REPO="your-repository"
# Optional: Add to project board
export GITHUB_PROJECT_ID="PVT_kwHOxxxxxx"
# Run sync
npm run sync-tasks
# Or dry run first
DRY_RUN=true npm run sync-tasksimport { syncTasks } from 'github-projects-skill/hook';
import { queryBlockedItems, formatBlockedItemsResponse } from 'github-projects-skill/queries';
// Sync Taskmaster tasks to GitHub
const summary = await syncTasks({
token: process.env.GITHUB_TOKEN,
owner: 'your-org',
repo: 'your-repo',
});
// Query blocked items across projects
const blocked = await queryBlockedItems(client, config);
console.log(formatBlockedItemsResponse(blocked));| Document | Description |
|---|---|
| Skill Documentation | Complete skill reference with all query patterns |
| Hook Documentation | Taskmaster sync setup and usage |
| Troubleshooting | Common issues and solutions |
| Configuration Example | Full configuration schema |
| API Patterns | API interaction patterns |
| GraphQL Queries | GraphQL query reference |
- "What's the status on [project]?"
- "What's in the backlog?"
- "How many open issues?"
- "What's blocking right now?"
- "Give me a standup summary"
- "What did I ship this week?"
- "What did I complete today?"
- "Show me last month's completions"
- "Move [task] to in-progress"
- "Mark [task] as blocked - waiting on review"
- "Add a note to [task]: [note]"
- "Create an issue for [description]"
- "Link issue #12 to PR #45"
- "What PRs are linked to #12?"
- "Suggest PR links"
src/
github/ # GitHub API client (GraphQL + REST)
queries/ # Status, aggregated, and time-based queries
updates/ # Status update service with fuzzy matching
issues/ # Issue creation service
comments/ # Comment/note service
links/ # PR-issue linking service
hook/ # Taskmaster sync hook
config/ # Configuration parsing and validation
types/ # Shared TypeScript types
# Build
npm run build
# Run tests
npm test
# Watch mode for tests
npm run test:watch
# Clean build artifacts
npm run clean- Node.js 18+
- GitHub Personal Access Token with
repo,project,read:orgscopes - (Optional) Taskmaster for task sync functionality
ISC
- Fork the repository
- Create a feature branch
- Make your changes
- Run tests:
npm test - Submit a pull request
See CHANGELOG.md for version history.