Coordinate tasks, track deadlines, manage sprints, and maintain project documentation with Notion integration
Install with Tessl CLI
npx tessl i github:oyi77/1ai-skills --skill project-managementOverall
score
18%
Does it follow best practices?
If you maintain this skill, you can automatically optimize it using the tessl CLI to improve its score:
npx tessl skill review --optimize ./path/to/skillValidation for skill structure
Coordinate tasks, track deadlines, manage sprints, and maintain project documentation.
{
"mcpServers": {
"notion": {
"command": "npx",
"args": ["-y", "@makenotion/mcp-server"],
"env": { "NOTION_API_KEY": "${NOTION_API_KEY}" }
},
"slack": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-slack"],
"env": { "SLACK_BOT_TOKEN": "${SLACK_BOT_TOKEN}" }
}
}
}// 1. Create task in Notion
const task = await notion.createPage("Project Tasks", {
title: "Implement user authentication",
properties: {
Status: "Not Started",
Priority: "P1",
Assignee: "john@company.com",
DueDate: "2024-03-15",
Sprint: "Sprint 12"
}
});
console.log(`Created: ${task.id}`);// 1. Get backlog
const backlog = await notion.query("Backlog", {
filter: { property: "Status", equals: "Ready" }
});
// 2. Estimate effort
const estimated = await estimateEffort(backlog);
// 3. Allocate to sprint (max 40 points)
const sprint = [];
let points = 0;
for (const item of backlog) {
if (points + item.estimate <= 40) {
sprint.push(item);
points += item.estimate;
}
}
// 4. Create sprint
await notion.createPage("Sprints", {
title: "Sprint 12",
items: sprint,
startDate: "2024-03-01",
endDate: "2024-03-14"
});// 1. Get active tasks
const tasks = await notion.query("Project Tasks", {
filter: { property: "Status", does_not_equal: "Done" }
});
// 2. Group by status
const byStatus = groupBy(tasks, "Status");
// 3. Generate report
const report = `# Status Report - ${new Date().toLocaleDateString()}
## Summary
- Total: ${tasks.length}
- In Progress: ${byStatus["In Progress"]?.length || 0}
- Blocked: ${byStatus["Blocked"]?.length || 0}
## Blockers
${byStatus["Blocked"]?.map(t => `- ${t.title}`).join("\n") || "None"}
`;
await slack.post("#project-updates", report);| Command | Description |
|---|---|
pm task create <title> | Create new task |
pm sprint plan | Plan next sprint |
pm report | Generate status report |
| Error Code | Meaning | Fix |
|---|---|---|
NOTION_001 | API error | Retry later |
SLACK_001 | Failed to notify | Manual update |
| Priority | Definition | Response Time |
|---|---|---|
| P0 | Revenue impacted | Immediate |
| P1 | Major feature blocked | 24 hours |
| P2 | Normal work | 1 week |
| P3 | Nice to have | Next sprint |
Skill v2.0 - Project Management
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.