[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6KVZ7BA5MJ1N614MTP2JXCQ":3,"skill-same:01M6KVZ7BA5MJ1N614MTP2JXCQ":63},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":18,"publishedAt":35,"linkOnly":36,"markdownContent":37,"markdownBody":38,"frontMatter":39,"refName":40,"commitSha":41,"skillDirectory":42,"forksCount":43,"repositoryHtmlUrl":44,"repositoryHomepageUrl":45,"ownerHtmlUrl":46,"ownerBlogUrl":47,"ownerDescription":6,"updatedAt":48,"install":49,"resources":62},"01M6KVZ7BA5MJ1N614MTP2JXCQ","grok-setup",null,"Configure xAI GrokBot with Nuvel API integration and project context for Nuvel-aligned development.","Folken2\u002Fnuvel","Folken2","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F175213316?v=4","01M6KVPA04RKNPCC04H2G96FAS","Albert Folch","01M6KVPA43VNTA4PXSEB1TCD81",2,"MIT","https:\u002F\u002Fgithub.com\u002FFolken2\u002Fnuvel\u002Fblob\u002Fmain\u002Fplugins\u002Fgrokbot-plugin\u002Fskills\u002Fgrok-setup\u002FSKILL.md",[],[19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34],"setup","grok","grok setup","development","integration","api","configure","xai","context","grokbot","api integration","project context","project","with","for","nuvel","2026-11-10 10:12:30",false,"---\nname: grok-setup\ndescription: Configure xAI GrokBot with Nuvel API integration and project context for Nuvel-aligned development.\n---\n\n# GrokBot Setup for Nuvel\n\n## Trigger Conditions\n- Setting up GrokBot for Nuvel-integrated development\n- Configuring Grok API access for automated workflows\n- Onboarding team members to use Grok with Nuvel context\n- Integrating Grok into a Nuvel pipeline (CI\u002FCD, code review)\n\n## Prerequisites\n- xAI Grok account (grok.com or X Premium+)\n- Grok API key (available at console.x.ai for API access)\n- A Nuvel account with OrgMemory access (https:\u002F\u002Fnuvel.dev)\n- For API workflows: Python 3.10+ or Node.js 18+\n\n## Steps\n\n### 1. Access Grok\n\n**Option A: Web Interface (grok.com)**\n1. Go to https:\u002F\u002Fgrok.com\n2. Sign in with your X account or xAI account\n3. Verify subscription tier (free tier available, Pro for extended usage)\n\n**Option B: API Access**\n1. Go to https:\u002F\u002Fconsole.x.ai\n2. Generate an API key\n3. Set the key:\n```bash\nexport XAI_API_KEY=\"xai-...\"\necho 'export XAI_API_KEY=\"xai-...\"' >> ~\u002F.bashrc\n```\n\n### 2. Configure Nuvel Context\n\n**For Web Interface:**\n\nCreate a context template to paste at session start:\n\n```markdown\n## Nuvel Integration Context\nI work at [Company] on [Project]. We use Nuvel (nuvel.dev) for team knowledge\nmanagement via OrgMemory — a Semantica-based knowledge graph containing:\n- Architecture Decision Records (ADRs)\n- Coding standards and conventions\n- Component documentation and API specs\n- Past incident reports\n\nWhen I provide OrgMemory context, ground your answers in those existing\ndecisions and standards. Flag when a suggestion would deviate from\nestablished patterns.\n\n**Tech Stack:** [languages\u002Fframeworks]\n**Team Conventions:** [brief list]\n**OrgMemory Reference:** https:\u002F\u002Fnuvel.dev\u002Forg\u002F[org-id]\n```\n\n**For API \u002F Automated Workflows:**\n\nCreate a system prompt template:\n\n```python\n# grok_nuvel_context.py\nNUVEL_SYSTEM_PROMPT = \"\"\"You are a software engineering assistant integrated with \nNuvel (nuvel.dev) team knowledge management.\n\nWhen provided with OrgMemory context (architecture decisions, coding standards, \ncomponent docs), ground your responses in those existing patterns.\n\nOutput Structure:\n1. Context Check: note alignment with provided OrgMemory standards\n2. Solution: implementation with code\n3. OrgMemory Actions: what should be recorded after implementation\n4. Trade-offs: alternatives considered\n\nAlways flag when your suggestion would deviate from established OrgMemory patterns.\"\"\"\n```\n\n### 3. Set Up API Client\n\n**Python:**\n```python\n# grok_client.py\nimport os\nfrom openai import OpenAI\n\nclient = OpenAI(\n    api_key=os.environ[\"XAI_API_KEY\"],\n    base_url=\"https:\u002F\u002Fapi.x.ai\u002Fv1\",\n)\n\ndef ask_grok(system_prompt: str, user_message: str, model: str = \"grok-3\"):\n    \"\"\"Send a prompt to Grok with Nuvel context.\"\"\"\n    response = client.chat.completions.create(\n        model=model,\n        messages=[\n            {\"role\": \"system\", \"content\": system_prompt},\n            {\"role\": \"user\", \"content\": user_message},\n        ],\n        temperature=0.3,\n    )\n    return response.choices[0].message.content\n```\n\n**Node.js:**\n```javascript\n\u002F\u002F grok_client.js\nimport OpenAI from 'openai';\n\nconst client = new OpenAI({\n  apiKey: process.env.XAI_API_KEY,\n  baseURL: 'https:\u002F\u002Fapi.x.ai\u002Fv1',\n});\n\nexport async function askGrok(systemPrompt, userMessage, model = 'grok-3') {\n  const response = await client.chat.completions.create({\n    model,\n    messages: [\n      { role: 'system', content: systemPrompt },\n      { role: 'user', content: userMessage },\n    ],\n    temperature: 0.3,\n  });\n  return response.choices[0].message.content;\n}\n```\n\n### 4. Create Nuvel Workflow Helper\n\nSave as `grok_nuvel.py`:\n```python\n#!\u002Fusr\u002Fbin\u002Fenv python3\n\"\"\"Grok + Nuvel integration helper.\"\"\"\nimport os\nimport sys\nfrom grok_client import ask_grok\nfrom grok_nuvel_context import NUVEL_SYSTEM_PROMPT\n\ndef main():\n    task = \" \".join(sys.argv[1:]) if len(sys.argv) > 1 else input(\"Task: \")\n    \n    # Optionally read OrgMemory context from file\n    context_file = \".grok\u002Forgmemory-context.md\"\n    context = \"\"\n    if os.path.exists(context_file):\n        with open(context_file) as f:\n            context = f.read()\n    \n    prompt = f\"{context}\\n\\n## Task\\n{task}\" if context else task\n    result = ask_grok(NUVEL_SYSTEM_PROMPT, prompt)\n    print(result)\n\nif __name__ == \"__main__\":\n    main()\n```\n\nMake executable:\n```bash\nchmod +x grok_nuvel.py\n```\n\n### 5. Verify Configuration\n\n```bash\n# Test API access\npython3 -c \"\nfrom grok_client import ask_grok\nresult = ask_grok('Be concise.', 'Say: Grok + Nuvel integration verified.')\nprint(result)\n\"\n\n# Test with OrgMemory context\necho '## OrgMemory Context\nADR-001: All APIs use REST with JSON.\nCoding Standard: Python with type hints required.' > .grok\u002Forgmemory-context.md\n\npython3 grok_nuvel.py \"How should I structure a new API endpoint?\"\n```\n\n## Grok-Specific Capabilities\n\n### DeepSearch\nGrok's DeepSearch feature can research across the web. Use it for:\n```python\n# DeepSearch mode for research tasks\nresponse = client.chat.completions.create(\n    model=\"grok-3-deepsearch\",\n    messages=[{\"role\": \"user\", \"content\": \"Research best practices for [topic]\"}],\n)\n```\n\n### Image Understanding\nGrok can analyze images. Use for architecture diagram review:\n```python\nresponse = client.chat.completions.create(\n    model=\"grok-3\",\n    messages=[\n        {\"role\": \"user\", \"content\": [\n            {\"type\": \"text\", \"text\": \"Review this architecture diagram against our ADRs.\"},\n            {\"type\": \"image_url\", \"image_url\": {\"url\": \"https:\u002F\u002Fexample.com\u002Fdiagram.png\"}},\n        ]},\n    ],\n)\n```\n\n## Pitfalls\n- **API compatibility**: Grok's API is OpenAI-compatible but may have subtle differences. Test thoroughly before building automation on it.\n- **No MCP support**: Grok does not support MCP servers. For direct OrgMemory access, use Codex CLI or Claude Code CLI.\n- **Rate limits**: Grok API has rate limits. For heavy automated usage, implement exponential backoff.\n- **DeepSearch availability**: DeepSearch mode may not be available on all API tiers. Check console.x.ai for your plan's capabilities.\n- **X account requirement**: Web Grok typically requires an X account. For team use without individual X accounts, use the API.\n\n## Verification\n1. `XAI_API_KEY` environment variable is set\n2. API test call returns a valid response\n3. Grok references provided OrgMemory context in responses\n4. Helper script `grok_nuvel.py` executes successfully\n5. Responses follow the Nuvel output structure","# GrokBot Setup for Nuvel\n\n## Trigger Conditions\n- Setting up GrokBot for Nuvel-integrated development\n- Configuring Grok API access for automated workflows\n- Onboarding team members to use Grok with Nuvel context\n- Integrating Grok into a Nuvel pipeline (CI\u002FCD, code review)\n\n## Prerequisites\n- xAI Grok account (grok.com or X Premium+)\n- Grok API key (available at console.x.ai for API access)\n- A Nuvel account with OrgMemory access (https:\u002F\u002Fnuvel.dev)\n- For API workflows: Python 3.10+ or Node.js 18+\n\n## Steps\n\n### 1. Access Grok\n\n**Option A: Web Interface (grok.com)**\n1. Go to https:\u002F\u002Fgrok.com\n2. Sign in with your X account or xAI account\n3. Verify subscription tier (free tier available, Pro for extended usage)\n\n**Option B: API Access**\n1. Go to https:\u002F\u002Fconsole.x.ai\n2. Generate an API key\n3. Set the key:\n```bash\nexport XAI_API_KEY=\"xai-...\"\necho 'export XAI_API_KEY=\"xai-...\"' >> ~\u002F.bashrc\n```\n\n### 2. Configure Nuvel Context\n\n**For Web Interface:**\n\nCreate a context template to paste at session start:\n\n```markdown\n## Nuvel Integration Context\nI work at [Company] on [Project]. We use Nuvel (nuvel.dev) for team knowledge\nmanagement via OrgMemory — a Semantica-based knowledge graph containing:\n- Architecture Decision Records (ADRs)\n- Coding standards and conventions\n- Component documentation and API specs\n- Past incident reports\n\nWhen I provide OrgMemory context, ground your answers in those existing\ndecisions and standards. Flag when a suggestion would deviate from\nestablished patterns.\n\n**Tech Stack:** [languages\u002Fframeworks]\n**Team Conventions:** [brief list]\n**OrgMemory Reference:** https:\u002F\u002Fnuvel.dev\u002Forg\u002F[org-id]\n```\n\n**For API \u002F Automated Workflows:**\n\nCreate a system prompt template:\n\n```python\n# grok_nuvel_context.py\nNUVEL_SYSTEM_PROMPT = \"\"\"You are a software engineering assistant integrated with \nNuvel (nuvel.dev) team knowledge management.\n\nWhen provided with OrgMemory context (architecture decisions, coding standards, \ncomponent docs), ground your responses in those existing patterns.\n\nOutput Structure:\n1. Context Check: note alignment with provided OrgMemory standards\n2. Solution: implementation with code\n3. OrgMemory Actions: what should be recorded after implementation\n4. Trade-offs: alternatives considered\n\nAlways flag when your suggestion would deviate from established OrgMemory patterns.\"\"\"\n```\n\n### 3. Set Up API Client\n\n**Python:**\n```python\n# grok_client.py\nimport os\nfrom openai import OpenAI\n\nclient = OpenAI(\n    api_key=os.environ[\"XAI_API_KEY\"],\n    base_url=\"https:\u002F\u002Fapi.x.ai\u002Fv1\",\n)\n\ndef ask_grok(system_prompt: str, user_message: str, model: str = \"grok-3\"):\n    \"\"\"Send a prompt to Grok with Nuvel context.\"\"\"\n    response = client.chat.completions.create(\n        model=model,\n        messages=[\n            {\"role\": \"system\", \"content\": system_prompt},\n            {\"role\": \"user\", \"content\": user_message},\n        ],\n        temperature=0.3,\n    )\n    return response.choices[0].message.content\n```\n\n**Node.js:**\n```javascript\n\u002F\u002F grok_client.js\nimport OpenAI from 'openai';\n\nconst client = new OpenAI({\n  apiKey: process.env.XAI_API_KEY,\n  baseURL: 'https:\u002F\u002Fapi.x.ai\u002Fv1',\n});\n\nexport async function askGrok(systemPrompt, userMessage, model = 'grok-3') {\n  const response = await client.chat.completions.create({\n    model,\n    messages: [\n      { role: 'system', content: systemPrompt },\n      { role: 'user', content: userMessage },\n    ],\n    temperature: 0.3,\n  });\n  return response.choices[0].message.content;\n}\n```\n\n### 4. Create Nuvel Workflow Helper\n\nSave as `grok_nuvel.py`:\n```python\n#!\u002Fusr\u002Fbin\u002Fenv python3\n\"\"\"Grok + Nuvel integration helper.\"\"\"\nimport os\nimport sys\nfrom grok_client import ask_grok\nfrom grok_nuvel_context import NUVEL_SYSTEM_PROMPT\n\ndef main():\n    task = \" \".join(sys.argv[1:]) if len(sys.argv) > 1 else input(\"Task: \")\n    \n    # Optionally read OrgMemory context from file\n    context_file = \".grok\u002Forgmemory-context.md\"\n    context = \"\"\n    if os.path.exists(context_file):\n        with open(context_file) as f:\n            context = f.read()\n    \n    prompt = f\"{context}\\n\\n## Task\\n{task}\" if context else task\n    result = ask_grok(NUVEL_SYSTEM_PROMPT, prompt)\n    print(result)\n\nif __name__ == \"__main__\":\n    main()\n```\n\nMake executable:\n```bash\nchmod +x grok_nuvel.py\n```\n\n### 5. Verify Configuration\n\n```bash\n# Test API access\npython3 -c \"\nfrom grok_client import ask_grok\nresult = ask_grok('Be concise.', 'Say: Grok + Nuvel integration verified.')\nprint(result)\n\"\n\n# Test with OrgMemory context\necho '## OrgMemory Context\nADR-001: All APIs use REST with JSON.\nCoding Standard: Python with type hints required.' > .grok\u002Forgmemory-context.md\n\npython3 grok_nuvel.py \"How should I structure a new API endpoint?\"\n```\n\n## Grok-Specific Capabilities\n\n### DeepSearch\nGrok's DeepSearch feature can research across the web. Use it for:\n```python\n# DeepSearch mode for research tasks\nresponse = client.chat.completions.create(\n    model=\"grok-3-deepsearch\",\n    messages=[{\"role\": \"user\", \"content\": \"Research best practices for [topic]\"}],\n)\n```\n\n### Image Understanding\nGrok can analyze images. Use for architecture diagram review:\n```python\nresponse = client.chat.completions.create(\n    model=\"grok-3\",\n    messages=[\n        {\"role\": \"user\", \"content\": [\n            {\"type\": \"text\", \"text\": \"Review this architecture diagram against our ADRs.\"},\n            {\"type\": \"image_url\", \"image_url\": {\"url\": \"https:\u002F\u002Fexample.com\u002Fdiagram.png\"}},\n        ]},\n    ],\n)\n```\n\n## Pitfalls\n- **API compatibility**: Grok's API is OpenAI-compatible but may have subtle differences. Test thoroughly before building automation on it.\n- **No MCP support**: Grok does not support MCP servers. For direct OrgMemory access, use Codex CLI or Claude Code CLI.\n- **Rate limits**: Grok API has rate limits. For heavy automated usage, implement exponential backoff.\n- **DeepSearch availability**: DeepSearch mode may not be available on all API tiers. Check console.x.ai for your plan's capabilities.\n- **X account requirement**: Web Grok typically requires an X account. For team use without individual X accounts, use the API.\n\n## Verification\n1. `XAI_API_KEY` environment variable is set\n2. API test call returns a valid response\n3. Grok references provided OrgMemory context in responses\n4. Helper script `grok_nuvel.py` executes successfully\n5. Responses follow the Nuvel output structure",{"name":5,"description":7},"main","41d246dd855999c6bc4be528bc8d0d1b10ac8c47","plugins\u002Fgrokbot-plugin\u002Fskills\u002Fgrok-setup",1,"https:\u002F\u002Fgithub.com\u002FFolken2\u002Fnuvel","https:\u002F\u002Ffolken2.github.io\u002Fnuvel\u002F","https:\u002F\u002Fgithub.com\u002FFolken2","folch.ai","2026-11-05 22:40:38",{"source":8,"skillName":5,"commands":50,"prompt":60,"zipAvailable":61},[51,54,57],{"tool":52,"command":53},"npx","npx skills add Folken2\u002Fnuvel --skill grok-setup",{"tool":55,"command":56},"bunx","bunx skills add Folken2\u002Fnuvel --skill grok-setup",{"tool":58,"command":59},"pnpm","pnpm dlx skills add Folken2\u002Fnuvel --skill grok-setup","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FFolken2\u002Fnuvel\u002Fblob\u002Fmain\u002Fplugins\u002Fgrokbot-plugin\u002Fskills\u002Fgrok-setup\u002FSKILL.md",true,[],[64,73,90,115,131,149],{"skillNo":65,"name":66,"nameZh":6,"description":67,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":68,"categories":69,"keywords":70,"publishedAt":35},"01M6KVZNJQ7AVMVBS205404CS7","greet","Greet a user warmly by name.","https:\u002F\u002Fgithub.com\u002FFolken2\u002Fnuvel\u002Fblob\u002Fmain\u002Ftests\u002Ftest_agent_plugins\u002Ffixtures\u002Fvalid-full\u002Fskills\u002Fgreet\u002FSKILL.md",[],[66,71,72],"name","user",{"skillNo":74,"name":75,"nameZh":6,"description":76,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":77,"categories":78,"keywords":84,"publishedAt":35},"01M6KVZHYK2C9S5GRM3PZAFDXG","hello","A simple hello skill that survives a broken mcp.json.","https:\u002F\u002Fgithub.com\u002FFolken2\u002Fnuvel\u002Fblob\u002Fmain\u002Ftests\u002Ftest_agent_plugins\u002Ffixtures\u002Fbad-mcp\u002Fskills\u002Fhello\u002FSKILL.md",[79],{"categoryNo":80,"categoryName":81,"taxonomyType":82,"taxonomyTypeDesc":83},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[75,85,86,87,88,89],"simple","hello skill","broken","json","MCP",{"skillNo":91,"name":92,"nameZh":6,"description":93,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":94,"categories":95,"keywords":105,"publishedAt":35},"01M6KVZC94REQZ852EJ99ZXATK","grok-workflows","Prompt templates and workflows for using xAI GrokBot with Nuvel — code, design, research, and automated pipelines.","https:\u002F\u002Fgithub.com\u002FFolken2\u002Fnuvel\u002Fblob\u002Fmain\u002Fplugins\u002Fgrokbot-plugin\u002Fskills\u002Fgrok-workflows\u002FSKILL.md",[96,99,100],{"categoryNo":97,"categoryName":98,"taxonomyType":82,"taxonomyTypeDesc":83},"01JBSEEDCAT000000000000015","视觉设计",{"categoryNo":80,"categoryName":81,"taxonomyType":82,"taxonomyTypeDesc":83},{"categoryNo":101,"categoryName":102,"taxonomyType":103,"taxonomyTypeDesc":104},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",[106,20,107,108,109,110,111,112,26,113,28,114,32,33,34],"workflows","grok workflows","templates","design","research","prompt templates","code","prompt","pipelines",{"skillNo":116,"name":117,"nameZh":6,"description":118,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":119,"categories":120,"keywords":122,"publishedAt":35},"01M6KVZ3WYQ6V6XVCRE77WT2WY","cursor-setup","Configure Cursor IDE with Nuvel rules, MCP server integration, and project settings for OrgMemory-aware development.","https:\u002F\u002Fgithub.com\u002FFolken2\u002Fnuvel\u002Fblob\u002Fmain\u002Fplugins\u002Fcursor-plugin\u002Fskills\u002Fcursor-setup\u002FSKILL.md",[121],{"categoryNo":80,"categoryName":81,"taxonomyType":82,"taxonomyTypeDesc":83},[123,124,19,31,32,33,125,34,126,127,89,128,22,23,129,25,130],"cursor","cursor setup","project settings","ide","settings","mcp server","server","Rules",{"skillNo":132,"name":133,"nameZh":6,"description":134,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":135,"categories":136,"keywords":137,"publishedAt":35},"01M6KVZ0GGSJM4AC8PK7G53H85","cursor-review","Use Cursor IDE with Nuvel OrgMemory to review changes — diff analysis, standards checking, and pre-commit review.","https:\u002F\u002Fgithub.com\u002FFolken2\u002Fnuvel\u002Fblob\u002Fmain\u002Fplugins\u002Fcursor-plugin\u002Fskills\u002Fcursor-review\u002FSKILL.md",[],[123,138,139,140,141,142,143,144,126,145,146,32,147,148,34],"cursor review","review","use","commit","review changes","pre-commit","analysis","diff","standards","changes","diff analysis",{"skillNo":150,"name":151,"nameZh":6,"description":152,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":153,"categories":154,"keywords":156,"publishedAt":35},"01M6KVYW993MJ0R1K60233K78X","cursor-agent","Run agent-mode tasks in Cursor IDE with Nuvel OrgMemory context — autonomous feature work, refactors, and debugging.","https:\u002F\u002Fgithub.com\u002FFolken2\u002Fnuvel\u002Fblob\u002Fmain\u002Fplugins\u002Fcursor-plugin\u002Fskills\u002Fcursor-agent\u002FSKILL.md",[155],{"categoryNo":80,"categoryName":81,"taxonomyType":82,"taxonomyTypeDesc":83},[157,123,158,159,126,160,27,161,162,32,163,34,164],"cursor agent","tasks","run","work","autonomous","feature","mode","debugging"]