.claude/skills/langwatch-kanban/SKILL.md
Manage the LangWatch Kanban GitHub project board — sync statuses, view your board, find stale items, move issues, assign work.
npx skillsauth add langwatch/langwatch langwatch-kanbanInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Manage the LangWatch Kanban GitHub project board (project #5, org: langwatch).
Read the project board reference from memory before doing anything:
/Users/USER/.claude/projects/-Users-hope-workspace-langwatch-workspace-langwatch-saas-langwatch/memory/reference_gh-project.mdThis contains all project IDs, field IDs, status option IDs, and GraphQL patterns. Use python3 for all JSON parsing — issue titles with special characters break jq.
Parse $ARGUMENTS to determine which subcommand to run:
syncSync the project board so statuses match reality.
projectV2.items queryCLOSED or MERGED but project status is NOT Done or ReleasedDone using the updateProjectV2ItemFieldValue mutationSynced N items to Done:
#123 — Title here (was: In progress)
#456 — Title here (was: Ready)
my-boardShow the current user's assigned items grouped by status.
gh api user --jq .login## In progress (3)
- #123 — Title here [bug]
- #456 — Title here [feature, scenarios]
## Ready (2)
- #789 — Title here [chore]
## Backlog (5)
- #101 — Title here
...
Done and Released itemsstaleFind items that may be stuck or forgotten.
#123 — Title [In progress, last updated 21 days ago]
#456 — Title [Blocked, no comments since 2026-03-01]
move <issue-number> <status>Move an issue to a new status on the board.
backlog → f75ad846blocked → 848ceeafready → 61e4505cin-progress / progress → 47fc9ee4in-review / review → df73e18bdone → 98236657released → 18f5115cMoved #123 to In progressassign <issue-number>Assign an issue to the current user and ensure it's on the board.
gh api user --jq .logingh issue edit <number> --repo langwatch/langwatch --add-assignee <login>gh project item-add 5 --owner langwatch --url <issue-url>Assigned #123 to <login> and added to LangWatch KanbanUse this python3 pattern for all paginated queries:
import subprocess, json
cursor = None
results = []
for page in range(1, 9):
after = f', after: "{cursor}"' if cursor else ''
query = '''{
organization(login: "langwatch") {
projectV2(number: 5) {
items(first: 100''' + after + ''') {
nodes {
id
content {
... on Issue { number title state }
... on PullRequest { number title state merged }
}
fieldValueByName(name: "Status") {
... on ProjectV2ItemFieldSingleSelectValue { name }
}
}
pageInfo { hasNextPage endCursor }
}
}
}
}'''
result = subprocess.run(
['gh', 'api', 'graphql', '-f', f'query={query}'],
capture_output=True, text=True
)
data = json.loads(result.stdout)
items = data['data']['organization']['projectV2']['items']
for n in items['nodes']:
content = n.get('content') or {}
status = (n.get('fieldValueByName') or {}).get('name', '')
# ... process each item ...
results.append({...})
if not items['pageInfo']['hasNextPage']:
break
cursor = items['pageInfo']['endCursor']
$ARGUMENTS is empty or unrecognized, show usage:
Usage: /langwatch-kanban <command> [args]
Commands:
sync Sync closed issues/PRs to Done status
my-board Show your assigned items by status
stale Find stuck or forgotten items
move <#number> <status> Move an issue to a new status
assign <#number> Assign issue to you and add to board
Statuses: backlog, blocked, ready, in-progress, in-review, done, released
gh auth status fails, tell the user to run gh auth logingh auth refresh -s projectThese are hardcoded from the LangWatch Kanban project:
PROJECT_NUMBER = 5
ORG = "langwatch"
REPO = "langwatch/langwatch"
PROJECT_ID = "PVT_kwDOCL9uOs4BH69J"
STATUS_FIELD_ID = "PVTSSF_lADOCL9uOs4BH69Jzg4iLlU"
STATUS_OPTIONS = {
"Backlog": "f75ad846",
"Blocked": "848ceeaf",
"Ready": "61e4505c",
"In progress": "47fc9ee4",
"In review": "df73e18b",
"Done": "98236657",
"Released": "18f5115c",
}
development
Add LangWatch tracing and observability to your code. Use for both onboarding (instrument an entire codebase) and targeted operations (add tracing to a specific function or module). Supports Python and TypeScript with all major frameworks.
tools
Test your AI agent with simulation-based scenarios. Covers writing scenario test code (Scenario SDK), creating platform scenarios (CLI or MCP), and red teaming for security vulnerabilities. Auto-detects whether to use code or platform approach based on context.
testing
Test that your AI agent stays observational and doesn't give prescriptive advice in regulated domains (healthcare, finance, legal). Creates scenario tests for boundary enforcement and red team tests for adversarial probing. Use when your agent advises but must not prescribe.
tools
Write scenario tests that verify your CLI tool is usable by AI agents. Ensures commands work non-interactively, provide clear output, and don't hang on prompts. Use when you want to prove your CLI is agent-friendly.