Use OBO Academy docs for a proper ODK skill? #1
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # Claude Code GitHub action | |
| # --- | |
| # This github action is from the copier template in https://github.com/ai4curation/github-ai-integrations, donated by the Monarch Initiative | |
| # For more documentation, see https://ai4curation.github.io/aidocs/how-tos/set-up-github-actions/ | |
| # Author: Chris Mungall (@cmungall) | |
| name: Claude Code | |
| on: | |
| issue_comment: | |
| types: [created] | |
| pull_request_review_comment: | |
| types: [created] | |
| issues: | |
| types: [opened, assigned] | |
| pull_request_review: | |
| types: [submitted] | |
| jobs: | |
| claude: | |
| if: | | |
| (github.event_name == 'issue_comment' && contains(github.event.comment.body, '@claude')) || | |
| (github.event_name == 'pull_request_review_comment' && contains(github.event.comment.body, '@claude')) || | |
| (github.event_name == 'pull_request_review' && contains(github.event.review.body, '@claude')) || | |
| (github.event_name == 'issues' && (contains(github.event.issue.body, '@claude') || contains(github.event.issue.title, '@claude'))) | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 25 | |
| permissions: | |
| contents: write | |
| pull-requests: write | |
| issues: write | |
| id-token: write | |
| actions: read # Required for Claude to read CI results on PRs | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v4 | |
| with: | |
| fetch-depth: 1 | |
| - name: Install uv | |
| uses: astral-sh/setup-uv@v5 | |
| - name: Install python tools | |
| run: | | |
| uv sync | |
| - name: Run Claude Code | |
| id: claude | |
| uses: anthropics/claude-code-action@beta | |
| with: | |
| claude_code_oauth_token: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }} | |
| mcp_config: | | |
| { | |
| "mcpServers": { | |
| "ols": { | |
| "command": "uvx", | |
| "args": [ | |
| "ols-mcp" | |
| ] | |
| }, | |
| "sequential-thinking": { | |
| "command": "npx", | |
| "args": [ | |
| "-y", | |
| "@modelcontextprotocol/server-sequential-thinking" | |
| ] | |
| } | |
| } | |
| } | |
| # This is an optional setting that allows Claude to read CI results on PRs | |
| additional_permissions: | | |
| actions: read | |
| # Optional: Specify model (defaults to Claude Sonnet 4, uncomment for Claude Opus 4.1) | |
| # model: "claude-opus-4-1-20250805" | |
| # Optional: Customize the trigger phrase (default: @claude) | |
| # trigger_phrase: "/claude" | |
| # Optional: Trigger when specific user is assigned to an issue | |
| # assignee_trigger: "claude-bot" | |
| # Optional: Allow Claude to run specific commands | |
| allowed_tools: "Bash(*),FileEdit,Edit,MultiEdit,WebSearch,WebFetch,mcp__ols_mcp__search_all_ontologies,mcp__ols_mcp__get_terms_from_ontology" | |
| # Optional: Add custom instructions for Claude to customize its behavior for your project | |
| # custom_instructions: | | |
| # Follow our coding standards | |
| # Ensure all new code has tests | |
| # Use TypeScript for new files | |
| # Optional: Custom environment variables for Claude | |
| # claude_env: | | |
| # NODE_ENV: test | |