
new-tool
by kquinsland
Assorted useful tools, almost entirely generated using LLMs. Inspired by github.com/simonw/tools
SKILL.md
name: new-tool description: A set of resources to help agents create new tools and integrate them into the site build process for successful deployment
Creating a new tool
For guidance on what a tool is and design guidelines for tools in this repository, please refer to the Tool Design Guidelines section of Tools Repository Instructions.
When to use this skill
Use this skill when you need to:
- Create the scaffolding and metadata for a new tool
- Integrate the new tool into the site build process
Overview
Each "tool" is a Hugo page bundle within the content/tools/ directory.
The bundle contains a file (usually HTML/JS) that performs a specific function or task and the supporting metadata and documentation to make it easy to find, use, and understand.
The entire process of creating a new tool and getting it integrated into the site can be summarized in the following phases/steps:
Prep
-
Clarify requirements
- Confirm the tool’s purpose, inputs/outputs, and expected behavior.
- If not already instructed, decide the primary language (
htmlorpythonor other; strong bias towards HTML/JS).
-
Create the tool bundle
If the hugo binary is available, the steps below can be automated with the command:
# This assumes that this will be a HTML tool; adjust `html` to `python` or other as needed
❯ hugo new tools/html/new-tool-slug-here
Content dir "$repoRoot/content/tools/html/new-tool-slug-here" created
Else, follow these manual steps:
-
Create folder:
content/tools/<language>/<new-tool-slug-here>/. -
Add
index.mdwith front matter (title/description/tags/resources). See existing tools for examples.- The
datefield only needsYYYY-MM-DD(time is not required). - Hugo skips future-dated pages, so use the
datecommand to confirm the current date before setting it.
Regardless of method used to create the bundle, ensure the front matter includes:
- The
-
Add tool file as a page resource:
resources: - name: tool-file src: tool.html(ortool.py).
-
Add icon as a page resource if instructed to create one or one was provided:
resources: - name: tool-icon src: images/tool-icon.png.
Implement the tool
-
Build the tool file
- For HTML/JS tools, create
tool.htmlwith inline JS/CSS as per design guidelines. - Include the local tracking snippet: add
<script src="/analytics.js"></script>before</body>so usage is tracked. - For Python tools, create
tool.pywith necessary functionality and PEP-723 header.
- For HTML/JS tools, create
-
Test the tool
- For HTML tools, open
tool.htmlin a browser to verify functionality.playwrightcan be used for this if automated testing is needed.
- Run Python tools locally to ensure correct behavior.
pytestcan be used for automated testing if needed.- If tests are written for the tool, they should be included in the main tool file for maximum portability.
- For HTML tools, open
-
Add documentation
- Write a brief description in
index.md. - Include usage instructions, examples, and any relevant details.
- Write a brief description in
-
Add icon/image
- If an icon/image was provided or created, add it to
images/within the tool bundle. - When appropriate, issue a short creative brief to guide a designer, then generate a simple SVG icon asset and add it to
images/. - Reference it in front matter as
tool-icon. - Add
{{< tool-image >}}toindex.mdso the icon renders on the page.
- If an icon/image was provided or created, add it to
Integrate the tool into the site
-
Add page content
- Use
{{< tool-link >}}for links. - Use
{{< tool-image >}}to render the icon. - For Python tools, use
{{< py-usage >}}inside a fenced code block.
- Use
-
Test locally
- Run
hugo serverand verify the tool page renders. - Confirm the tool file loads and functions per spec.
- Run
-
Generate data
- Run the
ci/build_tools_data.pyto refreshdata/tools.yaml. - Confirm new entry is present and correct.
- Run the
-
Verify landing page
- Check that
hugo server -Ddoes not return any errors.
- Check that
Score
Total Score
Based on repository quality metrics
SKILL.mdファイルが含まれている
ライセンスが設定されている
100文字以上の説明がある
GitHub Stars 100以上
1ヶ月以内に更新
10回以上フォークされている
オープンIssueが50未満
プログラミング言語が設定されている
1つ以上のタグが設定されている
Reviews
Reviews coming soon
