resourceful-problem-solving
Resourceful Problem Solving teaches agents to approach unmet requests by systematically escalating through available skills, CLI tools, and custom scripts rather than declining tasks. Use this skill when facing requests without a dedicated tool to guide methodical troubleshooting through searching for existing solutions, installing appropriate packages, writing lightweight scripts in Python or bash, and saving successful approaches for future reuse.
git clone --depth 1 https://github.com/swarmclawai/swarmclaw /tmp/resourceful-problem-solving && cp -r /tmp/resourceful-problem-solving/skills/resourceful-problem-solving ~/.claude/skills/resourceful-problem-solvingSKILL.md
# Resourceful Problem Solving When asked to do something and no dedicated tool exists, follow this escalation pattern: ## 1. Check Skills Use `use_skill` to search for a matching skill. Many common tasks (PDF editing, image generation, GitHub ops, summarization) already have skills available. ## 2. Search for a CLI Tool If no skill matches, check whether a CLI tool exists: ```bash which <tool> # already installed? brew search <tool> # macOS pip search <tool> # Python ecosystem npm search <tool> # Node ecosystem ``` If a suitable tool exists, install it and use it. ## 3. Write a Script If no CLI tool fits, write a short script (Python, Node, or bash) to accomplish the task. Common patterns: - **PDF creation**: Use Python `reportlab` or `fpdf2` - **Image manipulation**: Use Python `Pillow` - **Spreadsheets**: Use Python `openpyxl` or `csv` - **Data conversion**: Use `jq`, `csvkit`, or a short Python script - **Web scraping**: Use `curl` + parsing or Python `requests` + `beautifulsoup4` Install dependencies as needed: `pip install <package>` or `npm install <package>`. ## 4. Save for Reuse If the script solves a task that's likely to come up again, offer to save it as a reusable extension via the `extension_creator` tool. ## Rules - Never refuse a task when shell tools are available. Attempt a code-based solution first. - Only report inability after genuinely trying and failing. - Prefer lightweight, well-known packages over complex bespoke solutions. - Always verify the output before reporting success.
Delegate coding tasks to external coding agents (Claude Code, Codex, Pi, OpenCode) via shell. Use when: (1) building new features or apps in a separate project, (2) reviewing PRs, (3) refactoring large codebases, (4) iterative coding that needs file exploration. NOT for: simple one-liner fixes (just edit directly), reading code (use read/file tools), or work inside the SwarmClaw workspace itself.
GitHub operations via `gh` CLI: issues, PRs, CI runs, code review, API queries. Use when: (1) checking PR status or CI, (2) creating/commenting on issues, (3) listing/filtering PRs or issues, (4) viewing run logs. NOT for: local git operations (use git directly), non-GitHub repos, or cloning (use git clone).
Use Google Workspace CLI (`gws`) for Drive, Docs, Sheets, Gmail, Calendar, Chat, and related Workspace API tasks.
Generate or edit images via Gemini 3 Pro Image (Nano Banana Pro). Use when asked to create, generate, or edit images and a Gemini API key is available. Supports text-to-image generation, single-image editing, and multi-image composition (up to 14 images).
Edit or create PDFs with natural-language instructions using the nano-pdf CLI. Use when asked to make a PDF, edit a PDF, add pages, change text in a PDF, or convert content to PDF format.
Generate images via OpenAI Images API (GPT Image, DALL-E 3, DALL-E 2). Supports batch generation with random prompt sampler and HTML gallery output. Use when asked to generate images with OpenAI and an OPENAI_API_KEY is available.
Create, edit, improve, or audit skills for SwarmClaw agents. Use when creating a new skill from scratch or when asked to improve, review, audit, tidy up, or clean up an existing skill or SKILL.md file. Also use when editing or restructuring a skill directory. Triggers on phrases like "create a skill", "author a skill", "tidy up a skill", "improve this skill", "review the skill", "clean up the skill", "audit the skill".
Summarize or extract text/transcripts from URLs, podcasts, YouTube videos, and local files using the summarize CLI. Use when asked to summarize a link, article, video, or file, or to transcribe a YouTube video.